
/*
Theme Name: Luxe Wedding
Theme URI: https://example.com/luxe-wedding
Author: Boniface + ChatGPT
Author URI: https://example.com
Description: A premium, lightweight wedding-cakes focused theme with Elementor support. Includes a wedding landing page, galleries, and an elegant typography system.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: luxe-wedding
Tags: wedding, cakes, elementor, portfolio, ecommerce-ready, responsive, seo-friendly
*/

/* Base Reset */
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { margin: 0; font-family: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji"; color: #1a1a1a; background: #ffffff; line-height: 1.6; }
img, video { max-width: 100%; height: auto; display: block; }
a { color: #9b5de5; text-decoration: none; }
a:hover { text-decoration: underline; }
.container { width: min(1160px, 92%); margin: 0 auto; }
.grid { display: grid; gap: 24px; }
.btn { display: inline-block; padding: 12px 20px; border-radius: 999px; font-weight: 600; border: 1px solid #e6e6e6; background: #111; color: #fff; }
.btn--light { background: #fff; color: #111; border-color: #ddd; }
.shadow-soft { box-shadow: 0 10px 30px rgba(0,0,0,.06); }
.round-2xl { border-radius: 20px; }

/* Hero */
.hero { padding: clamp(56px, 10vw, 120px) 0; background: linear-gradient(180deg, #fff, #faf8ff); }
.hero__wrap { display: grid; grid-template-columns: 1.1fr .9fr; align-items: center; gap: clamp(20px, 4vw, 40px); }
.hero__left { background: #fff; padding: clamp(20px, 4vw, 40px); border: 1px solid #eee; border-radius: 24px; }
.hero__kicker { color: #9b5de5; text-transform: uppercase; letter-spacing: .18em; font-weight: 700; font-size: .78rem; }
.hero__title { font-size: clamp(32px, 5vw, 56px); line-height: 1.1; margin: 10px 0 16px; font-weight: 800; }
.hero__subtitle { font-size: clamp(16px, 2.2vw, 20px); color: #555; margin-bottom: 24px; }
.hero__badges { display:flex; gap:10px; flex-wrap:wrap; }
.badge { padding: 8px 12px; border-radius: 999px; border:1px solid #eee; background:#fff; font-weight:600; font-size:.9rem; }
.hero__right { background: #f4f4f7; border-radius: 24px; padding: clamp(10px, 2vw, 20px); border: 1px solid #eee; }
.hero__img { aspect-ratio: 16/11; background: url('assets/img/hero-placeholder.jpg') center/cover no-repeat; border-radius: 16px; }

/* Gallery */
.section { padding: clamp(48px, 6vw, 96px) 0; }
.section__title { font-size: clamp(24px, 4vw, 36px); margin: 0 0 10px; }
.section__lead { color: #666; margin-bottom: 26px; }
.gallery { display:grid; grid-template-columns: repeat(3, 1fr); gap: 14px; }
.gallery img { border-radius: 16px; }
.card { background:#fff; border:1px solid #eee; border-radius: 16px; overflow: hidden; }
.card__body { padding: 16px; }

/* Footer */
.site-footer { padding: 40px 0; background: #0c0c0f; color: #cfcfe1; }
.site-footer a { color: #fff; }
*/
