:root{--ink:#11100f;--cream:#f5f0e8;--gold:#c6a15b;--gold-light:#e1c78e;--wine:#661e2c;--muted:#726c64;--panel:#fff;--line:#e8e0d3}*{box-sizing:border-box}html{font-size:16px;scroll-behavior:smooth}body{margin:0;background:var(--cream);color:var(--ink);font-family:Inter,"Segoe UI",sans-serif}a{text-decoration:none}.eyebrow{display:block;color:var(--gold);font-size:.72rem;font-weight:800;letter-spacing:.18em;text-transform:uppercase;margin-bottom:.7rem}.public-header{position:absolute;z-index:10;left:0;right:0;top:0}.public-nav{height:92px;display:flex;align-items:center;justify-content:space-between}.public-brand{display:flex;align-items:center;gap:12px;color:#fff}.public-brand>span,.brand-emblem{width:46px;height:46px;border:1px solid var(--gold);display:grid;place-items:center;border-radius:50%;font-family:Georgia,serif;color:var(--gold)}.public-brand strong{font-family:Georgia,serif;font-size:1.25rem;line-height:1}.public-brand small{display:block;font-family:Inter,sans-serif;font-size:.64rem;letter-spacing:.22em;text-transform:uppercase;margin-top:6px}.public-links{display:flex;align-items:center;gap:24px}.public-links>a,.logout-inline button{color:#fff;font-size:.9rem;background:none;border:0;padding:0}.logout-inline{display:inline}.public-hero{position:relative;min-height:760px;display:flex;align-items:center;background:linear-gradient(112deg,#090909 0%,#191615 54%,#511822 100%);overflow:hidden}.public-hero-photo{background-image:linear-gradient(90deg,rgba(5,5,5,.94) 0%,rgba(8,8,8,.78) 43%,rgba(54,13,19,.38) 100%),url("../img/vehiculos/hero-clasicos.jpg");background-size:cover;background-position:center center}.public-hero:after{content:"";position:absolute;inset:auto 0 0 0;height:180px;background:linear-gradient(transparent,rgba(0,0,0,.55));pointer-events:none}.public-hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.2),transparent)}.public-hero-content{position:relative;z-index:2;width:min(1120px,calc(100% - 40px));margin:auto;color:#fff}.public-hero h1{font-family:Georgia,serif;font-size:clamp(3rem,7vw,6.3rem);font-weight:400;line-height:.95;max-width:850px}.public-hero h1 em{color:var(--gold-light);font-weight:400}.public-hero p{max-width:620px;color:#d8d0c7;font-size:1.15rem;line-height:1.7;margin:28px 0}.public-actions{display:flex;gap:12px;flex-wrap:wrap}.btn-gold{background:var(--gold);color:#17120b;border-radius:0;padding:14px 24px;font-weight:700}.btn-gold:hover{background:var(--gold-light)}.public-actions .btn-outline-light{border-radius:0;padding:14px 24px}.collection-section{max-width:1120px;margin:auto;padding:100px 20px}.collection-section h2{font-family:Georgia,serif;font-size:3rem;margin-bottom:40px}.collection-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.collection-grid article{background:#fff;box-shadow:0 18px 50px rgba(26,20,13,.08)}.vehicle-card{overflow:hidden;transition:transform .3s ease,box-shadow .3s ease}.vehicle-card:hover{transform:translateY(-6px);box-shadow:0 28px 60px rgba(26,20,13,.14)}.vehicle-image-wrap{position:relative;height:360px;overflow:hidden;background:#ddd}.vehicle-image{width:100%;height:100%;display:block;object-fit:cover;object-position:center 58%;transition:transform .7s ease}.vehicle-card:hover .vehicle-image{transform:scale(1.04)}.vehicle-tag{position:absolute;left:18px;bottom:18px;background:rgba(15,14,13,.88);color:var(--gold-light);padding:9px 13px;font-size:.68rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.vehicle-card-body{padding:25px 24px 30px}.collection-grid h3{font-family:Georgia,serif;font-size:1.65rem;margin-bottom:10px}.collection-grid p{color:var(--muted);min-height:48px}.vehicle-link{display:inline-block;color:#7a5a26;font-weight:700;font-size:.82rem;margin-top:8px}.experience-strip{max-width:1120px;margin:0 auto 90px;padding:42px 48px;background:#171411;color:#fff;display:flex;align-items:center;justify-content:space-between;gap:30px}.experience-strip h2{font-family:Georgia,serif;font-size:clamp(2rem,4vw,3.2rem);margin:0;max-width:700px}.public-footer{background:#0f0e0d;color:#fff;padding:38px 0}.public-footer .container{display:flex;justify-content:space-between;gap:20px;color:#aaa}.public-footer strong{color:var(--gold)}
.admin-body{background:#eeeae4}.admin-shell{min-height:100vh;display:flex}.admin-sidebar{position:fixed;inset:0 auto 0 0;width:280px;background:#11100f;color:#fff;padding:28px 22px;display:flex;flex-direction:column;z-index:20}.admin-brand{display:flex;align-items:center;gap:12px;color:#fff;padding:2px 8px 28px;border-bottom:1px solid #2a2825}.admin-brand strong{font-family:Georgia,serif;font-size:1.3rem}.admin-brand small{display:block;color:var(--gold);letter-spacing:.16em;text-transform:uppercase;font-size:.6rem;margin-top:3px}.admin-nav{display:flex;flex-direction:column;gap:7px;margin-top:28px}.admin-nav-title{color:#77716a;font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;padding:0 12px 10px}.admin-nav a{color:#aaa39b;padding:13px 12px;border-radius:9px;display:flex;align-items:center;gap:12px;font-size:.91rem}.admin-nav a:hover,.admin-nav a.active{background:#27231f;color:#fff}.admin-nav a.active{box-shadow:inset 3px 0 var(--gold)}.admin-nav em{margin-left:auto;font-size:.58rem;color:#716b64;font-style:normal}.sidebar-footer{margin-top:auto;padding:20px 10px 0;border-top:1px solid #2a2825;display:grid;gap:12px}.sidebar-footer a,.sidebar-footer button{color:#aaa39b;background:none;border:0;padding:0;text-align:left;font-size:.85rem}.admin-main{margin-left:280px;min-width:0;width:calc(100% - 280px)}.admin-topbar{height:82px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;padding:0 34px;gap:14px;position:sticky;top:0;z-index:10}.admin-topbar .eyebrow{margin:0;font-size:.58rem}.admin-user{margin-left:auto;display:flex;align-items:center;gap:10px;color:#5d5750;font-size:.85rem}.user-avatar{width:36px;height:36px;border-radius:50%;background:#161411;color:var(--gold);display:grid;place-items:center}.sidebar-toggle{display:none;border:0;background:none;font-size:1.5rem}.admin-content{padding:34px}.dashboard-hero{background:linear-gradient(120deg,#171411,#33271d);color:#fff;min-height:210px;padding:38px 42px;display:flex;align-items:center;justify-content:space-between;position:relative;overflow:hidden}.dashboard-hero:after{content:"CE";position:absolute;right:8%;font-family:Georgia,serif;font-size:13rem;color:rgba(198,161,91,.06)}.dashboard-hero h1{font-family:Georgia,serif;font-size:2.6rem;margin-bottom:8px}.dashboard-hero p{color:#b8afa6;margin:0}.hero-badge{z-index:1;border:1px solid rgba(198,161,91,.4);padding:18px 28px;text-align:center}.hero-badge strong,.hero-badge span{display:block}.hero-badge strong{color:var(--gold);font-size:.72rem;text-transform:uppercase;letter-spacing:.16em}.dashboard-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin:22px 0}.dashboard-card{background:#fff;padding:24px;display:flex;align-items:center;gap:16px;border:1px solid var(--line);position:relative}.card-icon{width:46px;height:46px;background:#f4eee4;color:var(--gold);display:grid;place-items:center;font-size:1.2rem}.dashboard-card small,.dashboard-card strong{display:block}.dashboard-card small{color:var(--muted);font-size:.75rem}.dashboard-card strong{font-family:Georgia,serif;font-size:2rem}.card-status{position:absolute;right:18px;bottom:14px;font-size:.62rem;color:#9a938b}.dashboard-panels{display:grid;grid-template-columns:2fr 1fr;gap:20px}.dashboard-panel{background:#fff;border:1px solid var(--line);padding:28px}.dashboard-panel h2{font-family:Georgia,serif}.quick-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:22px}.quick-actions button{min-height:120px;border:1px dashed #d8cbb8;background:#fbf9f6;color:#8d857b;display:flex;flex-direction:column;justify-content:center;align-items:center}.quick-actions button span{font-size:2rem;color:var(--gold)}.quick-actions button small{display:block;margin-top:5px}.project-status ul{list-style:none;padding:0;margin:20px 0 0}.project-status li{padding:10px 0 10px 26px;border-bottom:1px solid #eee7dd;position:relative;color:#888}.project-status li:before{content:"○";position:absolute;left:0;color:#b4aba1}.project-status li.done{color:#2d5c49}.project-status li.done:before{content:"✓";color:#2d5c49;font-weight:bold}
@media(max-width:1000px){.dashboard-grid{grid-template-columns:repeat(2,1fr)}.dashboard-panels{grid-template-columns:1fr}.admin-sidebar{transform:translateX(-100%);transition:.25s}.admin-sidebar.open{transform:translateX(0)}.admin-main{margin-left:0;width:100%}.sidebar-toggle{display:block}.admin-user span:last-child{display:none}}@media(max-width:700px){.public-links>a:not(:last-child){display:none}.collection-grid{grid-template-columns:1fr}.vehicle-image-wrap{height:310px}.experience-strip{margin:0 20px 60px;padding:32px 24px;align-items:flex-start;flex-direction:column}.public-hero{min-height:680px;background-position:64% center}.public-hero h1{font-size:3.2rem}.dashboard-grid{grid-template-columns:1fr}.quick-actions{grid-template-columns:1fr}.admin-content{padding:16px}.dashboard-hero{padding:28px 24px}.hero-badge{display:none}.admin-topbar{padding:0 18px}.public-footer .container{flex-direction:column}.collection-section h2{font-size:2.2rem}}

/* Sprint 3: colección premium con vehículos separados */
.collection-featured{max-width:1240px;padding-top:105px;padding-bottom:90px}.collection-heading{text-align:center;margin-bottom:54px}.collection-heading h2{margin:0;font-size:clamp(2.5rem,5vw,4.2rem)}.heading-rule,.copy-rule{display:block;width:72px;height:1px;background:var(--gold);margin:24px auto 0}.vehicle-feature{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(320px,.85fr);gap:68px;align-items:center;padding:0 0 68px;margin-bottom:68px;border-bottom:1px solid rgba(198,161,91,.22)}.vehicle-feature:last-of-type{margin-bottom:0}.vehicle-feature-reverse .vehicle-feature-media{order:2}.vehicle-feature-reverse .vehicle-feature-copy{order:1}.vehicle-feature-media{border-radius:5px;overflow:hidden;min-height:420px;background:#171513;box-shadow:0 20px 60px rgba(30,22,13,.13)}.vehicle-feature-media img{width:100%;height:100%;min-height:420px;display:block;object-fit:cover;object-position:center;transition:transform .8s ease}.vehicle-feature:hover .vehicle-feature-media img{transform:scale(1.025)}.vehicle-feature-copy{padding:24px 0}.vehicle-tag-static{display:inline-block;background:#11100f;color:var(--gold-light);padding:10px 15px;font-size:.68rem;font-weight:800;letter-spacing:.14em;text-transform:uppercase}.vehicle-feature-copy h3{font-family:Georgia,serif;font-size:clamp(2.2rem,4vw,3.6rem);font-weight:400;margin:24px 0 0}.vehicle-feature-copy .copy-rule{margin:22px 0}.vehicle-feature-copy p{max-width:470px;color:var(--muted);font-size:1.08rem;line-height:1.75;margin-bottom:30px}.events-section{max-width:1120px;margin:0 auto;padding:30px 20px 100px}.events-heading{text-align:center;margin-bottom:42px}.events-heading h2{font-family:Georgia,serif;font-size:clamp(2.1rem,4vw,3.4rem);font-weight:400}.events-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.events-grid>div{padding:32px 24px;border-right:1px solid var(--line)}.events-grid>div:last-child{border-right:0}.events-grid span,.events-grid strong,.events-grid small{display:block}.events-grid span{color:var(--gold);font-family:Georgia,serif;font-size:1.4rem;margin-bottom:18px}.events-grid strong{font-family:Georgia,serif;font-size:1.45rem;margin-bottom:10px}.events-grid small{color:var(--muted);font-size:.86rem;line-height:1.6}
@media(max-width:900px){.vehicle-feature{grid-template-columns:1fr;gap:30px}.vehicle-feature-reverse .vehicle-feature-media,.vehicle-feature-reverse .vehicle-feature-copy{order:initial}.vehicle-feature-media,.vehicle-feature-media img{min-height:360px}.events-grid{grid-template-columns:repeat(2,1fr)}.events-grid>div:nth-child(2){border-right:0}.events-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
@media(max-width:560px){.collection-featured{padding-top:75px}.vehicle-feature{gap:18px;padding-bottom:45px;margin-bottom:45px}.vehicle-feature-media,.vehicle-feature-media img{min-height:265px}.vehicle-feature-copy{padding:8px 2px}.vehicle-feature-copy h3{font-size:2.25rem}.events-grid{grid-template-columns:1fr}.events-grid>div{border-right:0!important;border-bottom:1px solid var(--line)}.events-grid>div:last-child{border-bottom:0}}


/* Sprint 5: portada premium con vehículos PNG transparentes */
.public-hero-premium{
    min-height:780px;
    background:
        radial-gradient(circle at 76% 32%,rgba(198,161,91,.16),transparent 26%),
        radial-gradient(circle at 66% 82%,rgba(104,24,38,.26),transparent 33%),
        linear-gradient(112deg,#070707 0%,#11100f 53%,#3d111a 100%);
}
.public-hero-premium .public-hero-content{z-index:4;padding-right:46%}
.public-hero-premium .public-hero-content h1{max-width:810px}
.public-hero-glow{position:absolute;border-radius:50%;filter:blur(58px);opacity:.5;pointer-events:none}
.public-hero-glow-one{width:420px;height:420px;right:4%;top:8%;background:rgba(198,161,91,.17)}
.public-hero-glow-two{width:520px;height:300px;right:11%;bottom:0;background:rgba(126,23,37,.3)}
.hero-cars{position:absolute;z-index:3;inset:70px 0 0 42%;pointer-events:none}
.hero-car{position:absolute;display:block;max-width:none;filter:drop-shadow(0 28px 24px rgba(0,0,0,.55));user-select:none}
.hero-car-mg{width:min(57vw,800px);right:1.5%;top:12px;animation:heroMgIn 1.15s cubic-bezier(.18,.8,.22,1) both}
.hero-car-porsche{width:min(48vw,690px);right:17%;bottom:-16px;animation:heroPorscheIn 1.1s .15s cubic-bezier(.18,.8,.22,1) both}
.hero-car-mg:hover,.hero-car-porsche:hover{filter:drop-shadow(0 32px 30px rgba(0,0,0,.66))}
@keyframes heroMgIn{from{opacity:0;transform:translateX(70px) scale(.97)}to{opacity:1;transform:translateX(0) scale(1)}}
@keyframes heroPorscheIn{from{opacity:0;transform:translateY(65px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}
@media (prefers-reduced-motion:reduce){.hero-car-mg,.hero-car-porsche{animation:none}}
@media(max-width:1100px){
  .public-hero-premium .public-hero-content{padding-right:39%}
  .hero-cars{left:43%}
  .hero-car-mg{width:62vw;right:-8%;top:62px}
  .hero-car-porsche{width:55vw;right:8%;bottom:0}
}
@media(max-width:800px){
  .public-hero-premium{min-height:860px;align-items:flex-start;padding-top:125px}
  .public-hero-premium .public-hero-content{padding-right:0;margin-top:0}
  .public-hero-premium .public-hero-content h1{max-width:680px;font-size:clamp(3rem,11vw,5rem)}
  .public-hero-premium .public-hero-content p{max-width:530px}
  .hero-cars{inset:auto 0 0 0;height:390px}
  .hero-car-mg{width:min(82vw,650px);right:-12%;top:-30px}
  .hero-car-porsche{width:min(72vw,560px);left:-5%;right:auto;bottom:-18px}
}
@media(max-width:520px){
  .public-hero-premium{min-height:820px;padding-top:112px}
  .public-hero-premium .public-hero-content{width:calc(100% - 30px)}
  .public-hero-premium .public-hero-content h1{font-size:3.05rem}
  .public-hero-premium .public-hero-content p{font-size:1rem;line-height:1.55;margin:20px 0}
  .hero-cars{height:300px}
  .hero-car-mg{width:95vw;right:-29%;top:7px}
  .hero-car-porsche{width:86vw;left:-14%;bottom:-6px}
}

/* Sprint 6: corrección definitiva de portada y composición responsive */
.public-header{
    height:96px;
    background:linear-gradient(180deg,rgba(5,5,5,.72),rgba(5,5,5,0));
}
.public-nav{
    width:min(1320px,calc(100% - 56px));
    max-width:none;
    margin:0 auto;
    padding:0;
}
.public-brand{flex:0 0 auto;min-width:210px;white-space:nowrap}
.public-links{flex:0 0 auto}

.public-hero-premium{
    min-height:760px;
    padding-top:96px;
    align-items:stretch;
}
.public-hero-premium .public-hero-overlay{
    background:linear-gradient(90deg,rgba(0,0,0,.26) 0%,rgba(0,0,0,.08) 44%,transparent 70%);
}
.public-hero-premium .public-hero-content{
    width:min(1320px,calc(100% - 56px));
    max-width:none;
    margin:0 auto;
    padding:82px 54% 72px 0;
    display:flex;
    flex-direction:column;
    justify-content:center;
}
.public-hero-premium .public-hero-content .eyebrow{margin-bottom:18px}
.public-hero-premium .public-hero-content h1{
    max-width:720px;
    margin:0;
    font-size:clamp(3.8rem,5.4vw,6.25rem);
    line-height:.96;
    letter-spacing:-.035em;
}
.public-hero-premium .public-hero-content h1 em{
    display:inline-block;
    margin-top:12px;
}
.public-hero-premium .public-hero-content p{
    max-width:560px;
    margin:30px 0 26px;
}
.public-actions{flex-wrap:nowrap}

.hero-cars{
    inset:96px 0 0 48%;
    overflow:visible;
}
.hero-car{
    filter:drop-shadow(0 24px 22px rgba(0,0,0,.52));
}
.hero-car-mg{
    width:min(48vw,760px);
    right:1.5%;
    top:20px;
}
.hero-car-porsche{
    width:min(39vw,635px);
    right:13%;
    bottom:-8px;
}

@media(max-width:1180px){
    .public-hero-premium .public-hero-content{padding-right:50%}
    .public-hero-premium .public-hero-content h1{font-size:clamp(3.5rem,5.2vw,5.35rem)}
    .hero-cars{left:47%}
    .hero-car-mg{width:55vw;right:-8%;top:62px}
    .hero-car-porsche{width:47vw;right:4%;bottom:4px}
}
@media(max-width:900px){
    .public-header{height:84px;background:rgba(7,7,7,.72);backdrop-filter:blur(8px)}
    .public-nav{height:84px;width:calc(100% - 34px)}
    .public-brand{min-width:0}
    .public-brand strong{font-size:1.1rem}
    .public-hero-premium{min-height:980px;padding-top:84px}
    .public-hero-premium .public-hero-content{
        width:calc(100% - 40px);
        padding:58px 0 430px;
        justify-content:flex-start;
    }
    .public-hero-premium .public-hero-content h1{
        max-width:720px;
        font-size:clamp(3.5rem,10vw,5.4rem);
    }
    .hero-cars{inset:auto 0 0 0;height:440px}
    .hero-car-mg{width:min(78vw,670px);right:-10%;top:-52px}
    .hero-car-porsche{width:min(68vw,570px);left:-3%;right:auto;bottom:-8px}
}
@media(max-width:620px){
    .public-nav{width:calc(100% - 24px)}
    .public-brand>span{width:40px;height:40px}
    .public-brand strong{font-size:1rem}
    .public-brand small{font-size:.55rem}
    .public-links{gap:14px}
    .public-links>a{font-size:.8rem}
    .public-hero-premium{min-height:890px}
    .public-hero-premium .public-hero-content{width:calc(100% - 28px);padding:42px 0 345px}
    .public-hero-premium .public-hero-content h1{font-size:clamp(3rem,15vw,4.25rem);line-height:.94}
    .public-hero-premium .public-hero-content p{font-size:1rem;line-height:1.6;margin:24px 0}
    .public-actions{flex-wrap:wrap}
    .hero-cars{height:330px}
    .hero-car-mg{width:102vw;right:-37%;top:-4px}
    .hero-car-porsche{width:90vw;left:-18%;bottom:-2px}
}

/* Sprint 7: experiencia visual premium, galería y animaciones */
html{scroll-behavior:smooth;scroll-padding-top:96px}
body.lightbox-open{overflow:hidden}
.public-header{position:fixed;transition:background .35s ease,box-shadow .35s ease,backdrop-filter .35s ease}
.public-header.is-scrolled{background:rgba(7,7,7,.92);box-shadow:0 12px 34px rgba(0,0,0,.24);backdrop-filter:blur(12px)}
.public-links{align-items:center}.public-links>a{position:relative}.public-links>a:not(.btn)::after{content:"";position:absolute;left:0;bottom:-8px;width:0;height:1px;background:var(--gold);transition:width .25s ease}.public-links>a:hover::after{width:100%}
.nav-toggle{display:none;width:44px;height:42px;padding:10px;border:1px solid rgba(198,161,91,.32);background:transparent;border-radius:3px}.nav-toggle i{display:block;height:1px;background:var(--gold-light);margin:5px 0;transition:.25s}
.public-hero-premium{isolation:isolate;overflow:hidden;background:radial-gradient(circle at 75% 25%,rgba(198,161,91,.17),transparent 27%),radial-gradient(circle at 76% 88%,rgba(113,20,35,.32),transparent 39%),linear-gradient(112deg,#050505 0%,#11100f 51%,#3c1019 100%)}
.public-hero-premium:before{content:"";position:absolute;inset:0;z-index:0;opacity:.12;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.025) 1px,transparent 1px);background-size:46px 46px;mask-image:linear-gradient(to right,transparent,black)}
.hero-event-pills{display:flex;gap:9px;flex-wrap:wrap;margin:0 0 30px}.hero-event-pills span{padding:7px 11px;border:1px solid rgba(224,194,132,.32);color:#e5d2ac;font-size:.68rem;letter-spacing:.09em;text-transform:uppercase;background:rgba(0,0,0,.18)}
.hero-ground-shadow{position:absolute;width:min(49vw,760px);height:90px;right:6%;bottom:4px;border-radius:50%;background:rgba(0,0,0,.52);filter:blur(21px);transform:perspective(300px) rotateX(64deg);z-index:-1}
.hero-scroll{position:absolute;z-index:5;left:50%;bottom:22px;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;color:rgba(255,255,255,.64);font-size:.6rem;letter-spacing:.18em;text-transform:uppercase;text-decoration:none}.hero-scroll span{display:block;width:1px;height:35px;background:linear-gradient(var(--gold),transparent);animation:scrollPulse 1.8s infinite}@keyframes scrollPulse{0%,100%{opacity:.35;transform:scaleY(.6);transform-origin:top}50%{opacity:1;transform:scaleY(1)}}
.promise-band{max-width:1180px;margin:-32px auto 0;position:relative;z-index:7;display:grid;grid-template-columns:repeat(3,1fr);background:#f7f3eb;border:1px solid rgba(198,161,91,.34);box-shadow:0 18px 55px rgba(21,16,10,.12)}.promise-item{padding:28px 30px;text-align:center;border-right:1px solid rgba(198,161,91,.25)}.promise-item:last-child{border-right:0}.promise-item strong{display:block;color:#17130e;font-family:Georgia,serif;font-size:2rem;font-weight:400}.promise-item span{display:block;color:#806f58;font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;margin-top:5px}
.section-lead{max-width:670px;margin:18px auto 0;color:var(--muted);font-size:1.04rem;line-height:1.7}.vehicle-feature-media{position:relative}.vehicle-number{position:absolute;right:18px;bottom:10px;color:rgba(255,255,255,.75);font-family:Georgia,serif;font-size:4.5rem;line-height:1;text-shadow:0 3px 18px rgba(0,0,0,.55)}.vehicle-uses{display:flex;flex-wrap:wrap;gap:8px;padding:0;margin:0 0 30px;list-style:none}.vehicle-uses li{border-bottom:1px solid rgba(198,161,91,.45);padding:0 0 5px;color:#665d51;font-size:.78rem;letter-spacing:.05em}
.moments-section{max-width:1320px;margin:0 auto;padding:96px 28px 110px;display:grid;grid-template-columns:300px minmax(0,1fr);gap:44px;background:#0b0b0b;color:white}.moments-section h2{font-family:Georgia,serif;font-size:clamp(2.5rem,4vw,4rem);font-weight:400;line-height:1.04;margin:13px 0 22px}.moments-copy p{color:rgba(255,255,255,.62);line-height:1.75}.gallery-controls{display:flex;align-items:center;gap:14px;margin-top:32px;color:#c9b58d;font-size:.7rem;letter-spacing:.12em}.gallery-arrow{width:42px;height:42px;border:1px solid rgba(198,161,91,.42);background:transparent;color:#e2c786;transition:.25s}.gallery-arrow:hover{background:var(--gold);color:#111}.premium-gallery{display:grid;grid-template-columns:repeat(4,minmax(150px,1fr));grid-auto-rows:205px;gap:12px}.gallery-card{position:relative;border:0;padding:0;overflow:hidden;background:#111;cursor:zoom-in}.gallery-card-wide{grid-column:span 2}.gallery-card img{width:100%;height:100%;object-fit:cover;filter:saturate(.88) brightness(.83);transition:transform .65s ease,filter .4s ease}.gallery-card span{position:absolute;left:16px;bottom:14px;color:white;font-family:Georgia,serif;font-size:1.05rem;text-shadow:0 2px 12px #000;z-index:2}.gallery-card:after{content:"";position:absolute;inset:0;border:1px solid transparent;transition:.3s;background:linear-gradient(transparent 56%,rgba(0,0,0,.7))}.gallery-card:hover img,.gallery-card.is-active img{transform:scale(1.045);filter:saturate(1) brightness(1)}.gallery-card.is-active:after{border-color:var(--gold)}
.why-section{max-width:1240px;margin:0 auto 110px;display:grid;grid-template-columns:1.08fr .92fr;background:#f5f0e7}.why-photo{min-height:610px;overflow:hidden}.why-photo img{width:100%;height:100%;object-fit:cover}.why-copy{padding:68px 64px;display:flex;flex-direction:column;justify-content:center}.why-copy h2{font-family:Georgia,serif;font-size:clamp(2.4rem,4.2vw,4rem);font-weight:400;line-height:1.05;margin:16px 0}.why-highlight{color:#9b742b;font-family:Georgia,serif;font-size:1.45rem;font-style:italic;line-height:1.45}.why-list{margin-top:34px}.why-list>div{display:flex;gap:18px;padding:21px 0;border-top:1px solid rgba(98,77,42,.18)}.why-list b{font-family:Georgia,serif;color:var(--gold);font-weight:400}.why-list span,.why-list strong,.why-list small{display:block}.why-list strong{font-family:Georgia,serif;font-size:1.15rem}.why-list small{color:var(--muted);line-height:1.55;margin-top:5px}
.experience-strip p{margin:10px 0 0;color:rgba(255,255,255,.65)}.contact-actions{display:flex;gap:12px;flex-wrap:wrap}.btn-outline-dark{border:1px solid rgba(255,255,255,.42);color:white}.btn-outline-dark:hover{background:white;color:#111}
.public-footer .container{align-items:center}.public-footer .container>div{display:flex;flex-direction:column}.public-footer nav{display:flex;gap:22px}.public-footer a{color:rgba(255,255,255,.6);text-decoration:none;font-size:.78rem}.public-footer a:hover{color:var(--gold-light)}
.reveal{opacity:0;transform:translateY(24px);transition:opacity .75s ease,transform .75s cubic-bezier(.2,.7,.2,1)}.reveal.is-visible{opacity:1;transform:none}
.gallery-lightbox{position:fixed;z-index:2000;inset:0;padding:60px 6vw 35px;display:flex;flex-direction:column;justify-content:center;align-items:center;background:rgba(2,2,2,.94);opacity:0;visibility:hidden;transition:.28s}.gallery-lightbox.is-open{opacity:1;visibility:visible}.gallery-lightbox img{max-width:min(1200px,92vw);max-height:78vh;object-fit:contain;box-shadow:0 20px 70px rgba(0,0,0,.7)}.gallery-lightbox p{color:#e1c586;font-family:Georgia,serif;font-size:1.25rem;margin-top:16px}.lightbox-close{position:absolute;top:22px;right:28px;width:48px;height:48px;border:1px solid rgba(255,255,255,.25);background:transparent;color:white;font-size:2rem;line-height:1}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal{opacity:1;transform:none;transition:none}.hero-scroll span{animation:none}}
@media(max-width:1000px){.moments-section{grid-template-columns:1fr}.moments-copy{max-width:650px}.premium-gallery{grid-template-columns:repeat(3,1fr)}.why-section{grid-template-columns:1fr}.why-photo{min-height:480px}.why-copy{padding:54px 44px}.public-links{gap:15px}.public-links>a{font-size:.72rem}}
@media(max-width:800px){.promise-band{margin:0;grid-template-columns:1fr}.promise-item{border-right:0;border-bottom:1px solid rgba(198,161,91,.25)}.promise-item:last-child{border-bottom:0}.nav-toggle{display:block;margin-left:auto}.public-links{position:absolute;top:84px;left:0;right:0;display:flex;flex-direction:column;align-items:stretch;gap:0;padding:12px 20px 22px;background:rgba(7,7,7,.98);border-top:1px solid rgba(198,161,91,.22);transform:translateY(-130%);opacity:0;visibility:hidden;transition:.3s}.public-links.is-open{transform:none;opacity:1;visibility:visible}.public-links>a{padding:12px 4px}.public-links>a::after{display:none}.premium-gallery{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;padding-bottom:8px}.gallery-card,.gallery-card-wide{flex:0 0 78%;height:330px;scroll-snap-align:center}.public-footer .container{gap:22px}.public-footer nav{flex-wrap:wrap;justify-content:center}}
@media(max-width:560px){.hero-event-pills span{font-size:.59rem}.hero-scroll{display:none}.moments-section{padding:72px 18px}.gallery-card,.gallery-card-wide{flex-basis:88%;height:285px}.why-section{margin-bottom:70px}.why-photo{min-height:330px}.why-copy{padding:42px 24px}.why-highlight{font-size:1.2rem}.vehicle-number{font-size:3.5rem}.experience-strip{margin-left:14px;margin-right:14px}.contact-actions{width:100%}.contact-actions .btn{width:100%}.public-footer nav{display:none}}

/* Sprint 8: escenas de eventos y solicitud de disponibilidad */
.public-hero-event{min-height:850px;padding-top:90px;display:grid;grid-template-columns:minmax(340px,.78fr) minmax(520px,1.22fr);align-items:center;gap:38px;background:radial-gradient(circle at 75% 30%,rgba(198,161,91,.18),transparent 34%),linear-gradient(110deg,#050505 0%,#0a0908 45%,#25100f 100%);overflow:hidden}
.public-hero-event .public-hero-content{position:relative;z-index:3;width:auto;max-width:620px;margin-left:max(32px,calc((100vw - 1320px)/2));padding:55px 0 80px}.public-hero-event h1{font-size:clamp(3.7rem,5.8vw,6.8rem);line-height:.91}.public-hero-event p{max-width:560px}
.hero-event-photo{position:relative;z-index:2;height:650px;margin-right:3vw;overflow:hidden;border:1px solid rgba(198,161,91,.28);box-shadow:0 30px 90px rgba(0,0,0,.52)}.hero-event-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(5,5,5,.72),transparent 25%),linear-gradient(0deg,rgba(0,0,0,.7),transparent 38%)}.hero-event-photo img{width:100%;height:100%;object-fit:cover;object-position:center;filter:saturate(1.06) contrast(1.04)}.hero-event-caption{position:absolute;z-index:2;left:32px;bottom:28px;color:#fff}.hero-event-caption span,.hero-event-caption strong{display:block}.hero-event-caption span{color:var(--gold-light);font-size:.7rem;letter-spacing:.16em;text-transform:uppercase}.hero-event-caption strong{font:400 1.7rem Georgia,serif;margin-top:5px}
.hero-price{display:flex;align-items:end;gap:12px;margin:0 0 26px;padding:13px 17px;width:max-content;border:1px solid rgba(198,161,91,.38);background:rgba(111,17,34,.6)}.hero-price small,.hero-price span{font-size:.66rem;letter-spacing:.12em;text-transform:uppercase}.hero-price small{align-self:flex-start}.hero-price strong{font:400 2rem Georgia,serif;color:var(--gold-light)}
.event-showcase{max-width:1280px;margin:0 auto;padding:110px 28px}.events-heading{text-align:center;max-width:760px;margin:0 auto 48px}.events-heading h2{font:400 clamp(2.7rem,4.5vw,4.6rem)/1.04 Georgia,serif;margin:12px 0}.events-heading p{color:var(--muted)}.event-showcase-grid{display:grid;grid-template-columns:1.25fr .75fr;grid-template-rows:repeat(2,300px);gap:16px}.event-card{position:relative;overflow:hidden;background:#111}.event-card-large{grid-row:span 2}.event-card img{width:100%;height:100%;object-fit:cover;transition:transform .7s ease,filter .5s ease}.event-card:after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(0,0,0,.8),transparent 60%)}.event-card>div{position:absolute;z-index:2;left:28px;right:28px;bottom:24px;color:white}.event-card span{color:var(--gold-light);font-size:.68rem;letter-spacing:.14em;text-transform:uppercase}.event-card h3{font:400 1.8rem Georgia,serif;margin:6px 0}.event-card p{color:rgba(255,255,255,.7);margin:0}.event-card:hover img{transform:scale(1.045);filter:saturate(1.1)}
.reservation-section{max-width:1240px;margin:0 auto 110px;padding:76px 70px;display:grid;grid-template-columns:.82fr 1.18fr;gap:70px;background:#0b0b0b;color:white;border-top:1px solid rgba(198,161,91,.35)}.reservation-copy h2{font:400 clamp(2.8rem,4.5vw,4.8rem)/1.02 Georgia,serif;margin:15px 0 25px}.reservation-copy p{color:rgba(255,255,255,.65);line-height:1.75}.reservation-copy ul{padding:0;list-style:none;margin-top:28px}.reservation-copy li{padding:12px 0;border-bottom:1px solid rgba(255,255,255,.1);color:#d4c39f}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.reservation-form label span{display:block;margin-bottom:7px;color:#d8c79f;font-size:.68rem;letter-spacing:.11em;text-transform:uppercase}.reservation-form input,.reservation-form select,.reservation-form textarea{width:100%;border:1px solid rgba(198,161,91,.28);background:#151515;color:white;padding:13px 14px;outline:none}.reservation-form input:focus,.reservation-form select:focus,.reservation-form textarea:focus{border-color:var(--gold)}.reservation-form select option{color:#111}.form-full{display:block;margin-top:18px}.form-status{min-height:24px;margin:14px 0;color:#ddc384;font-size:.84rem}.form-status.is-error{color:#ff9ca9}
.floating-whatsapp{position:fixed;z-index:80;right:22px;bottom:22px;display:grid;grid-template-columns:46px auto;grid-template-rows:auto auto;column-gap:11px;align-items:center;padding:10px 17px 10px 10px;border-radius:40px;background:#17b957;color:white;text-decoration:none;box-shadow:0 12px 36px rgba(0,0,0,.3)}.floating-whatsapp span{grid-row:span 2;width:46px;height:46px;display:grid;place-items:center;border-radius:50%;border:2px solid white;font-size:1.4rem}.floating-whatsapp b{font-size:.82rem}.floating-whatsapp small{font-size:.67rem;opacity:.85}
@media(max-width:1050px){.public-hero-event{grid-template-columns:1fr;min-height:auto;padding-top:92px}.public-hero-event .public-hero-content{margin:0 auto;padding:70px 28px 30px;max-width:900px;width:100%}.hero-event-photo{height:540px;margin:0 28px 80px}.reservation-section{grid-template-columns:1fr;gap:40px;padding:60px 45px}.event-showcase-grid{grid-template-columns:1fr 1fr;grid-template-rows:430px 300px}.event-card-large{grid-column:span 2;grid-row:auto}}
@media(max-width:700px){.public-hero-event h1{font-size:clamp(3.25rem,14vw,5.1rem)}.hero-event-photo{height:430px;margin:0 14px 65px}.hero-event-photo:after{background:linear-gradient(0deg,rgba(0,0,0,.72),transparent 55%)}.hero-event-caption{left:20px;bottom:18px}.event-showcase{padding:75px 16px}.event-showcase-grid{display:flex;flex-direction:column}.event-card,.event-card-large{height:360px}.reservation-section{margin:0 14px 80px;padding:46px 22px}.form-grid{grid-template-columns:1fr}.floating-whatsapp{right:12px;bottom:12px;padding:8px}.floating-whatsapp b,.floating-whatsapp small{display:none}.hero-price{flex-wrap:wrap}.hero-price strong{font-size:1.7rem}}

/* Fase 3 - Reservaciones */
.admin-page-heading{display:flex;justify-content:space-between;gap:2rem;align-items:flex-end;margin-bottom:2rem}.admin-page-heading h1{margin:.25rem 0;font-size:2.2rem}.admin-page-heading p{margin:0;color:#6b7280}.reservation-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:1.5rem}.reservation-stat{padding:1.2rem;background:#fff;border:1px solid #e5e7eb;text-decoration:none;color:#111;display:flex;justify-content:space-between;align-items:center}.reservation-stat strong{font-size:1.6rem}.admin-filterbar{display:grid;grid-template-columns:1fr 220px auto auto;gap:.75rem;margin-bottom:1.25rem}.admin-filterbar input,.admin-filterbar select{padding:.8rem;border:1px solid #d1d5db;background:#fff}.admin-filterbar button{border:0;background:#111;color:#fff;padding:.8rem 1.2rem}.admin-filterbar a{display:grid;place-items:center;color:#555}.admin-table-card{background:#fff;border:1px solid #e5e7eb}.admin-table-card th{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#6b7280;background:#f9fafb}.admin-table-card td{padding:1rem}.admin-table-card td small{display:block;color:#6b7280}.admin-table-card td a{text-decoration:none}.empty-cell{text-align:center!important;padding:3rem!important;color:#6b7280}.reservation-detail-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:1.5rem}.admin-detail-card{background:#fff;border:1px solid #e5e7eb;padding:1.6rem}.admin-detail-card h2{margin-top:0}.admin-detail-card dl{display:grid;gap:0}.admin-detail-card dl div{padding:1rem 0;border-bottom:1px solid #eee}.admin-detail-card dt{font-size:.72rem;text-transform:uppercase;letter-spacing:.08em;color:#6b7280}.admin-detail-card dd{margin:.25rem 0 0}.status-form{display:grid;gap:.7rem;margin-top:1.5rem}.status-form select{padding:.8rem;border:1px solid #d1d5db}.status-form button{border:0;background:#111;color:#fff;padding:.8rem}@media(max-width:900px){.reservation-stats{grid-template-columns:1fr 1fr}.admin-filterbar{grid-template-columns:1fr}.reservation-detail-grid{grid-template-columns:1fr}.admin-page-heading{align-items:flex-start;flex-direction:column}}


/* Phase 4 administration */
.admin-page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px}.admin-page-heading h1{margin:.25rem 0;font-family:"Cormorant Garamond",serif;font-size:clamp(2rem,4vw,3.1rem)}.admin-page-heading p{margin:0;color:#766f65}.admin-primary{display:inline-flex;align-items:center;justify-content:center;padding:.8rem 1.15rem;background:#b88a38;color:#111!important;border:0;border-radius:999px;font-weight:700;text-decoration:none}.metric-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.metric-card{background:#fff;border:1px solid #ece6db;border-radius:18px;padding:22px;display:flex;gap:16px;box-shadow:0 10px 35px rgba(18,15,10,.05)}.metric-card>span{font-size:1.55rem}.metric-card div{display:flex;flex-direction:column}.metric-card small,.metric-card em{color:#81796e;font-style:normal}.metric-card strong{font-size:2rem;line-height:1.1}.admin-two-columns{display:grid;grid-template-columns:1.45fr 1fr;gap:20px}.admin-card{background:#fff;border:1px solid #ece6db;border-radius:20px;padding:24px;box-shadow:0 12px 40px rgba(20,16,10,.05)}.admin-card header{display:flex;align-items:center;justify-content:space-between;margin-bottom:18px}.admin-card h2{font-family:"Cormorant Garamond",serif;margin:0}.event-list>a{display:flex;align-items:center;gap:14px;padding:13px 0;border-top:1px solid #eee7dc;color:#17130e;text-decoration:none}.event-list time{width:48px;height:52px;border-radius:12px;background:#15120f;color:#fff;display:grid;place-content:center;text-align:center}.event-list time strong{font-size:1.25rem}.event-list time small{font-size:.65rem;text-transform:uppercase}.event-list>a>div{flex:1;display:flex;flex-direction:column}.event-list span{color:#756e64;font-size:.88rem}.status{padding:.35rem .6rem;border-radius:999px;font-size:.75rem}.status-pendiente{background:#fff3cf;color:#765400}.status-confirmada{background:#dcf5e8;color:#17643d}.status-cancelada{background:#ffe1e1;color:#9b2424}.status-finalizada{background:#e8e9ec;color:#4d515a}.status-summary{display:grid;grid-template-columns:1fr 1fr;gap:10px}.status-summary a{padding:14px;border:1px solid #eee5d9;border-radius:12px;text-decoration:none;color:#17130e;display:flex;justify-content:space-between}.quick-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.quick-grid a{background:#18140f;color:#fff;padding:13px;border-radius:12px;text-decoration:none;text-align:center}.vehicle-admin-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.vehicle-admin-card{display:grid;grid-template-columns:210px 1fr;background:#fff;border:1px solid #ece6db;border-radius:20px;overflow:hidden}.vehicle-admin-card img{width:100%;height:100%;object-fit:cover;min-height:250px}.vehicle-admin-card>div{padding:22px}.vehicle-admin-card h2{font-family:"Cormorant Garamond",serif}.vehicle-badges{display:flex;gap:8px;margin:12px 0}.vehicle-badges span{padding:.3rem .55rem;border-radius:999px;font-size:.75rem}.vehicle-badges .on{background:#def3e7;color:#17643d}.vehicle-badges .off{background:#eee;color:#666}.card-actions{display:flex;gap:10px}.card-actions a,.card-actions button{border:1px solid #d9cfbf;background:#fff;padding:.55rem .8rem;border-radius:10px;color:#17130e;text-decoration:none}.admin-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.admin-form-grid label{display:flex;flex-direction:column;gap:6px;font-weight:600}.admin-form-grid input,.admin-form-grid textarea,.admin-search input{border:1px solid #dcd3c7;border-radius:10px;padding:.72rem}.admin-form-grid textarea{min-height:105px}.span-2{grid-column:1/-1}.check-row{display:flex;gap:25px}.check-row label{flex-direction:row}.form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.month-nav{display:flex;gap:8px}.month-nav a{padding:.55rem .75rem;border:1px solid #ded5c8;border-radius:10px;text-decoration:none;color:#111}.calendar{padding:16px}.calendar-head,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-head strong{text-align:center;padding:10px}.calendar-day{min-height:130px;border:1px solid #eee7dc;padding:8px;background:#fff}.calendar-day.today{box-shadow:inset 0 0 0 2px #c59a49}.calendar-day>span{font-weight:700}.calendar-event{display:block;margin-top:6px;padding:6px;border-radius:8px;text-decoration:none;color:#17130e;font-size:.72rem}.calendar-event strong,.calendar-event small{display:block}.admin-search{display:flex;gap:10px;margin-bottom:16px}.admin-search input{flex:1}.admin-search button{border:0;background:#17130e;color:#fff;border-radius:10px;padding:0 20px}.admin-table-wrap{overflow:auto;background:#fff;border-radius:18px;border:1px solid #ece5db}.admin-table{width:100%;border-collapse:collapse}.admin-table th,.admin-table td{padding:14px 16px;border-bottom:1px solid #eee7dc;text-align:left}.admin-alert{background:#e2f4e9;color:#185a39;padding:12px 16px;border-radius:12px;margin-bottom:16px}.admin-empty{padding:32px;text-align:center;color:#777}
@media(max-width:1050px){.metric-grid{grid-template-columns:1fr 1fr}.admin-two-columns{grid-template-columns:1fr}.vehicle-admin-grid{grid-template-columns:1fr}}@media(max-width:700px){.metric-grid{grid-template-columns:1fr}.admin-page-heading{align-items:flex-start;flex-direction:column}.vehicle-admin-card{grid-template-columns:1fr}.vehicle-admin-card img{height:220px}.admin-form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.calendar{overflow:auto}.calendar-head,.calendar-grid{min-width:760px}}

/* Fase 5 - Administrador de vehículos */
.upload-box{padding:18px;border:1px dashed #c7b28d;border-radius:14px;background:#faf7f1}.upload-box input[type=file]{margin-top:8px;background:#fff}.upload-box small{font-weight:400;color:#7b746b}.gallery-manager{margin-top:20px}.gallery-manager-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.gallery-manager-grid article{border:1px solid #e7dfd3;border-radius:14px;overflow:hidden;background:#fff}.gallery-manager-grid img{width:100%;height:190px;object-fit:cover;display:block}.gallery-image-actions{display:flex;gap:6px;flex-wrap:wrap;padding:10px}.gallery-image-actions form{display:inline}.gallery-image-actions button,.gallery-image-actions span{border:1px solid #d9cfbf;background:#fff;padding:.45rem .65rem;border-radius:8px;font-size:.72rem}.gallery-image-actions span{background:#e5f4ea;color:#17643d}.gallery-image-actions .danger{color:#9b2424;border-color:#e5bcbc}@media(max-width:900px){.gallery-manager-grid{grid-template-columns:1fr 1fr}}@media(max-width:600px){.gallery-manager-grid{grid-template-columns:1fr}}

/* Fase 6 - Disponibilidad */
.availability-toolbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin:1.5rem 0}.month-switcher{display:flex;align-items:center;gap:1rem;background:#fff;padding:.75rem 1rem;border-radius:14px;box-shadow:0 12px 30px rgba(20,15,8,.06)}.month-switcher a{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;text-decoration:none;background:#f3eee5;color:#111}.month-switcher strong{text-transform:capitalize}.availability-filter select,.compact-form select,.compact-form input{width:100%;border:1px solid #ddd3c2;border-radius:10px;padding:.78rem;background:#fff}.availability-grid-wrap{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:1.4rem}.availability-calendar{display:grid;grid-template-columns:repeat(7,minmax(90px,1fr));background:#fff;border-radius:18px;overflow:hidden;box-shadow:0 18px 45px rgba(20,15,8,.07)}.availability-weekday{padding:.85rem;text-align:center;background:#111;color:#d0a345;font-size:.78rem;text-transform:uppercase;letter-spacing:.12em}.availability-day{min-height:120px;padding:.65rem;border-right:1px solid #eee6da;border-bottom:1px solid #eee6da;position:relative}.availability-day.empty{background:#f7f4ef}.availability-day.free{background:#fff}.availability-day.pending{background:#fffaf0}.availability-day.confirmed{background:#f1f8f1}.availability-day.blocked{background:#fff0f0}.day-number{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;font-weight:700}.calendar-chip{display:block;margin-top:.4rem;padding:.35rem .45rem;border-radius:7px;font-size:.69rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.reservation-chip{background:#ead9ad;color:#3d2b05}.block-chip{background:#7b2834;color:#fff}.availability-panel{display:flex;flex-direction:column;gap:1rem}.admin-card{background:#fff;border-radius:18px;padding:1.25rem;box-shadow:0 18px 45px rgba(20,15,8,.07)}.admin-card h2{font-family:"Cormorant Garamond",serif;margin:.2rem 0 1rem}.compact-form{display:grid;gap:.55rem}.compact-form label{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#806c4a}.admin-primary-button{border:0;border-radius:999px;background:#bf8b2d;color:#111;font-weight:700;padding:.85rem 1rem;margin-top:.5rem}.block-list{display:grid;gap:.8rem}.block-list article{border-bottom:1px solid #eee6da;padding-bottom:.8rem;display:grid;gap:.15rem}.block-list span,.block-list small{color:#6d665c}.link-danger{border:0;background:none;color:#9c2d3d;padding:0;font-size:.8rem;text-align:left}.muted{color:#7b746a}@media(max-width:1100px){.availability-grid-wrap{grid-template-columns:1fr}.availability-calendar{overflow-x:auto}}@media(max-width:760px){.availability-toolbar{align-items:stretch;flex-direction:column}.availability-calendar{grid-template-columns:repeat(7,minmax(78px,1fr));min-width:620px}.availability-grid-wrap{overflow-x:auto}}

/* Fase 7 - Cotizaciones */
.quote-new{display:inline-block;text-decoration:none}.quote-filters select{border:1px solid #dcd3c7;border-radius:10px;padding:.72rem;background:#fff;min-width:180px}.quote-status{display:inline-block;padding:.35rem .65rem;border-radius:999px;font-size:.72rem;font-weight:700;background:#eee}.status-borrador{background:#eee8dc;color:#675d4d}.status-enviada{background:#e7eef8;color:#315b8d}.status-aceptada{background:#def3e7;color:#17643d}.status-rechazada{background:#f8e2e2;color:#8a2a2a}.status-vencida{background:#f3e9d5;color:#74510e}.quote-form{padding:28px}.quote-subtitle{font-family:Georgia,serif;margin:30px 0 14px}.quote-items{display:grid;gap:10px}.quote-item{display:grid;grid-template-columns:minmax(220px,1fr) 100px 140px 120px 38px;gap:10px;align-items:center}.quote-item input{border:1px solid #dcd3c7;border-radius:10px;padding:.72rem;min-width:0}.quote-item strong{text-align:right}.quote-remove{width:36px;height:36px;border:1px solid #e5c4c4;background:#fff;color:#9b2424;border-radius:50%;font-size:1.3rem}.quote-add{margin-top:12px;border:1px dashed #c6a15b;background:#faf7f1;padding:.7rem 1rem;border-radius:10px}.quote-summary-form{margin:24px 0 0 auto;max-width:580px;display:grid;grid-template-columns:1fr 1fr 1fr;gap:14px;align-items:end}.quote-summary-form label{display:grid;gap:6px;font-weight:600}.quote-summary-form input{border:1px solid #dcd3c7;border-radius:10px;padding:.72rem}.quote-summary-form div{background:#17130f;color:#fff;padding:12px 16px;border-radius:12px}.quote-summary-form small,.quote-summary-form strong{display:block}.quote-summary-form strong{font-family:Georgia,serif;font-size:1.55rem;color:#d7b56f}.quote-notes{display:grid;gap:6px;margin-top:20px;font-weight:600}.quote-notes textarea{min-height:110px;border:1px solid #dcd3c7;border-radius:10px;padding:.8rem}.quote-actions{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.quote-actions a{text-decoration:none}.whatsapp-button{background:#1f9d58;color:#fff;padding:.85rem 1rem;border-radius:999px;font-weight:700}.quote-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px}.quote-detail-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start}.quote-detail-head h2{font-family:Georgia,serif;font-size:2rem;margin:.25rem 0}.quote-detail-head small{color:#806c4a;text-transform:uppercase;letter-spacing:.1em}.quote-data{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:24px 0}.quote-data div{background:#f8f4ed;padding:12px}.quote-data dt{font-size:.68rem;color:#806c4a;text-transform:uppercase;letter-spacing:.08em}.quote-data dd{margin:5px 0 0;font-weight:700}.quote-lines{width:100%;border-collapse:collapse}.quote-lines th,.quote-lines td{padding:12px;border-bottom:1px solid #ece5d9;text-align:left}.quote-lines th:nth-child(n+2),.quote-lines td:nth-child(n+2){text-align:right}.quote-totals{max-width:360px;margin:22px 0 0 auto;display:grid;gap:8px}.quote-totals span{display:flex;justify-content:space-between}.quote-totals .grand{border-top:2px solid #c6a15b;padding-top:10px;font-size:1.25rem}.quote-observations{margin-top:24px;background:#f8f4ed;padding:16px}.quote-observations p{margin:.4rem 0 0;white-space:pre-line}.admin-card hr{border:0;border-top:1px solid #ece5d9;margin:24px 0}@media(max-width:1100px){.quote-detail-grid{grid-template-columns:1fr}.quote-data{grid-template-columns:repeat(2,1fr)}}@media(max-width:850px){.quote-item{grid-template-columns:1fr 80px 110px}.quote-item .js-line-total{grid-column:2}.quote-remove{grid-column:3}.quote-summary-form{grid-template-columns:1fr}.quote-actions{align-items:flex-start}.quote-filters{flex-wrap:wrap}.quote-filters select{flex:1}}@media(max-width:560px){.quote-item{grid-template-columns:1fr 1fr}.quote-item>input:first-child{grid-column:1/-1}.quote-data{grid-template-columns:1fr}}

/* Fase 8: CRM */
.crm-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.crm-actions form{margin:0}.admin-secondary{display:inline-flex;align-items:center;justify-content:center;border:1px solid #c8a04a;background:transparent;color:#111;padding:13px 20px;border-radius:999px;font-weight:700;text-decoration:none}.admin-alert{padding:14px 18px;border-radius:12px;margin:0 0 22px}.admin-alert.success{background:#edf8f0;color:#176b34;border:1px solid #b9e2c3}.admin-alert.error{background:#fff0f0;color:#9d2424;border:1px solid #efc1c1}.crm-board{display:flex;gap:16px;overflow-x:auto;padding:4px 0 20px;scrollbar-width:thin}.crm-column{min-width:290px;width:290px;background:#e9e5df;border-radius:16px;padding:14px;align-self:flex-start}.crm-column>header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.crm-column>header strong{font-size:.92rem}.crm-column>header span{background:#111;color:#d7ad52;border-radius:999px;min-width:28px;height:28px;display:grid;place-items:center;font-size:.78rem}.crm-cards{display:grid;gap:12px}.crm-card{background:#fff;border-radius:13px;padding:14px;box-shadow:0 6px 18px rgba(0,0,0,.06)}.crm-card>a{display:grid;gap:7px;text-decoration:none;color:#111}.crm-card>a>strong{font-size:1rem}.crm-card>a>span,.crm-card>a>time{font-size:.78rem;color:#756d62}.crm-card>a>em{font-style:normal;font-weight:800;color:#a97820}.crm-card form{margin-top:12px}.crm-card select,.inline-stage-form select,.crm-note-form select,.crm-note-form textarea,.admin-form-card input,.admin-form-card select,.admin-form-card textarea{width:100%;border:1px solid #d8d0c5;border-radius:9px;padding:10px 12px;background:#fff}.crm-empty{padding:24px 10px;text-align:center;color:#887f73;font-size:.84rem;border:1px dashed #c7bfb4;border-radius:11px}.admin-form-card{padding:26px}.admin-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.admin-form-grid label{display:grid;gap:7px}.admin-form-grid label span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:#7b6f61}.admin-form-grid label.full{grid-column:1/-1}.form-actions{margin-top:22px}.crm-detail-grid{align-items:start}.detail-list{display:grid;gap:0}.detail-list>div{display:grid;grid-template-columns:150px 1fr;padding:13px 0;border-bottom:1px solid #eee7de}.detail-list dt{font-size:.76rem;text-transform:uppercase;letter-spacing:.08em;color:#83776a}.detail-list dd{margin:0}.inline-stage-form{display:flex;gap:12px;margin-top:20px}.inline-stage-form select{flex:1}.crm-note-form{display:grid;gap:12px}.crm-timeline-card{margin-top:22px}.crm-timeline{display:grid;gap:0}.crm-timeline article{display:grid;grid-template-columns:18px 1fr;gap:14px;position:relative;padding:0 0 24px}.crm-timeline article>span{width:12px;height:12px;border-radius:50%;background:#c69434;margin-top:6px;position:relative;z-index:2}.crm-timeline article:not(:last-child)>span:after{content:"";position:absolute;top:12px;left:5px;width:2px;height:calc(100% + 18px);background:#e0d7ca}.crm-timeline article div{display:grid;grid-template-columns:1fr auto;gap:6px}.crm-timeline article time{font-size:.76rem;color:#8a8075}.crm-timeline article p{grid-column:1/-1;margin:0;color:#4f4942}.crm-metrics .metric-card strong{font-size:1.55rem}@media(max-width:900px){.admin-form-grid{grid-template-columns:1fr}.inline-stage-form{flex-direction:column}.crm-actions{align-items:stretch}.crm-actions>*{width:100%}.crm-actions .admin-primary,.crm-actions .admin-secondary{width:100%}}

/* Fase 9: pagos y anticipos */
.payment-metrics{margin-bottom:22px}.payment-filters select{border:1px solid #dcd3c7;border-radius:10px;padding:.72rem;background:#fff;min-width:210px}.payment-status{display:inline-block;padding:.35rem .68rem;border-radius:999px;font-size:.72rem;font-weight:800}.payment-status.applied{background:#def3e7;color:#17643d}.payment-status.cancelled{background:#f8e2e2;color:#8a2a2a}.payment-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:22px;align-items:start}.payment-receipt header{display:grid;grid-template-columns:auto 1fr auto;gap:16px;align-items:center;padding-bottom:20px;border-bottom:1px solid #ece5d9}.payment-receipt header h2{margin:2px 0 0;font-family:Georgia,serif;font-size:2rem}.payment-receipt header small{color:#9a762e;text-transform:uppercase;letter-spacing:.1em}.payment-receipt header>strong{font-family:Georgia,serif;font-size:2.1rem;color:#9d711f}.payment-side{display:grid;gap:16px}.payment-side h2{margin:0}.payment-side p{color:#71685e;line-height:1.6}.payment-form small{color:#a32929}@media(max-width:900px){.payment-detail-grid{grid-template-columns:1fr}.payment-filters{flex-wrap:wrap}.payment-filters select{flex:1}.payment-receipt header{grid-template-columns:auto 1fr}.payment-receipt header>strong{grid-column:1/-1}}
@media print{.admin-sidebar,.admin-topbar,.admin-page-heading,.payment-side{display:none!important}.admin-main,.admin-content{margin:0!important;padding:0!important}.payment-detail-grid{display:block}.payment-receipt{box-shadow:none!important;border:0!important}}
