
:root{
  --bg-deep:#0c1410;--bg-jungle:#1a2a20;--bg-soft:#243527;
  --cream:#efe6c8;--cream-deep:#d4c6a0;--cream-dark:#bfb190;
  --gold:#b18d3f;--gold-bright:#d4ad55;--gold-soft:#8a6d2e;
  --ink:#2a1f10;--ink-soft:#3d2f18;
  --line-gold:rgba(177,141,63,.4);--line-gold-soft:rgba(177,141,63,.18);
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased}
body{font-family:'Inter',system-ui,sans-serif;color:var(--cream);background:var(--bg-jungle);
  font-size:16px;line-height:1.75;font-weight:300;overflow-x:hidden;}
img{display:block;max-width:100%;}
a{color:inherit;text-decoration:none;transition:color .25s;}
h1,h2,h3,h4{font-family:'Cormorant Garamond',Georgia,serif;font-weight:500;color:var(--cream);
  text-transform:uppercase;letter-spacing:.04em;line-height:1.05;}
.cinzel{font-family:'Cinzel',serif;letter-spacing:.16em;font-weight:500;}
.kicker{font-family:'Cinzel',serif;font-size:.72rem;letter-spacing:.42em;
  text-transform:uppercase;color:var(--gold);font-weight:500;display:inline-block;}
.kicker-dark{color:var(--gold-soft);}

/* === SVG patterns (data URI, original geometric) === */
.pattern-diamonds{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 60 60'><g fill='none' stroke='%23b18d3f' stroke-width='.6' opacity='.12'><polygon points='30,5 55,30 30,55 5,30'/><polygon points='30,15 45,30 30,45 15,30'/></g></svg>");}
.pattern-greca{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 80 80'><g fill='none' stroke='%23b18d3f' stroke-width='.8' opacity='.1'><polyline points='5,75 5,45 25,45 25,25 45,25 45,5'/><polyline points='35,75 35,55 55,55 55,35 75,35 75,15'/></g></svg>");}
.pattern-zigzag{background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='40' height='20' viewBox='0 0 40 20'><polyline points='0,15 10,5 20,15 30,5 40,15' fill='none' stroke='%23b18d3f' stroke-width='.8' opacity='.15'/></svg>");}

/* === Corner ornaments (drawn from primitive shapes) === */
.corner-orn{position:absolute;width:42px;height:42px;pointer-events:none;color:var(--gold);}
.corner-orn svg{display:block;width:100%;height:100%;}
.corner-orn.tl{top:8px;left:8px;}
.corner-orn.tr{top:8px;right:8px;transform:rotate(90deg);}
.corner-orn.bl{bottom:8px;left:8px;transform:rotate(-90deg);}
.corner-orn.br{bottom:8px;right:8px;transform:rotate(180deg);}
.divider-orn{display:flex;align-items:center;justify-content:center;gap:1rem;
  padding:2rem 0;color:var(--gold);}
.divider-orn .line{flex:0 1 110px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);}
.divider-orn svg{width:48px;height:24px;flex:0 0 auto;}
.greca-strip{height:32px;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='32' viewBox='0 0 160 32'><g fill='none' stroke='%23b18d3f' stroke-width='1.2'><polyline points='0,28 0,18 12,18 12,8 36,8 36,18 48,18 48,28'/><polyline points='40,28 40,18 52,18 52,8 76,8 76,18 88,18 88,28'/><polyline points='80,28 80,18 92,18 92,8 116,8 116,18 128,18 128,28'/><polyline points='120,28 120,18 132,18 132,8 156,8 156,18 168,18 168,28'/></g></svg>");background-repeat:repeat-x;background-position:center;opacity:.8;}

/* === Buttons === */
.btn{display:inline-flex;align-items:center;gap:.7rem;padding:1rem 2rem;
  border:1px solid var(--gold);color:var(--gold);font-family:'Cinzel',serif;
  font-size:.72rem;letter-spacing:.36em;text-transform:uppercase;font-weight:500;
  background:transparent;cursor:pointer;transition:all .3s;border-radius:0;}
.btn:hover{background:var(--gold);color:var(--bg-deep);text-decoration:none;}
.btn.solid{background:var(--gold);color:var(--bg-deep);}
.btn.solid:hover{background:var(--cream);color:var(--bg-deep);border-color:var(--cream);}
.btn.cream{border-color:var(--cream);color:var(--cream);}
.btn.cream:hover{background:var(--cream);color:var(--bg-deep);}
.btn.dark{border-color:var(--ink);color:var(--ink);background:transparent;}
.btn.dark:hover{background:var(--ink);color:var(--cream);}
.btn.solid-dark{background:var(--ink);color:var(--cream);border-color:var(--ink);}
.btn.solid-dark:hover{background:var(--gold);color:var(--bg-deep);border-color:var(--gold);}
.btn::after{content:"›";font-family:Cormorant Garamond,serif;font-size:1.4em;line-height:.5;}

/* === Topbar === */
.topbar{position:fixed;top:0;left:0;right:0;z-index:60;padding:1.4rem 2.2rem;
  display:flex;align-items:center;justify-content:space-between;gap:2rem;
  transition:background .3s,padding .3s;}
.topbar.scrolled{background:rgba(12,20,16,.95);backdrop-filter:blur(14px);
  padding:.9rem 2.2rem;border-bottom:1px solid var(--line-gold);}
.topbar .logo{font-family:'Cinzel',serif;font-weight:500;color:var(--cream);
  font-size:.85rem;letter-spacing:.32em;line-height:1.2;text-transform:uppercase;}
.topbar .logo .sub{color:var(--gold);font-size:.6rem;letter-spacing:.4em;
  display:block;margin-top:.2rem;font-weight:400;}
.topbar nav{display:none;gap:2.6rem;font-family:'Cinzel',serif;font-size:.68rem;
  letter-spacing:.36em;font-weight:500;text-transform:uppercase;color:var(--cream);}
.topbar nav a{position:relative;padding:.3rem 0;}
.topbar nav a:hover{color:var(--gold-bright);}
.topbar nav a::after{content:"";position:absolute;bottom:0;left:0;right:0;
  height:1px;background:var(--gold);transform:scaleX(0);transition:transform .25s;}
.topbar nav a:hover::after{transform:scaleX(1);}
@media (min-width:980px){.topbar nav{display:flex;}}
.topbar .cta{font-family:'Cinzel',serif;font-size:.68rem;letter-spacing:.32em;
  font-weight:500;text-transform:uppercase;background:var(--gold);color:var(--bg-deep);
  padding:.7rem 1.4rem;transition:all .25s;}
.topbar .cta:hover{background:var(--cream);color:var(--bg-deep);}

/* === Hero === */
.hero{position:relative;min-height:100vh;padding:9rem 1.6rem 6rem;
  display:flex;align-items:center;justify-content:center;overflow:hidden;background:var(--bg-deep);}
.hero::before{content:"";position:absolute;inset:0;z-index:0;
  background-image:linear-gradient(180deg,rgba(12,20,16,.7),rgba(12,20,16,.92)),url('/assets/yucatan/Agency-Tours-Yucatan-Turismo-2.jpg');
  background-size:cover;background-position:center;filter:saturate(.75) hue-rotate(-3deg);}
.hero::after{content:"";position:absolute;inset:0;z-index:1;opacity:.6;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='200' height='200' viewBox='0 0 200 200'><g fill='none' stroke='%23b18d3f' stroke-width='.5' opacity='.06'><polygon points='100,30 145,75 100,120 55,75'/><polygon points='100,70 125,95 100,120 75,95'/></g></svg>");}
.hero .panel{position:relative;z-index:3;max-width:920px;width:100%;
  padding:4rem 3rem;background:linear-gradient(180deg,rgba(239,230,200,.04),rgba(239,230,200,.08));
  border:1px solid var(--line-gold);text-align:center;}
.hero .brand-mark{margin:0 auto 1.5rem;width:62px;height:62px;color:var(--gold);}
.hero h1{font-family:'Cormorant Garamond',serif;font-weight:400;
  font-size:clamp(2.6rem,7vw,5.6rem);color:var(--cream);
  letter-spacing:.03em;line-height:.98;margin-bottom:1.5rem;text-transform:uppercase;}
.hero h1 .accent{color:var(--gold);font-style:italic;text-transform:none;font-weight:400;}
.hero .lead{font-family:'Cormorant Garamond',serif;font-style:italic;
  font-size:clamp(1.05rem,1.8vw,1.3rem);color:var(--cream-deep);
  max-width:54ch;margin:1.4rem auto 2rem;font-weight:400;}
.hero .meta-row{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;
  margin-bottom:2rem;font-family:'Cinzel',serif;font-size:.68rem;
  letter-spacing:.32em;color:var(--gold);text-transform:uppercase;font-weight:500;}
.hero .meta-row span{display:flex;align-items:center;gap:.6rem;}
.hero .meta-row span::before{content:"◆";color:var(--gold);font-size:.6em;}
.hero .cta-row{display:flex;gap:1rem;justify-content:center;flex-wrap:wrap;}
.hero .below-greca{position:absolute;left:50%;bottom:2.5rem;transform:translateX(-50%);
  width:280px;z-index:3;}

section{position:relative;padding:7rem 1.6rem;}
.container{max-width:1280px;margin:0 auto;position:relative;}

/* === Intro panel (cream over jungle) === */
.intro{background:var(--bg-deep);position:relative;}
.intro .panel{background:var(--cream);color:var(--ink);max-width:960px;margin:0 auto;
  padding:5rem 4rem;position:relative;}
.intro .panel h2{color:var(--ink);font-family:'Cormorant Garamond',serif;
  font-weight:400;font-size:clamp(2rem,4.5vw,3.4rem);line-height:1.02;
  letter-spacing:.04em;text-transform:uppercase;margin:1rem 0 1.8rem;}
.intro .panel h2 .accent{color:var(--gold);font-style:italic;text-transform:none;}
.intro .panel p{color:var(--ink-soft);font-size:1.05rem;line-height:1.85;
  max-width:62ch;font-weight:300;}
.intro .panel p + p{margin-top:1.4rem;}
.intro .panel .stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));
  gap:2rem;margin-top:3rem;padding-top:2.5rem;border-top:1px solid var(--line-gold);}
.intro .panel .stat .n{font-family:'Cormorant Garamond',serif;font-style:italic;
  font-weight:500;color:var(--gold);font-size:2.6rem;line-height:1;}
.intro .panel .stat .l{font-family:'Cinzel',serif;font-size:.7rem;letter-spacing:.3em;
  color:var(--ink-soft);text-transform:uppercase;margin-top:.4rem;font-weight:500;}

/* === Destinations === */
.destinos{background:var(--bg-jungle);position:relative;}
.dest-head{text-align:center;margin-bottom:3.5rem;}
.dest-head h2{font-family:'Cormorant Garamond',serif;font-weight:400;
  font-size:clamp(2.2rem,5vw,3.8rem);color:var(--cream);
  letter-spacing:.04em;text-transform:uppercase;margin:1rem 0 1.2rem;line-height:1;}
.dest-head h2 .accent{color:var(--gold);font-style:italic;text-transform:none;}
.dest-head p{font-family:'Cormorant Garamond',serif;font-style:italic;
  color:var(--cream-dark);font-size:1.1rem;max-width:60ch;margin:0 auto;}
.dest-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;}
.dest-card{position:relative;overflow:hidden;aspect-ratio:4/5;
  background:var(--bg-deep);border:1px solid var(--line-gold);
  display:flex;align-items:flex-end;color:var(--cream);
  transition:transform .4s cubic-bezier(.2,.7,.3,1),border-color .3s;
  box-shadow:0 10px 28px -8px rgba(0,0,0,.55);}
.dest-card:hover{transform:translateY(-6px);border-color:var(--gold);color:var(--cream);}
.dest-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  z-index:1;transition:transform 1.4s cubic-bezier(.2,.7,.3,1);
  filter:saturate(.85) brightness(.85);}
.dest-card:hover img{transform:scale(1.05);}
.dest-card::after{content:"";position:absolute;inset:0;z-index:2;
  background:linear-gradient(180deg,transparent 30%,rgba(12,20,16,.96) 100%);}
.dest-card .info{position:relative;z-index:3;padding:1.8rem 2rem;width:100%;}
.dest-card .count{font-family:'Cinzel',serif;font-size:.6rem;letter-spacing:.38em;
  color:var(--gold);text-transform:uppercase;display:block;margin-bottom:.7rem;font-weight:500;}
.dest-card h3{font-family:'Cormorant Garamond',serif;font-weight:400;
  font-size:clamp(1.4rem,2.2vw,1.8rem);color:var(--cream);letter-spacing:.04em;
  text-transform:uppercase;margin-bottom:.5rem;line-height:1.1;}
.dest-card .tagline{font-family:'Cormorant Garamond',serif;font-style:italic;
  color:var(--cream-deep);font-size:.95rem;margin-bottom:1rem;}
.dest-card .arrow{font-family:'Cinzel',serif;font-size:.66rem;letter-spacing:.32em;
  color:var(--gold);text-transform:uppercase;display:inline-flex;align-items:center;gap:.5rem;
  font-weight:500;}
.dest-card .arrow::after{content:"›";font-family:Cormorant Garamond,serif;font-size:1.4em;
  line-height:.4;transition:transform .3s;}
.dest-card:hover .arrow::after{transform:translateX(6px);}

/* === Experiences list (destination subpage) === */
.exp-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.4rem;margin-top:2.5rem;}
.exp-item{background:var(--cream);border:1px solid var(--line-gold);padding:2rem;
  display:flex;flex-direction:column;transition:transform .3s,border-color .3s;position:relative;color:var(--ink);}
.exp-item:hover{transform:translateY(-4px);border-color:var(--gold);}
.exp-item .cat{display:inline-block;font-family:'Cinzel',serif;font-size:.6rem;
  letter-spacing:.36em;color:var(--gold-soft);text-transform:uppercase;
  margin-bottom:.8rem;font-weight:600;}
.exp-item h4{font-family:'Cormorant Garamond',serif;font-size:1.4rem;color:var(--ink);
  margin-bottom:.7rem;letter-spacing:.04em;line-height:1.15;text-transform:uppercase;
  font-weight:500;}
.exp-item .desc{font-size:.96rem;color:var(--ink-soft);margin-bottom:1.2rem;flex:1;font-weight:300;}
.exp-item .meta{display:flex;gap:1.2rem;font-family:'Cinzel',serif;font-size:.66rem;
  color:var(--gold-soft);margin-bottom:1rem;letter-spacing:.18em;text-transform:uppercase;font-weight:500;}
.exp-item ul.inc{list-style:none;padding:0;margin:0 0 1.4rem;font-size:.86rem;color:var(--ink-soft);}
.exp-item ul.inc li{padding:.2rem 0 .2rem 1.1rem;position:relative;}
.exp-item ul.inc li::before{content:"◆";position:absolute;left:0;color:var(--gold);font-size:.55em;top:.7rem;}
.exp-item .actions{display:flex;gap:.6rem;margin-top:auto;}
.exp-item .btn-small{display:inline-flex;align-items:center;gap:.4rem;padding:.55rem 1rem;
  border:1px solid var(--gold-soft);color:var(--gold-soft);
  font-family:'Cinzel',serif;font-size:.64rem;letter-spacing:.28em;text-transform:uppercase;
  font-weight:600;background:transparent;transition:all .2s;}
.exp-item .btn-small:hover{background:var(--gold);color:var(--cream);border-color:var(--gold);text-decoration:none;}
.exp-item .btn-small.solid{background:var(--ink);color:var(--cream);border-color:var(--ink);}
.exp-item .btn-small.solid:hover{background:var(--gold);color:var(--bg-deep);border-color:var(--gold);}

.cat-tabs{display:flex;gap:.5rem;flex-wrap:wrap;justify-content:center;margin:2rem 0;}
.cat-tabs button{background:transparent;border:1px solid var(--line-gold);color:var(--cream);
  padding:.6rem 1.2rem;cursor:pointer;font-family:'Cinzel',serif;font-size:.7rem;
  letter-spacing:.28em;text-transform:uppercase;transition:all .2s;font-weight:500;}
.cat-tabs button:hover,.cat-tabs button.active{background:var(--gold);color:var(--bg-deep);border-color:var(--gold);}

/* === Process === */
.process{background:var(--bg-deep);position:relative;}
.process .container{max-width:1100px;}
.process-head{text-align:center;margin-bottom:4rem;}
.process-head h2{font-family:'Cormorant Garamond',serif;font-weight:400;
  font-size:clamp(2.2rem,5vw,3.6rem);color:var(--cream);
  letter-spacing:.04em;text-transform:uppercase;margin:1rem 0 1.2rem;}
.process-head h2 .accent{color:var(--gold);font-style:italic;text-transform:none;}
.process-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:2rem;margin-top:3rem;}
.process-step{text-align:center;padding:1rem;}
.process-step .marker{width:64px;height:64px;margin:0 auto 1.4rem;color:var(--gold);
  display:flex;align-items:center;justify-content:center;}
.process-step h4{font-family:'Cormorant Garamond',serif;font-weight:500;color:var(--cream);
  font-size:1.3rem;letter-spacing:.06em;text-transform:uppercase;margin-bottom:.8rem;}
.process-step p{color:var(--cream-deep);font-size:.94rem;line-height:1.65;
  max-width:30ch;margin:0 auto;font-weight:300;}

/* === Final CTA === */
.cta-final{background:var(--bg-jungle);text-align:center;position:relative;}
.cta-final .panel{background:var(--cream);color:var(--ink);max-width:880px;margin:0 auto;
  padding:5rem 3rem;position:relative;}
.cta-final h2{color:var(--ink);font-family:'Cormorant Garamond',serif;font-weight:400;
  font-size:clamp(2rem,4.5vw,3.4rem);letter-spacing:.04em;text-transform:uppercase;
  line-height:1.02;margin:1rem 0 1.2rem;}
.cta-final h2 .accent{color:var(--gold);font-style:italic;text-transform:none;}
.cta-final p{color:var(--ink-soft);font-family:'Cormorant Garamond',serif;
  font-style:italic;font-size:1.15rem;max-width:54ch;margin:0 auto 2rem;}

/* === Footer === */
footer{background:#06100b;color:var(--cream-dark);padding:4rem 1.6rem 2rem;
  text-align:center;border-top:1px solid var(--line-gold);}
footer .brand{font-family:'Cinzel',serif;color:var(--gold);font-size:.9rem;
  letter-spacing:.4em;margin-bottom:.6rem;font-weight:500;text-transform:uppercase;}
footer .tagline{font-family:'Cormorant Garamond',serif;font-style:italic;
  color:var(--cream-deep);margin-bottom:1.6rem;}
footer .links{display:flex;gap:1.6rem;justify-content:center;flex-wrap:wrap;
  margin:1.6rem 0;font-family:'Cinzel',serif;font-size:.66rem;letter-spacing:.32em;
  text-transform:uppercase;font-weight:500;}
footer .copy{font-size:.66rem;color:rgba(177,141,63,.4);margin-top:1.6rem;
  letter-spacing:.3em;text-transform:uppercase;}

/* === Floating WhatsApp === */
.wa-float{position:fixed;bottom:1.5rem;right:1.5rem;z-index:70;width:56px;height:56px;
  border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;
  color:#fff;box-shadow:0 12px 32px rgba(37,211,102,.4);transition:transform .2s;}
.wa-float:hover{transform:scale(1.08);color:#fff;}
.wa-float svg{width:26px;height:26px;fill:#fff;}

/* === Breadcrumb === */
.breadcrumb{font-family:'Cinzel',serif;font-size:.7rem;color:var(--cream-dark);
  letter-spacing:.28em;text-transform:uppercase;margin-bottom:1.5rem;padding-top:7rem;font-weight:500;}
.breadcrumb a:hover{color:var(--gold);}

/* === Cotizar form === */
.cotizar-form{max-width:680px;margin:3rem auto;display:grid;gap:1.4rem;
  background:var(--cream);padding:3.5rem 3rem;color:var(--ink);position:relative;}
.cotizar-form label{font-family:'Cinzel',serif;font-size:.7rem;letter-spacing:.28em;
  text-transform:uppercase;color:var(--gold-soft);font-weight:600;display:block;margin-bottom:.5rem;}
.cotizar-form input,.cotizar-form textarea,.cotizar-form select{
  width:100%;background:#fff;border:1px solid var(--line-gold);color:var(--ink);
  padding:.85rem 1rem;font-family:Inter,sans-serif;font-size:1rem;
  font-weight:300;letter-spacing:.02em;transition:border-color .25s;}
.cotizar-form input:focus,.cotizar-form textarea:focus,.cotizar-form select:focus{
  outline:none;border-color:var(--gold);}
.cotizar-form .chk-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.7rem;}
.cotizar-form .chk-row label{display:flex;align-items:center;gap:.6rem;cursor:pointer;
  font-family:Inter,sans-serif;font-size:.92rem;letter-spacing:.02em;text-transform:none;
  color:var(--ink-soft);font-weight:400;padding:.6rem 1rem;border:1px solid var(--line-gold);
  margin:0;transition:border-color .2s,background .2s;background:#fff;}
.cotizar-form .chk-row label:hover{border-color:var(--gold);}
.cotizar-form .chk-row input[type=checkbox]{width:auto;}
.cotizar-form button[type=submit]{background:var(--ink);color:var(--cream);border:1px solid var(--ink);
  padding:1rem 2rem;font-family:'Cinzel',serif;font-size:.74rem;letter-spacing:.32em;
  text-transform:uppercase;cursor:pointer;transition:all .25s;}
.cotizar-form button[type=submit]:hover{background:var(--gold);color:var(--bg-deep);border-color:var(--gold);}

/* === Animations === */
@keyframes fadeUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.hero h1{animation:fadeUp 1s ease-out both;}
.hero .lead{animation:fadeUp 1.2s ease-out .15s both;}
.hero .cta-row{animation:fadeUp 1.4s ease-out .3s both;}

/* === v10 TYT: PNG cenefas, corners, emblema, borde lateral === */
/* Replace SVG corner-orn with PNG estuco corners */
.corner-png{position:absolute;width:88px;height:88px;pointer-events:none;
  background-repeat:no-repeat;background-size:contain;z-index:5;}
.corner-png.tl{top:-8px;left:-8px;background-image:url('/cenefas/corner-tl.png');background-position:top left;}
.corner-png.tr{top:-8px;right:-8px;background-image:url('/cenefas/corner-tr.png');background-position:top right;}
.corner-png.bl{bottom:-8px;left:-8px;background-image:url('/cenefas/corner-tl.png');background-position:bottom left;transform:scaleY(-1);}
.corner-png.br{bottom:-8px;right:-8px;background-image:url('/cenefas/corner-tr.png');background-position:bottom right;transform:scaleY(-1);}
@media (max-width:760px){.corner-png{width:54px;height:54px;}}

/* Replace greca-strip CSS with the PNG cenefa */
.cenefa-png{height:54px;background-image:url('/cenefas/cenefa-greca.png');
  background-repeat:repeat-x;background-position:center;background-size:contain;
  filter:drop-shadow(0 4px 10px rgba(0,0,0,.45));}

/* Emblema rombo (replace SVG brand-mark in hero) */
.emblema-rombo{width:120px;height:120px;margin:0 auto 1.4rem;
  background-image:url('/emblems/emblema-rombo.png');
  background-repeat:no-repeat;background-position:center;background-size:contain;
  filter:drop-shadow(0 6px 18px rgba(0,0,0,.5));}

/* Borde lateral izquierdo (vertical decor on home hero) */
.borde-lateral{position:absolute;left:-30px;top:8vh;bottom:8vh;width:90px;
  background-image:url('/cenefas/borde-lateral-izq.png');
  background-repeat:repeat-y;background-position:center;background-size:contain;
  opacity:.75;pointer-events:none;z-index:2;
  filter:drop-shadow(0 4px 12px rgba(0,0,0,.5));}
@media (max-width:980px){.borde-lateral{display:none;}}

/* Hide old SVG corner-orn now that we have PNG corners */
.corner-orn{display:none !important;}


/* === v11: bigger corners, cenefa divider, centered header, chat widget === */

/* Hide v10 PNG corners (we'll use bigger ones) */
.corner-png{display:none !important;}

/* New BIG corner ornaments */
.corner-big{position:absolute;width:220px;height:220px;pointer-events:none;
  background-repeat:no-repeat;background-size:contain;z-index:5;}
.corner-big.tl{top:-20px;left:-20px;background-image:url('/cenefas/corner-tl.png');background-position:top left;}
.corner-big.tr{top:-20px;right:-20px;background-image:url('/cenefas/corner-tr.png');background-position:top right;}
.corner-big.bl{bottom:-20px;left:-20px;background-image:url('/cenefas/corner-tl.png');background-position:bottom left;transform:scaleY(-1);}
.corner-big.br{bottom:-20px;right:-20px;background-image:url('/cenefas/corner-tr.png');background-position:bottom right;transform:scaleY(-1);}
@media (max-width:1100px){.corner-big{width:140px;height:140px;}}
@media (max-width:760px){.corner-big{width:80px;height:80px;top:-8px;left:-8px;}.corner-big.tr{right:-8px;}.corner-big.bl{bottom:-8px;}.corner-big.br{right:-8px;bottom:-8px;}}

/* Cenefa as FULL-WIDTH section divider (between sections) */
.cenefa-divider{height:96px;width:100%;
  background-image:url('/cenefas/cenefa-greca.png');
  background-repeat:repeat-x;background-position:center;
  background-size:auto 96px;
  filter:drop-shadow(0 6px 14px rgba(0,0,0,.5));
  margin:0;position:relative;z-index:4;}
.cenefa-divider.between{margin-top:-48px;margin-bottom:-48px;}
@media (max-width:760px){.cenefa-divider{height:60px;background-size:auto 60px;}}

/* HEADER restructure: logo centered TOP, menu BELOW */
.topbar{flex-direction:column;align-items:center;gap:.8rem;padding:1.5rem 1.6rem;}
.topbar .logo{text-align:center;font-size:1.2rem;letter-spacing:.4em;}
.topbar .logo .sub{font-size:.65rem;letter-spacing:.5em;margin-top:.3rem;}
.topbar nav{display:flex;flex-wrap:wrap;justify-content:center;gap:1.8rem;
  font-size:.7rem;letter-spacing:.34em;}
.topbar .cta{display:none !important;}
.topbar.scrolled{padding:.7rem 1.6rem;}
.topbar.scrolled .logo{font-size:.85rem;}
.topbar.scrolled .logo .sub{display:none;}
@media (max-width:760px){.topbar nav{gap:1rem;font-size:.62rem;letter-spacing:.24em;}}

/* Body needs extra top padding because topbar is taller now */
body{padding-top:0;}
.hero{padding-top:11rem;}
.breadcrumb{padding-top:9rem;}
section.intro{padding-top:5rem;}

/* === CHAT WIDGET === */
.chat-fab{position:fixed;bottom:1.5rem;right:5.6rem;z-index:70;
  width:56px;height:56px;border-radius:50%;background:var(--gold);
  display:flex;align-items:center;justify-content:center;color:var(--bg-deep);
  box-shadow:0 12px 32px rgba(177,141,63,.5);transition:transform .2s,background .2s;
  cursor:pointer;border:none;font-size:1.4rem;}
.chat-fab:hover{transform:scale(1.08);background:var(--gold-bright);}
.chat-fab svg{width:24px;height:24px;fill:currentColor;}
.chat-fab .badge{position:absolute;top:-4px;right:-4px;width:14px;height:14px;
  border-radius:50%;background:#3CB371;border:2px solid var(--bg-jungle);}

.chat-panel{position:fixed;bottom:5rem;right:1.5rem;z-index:71;
  width:340px;max-width:calc(100vw - 2rem);height:480px;max-height:calc(100vh - 8rem);
  background:var(--cream);color:var(--ink);
  border:1px solid var(--gold);box-shadow:0 24px 60px rgba(0,0,0,.5);
  display:none;flex-direction:column;overflow:hidden;}
.chat-panel.open{display:flex;animation:chatSlideUp .25s ease-out;}
@keyframes chatSlideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.chat-header{background:var(--bg-deep);color:var(--cream);padding:1rem 1.2rem;
  display:flex;align-items:center;justify-content:space-between;}
.chat-header .title{font-family:'Cinzel',serif;font-size:.78rem;letter-spacing:.28em;
  text-transform:uppercase;font-weight:500;}
.chat-header .sub{font-size:.65rem;color:var(--cream-deep);margin-top:.15rem;
  font-style:italic;font-family:'Cormorant Garamond',serif;display:flex;align-items:center;gap:.4rem;}
.chat-header .sub::before{content:"";width:8px;height:8px;border-radius:50%;background:#3CB371;
  display:inline-block;animation:pulse 1.6s ease-in-out infinite;}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.4}}
.chat-header .close{background:transparent;border:none;color:var(--cream);
  cursor:pointer;font-size:1.3rem;padding:0;width:28px;height:28px;}
.chat-header .close:hover{color:var(--gold);}
.chat-messages{flex:1;overflow-y:auto;padding:1.2rem;display:flex;flex-direction:column;gap:.7rem;
  background:var(--cream);}
.chat-messages .msg{padding:.6rem .9rem;border-radius:14px;max-width:80%;font-size:.92rem;
  line-height:1.45;animation:msgIn .2s ease-out;}
@keyframes msgIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
.chat-messages .msg.bot{background:var(--bg-deep);color:var(--cream);align-self:flex-start;
  border-bottom-left-radius:4px;}
.chat-messages .msg.user{background:var(--gold);color:var(--bg-deep);align-self:flex-end;
  border-bottom-right-radius:4px;}
.chat-messages .typing{padding:.5rem .9rem;display:inline-flex;gap:.3rem;align-self:flex-start;}
.chat-messages .typing span{width:6px;height:6px;border-radius:50%;background:var(--gold);
  animation:typing 1.4s infinite;}
.chat-messages .typing span:nth-child(2){animation-delay:.2s;}
.chat-messages .typing span:nth-child(3){animation-delay:.4s;}
@keyframes typing{0%,60%,100%{opacity:.3}30%{opacity:1}}
.chat-form{display:flex;border-top:1px solid var(--line-gold);background:#fff;}
.chat-form input{flex:1;padding:.9rem 1rem;border:none;outline:none;background:transparent;
  font-family:Inter,sans-serif;font-size:.95rem;color:var(--ink);}
.chat-form button{background:var(--gold);color:var(--bg-deep);border:none;padding:0 1.4rem;
  cursor:pointer;font-family:Cinzel,serif;font-size:.72rem;letter-spacing:.24em;
  text-transform:uppercase;font-weight:600;transition:background .2s;}
.chat-form button:hover{background:var(--gold-bright);}

/* === PRICE + RESERVAR on cards === */
.exp-item .price{font-family:'Cormorant Garamond',serif;font-style:italic;
  color:var(--gold);font-size:1.5rem;font-weight:500;margin:.4rem 0 .8rem;}
.exp-item .price small{font-family:Inter,sans-serif;font-style:normal;font-size:.6rem;
  letter-spacing:.28em;text-transform:uppercase;color:var(--gold-soft);margin-left:.4rem;
  font-weight:500;}
.exp-item .price.no-price{color:var(--gold-soft);font-size:1rem;letter-spacing:.1em;}

/* Wider topbar items adjust for stacked layout */
@media (min-width:980px){.topbar nav{gap:2.8rem;}}

