/* =============================================
   AIMAR Video — Luxury Floral Aesthetic
   Inspired by: Cartier, Sotheby's, Dior Flowers
   Palette: Ivory / Gold / Deep Rose / Sage
   ============================================= */

@import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;0,600;0,700;1,300;1,400;1,500&family=Outfit:wght@300;400;500;600;700&display=swap');

:root {
    --clr-bg:           #FDFAF6;
    --clr-bg-warm:      #FAF5ED;
    --clr-bg-card:      #FFFFFF;
    --clr-bg-card-alt:  #F8F4EE;
    --clr-bg-input:     #FFFFFF;
    --clr-surface:      #F3EDE4;
    --clr-border:       #E8DFD2;
    --clr-border-light: #D4C9B8;
    --clr-primary:      #B8860B;
    --clr-primary-light:#D4A843;
    --clr-primary-dim:  #9A7209;
    --clr-primary-glow: rgba(184,134,11,0.10);
    --clr-primary-bg:   rgba(184,134,11,0.06);
    --clr-accent:       #C4556E;
    --clr-accent-light: #E07A92;
    --clr-accent-soft:  rgba(196,85,110,0.08);
    --clr-sage:         #7A9E7E;
    --clr-sage-light:   #A3C4A7;
    --clr-sage-soft:    rgba(122,158,126,0.10);
    --clr-text:         #2C1810;
    --clr-text-mid:     #5C4A3D;
    --clr-text-muted:   #8B7D6F;
    --clr-text-dim:     #B5A899;
    --clr-dark:         #1A1210;
    --clr-dark-warm:    #2C1E16;
    --clr-danger:       #C0392B;
    --clr-success:      #27AE60;
    --clr-warning:      #D4A843;
    --font-display:     'Cormorant Garamond','Georgia',serif;
    --font-body:        'Outfit',-apple-system,sans-serif;
    --space-xs:.25rem;--space-sm:.5rem;--space-md:1rem;--space-lg:1.5rem;
    --space-xl:2rem;--space-2xl:3rem;--space-3xl:4.5rem;--space-4xl:6rem;
    --radius-sm:4px;--radius-md:8px;--radius-lg:14px;--radius-xl:20px;--radius-full:9999px;
    --shadow-xs:0 1px 2px rgba(44,24,16,.04);
    --shadow-sm:0 2px 8px rgba(44,24,16,.06);
    --shadow-md:0 4px 20px rgba(44,24,16,.08);
    --shadow-lg:0 12px 40px rgba(44,24,16,.10);
    --shadow-xl:0 20px 60px rgba(44,24,16,.12);
    --shadow-gold:0 8px 30px rgba(184,134,11,.15);
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}

body{
    font-family:var(--font-body);background:var(--clr-bg);color:var(--clr-text);
    line-height:1.6;min-height:100vh;-webkit-font-smoothing:antialiased;font-weight:400;
}

h1,h2,h3{font-family:var(--font-display);font-weight:500;letter-spacing:-.02em;line-height:1.15;color:var(--clr-text)}
h1{font-size:clamp(2.4rem,5vw,3.8rem)}
h2{font-size:clamp(1.8rem,3.5vw,2.6rem)}
h3{font-size:clamp(1.2rem,2vw,1.5rem)}
p{line-height:1.7}
a{color:var(--clr-primary);text-decoration:none;transition:color .25s}
a:hover{color:var(--clr-accent)}

.container{max-width:1200px;margin:0 auto;padding:0 var(--space-xl)}
.container-narrow{max-width:520px;margin:0 auto;padding:0 var(--space-lg)}

/* NAV */
.nav{position:fixed;top:0;left:0;right:0;z-index:100;background:rgba(253,250,246,.88);backdrop-filter:blur(24px) saturate(1.4);-webkit-backdrop-filter:blur(24px) saturate(1.4);border-bottom:1px solid rgba(232,223,210,.6);transition:all .3s}
.nav.scrolled{box-shadow:var(--shadow-sm)}
.nav-inner{display:flex;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:var(--space-md) var(--space-xl)}
.nav-logo{display:flex;align-items:center;gap:var(--space-md)}
.nav-logo img{height:56px;width:auto}
.nav-links{display:flex;align-items:center;gap:var(--space-xl);list-style:none}
.nav-links a{color:var(--clr-text-mid);font-size:.88rem;font-weight:500;letter-spacing:.03em;transition:color .25s;position:relative}
.nav-links a:hover,.nav-links a.active{color:var(--clr-primary)}
.nav-links a.active::after{content:'';position:absolute;bottom:-4px;left:0;right:0;height:2px;background:var(--clr-primary);border-radius:1px}
.nav-credits{background:linear-gradient(135deg,var(--clr-primary-glow),var(--clr-primary-bg));border:1px solid rgba(184,134,11,.25);padding:6px var(--space-md);border-radius:var(--radius-full);font-size:.8rem;color:var(--clr-primary);font-weight:600}

/* BUTTONS */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-sm);padding:.7rem 1.6rem;border:none;border-radius:var(--radius-full);font-family:var(--font-body);font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);text-decoration:none;line-height:1.2;letter-spacing:.02em}
.btn-primary{background:linear-gradient(135deg,var(--clr-primary-light),var(--clr-primary));color:#FFF;box-shadow:var(--shadow-gold)}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 35px rgba(184,134,11,.25);color:#FFF}
.btn-secondary{background:var(--clr-bg-card);color:var(--clr-text);border:1.5px solid var(--clr-border)}
.btn-secondary:hover{background:var(--clr-surface);border-color:var(--clr-border-light);color:var(--clr-text)}
.btn-outline{background:transparent;color:var(--clr-primary);border:1.5px solid var(--clr-primary)}
.btn-outline:hover{background:var(--clr-primary);color:#FFF}
.btn-dark{background:var(--clr-dark-warm);color:#FFF}
.btn-dark:hover{background:var(--clr-dark);color:#FFF;transform:translateY(-2px)}
.btn-danger{background:var(--clr-danger);color:white}
.btn-sm{padding:.45rem 1rem;font-size:.82rem}
.btn-lg{padding:1rem 2.4rem;font-size:1rem}
.btn-full{width:100%}
.btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}

/* CARDS */
.card{background:var(--clr-bg-card);border:1px solid var(--clr-border);border-radius:var(--radius-xl);padding:var(--space-2xl);transition:all .3s}
.card:hover{box-shadow:var(--shadow-md)}

/* FORMS */
.form-group{margin-bottom:var(--space-lg)}
.form-label{display:block;margin-bottom:6px;color:var(--clr-text-mid);font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em}
.form-input,.form-select,.form-textarea{width:100%;padding:.8rem 1.1rem;background:var(--clr-bg-input);border:1.5px solid var(--clr-border);border-radius:var(--radius-md);color:var(--clr-text);font-family:var(--font-body);font-size:.92rem;transition:all .25s;outline:none}
.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--clr-primary);box-shadow:0 0 0 4px var(--clr-primary-glow)}
.form-input::placeholder,.form-textarea::placeholder{color:var(--clr-text-dim)}
.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%238B7D6F' viewBox='0 0 16 16'%3E%3Cpath d='M8 11L3 6h10l-5 5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}
.form-textarea{min-height:120px;resize:vertical}
.form-hint{font-size:.78rem;color:var(--clr-text-dim);margin-top:4px}

/* UPLOAD */
.upload-zone{border:2px dashed var(--clr-border);border-radius:var(--radius-lg);padding:var(--space-2xl);text-align:center;cursor:pointer;transition:all .3s;background:var(--clr-bg-warm)}
.upload-zone:hover{border-color:var(--clr-primary);background:var(--clr-primary-bg)}

/* GRIDS */
.grid{display:grid;gap:var(--space-lg)}
.grid-2{grid-template-columns:repeat(2,1fr)}
.grid-3{grid-template-columns:repeat(3,1fr)}
.grid-4{grid-template-columns:repeat(4,1fr)}
@media(max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}

/* ITEM CARDS */
.item-card{background:var(--clr-bg-card);border:1.5px solid var(--clr-border);border-radius:var(--radius-lg);overflow:hidden;transition:all .35s cubic-bezier(.4,0,.2,1);cursor:pointer;position:relative}
.item-card:hover{border-color:var(--clr-primary);transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.item-card.selected{border-color:var(--clr-primary);box-shadow:var(--shadow-gold)}
.item-card.selected::after{content:'✓';position:absolute;top:10px;right:10px;background:var(--clr-primary);color:#FFF;width:28px;height:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:.8rem;font-weight:700;z-index:2}
.item-card-img{width:100%;aspect-ratio:4/3;object-fit:cover;display:block}
.item-card-body{padding:var(--space-md) var(--space-lg)}
.item-card-title{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--clr-text)}
.item-card-desc{font-size:.82rem;color:var(--clr-text-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.item-card-actions{display:flex;gap:var(--space-sm);padding:var(--space-sm) var(--space-lg) var(--space-md)}

/* STEPPER */
.stepper{display:flex;justify-content:center;margin:var(--space-2xl) 0;position:relative}
.stepper::before{content:'';position:absolute;top:22px;left:15%;right:15%;height:2px;background:var(--clr-border)}
.step{display:flex;flex-direction:column;align-items:center;gap:var(--space-sm);position:relative;z-index:1;flex:1}
.step-number{width:44px;height:44px;border-radius:50%;background:var(--clr-bg-card);border:2px solid var(--clr-border);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.9rem;color:var(--clr-text-muted);transition:all .3s}
.step.active .step-number{background:var(--clr-primary);border-color:var(--clr-primary);color:#FFF;box-shadow:var(--shadow-gold)}
.step.completed .step-number{background:var(--clr-success);border-color:var(--clr-success);color:white}
.step-label{font-size:.72rem;color:var(--clr-text-dim);font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.step.active .step-label{color:var(--clr-primary)}
.step.completed .step-label{color:var(--clr-success)}

/* MODALS */
.modal-overlay{display:none;position:fixed;inset:0;background:rgba(44,24,16,.5);backdrop-filter:blur(12px);z-index:1000;align-items:center;justify-content:center}
.modal-overlay.active{display:flex}
.modal{background:var(--clr-bg-card);border:1px solid var(--clr-border);border-radius:var(--radius-xl);padding:var(--space-2xl);max-width:600px;width:92%;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl);animation:modalIn .35s cubic-bezier(.4,0,.2,1)}
@keyframes modalIn{from{opacity:0;transform:scale(.95) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}
.modal-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-xl)}
.modal-close{background:none;border:none;color:var(--clr-text-muted);font-size:1.5rem;cursor:pointer;padding:var(--space-xs);line-height:1}

/* ALERTS */
.alert{padding:var(--space-md) var(--space-lg);border-radius:var(--radius-md);margin-bottom:var(--space-lg);font-size:.9rem}
.alert-success{background:rgba(39,174,96,.08);border:1px solid rgba(39,174,96,.3);color:#1E8449}
.alert-error{background:rgba(192,57,43,.08);border:1px solid rgba(192,57,43,.3);color:#A93226}
.alert-warning{background:rgba(212,168,67,.08);border:1px solid rgba(212,168,67,.3);color:#9A7209}

/* SPINNER */
.spinner{width:44px;height:44px;border:3px solid var(--clr-border);border-top-color:var(--clr-primary);border-radius:50%;animation:spin .8s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.loading-overlay{position:fixed;inset:0;background:rgba(253,250,246,.92);backdrop-filter:blur(8px);display:none;align-items:center;justify-content:center;flex-direction:column;gap:var(--space-lg);z-index:2000;color:var(--clr-text)}
.loading-overlay.active{display:flex}

/* DASHBOARD */
.dashboard{display:grid;grid-template-columns:260px 1fr;min-height:100vh}
.sidebar{background:var(--clr-bg-card);border-right:1px solid var(--clr-border);padding:var(--space-xl) 0;position:sticky;top:0;height:100vh;overflow-y:auto}
.sidebar-logo{display:flex;align-items:center;gap:var(--space-md);padding:0 var(--space-lg);margin-bottom:var(--space-2xl)}
.sidebar-logo img{height:44px}
.sidebar-nav{list-style:none}
.sidebar-nav li a{display:flex;align-items:center;gap:var(--space-md);padding:.75rem var(--space-xl);color:var(--clr-text-muted);font-size:.9rem;font-weight:500;transition:all .2s;border-left:3px solid transparent}
.sidebar-nav li a:hover{background:var(--clr-surface);color:var(--clr-text)}
.sidebar-nav li a.active{color:var(--clr-primary);border-left-color:var(--clr-primary);background:var(--clr-primary-bg)}
.sidebar-nav li a .nav-icon{width:22px;text-align:center;font-size:1.1rem}
.main-content{padding:var(--space-2xl);padding-top:3.5rem;background:var(--clr-bg)}
.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-2xl)}
.page-title{font-family:var(--font-display);font-size:1.8rem;color:var(--clr-text)}

/* AUTH */
.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--clr-bg-warm)}
.auth-card{background:var(--clr-bg-card);border:1px solid var(--clr-border);border-radius:var(--radius-xl);padding:var(--space-2xl) var(--space-2xl) var(--space-xl);width:100%;max-width:440px;box-shadow:var(--shadow-lg)}
.auth-logo{text-align:center;margin-bottom:var(--space-2xl)}
.auth-logo img{height:64px;margin-bottom:var(--space-md)}
.auth-logo h2{color:var(--clr-text);font-size:1.5rem}
.auth-logo p{color:var(--clr-text-muted);font-size:.9rem;margin-top:4px}
.auth-footer{text-align:center;margin-top:var(--space-xl);font-size:.9rem;color:var(--clr-text-muted)}

/* MOODBOARD */
.moodboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-md)}
.mood-card{aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;position:relative;cursor:pointer;transition:all .35s;border:2px solid transparent;box-shadow:var(--shadow-sm)}
.mood-card:hover{transform:scale(1.04);box-shadow:var(--shadow-md)}
.mood-card.selected{border-color:var(--clr-primary);box-shadow:var(--shadow-gold)}
.mood-card-bg{width:100%;height:100%;object-fit:cover}
.mood-card-label{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,rgba(0,0,0,.7));padding:var(--space-xl) var(--space-md) var(--space-md);color:white;font-weight:600;font-size:.9rem}

/* BADGES */
.badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:var(--radius-full);font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.badge-success{background:rgba(39,174,96,.1);color:var(--clr-success)}
.badge-warning{background:rgba(212,168,67,.1);color:var(--clr-warning)}
.badge-danger{background:rgba(192,57,43,.1);color:var(--clr-danger)}
.badge-info{background:var(--clr-sage-soft);color:var(--clr-sage)}

/* FEATURE CARDS */
.feature-card{background:var(--clr-bg-card);border:1.5px solid var(--clr-border);border-radius:var(--radius-lg);padding:var(--space-xl);transition:all .35s;text-align:center}
.feature-card:hover{border-color:var(--clr-primary);transform:translateY(-6px);box-shadow:var(--shadow-lg)}
.feature-icon{font-size:2.2rem;margin-bottom:var(--space-md);display:block}
.feature-card h3{margin-bottom:var(--space-sm)}
.feature-card p{color:var(--clr-text-muted);font-size:.88rem;line-height:1.6}

/* SCRIPT / PREVIEW */
.script-preview,.script-box{background:var(--clr-bg-warm);border:1.5px solid var(--clr-border);border-radius:var(--radius-md);padding:var(--space-lg);font-size:.9rem;line-height:1.8;color:var(--clr-text-mid);white-space:pre-wrap;max-height:300px;overflow-y:auto}
.preview-video{width:100%;aspect-ratio:16/9;background:var(--clr-surface);border-radius:var(--radius-lg);display:flex;align-items:center;justify-content:center;margin-bottom:var(--space-lg);overflow:hidden}
.preview-video video{width:100%;height:100%;object-fit:cover;border-radius:var(--radius-lg)}

/* GOOGLE TRANSLATE */
#google_translate_element{position:fixed;top:var(--space-md);right:var(--space-md);z-index:10000}
.goog-te-gadget{font-family:var(--font-body)!important}
.goog-te-banner-frame{display:none!important}
body{top:0!important}

/* ANIMATIONS */
.fade-in{animation:fadeIn .6s ease both}
@keyframes fadeIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.stagger>*{opacity:0;animation:fadeIn .6s ease both}
.stagger>*:nth-child(1){animation-delay:.08s}
.stagger>*:nth-child(2){animation-delay:.16s}
.stagger>*:nth-child(3){animation-delay:.24s}
.stagger>*:nth-child(4){animation-delay:.32s}
.stagger>*:nth-child(5){animation-delay:.40s}
.stagger>*:nth-child(6){animation-delay:.48s}

/* RESPONSIVE */
@media(max-width:900px){
    .dashboard{grid-template-columns:1fr}
    .sidebar{position:fixed;bottom:0;left:0;right:0;top:auto;height:auto;border-right:none;border-top:1px solid var(--clr-border);padding:var(--space-sm) 0;z-index:100;background:var(--clr-bg-card)}
    .sidebar-logo{display:none}
    .sidebar-nav{display:flex;justify-content:space-around}
    .sidebar-nav li a{flex-direction:column;gap:2px;padding:var(--space-sm);font-size:.68rem;border-left:none;border-bottom:3px solid transparent;text-align:center}
    .sidebar-nav li a.active{border-bottom-color:var(--clr-primary);border-left-color:transparent}
    .main-content{padding:var(--space-lg);padding-bottom:100px}
}

/* UTILITIES */
.text-center{text-align:center}
.text-muted{color:var(--clr-text-muted)}
.text-gold{color:var(--clr-primary)}
.text-accent{color:var(--clr-accent)}
.mt-sm{margin-top:var(--space-sm)}.mt-md{margin-top:var(--space-md)}.mt-lg{margin-top:var(--space-lg)}.mt-xl{margin-top:var(--space-xl)}
.mb-md{margin-bottom:var(--space-md)}.mb-lg{margin-bottom:var(--space-lg)}.mb-xl{margin-bottom:var(--space-xl)}
.flex{display:flex}.flex-center{display:flex;align-items:center;justify-content:center}
.gap-sm{gap:var(--space-sm)}.gap-md{gap:var(--space-md)}.gap-lg{gap:var(--space-lg)}
.hidden{display:none!important}
