*{box-sizing:border-box;margin:0;padding:0}.sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}:root{--cream:#FDFAF5;--ink:#1C1917;--ink2:#44403C;--ink3:#78716C;--ink3-faint:#A8A29E;--ink4:#6B6560;--white:#FFFFFF;--border:#E8E2D9;--border2:#D4CCC0;--navy:#1C2B3A;--deep-burgundy:#680a0a;--terracotta:#D46A3A;--terracotta-hover:#C05A2A;--terra2:#F0C4A8;--terra3:#FBF0E8;--teal:#2A7B6F;--teal-hover:#236A60;--teal2:#A8D5CF;--teal3:#E8F5F3;--gold:#C9922A;--gold-hover:#B07F1F;--gold-ink:#8A6F2F;--terracotta-ink:#B85128;--gold2:#F5DFA8;--gold3:#FEFAEE;--rose:#B5445A;--rose-hover:#9C3A4D;--rose2:#F0B8C4;--rose3:#FDF0F2;--sky:#2A5F8F;--sky-hover:#1F4D78;--sky2:#A8C8E8;--sky3:#EDF4FB;--danger:#E74C3C;--danger-hover:#C0392B;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20;--sp-6:24px;--sp-7:28px;--sp-8:32px;--sp-10:40;--sp-12:48px;--sp-16:64px;--r:12px;--rs:8px;--rl:20;--r-pill:9999px;--shadow:0 2px 16px rgba(28,25,23,0.08);--shadow2:0 8px 32px rgba(28,25,23,0.12);--ease:cubic-bezier(.2,.8,.2,1);--dur-1:120ms;--dur-2:200ms;--dur-3:320ms;--focus-ring:0 0 0 2px var(--cream),0 0 0 4px var(--terracotta)}:focus{outline:none}:focus-visible{outline:2px solid var(--terracotta);outline-offset:2px;border-radius:var(--rs)}button:focus-visible,a:focus-visible,[role="button"]:focus-visible{box-shadow:var(--focus-ring);outline:none}@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:0.01ms!important;animation-iteration-count:1!important;transition-duration:0.01ms!important;scroll-behavior:auto!important}}body{font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;background:var(--cream);color:var(--ink);min-height:100dvh;overflow-x:hidden;position:relative}body::before{content:"";position:fixed;inset:0;pointer-events:none;z-index:1;mix-blend-mode:multiply;opacity:0.05;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.85' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.11  0 0 0 0 0.10  0 0 0 0 0.09  0 0 0 0.7 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>")}
body.app-active::before{display:none}
body.app-active{overflow:hidden}

body.app-active #heroSection,
body.app-active #heroFeatures,
body.app-active #homeFooter{display:none!important}


.home-footer{
  background: var(--ink, #1C1917);
  color: rgba(255,255,255,.65);
  padding: 56px 24px 32px;
  font-size: 13px;
  border-top: 1px solid rgba(255,255,255,.06);
}
.home-footer .hf-grid{
  max-width: 1080px; margin: 0 auto;
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr 1fr;
  gap: 36px;
  padding-bottom: 28px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
@media (max-width: 760px){
  .home-footer{ padding: 44px 20px 28px; }
  .home-footer .hf-grid{ grid-template-columns: 1fr 1fr; gap: 22px 24px; padding-bottom: 22px; }
  .home-footer .hf-brand{ grid-column: 1 / -1; margin-bottom: 4px; }
  .home-footer .hf-logo{ font-size: 20px; margin-bottom: 2px; }
  .home-footer .hf-tagline{ font-size: 13.5px; line-height: 1.4; }
  .home-footer .hf-col{ gap: 8px; }
  .home-footer .hf-col a{ font-size: 13px; padding: 3px 0; }   
  .home-footer .hf-label{ margin-bottom: 2px; }
  .home-footer .hf-bottom{ flex-direction: column; gap: 6px; font-size: 12.5px; align-items: flex-start; }
}
@media (max-width: 380px){
  .home-footer .hf-grid{ grid-template-columns: 1fr; gap: 18px; }
}
.home-footer .hf-col{ display: flex; flex-direction: column; gap: 10px; }
.home-footer .hf-logo{
  font-family: 'Playfair Display','Playfair Fallback',Georgia,serif;
  font-size: 22px; font-weight: 700;
  color: var(--gold, #C9922A);
  display: inline-flex; align-items: baseline; gap: 0;
  margin-bottom: 4px;
}
.home-footer .hf-pin{
  display: inline-flex;
  width: 0.55em; height: 0.85em;
  margin: 0 0.08em -0.06em;
  color: var(--gold, #C9922A);
}
.home-footer .hf-tagline{
  font-family: 'Playfair Display','Playfair Fallback',Georgia,serif;
  font-style: italic; font-size: 14.5px;
  color: rgba(255,255,255,.7);
  max-width: 280px;
  line-height: 1.5;
}
.home-footer .hf-label{
  font-size: 10px; font-weight: 700;
  color: rgba(255,255,255,.4);
  text-transform: uppercase; letter-spacing: .14em;
  margin-bottom: 4px;
}
.home-footer .hf-col a{
  color: rgba(255,255,255,.78);
  text-decoration: none;
  font-size: 13.5px;
  transition: color .18s ease, transform .18s ease;
  display: inline-block;
}
.home-footer .hf-col a:hover{
  color: var(--gold, #C9922A);
  transform: translateX(2px);
}
.home-footer .hf-bottom{
  max-width: 1080px; margin: 22px auto 0;
  display: flex; justify-content: space-between;
  flex-wrap: wrap; gap: 12px;
  font-size: 12.5px;
  color: rgba(255,255,255,.45);
  letter-spacing: .02em;
}
.home-footer .hf-stamp{
  display: inline-flex; align-items: center; gap: 6px;
}
.home-footer .hf-stamp::before{
  content: ''; width: 5px; height: 5px;
  border-radius: 50%; background: var(--gold, #C9922A);
}


.brand-stamp{
  display:inline-flex;align-items:center;gap:6px;
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-style:italic;font-weight:500;font-size:11.5px;
  letter-spacing:0.01em;text-transform:none;
  padding:4px 11px 5px;color:var(--terracotta);
  background:rgba(212,106,58,0.06);
  border:1px solid rgba(212,106,58,0.18);
  border-radius:20px;
  white-space:nowrap;line-height:1.2;
}

.brand-stamp::before{
  content:"";display:inline-block;
  width:6px;height:6px;border-radius:50%;
  background:currentColor;flex-shrink:0;
  
  animation:wp-chip-breathe 2.8s ease-in-out infinite;
}
@keyframes wp-chip-breathe{
  0%,100%{opacity:.6;transform:scale(.9)}
  50%{opacity:1;transform:scale(1.1)}
}
@media (prefers-reduced-motion: reduce){
  .brand-stamp::before{animation:none}
}
.brand-stamp.gold{
  color:var(--gold-ink);
  background:rgba(201,146,42,0.06);
  border-color:rgba(201,146,42,0.22);
}
.brand-stamp.teal{
  color:var(--teal);
  background:rgba(42,123,111,0.06);
  border-color:rgba(42,123,111,0.20);
}
.brand-stamp.rose{
  color:var(--rose);
  background:rgba(181,68,90,0.06);
  border-color:rgba(181,68,90,0.20);
}


.wp-icon{display:inline-block;vertical-align:-0.18em;flex-shrink:0}
.wp-icon-block{display:inline-flex;align-items:center;justify-content:center;width:1.5em;height:1.5em}

.wp-icon + span,.wp-icon + b,.wp-icon + strong{margin-left:6px}


.prompt-suggest{
  display:flex;align-items:center;gap:10px;
  margin-top:10px;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  opacity:1;
  transition:opacity .25s ease, max-height .3s ease;
  max-height:60px;overflow:hidden;
}
.prompt-suggest.is-hidden{opacity:0;max-height:0;margin-top:0;pointer-events:none}
.ps-label{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-style:italic;font-weight:500;font-size:12.5px;
  color:rgba(255,255,255,.62);
  letter-spacing:.01em;flex-shrink:0;
  padding-left:4px;
}
.ps-scroller{
  display:flex;gap:6px;overflow-x:auto;
  scroll-snap-type:x mandatory;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  flex:1;min-width:0;
  padding:2px 4px 8px;
  scroll-padding-left:4px;
}
.ps-scroller::-webkit-scrollbar{display:none}
.ps-chip{
  flex-shrink:0;scroll-snap-align:start;
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 12px;
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.18);
  border-radius:20px;
  color:rgba(255,255,255,.88);
  font-size:12.5px;font-weight:500;letter-spacing:.01em;
  cursor:pointer;white-space:nowrap;
  transition:background .15s ease, border-color .15s ease, transform .12s ease, color .15s ease;
  -webkit-tap-highlight-color:transparent;
  font-family:inherit;
}
.ps-chip:hover{
  background:rgba(212,106,58,.22);
  border-color:rgba(212,106,58,.5);
  color:#fff;
  transform:translateY(-1px);
}
.ps-chip:active{transform:translateY(0)}
.ps-flag{font-size:14px;line-height:1;display:inline-block;flex-shrink:0}

@media (max-width:600px){
  .prompt-suggest{position:relative}
  .ps-label{display:none}
  .ps-scroller{padding:2px 18px 8px 0}
  .prompt-suggest::after{
    content:"";position:absolute;right:0;top:0;bottom:8px;width:24px;
    background:linear-gradient(90deg, transparent, rgba(28,40,55,.85));
    pointer-events:none;
  }
}


.day-cost-chip{display:inline-flex;align-items:center;gap:5px;font-size:11px;background:var(--cream);padding:4px 9px;border-radius:20px;line-height:1;border:1px solid var(--border)}
.day-cost-chip svg{flex-shrink:0}
.day-cost-chip > span{color:var(--ink2)}


.hero{display:flex;flex-direction:column;position:relative}
.hero-fold{min-height:100dvh;display:flex;flex-direction:column;position:relative;overflow:hidden}
.hero-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:10;padding:40px 24px;text-align:center}
.hero-form{width:100%;max-width:680px;background:rgba(255,255,255,0.06);backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,0.14);border-radius:var(--rl);padding:28px 28px 24px;display:flex;flex-direction:column;gap:14px;position:relative;z-index:20;overflow:visible}

.hero-form::before,.hero-form::after{
  content:'';position:absolute;pointer-events:none;
  background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path fill='%23E2BE82' d='M12 1l1.7 6.3L20 9l-6.3 1.7L12 17l-1.7-6.3L4 9l6.3-1.7z'/></svg>");
  background-size:contain;background-repeat:no-repeat;
  animation:wpSparkle 3.2s ease-in-out infinite;
  z-index:1;
}
.hero-form::before{top:14px;right:18px;width:20px;height:20px;opacity:.7}
.hero-form::after{top:38px;right:42px;width:10px;height:10px;opacity:.45;animation-delay:.8s;animation-duration:2.6s}
@keyframes wpSparkle{
  0%,100%{opacity:.35;transform:translateY(0) rotate(0deg) scale(.9)}
  50%{opacity:.85;transform:translateY(-2px) rotate(8deg) scale(1.05)}
}
.hero-bg{position:absolute;inset:0;background:var(--navy);z-index:0}



#postPurchaseModal{display:none;position:fixed;inset:0;z-index:9300;background:rgba(28,25,23,.62);backdrop-filter:blur(6px);align-items:center;justify-content:center;padding:20px;overflow-y:auto;animation:ppoOverlayIn .25s ease}
#postPurchaseModal.open{display:flex}
@keyframes ppoOverlayIn{from{opacity:0}to{opacity:1}}
.ppo-modal{
  position:relative;background:var(--white);width:100%;max-width:520px;
  border-radius:22px;padding:36px 32px 24px;
  box-shadow:0 32px 80px rgba(28,25,23,.28);
  border:1px solid var(--border);
  display:flex;flex-direction:column;gap:18px;
  animation:ppoModalIn .35s cubic-bezier(.22,.68,0,1.15);
}
@keyframes ppoModalIn{from{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}

.ppo-modal::before{
  content:"";position:absolute;top:0;left:0;right:0;height:3px;
  background:linear-gradient(90deg, transparent, var(--gold,#C9922A) 50%, transparent);
  border-radius:22px 22px 0 0;
}
.ppo-close{
  position:absolute;top:16px;right:16px;width:32px;height:32px;border-radius:50%;
  border:1.5px solid var(--border);background:var(--cream);cursor:pointer;
  display:flex;align-items:center;justify-content:center;color:var(--ink3);
  transition:all .15s;-webkit-tap-highlight-color:transparent;
}
.ppo-close:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
.ppo-content{
  position:relative;display:flex;flex-direction:column;gap:10px;
  min-height:280px;
  animation:ppoSlideIn .35s ease;
}
@keyframes ppoSlideIn{from{opacity:0;transform:translateX(12px)}to{opacity:1;transform:translateX(0)}}
.ppo-eyebrow{
  font-family:'Outfit','Outfit Fallback',sans-serif;
  font-size:10.5px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold-ink,#8A6F2F);
}
.ppo-title{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-style:italic;font-size:30px;font-weight:500;
  color:var(--ink);line-height:1.1;letter-spacing:-0.02em;
  margin-top:4px;
}
.ppo-body{
  font-family:'Outfit','Outfit Fallback',sans-serif;
  font-size:14px;color:var(--ink2);line-height:1.55;
  margin-top:8px;
}
.ppo-features{display:flex;flex-direction:column;gap:10px;margin-top:14px}
.ppo-feature{
  display:flex;align-items:center;gap:12px;
  padding:10px 14px;border-radius:12px;
  background:linear-gradient(135deg,#FFF8F0 0%, #FFFCF6 100%);
  border:1px solid rgba(212,106,58,.10);
  font-family:'Outfit',sans-serif;font-size:13.5px;color:var(--ink);line-height:1.3;
}
.ppo-feat-icon{
  width:30px;height:30px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  background:var(--cream);border-radius:8px;font-size:15px;
  border:1px solid var(--border);
}
.ppo-ornament{
  position:absolute;top:-8px;right:0;
  font-family:'Playfair Display',Georgia,serif;font-style:italic;
  font-size:120px;line-height:1;
  color:var(--gold,#C9922A);opacity:.08;
  letter-spacing:-0.04em;pointer-events:none;
}
.ppo-footer{
  display:flex;align-items:center;justify-content:space-between;
  margin-top:8px;padding-top:14px;border-top:1px solid var(--border);
}
.ppo-dots{display:flex;gap:6px}
.ppo-dot{
  width:8px;height:8px;border-radius:50%;background:var(--border);
  transition:background .2s ease, transform .2s ease;
}
.ppo-dot.active{background:var(--terracotta);transform:scale(1.25)}
.ppo-actions{display:flex;gap:8px}
.ppo-skip{
  background:transparent;border:none;cursor:pointer;
  font-family:'Outfit',sans-serif;font-size:12.5px;color:var(--ink3);
  padding:10px 12px;border-radius:8px;
  transition:color .15s ease;-webkit-tap-highlight-color:transparent;
}
.ppo-skip:hover{color:var(--ink)}
.ppo-next{
  background:var(--terracotta);color:#fff;border:none;cursor:pointer;
  padding:11px 22px;border-radius:10px;
  font-family:'Outfit',sans-serif;font-size:13px;font-weight:600;letter-spacing:0.01em;
  box-shadow:0 4px 14px rgba(212,106,58,.28);
  transition:background .15s ease, transform .12s ease;
  -webkit-tap-highlight-color:transparent;min-height:44px;
}
.ppo-next:hover{background:var(--terracotta-hover);transform:translateY(-1px)}
@media(max-width:480px){
  .ppo-modal{padding:30px 22px 20px;border-radius:18px;max-width:100%}
  .ppo-title{font-size:24px}
  .ppo-body{font-size:13.5px}
  .ppo-ornament{font-size:90px;top:-4px}
}

#onboardingModal{display:none;position:fixed;inset:0;z-index:9100;background:rgba(28,25,23,.55);backdrop-filter:blur(3px);align-items:center;justify-content:center;padding:20px;overflow-y:auto}
#onboardingModal.open{display:flex}
.onb-modal{background:var(--white);border-radius:var(--rl);width:100%;max-width:520px;display:flex;flex-direction:column;box-shadow:0 24px 80px rgba(28,25,23,.22);animation:onbFadeIn .3s ease;margin:auto}
@keyframes onbFadeIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
.onb-header{padding:28px 28px 0;flex-shrink:0}
.onb-logo{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:15px;font-weight:500;color:var(--terracotta-ink);margin-bottom:6px;letter-spacing:.02em}
.onb-headline{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:26px;font-weight:700;color:var(--ink);line-height:1.2;margin-bottom:4px}
.onb-tagline{font-size:13px;color:var(--ink3);line-height:1.5;padding-bottom:4px}

.onb-slides{position:relative;overflow:hidden}

.onb-slide{padding:24px 28px;display:flex;flex-direction:column;gap:12px}

.onb-slide:not(.active):not(.exit){position:absolute;inset:0;opacity:0;pointer-events:none;transform:translateX(32px)}
.onb-slide.active{opacity:1;transform:translateX(0);transition:opacity .28s ease,transform .28s ease;pointer-events:auto}
.onb-slide.exit{position:absolute;inset:0;opacity:0;transform:translateX(-32px);transition:opacity .28s ease,transform .28s ease;pointer-events:none}
.onb-slide-icon{font-size:34px;line-height:1}
.onb-slide-title{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:18px;font-weight:500;color:var(--ink);line-height:1.3}
.onb-slide-body{font-size:13px;color:var(--ink2);line-height:1.6}
.onb-feature-list{display:flex;flex-direction:column;gap:7px}
.onb-feature{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--ink2);line-height:1.45}
.onb-feature-dot{width:20px;height:20px;border-radius:50%;background:var(--terra3);color:var(--terracotta);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:700;flex-shrink:0;margin-top:1px}
.onb-tip{background:var(--terra3);border-left:3px solid var(--terracotta);border-radius:0 var(--rs) var(--rs) 0;padding:9px 13px;font-size:12px;color:var(--ink2);line-height:1.5}
.onb-tip strong{color:var(--terracotta)}
.onb-footer{padding:14px 28px 22px;flex-shrink:0;border-top:1px solid var(--border)}
.onb-dots{display:flex;gap:6px;align-items:center;justify-content:center;margin-bottom:12px}

.onb-dot{width:24px;height:24px;border-radius:50%;background:var(--border2);
  background-clip:content-box;padding:8px;transition:all .22s;cursor:pointer;border:none;
  display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box}
.onb-dot.active{background:var(--terracotta);width:40px;border-radius:18px;padding:8px 14px}
.onb-btns{display:flex;align-items:center;gap:8px}
.onb-btn-prev{padding:10px 18px;border-radius:var(--rs);border:1px solid var(--border2);background:transparent;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:13px;font-weight:500;color:var(--ink2);cursor:pointer;transition:all .15s;-webkit-tap-highlight-color:transparent;white-space:nowrap}
.onb-btn-prev:hover{background:var(--cream)}
.onb-btn-next{flex:1;padding:10px 18px;border-radius:var(--rs);border:none;background:var(--terracotta-ink);color:#fff;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:13px;font-weight:600;cursor:pointer;transition:all .18s;-webkit-tap-highlight-color:transparent}
.onb-btn-next:hover{background:#9F4720}
.onb-btn-skip{padding:10px 14px;border-radius:var(--rs);border:none;background:transparent;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:12px;color:var(--ink3);cursor:pointer;transition:color .15s;-webkit-tap-highlight-color:transparent;white-space:nowrap}
.onb-btn-skip:hover{color:var(--ink2)}

@media(max-width:600px){
  #onboardingModal{align-items:flex-end;padding:0;overflow-y:hidden}
  .onb-modal{border-radius:20px 20px 0 0;position:fixed;bottom:0;left:0;right:0;width:auto;max-width:100%;margin:0;max-height:92vh;max-height:92dvh;overflow-y:auto;animation:onbSlideUp .3s ease}
  @keyframes onbSlideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
  .onb-headline{font-size:21px}
  .onb-slide{padding:16px 20px}
  .onb-header{padding:20px 20px 0}
  .onb-footer{padding:12px 20px 20px}
  .onb-slide-icon{font-size:28px}
  .onb-slide-title{font-size:17px}
  .onb-feature{font-size:12.5px}
  .onb-slide-body{font-size:12.5px}
}

@media(max-width:380px){
  .onb-headline{font-size:19px}
  .onb-slide{padding:14px 16px;gap:10px}
  .onb-header{padding:18px 16px 0}
  .onb-footer{padding:10px 16px 16px}
}
.hero-pattern{position:absolute;inset:0;opacity:0.06;background-image:radial-gradient(circle at 2px 2px,rgba(255,255,255,0.8) 1px,transparent 0);background-size:32px 32px;z-index:1}


.hero-travel-anim{
  position:absolute; inset:0; z-index:1;
  pointer-events:none; overflow:hidden;
}
.hero-travel-anim svg{
  position:absolute; inset:0;
  width:100%; height:100%;
  display:block;
}

@media (max-width: 600px){
  .hero-travel-anim svg{ width:100%; height:100%; }
  .hero-travel-anim .wp-route{ stroke-width: 1.6; }
  .hero-travel-anim .wp-landmark-label{ font-size: 13px; letter-spacing: .12em; }
}

.hero h1, .hero-form, .hero-form-advanced, .hero-content{
  position:relative; z-index:2;
}
.hero-travel-anim{ z-index:1 !important; }
.hero-travel-anim .wp-route{
  fill:none;
  stroke:var(--gold, #C9922A);
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
  stroke-dasharray:1400;
  stroke-dashoffset:1400;
  opacity:0;
}

.hero-travel-anim .wp-landmark-label{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-style:italic;
  font-size:11px;
  fill:var(--gold, #C9922A);
  letter-spacing:.16em;
  text-transform:uppercase;
  text-anchor:middle;
  opacity:0;
}

@keyframes wp-landmark-draw{
  0%   { stroke-dashoffset:1400; opacity:0; }
  6%   { opacity:.78; }
  30%  { stroke-dashoffset:0;     opacity:.78; }
  60%  { stroke-dashoffset:0;     opacity:.78; }
  86%  { stroke-dashoffset:-1400; opacity:.78; }
  94%  { opacity:0; }
  100% { stroke-dashoffset:-1400; opacity:0; }
}

@keyframes wp-landmark-label{
  0%, 28%   { opacity:0; }
  34%, 76%  { opacity:.88; }   
  86%, 100% { opacity:0; }
}

.hero-travel-anim .wp-lm-1 .wp-route{ animation: wp-landmark-draw 63s cubic-bezier(0.45, 0.05, 0.55, 0.95) 0s infinite; }
.hero-travel-anim .wp-lm-2 .wp-route{ animation: wp-landmark-draw 63s cubic-bezier(0.45, 0.05, 0.55, 0.95) 3s infinite; }
.hero-travel-anim .wp-lm-3 .wp-route{ animation: wp-landmark-draw 63s cubic-bezier(0.45, 0.05, 0.55, 0.95) 6s infinite; }
.hero-travel-anim .wp-lm-4 .wp-route{ animation: wp-landmark-draw 63s cubic-bezier(0.45, 0.05, 0.55, 0.95) 9s infinite; }
.hero-travel-anim .wp-lm-5 .wp-route{ animation: wp-landmark-draw 63s cubic-bezier(0.45, 0.05, 0.55, 0.95) 12s infinite; }
.hero-travel-anim .wp-lm-6 .wp-route{ animation: wp-landmark-draw 63s cubic-bezier(0.45, 0.05, 0.55, 0.95) 15s infinite; }
.hero-travel-anim .wp-lm-7 .wp-route{ animation: wp-landmark-draw 63s cubic-bezier(0.45, 0.05, 0.55, 0.95) 18s infinite; }
.hero-travel-anim .wp-lm-8 .wp-route{ animation: wp-landmark-draw 63s cubic-bezier(0.45, 0.05, 0.55, 0.95) 21s infinite; }
.hero-travel-anim .wp-lm-9 .wp-route{ animation: wp-landmark-draw 63s cubic-bezier(0.45, 0.05, 0.55, 0.95) 24s infinite; }
.hero-travel-anim .wp-lm-10 .wp-route{ animation: wp-landmark-draw 63s cubic-bezier(0.45, 0.05, 0.55, 0.95) 27s infinite; }
.hero-travel-anim .wp-lm-11 .wp-route{ animation: wp-landmark-draw 63s cubic-bezier(0.45, 0.05, 0.55, 0.95) 30s infinite; }
.hero-travel-anim .wp-lm-12 .wp-route{ animation: wp-landmark-draw 63s cubic-bezier(0.45, 0.05, 0.55, 0.95) 33s infinite; }
.hero-travel-anim .wp-lm-13 .wp-route{ animation: wp-landmark-draw 63s cubic-bezier(0.45, 0.05, 0.55, 0.95) 36s infinite; }
.hero-travel-anim .wp-lm-14 .wp-route{ animation: wp-landmark-draw 63s cubic-bezier(0.45, 0.05, 0.55, 0.95) 39s infinite; }
.hero-travel-anim .wp-lm-15 .wp-route{ animation: wp-landmark-draw 63s cubic-bezier(0.45, 0.05, 0.55, 0.95) 42s infinite; }
.hero-travel-anim .wp-lm-16 .wp-route{ animation: wp-landmark-draw 63s cubic-bezier(0.45, 0.05, 0.55, 0.95) 45s infinite; }
.hero-travel-anim .wp-lm-17 .wp-route{ animation: wp-landmark-draw 63s cubic-bezier(0.45, 0.05, 0.55, 0.95) 48s infinite; }
.hero-travel-anim .wp-lm-18 .wp-route{ animation: wp-landmark-draw 63s cubic-bezier(0.45, 0.05, 0.55, 0.95) 51s infinite; }
.hero-travel-anim .wp-lm-19 .wp-route{ animation: wp-landmark-draw 63s cubic-bezier(0.45, 0.05, 0.55, 0.95) 54s infinite; }
.hero-travel-anim .wp-lm-20 .wp-route{ animation: wp-landmark-draw 63s cubic-bezier(0.45, 0.05, 0.55, 0.95) 57s infinite; }
.hero-travel-anim .wp-lm-21 .wp-route{ animation: wp-landmark-draw 63s cubic-bezier(0.45, 0.05, 0.55, 0.95) 60s infinite; }
.hero-travel-anim .wp-lm-1 .wp-landmark-label{ animation: wp-landmark-label 63s ease-in-out 0s infinite; }
.hero-travel-anim .wp-lm-2 .wp-landmark-label{ animation: wp-landmark-label 63s ease-in-out 3s infinite; }
.hero-travel-anim .wp-lm-3 .wp-landmark-label{ animation: wp-landmark-label 63s ease-in-out 6s infinite; }
.hero-travel-anim .wp-lm-4 .wp-landmark-label{ animation: wp-landmark-label 63s ease-in-out 9s infinite; }
.hero-travel-anim .wp-lm-5 .wp-landmark-label{ animation: wp-landmark-label 63s ease-in-out 12s infinite; }
.hero-travel-anim .wp-lm-6 .wp-landmark-label{ animation: wp-landmark-label 63s ease-in-out 15s infinite; }
.hero-travel-anim .wp-lm-7 .wp-landmark-label{ animation: wp-landmark-label 63s ease-in-out 18s infinite; }
.hero-travel-anim .wp-lm-8 .wp-landmark-label{ animation: wp-landmark-label 63s ease-in-out 21s infinite; }
.hero-travel-anim .wp-lm-9 .wp-landmark-label{ animation: wp-landmark-label 63s ease-in-out 24s infinite; }
.hero-travel-anim .wp-lm-10 .wp-landmark-label{ animation: wp-landmark-label 63s ease-in-out 27s infinite; }
.hero-travel-anim .wp-lm-11 .wp-landmark-label{ animation: wp-landmark-label 63s ease-in-out 30s infinite; }
.hero-travel-anim .wp-lm-12 .wp-landmark-label{ animation: wp-landmark-label 63s ease-in-out 33s infinite; }
.hero-travel-anim .wp-lm-13 .wp-landmark-label{ animation: wp-landmark-label 63s ease-in-out 36s infinite; }
.hero-travel-anim .wp-lm-14 .wp-landmark-label{ animation: wp-landmark-label 63s ease-in-out 39s infinite; }
.hero-travel-anim .wp-lm-15 .wp-landmark-label{ animation: wp-landmark-label 63s ease-in-out 42s infinite; }
.hero-travel-anim .wp-lm-16 .wp-landmark-label{ animation: wp-landmark-label 63s ease-in-out 45s infinite; }
.hero-travel-anim .wp-lm-17 .wp-landmark-label{ animation: wp-landmark-label 63s ease-in-out 48s infinite; }
.hero-travel-anim .wp-lm-18 .wp-landmark-label{ animation: wp-landmark-label 63s ease-in-out 51s infinite; }
.hero-travel-anim .wp-lm-19 .wp-landmark-label{ animation: wp-landmark-label 63s ease-in-out 54s infinite; }
.hero-travel-anim .wp-lm-20 .wp-landmark-label{ animation: wp-landmark-label 63s ease-in-out 57s infinite; }
.hero-travel-anim .wp-lm-21 .wp-landmark-label{ animation: wp-landmark-label 63s ease-in-out 60s infinite; }
.hero-travel-anim .wp-pin-ring-3{ animation-name: wp-pin-ring-pulse; }


.hero-travel-anim .wp-lat-grid{
  position:absolute; inset:0;
  background-image:
    linear-gradient(to bottom, transparent 0%, transparent calc(20% - .5px), rgba(201,146,42,.10) 20%, transparent calc(20% + .5px), transparent 40%),
    linear-gradient(to bottom, transparent 0%, transparent calc(40% - .5px), rgba(201,146,42,.08) 40%, transparent calc(40% + .5px), transparent 60%),
    linear-gradient(to bottom, transparent 0%, transparent calc(60% - .5px), rgba(201,146,42,.10) 60%, transparent calc(60% + .5px), transparent 80%),
    linear-gradient(to bottom, transparent 0%, transparent calc(80% - .5px), rgba(201,146,42,.08) 80%, transparent calc(80% + .5px), transparent 100%);
  opacity:.5;
  mix-blend-mode:screen;
}


.hero-travel-anim .wp-star{
  fill:rgba(201,146,42,.85);
  opacity:0;
  animation: wp-star-twinkle 8s ease-in-out infinite;
}
.hero-travel-anim .wp-star-1{ animation-delay: 0.4s;  animation-duration: 7.5s; }
.hero-travel-anim .wp-star-2{ animation-delay: 2.1s;  animation-duration: 8.2s; }
.hero-travel-anim .wp-star-3{ animation-delay: 4.6s;  animation-duration: 6.8s; }
.hero-travel-anim .wp-star-4{ animation-delay: 1.2s;  animation-duration: 9.1s; }
.hero-travel-anim .wp-star-5{ animation-delay: 5.8s;  animation-duration: 7.2s; }
.hero-travel-anim .wp-star-6{ animation-delay: 3.3s;  animation-duration: 8.7s; }
.hero-travel-anim .wp-star-7{ animation-delay: 6.5s;  animation-duration: 7.9s; }
@keyframes wp-star-twinkle{
  0%, 100% { opacity: 0; }
  35%      { opacity: .25; }
  50%      { opacity: .55; }
  65%      { opacity: .25; }
}


.hero-travel-anim .wp-plane{
  position:absolute;
  width:14px; height:14px;
  color:rgba(201,146,42,.7);
  offset-path: path("M -40 320 Q 240 200 480 280 T 920 240 Q 1200 200 1480 140");
  offset-rotate: auto;
  animation: wp-plane-fly 26s linear infinite;
  opacity:0;
}
@keyframes wp-plane-fly{
  0%        { offset-distance: 0%;    opacity:0; }
  5%        { opacity:.65; }
  88%       { opacity:.65; }
  95%, 100% { offset-distance: 100%;  opacity:0; }
}
@media (max-width: 900px){ .hero-travel-anim .wp-plane{ display:none; } }

body.app-active .hero-travel-anim{ display:none; }
@media (prefers-reduced-motion: reduce){
  .hero-travel-anim{ display:none; }
}


.hero-cursor{
  position:absolute; left:0; top:0; z-index:3;
  width:22px; height:22px; border-radius:50%;
  border:1.2px solid rgba(201, 146, 42, 0.55);
  background:radial-gradient(circle, rgba(201, 146, 42, 0.18) 0%, transparent 65%);
  pointer-events:none;
  opacity:0;
  transform:translate3d(-100px, -100px, 0);
  transition:opacity .35s ease;
  will-change:transform, opacity;
}
.hero-cursor::after{
  content:''; position:absolute; left:50%; top:50%;
  width:3px; height:3px; border-radius:50%;
  background:rgba(201, 146, 42, 0.85);
  transform:translate(-50%, -50%);
}
.hero-cursor.active{ opacity:1; }
.hero-cursor.over-interactive{
  transform-origin:center;
  border-color:rgba(212, 106, 58, 0.7);
}
body.app-active .hero-cursor{ display:none; }
@media (hover: none), (prefers-reduced-motion: reduce){
  .hero-cursor{ display:none; }
}
.hero-nav{position:relative;z-index:10;display:flex;align-items:center;justify-content:space-between;padding:24px 40px}
.hero-logo{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:24px;font-weight:500;color:var(--white);letter-spacing:0.02em;display:inline-flex;align-items:baseline;gap:0}
.hero-logo span{color:var(--gold)}
.hero-logo .brand-pin{display:inline-block;width:0.55em;height:0.85em;margin:0 0.08em -0.06em;color:var(--gold);transform:translateY(0.04em)}
.app-logo .brand-pin{display:inline-block;width:0.5em;height:0.78em;margin:0 0.06em -0.04em;color:var(--terracotta);transform:translateY(0.04em)}
.brand-pin svg{width:100%;height:100%;display:block;overflow:visible}
.hero-nav-links{display:flex;gap:8px}
.hn-btn{padding:8px 18px;border-radius:var(--rs);border:1px solid rgba(255,255,255,0.2);background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.9);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:13px;cursor:pointer;transition:all .2s}
.hn-btn:hover{background:rgba(255,255,255,0.15);border-color:rgba(255,255,255,0.4)}
.hn-btn-primary{background:var(--terracotta);border-color:var(--terracotta);color:#fff}
.hn-btn-primary:hover{background:var(--terracotta-hover)}

.hero-hamburger{display:none!important}
@media(max-width:768px){
  .hero-hamburger{display:flex!important}
  .hero-hn-misviajes{display:none!important}
  
  #heroAuthSlot{display:none!important}
  #heroLangPill{display:none!important}
  .hero-nav{padding:max(16px, env(safe-area-inset-top, 16px)) 16px 16px;gap:8px}
  .hero-nav-links{gap:8px;flex-wrap:nowrap}
}


@media (max-width: 600px){
  
  .hero-content{ padding: 22px 20px 28px; }
  .hero-eyebrow{ margin-bottom: 12px; font-size: 11px; letter-spacing: 0.14em; }
  .hero-title{ margin-bottom: 12px; }
  .hero-sub{ margin-bottom: 22px; font-size: 14.5px; max-width: 92%; }
  
  .dest-icons{
    flex-wrap: nowrap;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    padding: 2px 16px;
    gap: 14px;
    margin: 0 -16px 28px;
    justify-content: flex-start;
    -webkit-mask-image: linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 24px), transparent 100%);
            mask-image: linear-gradient(90deg, transparent 0, #000 16px, #000 calc(100% - 24px), transparent 100%);
  }
  .dest-icons::-webkit-scrollbar{ display: none; }
  .dest-icon{ scroll-snap-align: start; flex-shrink: 0; }
  .dest-icon-circle{ width: 56px; height: 56px; }
  .dest-icon-circle svg{ width: 28px; height: 28px; }
  .dest-icon-label{ font-size: 10px; letter-spacing: 0.07em; }
  
  .hero-form{ padding: 22px 20px 20px; gap: 12px; }
}


@media (max-width: 600px){
  body.app-active .act-card{ margin-bottom: 8px; }
  body.app-active .act-card-body{ padding: 12px 14px 12px 12px; }
  body.app-active .act-card-title{ font-size: 14px; line-height: 1.3; margin-bottom: 4px; }
  body.app-active .act-card-desc{ font-size: 12px; line-height: 1.5; color: var(--ink2); }
  body.app-active .act-card-time{ font-size: 11px; padding: 2px 8px; margin-bottom: 6px; }
  body.app-active .act-card-meta{ gap: 6px; margin-top: 6px; }
  body.app-active .act-card::before{ width: 4px; min-width: 4px; }
  
  body.app-active .day-view-header{ padding: 14px 14px 10px; }
  body.app-active .day-view-eyebrow{ font-size: 10px; letter-spacing: 0.1em; }
  body.app-active .day-view-title{ font-size: 18px; line-height: 1.2; }
}

.hero-content{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;z-index:10;padding:40px 24px;text-align:center}
.hero-eyebrow{font-size:12px;font-weight:500;letter-spacing:0.15em;text-transform:uppercase;color:var(--gold2);margin-bottom:20px}
.hero-title{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:clamp(42px,7vw,80px);font-weight:700;color:#FFFFFF;line-height:1.1;margin-bottom:16px}
.hero-title em{color:var(--gold2);font-style:italic}
.hero-sub{font-size:clamp(15px,2vw,18px);color:rgba(255,255,255,0.65);max-width:520px;line-height:1.7;margin-bottom:48px}


.dest-icons{display:flex;gap:18px;margin-bottom:48px;flex-wrap:wrap;justify-content:center}
.dest-icon{display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;transition:transform var(--dur-2) var(--ease);position:relative}

@keyframes wp-dest-float{
  0%,100% { transform: translateY(0); }
  50%     { transform: translateY(-3px); }
}
.dest-icon{ animation: wp-dest-float 5.5s ease-in-out infinite; }
.dest-icon:nth-child(1){ animation-delay: 0s;    animation-duration: 5.5s; }
.dest-icon:nth-child(2){ animation-delay: 0.6s;  animation-duration: 6.2s; }
.dest-icon:nth-child(3){ animation-delay: 1.1s;  animation-duration: 5.8s; }
.dest-icon:nth-child(4){ animation-delay: 1.7s;  animation-duration: 6.4s; }
.dest-icon:nth-child(5){ animation-delay: 2.3s;  animation-duration: 5.6s; }
.dest-icon:nth-child(6){ animation-delay: 2.9s;  animation-duration: 6.1s; }
.dest-icon:nth-child(7){ animation-delay: 3.4s;  animation-duration: 5.9s; }
.dest-icon:nth-child(8){ animation-delay: 4.0s;  animation-duration: 6.3s; }
.dest-icon:hover{ animation-play-state: paused; transform:translateY(-5px); }

.dest-icon-circle{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:1px solid rgba(255,255,255,0.18);background:rgba(255,255,255,0.05);backdrop-filter:blur(8px);transition:all var(--dur-2) var(--ease);position:relative}

.dest-icon-circle::before{
  content:"";position:absolute;inset:-1px;border-radius:50%;
  border:1px dashed rgba(255,255,255,0.12);
  transform:rotate(8deg);
  transition: transform var(--dur-3) var(--ease), border-color var(--dur-2) var(--ease);
  animation: wp-ring-spin 60s linear infinite;
}
@keyframes wp-ring-spin{
  from { transform: rotate(0deg); }
  to   { transform: rotate(360deg); }
}
.dest-icon:hover .dest-icon-circle{
  border-color:var(--gold2);
  background:rgba(201,146,42,0.12);
  box-shadow: 0 0 0 6px rgba(201, 146, 42, 0.08);
}
.dest-icon:hover .dest-icon-circle::before{
  animation-duration: 8s;
  border-color:rgba(201,146,42,.45);
}
.dest-icon-circle svg{width:32px;height:32px;stroke:rgba(253,250,245,0.88);fill:none;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round;transition:stroke var(--dur-2) var(--ease)}
.dest-icon:hover .dest-icon-circle svg{stroke:var(--gold2)}
.dest-icon-label{font-size:11px;color:rgba(255,255,255,0.7);font-weight:500;letter-spacing:0.08em;text-transform:uppercase;transition: color var(--dur-2) var(--ease)}
.dest-icon:hover .dest-icon-label{ color: rgba(255,255,255,.95); }

@media (prefers-reduced-motion: reduce){
  .dest-icon, .dest-icon-circle::before{ animation: none !important; }
}



.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.form-field{display:flex;flex-direction:column;gap:6px}
.form-field-hint{
  font-size:10.5px;
  color:var(--terracotta);
  font-weight:500;
  display:flex;
  align-items:center;
  gap:4px;
  margin-top:-2px;
  line-height:1.3;
}
.form-field-hint::before{content:'✦';font-size:9px;opacity:.7;flex-shrink:0}
.form-field label{font-size:11px;font-weight:600;letter-spacing:0.07em;text-transform:uppercase;color:rgba(255,255,255,0.6)}
.form-input{padding:12px 16px;border:1px solid rgba(255,255,255,0.18);border-radius:var(--rs);background:rgba(255,255,255,0.09);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:14px;color:#FFFFFF;outline:none;transition:all .2s;min-height:44px}
.form-input::placeholder{color:rgba(255,255,255,0.3)}
.form-input:focus{border-color:var(--gold2);background:rgba(255,255,255,0.12)}
.form-input-full{grid-column:1/-1}
.form-quote-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:4px}
.form-quote-block{background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.14);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:10px;transition:border-color .2s}
.form-quote-block:focus-within{border-color:rgba(255,255,255,0.28)}
.fqb-top{display:flex;align-items:center;gap:12px}

.fqb-icon{
  flex-shrink:0;
  width:36px;height:36px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:10px;
  background:rgba(212,106,58,0.10);
  border:1px solid rgba(212,106,58,0.22);
  color:var(--terracotta);
  transition: background .22s ease, border-color .22s ease, color .18s ease, transform .15s ease;
}
.fqb-icon svg{
  width:20px;height:20px;
  stroke-width:1.7;
  
}
.form-quote-block:hover .fqb-icon{
  background:rgba(212,106,58,0.16);
  border-color:rgba(212,106,58,0.40);
  transform:translateY(-1px);
}

.form-quote-block:has(.fqb-yes.active) .fqb-icon{
  background:rgba(201,146,42,0.16);
  border-color:rgba(201,146,42,0.55);
  color:var(--gold2, #C9922A);
}
@media (prefers-reduced-motion: reduce){
  .fqb-icon{ transition:none; }
  .form-quote-block:hover .fqb-icon{ transform:none; }
}
.fqb-label{font-size:12px;color:rgba(255,255,255,0.75);font-weight:500;flex:1;line-height:1.3}
.fqb-toggle-wrap{display:flex;gap:0;flex-shrink:0;background:rgba(0,0,0,0.2);border-radius:20px;padding:2px}
.fqb-no,.fqb-yes{padding:5px 14px;border-radius:18px;border:none;font-size:12px;font-weight:600;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;cursor:pointer;transition:all .18s;background:transparent;color:rgba(255,255,255,0.45);line-height:1}
.fqb-no.active{background:rgba(255,255,255,0.15);color:rgba(255,255,255,0.9)}
.fqb-yes.active{background:var(--terracotta);color:#fff;box-shadow:0 2px 8px rgba(212,106,58,.35)}
.fqb-result{display:flex;flex-direction:column;gap:8px;border-top:1px solid rgba(255,255,255,0.1);padding-top:10px;animation:fadeUp .2s ease}
.fqb-input{background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.18);border-radius:8px;padding:8px 12px;font-size:13px;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;color:#fff;width:100%;box-sizing:border-box;outline:none;transition:all .15s}
.fqb-input::placeholder{color:rgba(255,255,255,0.35)}
.fqb-input:focus{border-color:rgba(255,255,255,0.45);background:rgba(255,255,255,0.12)}
.fqb-search-btn{display:flex;align-items:center;justify-content:center;padding:8px 12px;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.18);border-radius:8px;font-size:12px;font-weight:600;color:rgba(255,255,255,0.85);text-decoration:none;transition:all .15s;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}
.fqb-search-btn:hover{background:rgba(255,255,255,0.16);border-color:rgba(255,255,255,0.3)}
.fqb-star-btn{padding:5px 8px;border-radius:8px;border:1px solid rgba(255,255,255,0.18);font-size:10px;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;cursor:pointer;transition:all .15s;background:rgba(255,255,255,0.06);color:rgba(255,255,255,0.5);white-space:nowrap;flex:1}
.fqb-star-btn:hover{background:rgba(255,255,255,0.12);color:rgba(255,255,255,0.85)}
.fqb-star-btn.active{background:var(--gold);border-color:var(--gold);color:#fff;box-shadow:0 2px 8px rgba(201,146,42,.35)}

.bph-star-btn{padding:7px 4px;border-radius:8px;border:1px solid var(--border);font-size:10.5px;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;cursor:pointer;transition:all .15s;background:var(--white);color:var(--ink3);white-space:nowrap;flex:1;text-align:center;line-height:1}
.bph-star-btn:hover{border-color:var(--gold);color:var(--gold);background:var(--gold3)}
.bph-star-btn.active{background:var(--gold);border-color:var(--gold);color:#fff;box-shadow:0 2px 6px rgba(201,146,42,.3);font-weight:600}
.bph-star-btn:disabled{opacity:.5;cursor:default}
.form-generate-btn{
  padding:16px;margin-top:4px;border-radius:var(--rs);border:none;
  background:var(--terracotta-ink);color:#fff;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:15px;font-weight:600;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:10px;
  position:relative;overflow:hidden;isolation:isolate;
  transition: transform 280ms cubic-bezier(0.215, 0.61, 0.355, 1),
              box-shadow 280ms cubic-bezier(0.215, 0.61, 0.355, 1),
              background 200ms ease;
}

@keyframes wp-cta-pulse{
  0%, 100% { box-shadow: 0 0 0 0 rgba(212, 106, 58, 0); }
  50%      { box-shadow: 0 0 0 8px rgba(212, 106, 58, 0.15); }
}
.form-generate-btn{ animation: wp-cta-pulse 4s ease-in-out infinite 2s; }
.form-generate-btn:hover{
  background: #B85128;
  transform: translateY(-1px);
  box-shadow: 0 12px 32px rgba(212, 106, 58, 0.35), 0 0 0 4px rgba(212, 106, 58, 0.15);
}
.form-generate-btn:active{ transform: translateY(0); }

.form-generate-btn::before{
  content:'';position:absolute;inset:0;
  background:linear-gradient(115deg, transparent 30%, rgba(255,255,255,0.22) 50%, transparent 70%);
  transform: translateX(-110%);
  transition: transform 750ms cubic-bezier(0.16, 1, 0.3, 1);
  pointer-events:none;
}
.form-generate-btn:hover::before{ transform: translateX(110%); }

@keyframes wp-spark-glow{
  0%, 100% { text-shadow: 0 0 0 rgba(255,215,140,0); }
  50%      { text-shadow: 0 0 12px rgba(255,215,140,.55); }
}
.form-generate-btn #heroCtaText{ animation: wp-spark-glow 3.2s ease-in-out infinite; }
@media (prefers-reduced-motion: reduce){
  .form-generate-btn, .form-generate-btn #heroCtaText{ animation: none !important; }
  .form-generate-btn::before{ display: none; }
}
.form-generate-btn:hover{background:var(--terracotta-hover);transform:translateY(-1px)}
.form-generate-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}
.form-voice-row{display:flex;align-items:center;gap:10px}
.form-voice-row .form-input{flex:1}
.mic-btn{width:44px;height:44px;border-radius:50%;border:1px solid rgba(255,255,255,0.2);background:rgba(255,255,255,0.08);color:rgba(255,255,255,0.7);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;flex-shrink:0}
.mic-btn:hover{border-color:var(--gold2);background:rgba(201,146,42,0.2)}
.mic-btn.recording{background:rgba(192,57,43,0.3);border-color:var(--danger);animation:pulse 1s infinite}
@keyframes pulse{0%,100%{box-shadow:0 0 0 0 rgba(231,76,60,.3)}50%{box-shadow:0 0 0 8px rgba(231,76,60,0)}}




.app-section{display:none;height:100dvh;max-height:100dvh;flex-direction:column;overflow:hidden}
.app-section.visible{display:flex}

.app-header{
  background:var(--white);
  border-bottom:1px solid var(--border);
  padding:0 clamp(12px, 2.5vw, 28px);
  display:flex;
  align-items:center;
  gap:clamp(6px,1vw,16px);
  height:64px;
  min-height:64px;
  position:sticky;
  top:0;
  z-index:200;
  box-shadow:var(--shadow);
  box-sizing:border-box;
  width:100%;
  flex-shrink:0;
  
  padding-top:env(safe-area-inset-top, 0px);
  height:calc(64px + env(safe-area-inset-top, 0px));
  min-height:calc(64px + env(safe-area-inset-top, 0px));
}
.app-logo{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:20px;font-weight:500;color:var(--ink);cursor:pointer;flex-shrink:0}
.app-logo span{color:var(--terracotta)}
.trip-header-info{flex:1;display:flex;align-items:center;gap:clamp(4px,1vw,12px);min-width:0;overflow:hidden}
.trip-title-display{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-size:17px;font-weight:500;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  font-style:italic;cursor:pointer;
  border-radius:4px;padding:1px 4px;margin-left:-4px;
  transition:background .15s ease, box-shadow .15s ease;
  
  flex:0 0 auto;max-width:clamp(56px,18vw,240px);
}
.trip-title-display:hover{background:rgba(184,81,40,.06)}
.trip-title-display:focus-visible{outline:2px solid var(--terracotta-ink,#B85128);outline-offset:1px}
body.readonly .trip-title-display{cursor:default}
body.readonly .trip-title-display:hover{background:transparent}
.trip-badge{display:flex;align-items:center;gap:6px;flex:0 1 auto;min-width:0;overflow:hidden;
  -webkit-mask-image:linear-gradient(90deg,#000 calc(100% - 14px),transparent);
  mask-image:linear-gradient(90deg,#000 calc(100% - 14px),transparent)}

.trip-badge>*{flex-shrink:0}
.tbadge,.tbadge-countdown{white-space:nowrap}
.tbadge{padding:3px 10px;border-radius:20px;font-size:11px;font-weight:500}
.tbadge-days{background:var(--terra3);color:var(--terracotta)}
.tbadge-dest{background:var(--teal3);color:var(--teal)}
.tbadge-people{background:#F5F0FF;color:#6A35A8;font-weight:600}

.tbadge-countdown{
  display:inline-flex;align-items:center;gap:5px;
  background:linear-gradient(135deg,var(--gold-bg),var(--gold3));
  color:var(--gold-ink);font-weight:600;
  border:1px solid var(--gold2);
  animation:_cdPulse 2.4s ease-in-out infinite;
}
.tbadge-countdown svg{flex-shrink:0;color:var(--gold)}
.tbadge-countdown.is-soon{
  background:linear-gradient(135deg,var(--terra2),var(--terra3));
  color:var(--terracotta);border-color:var(--terracotta);
}
.tbadge-countdown.is-soon svg{color:var(--terracotta)}
.tbadge-countdown.is-active{
  background:var(--teal);color:#fff;border-color:var(--teal);
}
.tbadge-countdown.is-active svg{color:#fff}
@keyframes _cdPulse{
  0%,100%{box-shadow:0 0 0 0 var(--gold3)}
  50%{box-shadow:0 0 0 4px transparent}
}
.weather-badge{display:flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;background:var(--sky3);color:var(--sky);font-size:11px;font-weight:500;cursor:pointer}
.app-header-actions{
  display:flex;
  gap:clamp(4px,0.5vw,6px);
  flex-shrink:0;
  position:relative;
  align-items:center;
  overflow:visible;
}
.app-search-btn{
  width:32px;height:32px;border-radius:var(--rs);
  background:var(--white);border:1px solid var(--border2);
  color:var(--ink2);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),color var(--dur-2) var(--ease);
}
.app-search-btn:hover{background:var(--cream);border-color:var(--terracotta);color:var(--terracotta)}


body.app-active.dark-mode{
  --cream: #14202D;
  --white: #1A2735;
  --ink: #F4EFE7;
  --ink2: #D4CBC0;
  --ink3: #9B9286;
  --ink4: #6E665C;
  --border: rgba(244, 239, 231, 0.10);
  --border2: rgba(244, 239, 231, 0.16);
  --border-soft: rgba(244, 239, 231, 0.06);
  --terra3: rgba(212, 106, 58, 0.16);
  --teal-bg: rgba(42, 123, 111, 0.18);
  --gold-bg: rgba(201, 146, 42, 0.14);
  --terra2: rgba(212, 106, 58, 0.28);
}
body.app-active.dark-mode .app-header{
  background: var(--white);
  border-bottom-color: var(--border);
}
body.app-active.dark-mode .app-body{
  background: var(--cream);
}
body.app-active.dark-mode .sidebar-right{
  background: var(--white);
  border-left-color: var(--border);
}
body.app-active.dark-mode .act-card{
  background: var(--white);
  border-color: var(--border);
}
body.app-active.dark-mode .act-card:hover{
  border-color: var(--border2);
  box-shadow: 0 8px 24px rgba(0,0,0,0.4);
}
body.app-active.dark-mode .day-view-header,
body.app-active.dark-mode .day-tab-bar,
body.app-active.dark-mode .sidebar-tabs{
  background: var(--white);
  border-color: var(--border);
}
body.app-active.dark-mode .day-block{
  background: var(--white);
  border-color: var(--border);
}
body.app-active.dark-mode .savedIndicator,
body.app-active.dark-mode #savedIndicator{
  color: var(--ink3);
}

body.app-active.dark-mode .app-search-btn{
  background: var(--white);
  color: var(--ink2);
  border-color: var(--border2);
}
body.app-active.dark-mode .app-search-btn:hover{
  background: rgba(201, 146, 42, 0.10);
  color: var(--gold);
  border-color: var(--gold);
}
body.app-active.dark-mode #darkModeBtn{
  background: rgba(201, 146, 42, 0.18);
  color: var(--gold);
  border-color: var(--gold);
}

.search-modal-overlay{
  display:none;position:fixed;inset:0;z-index:9600;
  background:rgba(28,25,23,.55);backdrop-filter:blur(6px);
  animation:wp-fade-in .2s ease;
}
.search-modal-overlay.open{display:flex;align-items:flex-start;justify-content:center;padding:88px 24px 24px}
@media(max-width:600px){.search-modal-overlay.open{padding:24px 16px}}
.search-modal{
  width:100%;max-width:620px;background:var(--white);
  border-radius:16px;border:1px solid var(--border);
  box-shadow:0 24px 72px rgba(28,25,23,.24);
  display:flex;flex-direction:column;max-height:calc(100dvh - 120px);overflow:hidden;
}
.search-modal-input-row{
  display:flex;align-items:center;gap:10px;padding:16px 20px;
  border-bottom:1px solid var(--border-soft);
}
.search-modal-input-row svg{color:var(--ink3);flex-shrink:0}
.search-modal-input{
  flex:1;border:none;outline:none;font-size:15px;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  color:var(--ink);background:transparent;
}
.search-modal-close{
  font-size:11px;color:var(--ink3);background:var(--cream);
  border:1px solid var(--border);border-radius:6px;padding:3px 8px;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  cursor:pointer;
}
.search-modal-results{
  flex:1;overflow-y:auto;padding:8px 12px 16px;
}
.search-modal-empty{
  padding:36px 20px;text-align:center;color:var(--ink3);font-size:14px;
  font-style:italic;
}
.search-result{
  padding:11px 12px;border-radius:10px;cursor:pointer;
  display:flex;flex-direction:column;gap:2px;
  transition:background var(--dur-2) var(--ease);
}
.search-result:hover,.search-result.focused{background:var(--cream)}
.search-result-title{
  font-size:14px;font-weight:600;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.search-result-context{
  font-size:11.5px;color:var(--ink3);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.search-result mark{background:var(--gold-bg);color:var(--gold-ink);padding:0 2px;border-radius:3px}


.checklist-btn{position:relative}
.checklist-btn-badge{
  position:absolute;top:-4px;right:-4px;
  min-width:16px;height:16px;padding:0 4px;
  background:var(--terracotta);color:#fff;font-size:10px;font-weight:700;
  border-radius:8px;display:flex;align-items:center;justify-content:center;
  border:2px solid var(--white);box-sizing:border-box;line-height:1;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
}
body.app-active.dark-mode .checklist-btn-badge{border-color:#1A2735}


.checklist-modal-overlay{
  display:none;position:fixed;inset:0;z-index:9600;
  background:rgba(28,25,23,.55);backdrop-filter:blur(6px);
  animation:wp-fade-in .2s ease;
}
.checklist-modal-overlay.open{display:flex;align-items:flex-start;justify-content:center;padding:80px 24px 24px}
@media(max-width:600px){.checklist-modal-overlay.open{padding:16px;align-items:flex-end}}
.checklist-modal{
  width:100%;max-width:540px;background:var(--white);
  border-radius:16px;border:1px solid var(--border);
  box-shadow:0 24px 72px rgba(28,25,23,.24);
  display:flex;flex-direction:column;max-height:calc(100dvh - 120px);overflow:hidden;
  animation:wp-fade-in .3s ease;
}
@media(max-width:600px){
  .checklist-modal{max-height:90dvh;border-radius:16px 16px 0 0}
}
.checklist-modal-header{
  padding:18px 20px 14px;border-bottom:1px solid var(--border-soft);
  display:flex;align-items:center;gap:12px;
}
.checklist-modal-icon{
  width:36px;height:36px;border-radius:10px;
  background:var(--gold-bg);color:var(--gold-ink);
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
}
.checklist-modal-title{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-size:18px;font-weight:600;color:var(--ink);flex:1;line-height:1.2;
}
.checklist-modal-title em{
  font-style:italic;color:var(--terracotta);font-weight:500;
}
.checklist-modal-close{
  font-size:18px;color:var(--ink3);background:none;border:none;cursor:pointer;
  padding:6px;width:32px;height:32px;border-radius:8px;line-height:1;
}
.checklist-modal-close:hover{background:var(--cream);color:var(--ink)}
.checklist-modal-progress{
  padding:10px 20px;border-bottom:1px solid var(--border-soft);
  display:flex;align-items:center;gap:10px;font-size:11.5px;color:var(--ink3);
}
.checklist-progress-bar{
  flex:1;height:6px;background:var(--cream);border-radius:3px;overflow:hidden;
}
.checklist-progress-fill{
  height:100%;background:linear-gradient(90deg,var(--terracotta),var(--gold));
  border-radius:3px;transition:width .3s var(--ease);
}
.checklist-progress-label{font-weight:600;color:var(--ink2);flex-shrink:0}
.checklist-modal-list{
  flex:1;overflow-y:auto;padding:8px 12px 12px;
}
.checklist-item{
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;border-radius:10px;
  transition:background var(--dur-2) var(--ease);
  cursor:pointer;
}
.checklist-item:hover{background:var(--cream)}
.checklist-item-check{
  width:20px;height:20px;border-radius:6px;
  border:2px solid var(--border2);background:var(--white);
  display:inline-flex;align-items:center;justify-content:center;
  flex-shrink:0;transition:all var(--dur-2) var(--ease);
}
.checklist-item.done .checklist-item-check{
  background:var(--teal);border-color:var(--teal);
}
.checklist-item.done .checklist-item-check svg{color:#fff}
.checklist-item-check svg{opacity:0;transition:opacity var(--dur-2) var(--ease)}
.checklist-item.done .checklist-item-check svg{opacity:1}
.checklist-item-text{
  flex:1;font-size:14px;color:var(--ink);line-height:1.4;
  transition:all var(--dur-2) var(--ease);
}
.checklist-item.done .checklist-item-text{
  color:var(--ink3);text-decoration:line-through;text-decoration-color:var(--ink4);
}
.checklist-item-remove{
  font-size:14px;color:var(--ink4);background:none;border:none;cursor:pointer;
  padding:4px 8px;border-radius:6px;opacity:0;transition:opacity var(--dur-2) var(--ease);
}
.checklist-item:hover .checklist-item-remove{opacity:1}
.checklist-item-remove:hover{color:var(--danger);background:#FEF2F2}
.checklist-add-row{
  display:flex;gap:8px;padding:10px 12px 14px;
  border-top:1px solid var(--border-soft);background:var(--cream);
}
.checklist-add-input{
  flex:1;padding:8px 12px;border:1px solid var(--border);
  border-radius:8px;font-size:13px;background:var(--white);
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  color:var(--ink);outline:none;
}
.checklist-add-input:focus{border-color:var(--terracotta);box-shadow:0 0 0 2px var(--terra3)}
.checklist-add-btn{
  padding:8px 16px;border:none;border-radius:8px;
  background:var(--terracotta);color:#fff;font-size:13px;font-weight:600;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  cursor:pointer;transition:background var(--dur-2) var(--ease);
  flex-shrink:0;
}
.checklist-add-btn:hover{background:var(--terra-ink,#B85332)}


body.app-active.dark-mode .checklist-modal{background:#1A2735;border-color:rgba(244,239,231,.10)}
body.app-active.dark-mode .checklist-item-check{background:#1A2735;border-color:rgba(244,239,231,.16)}
body.app-active.dark-mode .checklist-add-input{background:#14202D;border-color:rgba(244,239,231,.16);color:#F4EFE7}
body.app-active.dark-mode .checklist-add-row{background:#14202D}

#savedIndicator{
  display:inline-flex;align-items:center;gap:5px;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:11px;font-weight:500;
  color:var(--teal);
  opacity:0;
  pointer-events:none;
  transition:opacity .35s ease;
  white-space:nowrap;
  flex-shrink:0;
}
#savedIndicator.visible{opacity:1}
#savedIndicator svg{flex-shrink:0}
@media(max-width:768px){
  #savedIndicator{display:none}
}

.pro-toggle-wrap{
  display:flex;align-items:center;gap:7px;
  padding:5px 10px 5px 8px;border-radius:20px;
  border:1.5px solid var(--gold2);background:var(--gold3);
  cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent;
  user-select:none;flex-shrink:0;
}
.pro-toggle-wrap:hover{border-color:var(--gold);background:#FEF8E0}
.pro-toggle-wrap.pro-off{border-color:var(--border2);background:var(--white)}
.pro-toggle-wrap.pro-off:hover{border-color:var(--gold2);background:var(--gold3)}
.pro-toggle-star{font-size:13px;line-height:1;transition:transform .3s}
.pro-toggle-wrap:hover .pro-toggle-star{transform:rotate(15deg) scale(1.15)}
.pro-toggle-label{font-size:11px;font-weight:700;color:var(--gold-ink);letter-spacing:0.03em}
.pro-toggle-wrap.pro-off .pro-toggle-label{color:var(--ink3)}
.pro-toggle-switch{
  width:30px;height:16px;border-radius:8px;
  background:linear-gradient(135deg,var(--gold),#e8a82e);
  position:relative;transition:background .2s;flex-shrink:0;
}
.pro-toggle-wrap.pro-off .pro-toggle-switch{background:var(--border2)}
.pro-toggle-switch::after{
  content:'';position:absolute;top:2px;left:2px;
  width:12px;height:12px;border-radius:50%;background:#fff;
  transition:transform .2s cubic-bezier(.34,1.56,.64,1);
  box-shadow:0 1px 3px rgba(0,0,0,.2);
}
.pro-toggle-wrap:not(.pro-off) .pro-toggle-switch::after{transform:translateX(14px)}
@media(max-width:768px){.pro-toggle-wrap{padding:4px 8px 4px 6px;gap:5px}}


.act-num-circle{
  display:inline-flex;flex-shrink:0;
  width:28px;height:28px;border-radius:50%;
  color:#fff;font-size:13px;font-weight:600;
  align-items:center;justify-content:center;line-height:1;
  box-shadow:0 2px 6px rgba(0,0,0,.18), inset 0 0 0 1.5px rgba(255,255,255,.18);
  transition:transform var(--dur-2) var(--ease),box-shadow var(--dur-2) var(--ease);
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-style:normal;letter-spacing:-0.02em;
  font-variant-numeric:tabular-nums;
  position:relative;z-index:1;
}
.act-item:hover .act-num-circle{
  transform:scale(1.08);
  box-shadow:0 4px 14px rgba(0,0,0,.22), inset 0 0 0 1.5px rgba(255,255,255,.28);
}

.hbtn{padding:7px 14px;border-radius:var(--rs);border:1px solid var(--border2);background:transparent;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:12px;color:var(--ink2);cursor:pointer;transition:all .15s;white-space:nowrap}
.hbtn:hover{background:var(--cream)}
.hbtn-primary{background:var(--terracotta);color:#fff;border-color:var(--terracotta)}
.hbtn-primary:hover{background:var(--terracotta-hover)}

.auth-avatar{width:28px;height:28px;border-radius:50%;background:var(--terracotta);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;border:2px solid rgba(255,255,255,0.3);transition:opacity .15s}
.auth-avatar:hover{opacity:.85}
.auth-menu{position:fixed;z-index:9000;background:var(--white);border:1px solid var(--border);border-radius:12px;box-shadow:0 8px 32px rgba(28,25,23,.14);padding:6px;min-width:200px;display:none;flex-direction:column;gap:2px}
.auth-menu.open{display:flex}
.auth-menu-email{padding:8px 12px;font-size:11px;color:var(--ink3);border-bottom:1px solid var(--border);margin-bottom:4px;word-break:break-all}
.auth-menu-item{padding:8px 12px;font-size:12px;font-weight:500;color:var(--ink2);border-radius:8px;cursor:pointer;transition:background .12s;display:flex;align-items:center;gap:8px;border:none;background:transparent;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;width:100%;text-align:left}
.auth-menu-item:hover{background:var(--cream)}
.auth-menu-item.danger{color:var(--danger)}
.auth-menu-item.danger:hover{background:#FEF2F2}
.auth-modal-overlay{display:none;position:fixed;inset:0;background:rgba(28,25,23,.55);z-index:8000;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px)}
.auth-modal-overlay.open{display:flex}
.auth-modal{background:var(--white);border-radius:20px;padding:32px;width:100%;max-width:400px;max-height:90dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-shadow:0 24px 80px rgba(28,25,23,.22);scrollbar-width:none}
.auth-modal::-webkit-scrollbar{display:none}
@media(max-width:480px){.auth-modal{padding:24px 22px;border-radius:18px}}
.auth-modal-title{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:22px;font-weight:700;color:var(--ink);margin-bottom:4px}
.auth-modal-sub{font-size:13px;color:var(--ink3);margin-bottom:24px}
.auth-field{margin-bottom:14px}
.auth-field label{display:block;font-size:12px;font-weight:600;color:var(--ink2);margin-bottom:5px}
.auth-field input{width:100%;padding:10px 13px;border:1.5px solid var(--border);border-radius:var(--rs);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:13px;color:var(--ink);background:var(--cream);outline:none;transition:border .15s}
.auth-field input:focus{border-color:var(--terracotta);background:var(--white)}
.auth-submit{width:100%;padding:12px;border:none;border-radius:var(--rs);background:var(--terracotta);color:#fff;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s;margin-top:4px}
.auth-submit:hover{background:var(--terracotta-hover)}
.auth-submit:disabled{opacity:.6;cursor:not-allowed}
.auth-divider{display:flex;align-items:center;gap:10px;margin:16px 0;color:var(--ink3);font-size:11px}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--border)}
.auth-oauth-btn{width:100%;padding:10px 14px;border:1.5px solid var(--border);border-radius:var(--rs);background:var(--white);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:13px;font-weight:500;color:var(--ink2);cursor:pointer;transition:all .15s;display:flex;align-items:center;justify-content:center;gap:8px;margin-bottom:8px}
.auth-oauth-btn:hover{border-color:var(--border2);background:var(--cream)}
.auth-toggle{text-align:center;font-size:12px;color:var(--ink3);margin-top:16px}
.auth-toggle span{color:var(--terracotta);font-weight:600;cursor:pointer;text-decoration:underline}
.auth-error{font-size:12px;color:var(--danger);background:#FEF2F2;border-radius:var(--rs);padding:8px 12px;margin-bottom:12px;display:none}
.auth-error.show{display:block}
.auth-modal-close{width:32px;height:32px;border-radius:50%;border:1px solid var(--border);background:var(--cream);cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink3);flex-shrink:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation;transition:background .15s,border-color .15s}
.auth-modal-close:hover{background:var(--ink);color:#fff;border-color:var(--ink)}
@media(max-width:480px){.auth-modal-close{width:40px;height:40px}}
.lib-cloud-badge{display:inline-flex;align-items:center;gap:5px;font-size:10px;color:var(--teal);background:var(--teal3);border:1px solid var(--teal2);border-radius:20px;padding:2px 9px;margin-left:8px;vertical-align:middle;line-height:1.4}
.lib-cloud-badge svg{flex-shrink:0}
.lib-dup-btn{width:28px;height:28px;border-radius:8px;border:1px solid transparent;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink3);transition:all .15s;flex-shrink:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.lib-dup-btn:hover{background:var(--teal3);border-color:var(--teal2);color:var(--teal)}

.save-prompt-overlay{display:none;position:fixed;inset:0;background:rgba(28,25,23,.5);z-index:7500;align-items:flex-end;justify-content:center;padding:0 0 env(safe-area-inset-bottom,0px);backdrop-filter:blur(3px)}
.save-prompt-overlay.open{display:flex}
@media(min-width:769px){.save-prompt-overlay{align-items:center}}
.save-prompt-card{background:var(--white);border-radius:20px 20px 0 0;padding:28px 24px 32px;width:100%;max-width:480px;text-align:center;box-shadow:0 -8px 40px rgba(28,25,23,.16);animation:savePromptSlide .3s cubic-bezier(.22,.68,0,1.2)}
@media(min-width:769px){.save-prompt-card{border-radius:20px;animation:savePromptPop .28s cubic-bezier(.22,.68,0,1.2)}}
@keyframes savePromptSlide{from{transform:translateY(100%)}to{transform:translateY(0)}}
@keyframes savePromptPop{from{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}
.save-prompt-icon{margin-bottom:14px;line-height:1;color:var(--terracotta);display:flex;justify-content:center}
.save-prompt-icon svg{width:40px;height:40px}
.save-prompt-title{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:20px;font-weight:700;color:var(--ink);margin-bottom:8px;line-height:1.25}
.save-prompt-sub{font-size:13px;color:var(--ink3);line-height:1.55;margin-bottom:22px;max-width:320px;margin-left:auto;margin-right:auto}
.save-prompt-btns{display:flex;flex-direction:column;gap:10px}
.save-prompt-cta{padding:13px;border:none;border-radius:var(--rs);background:var(--terracotta);color:#fff;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s;width:100%}
.save-prompt-cta:hover{background:var(--terracotta-hover)}
.save-prompt-skip{padding:10px;border:none;background:transparent;color:var(--ink3);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:13px;cursor:pointer;transition:color .15s;width:100%}
.save-prompt-skip:hover{color:var(--ink)}

.share-modal-close{display:none;position:absolute;top:14px;right:14px;width:32px;height:32px;border-radius:50%;border:1.5px solid var(--border);background:var(--cream);cursor:pointer;align-items:center;justify-content:center;color:var(--ink3);z-index:1;transition:all .15s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.share-modal-close:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

@media(max-width:768px){.share-modal-close{display:flex;width:40px;height:40px;top:12px;right:12px}}


.app-body{flex:1;display:grid;grid-template-columns:1fr 360px;overflow:hidden;height:calc(100vh - 130px);height:calc(100dvh - 130px);isolation:isolate}
.itinerary-main{overflow-y:hidden;display:flex;flex-direction:column;height:100%;background:var(--white)}
.sidebar-right{background:var(--white);border-left:1px solid var(--border);display:flex;flex-direction:column;overflow:hidden;height:100%;isolation:isolate}


.chat-fab{position:fixed;bottom:28px;right:28px;z-index:500;display:none}
.chat-fab.visible{display:block}
.chat-fab-btn{width:54px;height:54px;border-radius:50%;background:var(--deep-burgundy);border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 4px 20px rgba(104,10,10,.45);transition:all .25s;position:relative}
.chat-fab-btn:hover{background:#4d0707;transform:scale(1.08)}
.chat-fab-badge{position:absolute;top:-2px;right:-2px;width:16px;height:16px;border-radius:50%;background:var(--danger);border:2px solid var(--white);display:none;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff}
.chat-fab-badge.show{display:flex}


.chat-popup{position:fixed;bottom:94px;right:28px;width:380px;height:500px;background:var(--white);border-radius:16px;box-shadow:0 8px 48px rgba(28,25,23,.18);z-index:499;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--border);transform:scale(.95) translateY(10px);opacity:0;pointer-events:none;transition:all .22s cubic-bezier(.32,.72,0,1)}
.chat-popup.open{transform:scale(1) translateY(0);opacity:1;pointer-events:all}
.chat-popup-header{display:flex;align-items:center;justify-content:space-between;padding:13px 16px;background:var(--deep-burgundy);flex-shrink:0}
.cpp-left{display:flex;flex-direction:column}
.chat-popup-title{font-size:14px;font-weight:600;color:#fff;letter-spacing:.01em}
.chat-popup-sub{font-size:11px;color:rgba(255,255,255,.7);margin-top:1px}
.chat-popup-close{width:28px;height:28px;border-radius:50%;border:none;background:rgba(255,255,255,.2);cursor:pointer;color:#fff;font-size:16px;display:flex;align-items:center;justify-content:center;transition:background .15s;line-height:1;flex-shrink:0}
.chat-popup-close:hover{background:rgba(255,255,255,.35)}


.day-tab-bar{display:flex;gap:6px;flex-wrap:nowrap;overflow-x:auto;padding:0 20px;height:56px;box-sizing:border-box;flex-shrink:0;border-bottom:1px solid var(--border);scrollbar-width:none;align-items:center}

.day-tab-btn.drag-day-target{
  outline:3px dashed var(--gold);
  outline-offset:2px;
  transform:scale(1.08);
  transition:transform .12s var(--ease);
  z-index:2;
}
.day-tab-btn.drag-day-target::after{
  content:'Soltar aquí';
  position:absolute;bottom:-22px;left:50%;transform:translateX(-50%);
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:9px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--gold-ink);background:var(--gold-bg);
  padding:2px 8px;border-radius:10px;
  white-space:nowrap;pointer-events:none;
}
.day-tab-btn{position:relative}
.day-tab-bar::-webkit-scrollbar{display:none}
.day-tab-btn{
  display:flex;align-items:center;gap:6px;padding:6px 12px;
  border-radius:24px;border:1.5px solid;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:12px;font-weight:500;cursor:pointer;
  flex-shrink:0;background:transparent;
  position:relative;
  transition:
    transform 240ms cubic-bezier(0.215, 0.61, 0.355, 1),
    background 240ms cubic-bezier(0.215, 0.61, 0.355, 1),
    color 240ms cubic-bezier(0.215, 0.61, 0.355, 1),
    border-color 240ms cubic-bezier(0.215, 0.61, 0.355, 1),
    box-shadow 240ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
.day-tab-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 4px 12px rgba(28,25,23,.08);
}
.day-tab-btn.active{
  box-shadow: 0 4px 14px rgba(28,25,23,.12), 0 0 0 3px rgba(212,106,58,.10);
}
.dtb-num{
  width:18px;height:18px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:700;flex-shrink:0;
  transition: background 240ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
.dtb-label{line-height:1}



.day-view-header{
  position:relative;display:flex;align-items:flex-end;justify-content:space-between;gap:14px;
  padding:18px 22px 14px;background:var(--cream);
  border-bottom:1px solid var(--border);
  flex-shrink:0;
}
.day-view-header::before{
  content:"";position:absolute;left:0;right:0;top:0;height:3px;
  background:linear-gradient(90deg, var(--day-accent, var(--terracotta)) 0 56px, var(--border) 56px 100%);
}

.dvh-edit-dates{
  display:inline-flex;align-items:center;gap:5px;
  margin-left:8px;padding:3px 9px;
  background:transparent;border:1px dashed var(--border2);
  border-radius:20px;cursor:pointer;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:10.5px;color:var(--ink3);
  transition:all var(--dur-2) var(--ease);
  -webkit-tap-highlight-color:transparent;
}
.dvh-edit-dates svg{color:var(--terracotta);flex-shrink:0}
.dvh-edit-dates:hover{
  background:var(--terra3);border-color:var(--terracotta);
  color:var(--terracotta);border-style:solid;
}
@media(max-width:480px){
  .dvh-edit-dates span{display:none}
  .dvh-edit-dates{padding:4px 6px;margin-left:4px}
}


.pwa-install-pill{
  
  position:fixed;bottom:18px;right:18px;z-index:60;
  display:flex;align-items:center;gap:10px;
  padding:10px 12px;
  background:var(--white);
  border:1px solid var(--gold);
  border-radius:14px;
  box-shadow:0 8px 28px rgba(28,25,23,.18), 0 0 0 4px rgba(201,146,42,.10);
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  transform:translateY(80px);opacity:0;
  transition:transform .35s cubic-bezier(.22,1,.36,1), opacity .35s ease;
  max-width:calc(100% - 36px);
}
.pwa-install-pill.visible{transform:translateY(0);opacity:1}
.pwa-install-icon{
  width:30px;height:30px;border-radius:8px;
  background:linear-gradient(135deg, var(--gold) 0%, #b87f1e 100%);
  color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.pwa-install-text{
  font-size:13px;font-weight:600;color:var(--ink);
  white-space:nowrap;
}
.pwa-install-btn{
  background:var(--terracotta);color:#fff;border:none;
  padding:6px 14px;border-radius:8px;font-size:12px;font-weight:600;
  cursor:pointer;font-family:inherit;
  transition:background var(--dur-2) var(--ease);
}
.pwa-install-btn:hover{background:#B85332}
.pwa-install-close{
  width:24px;height:24px;border-radius:50%;
  border:none;background:transparent;color:var(--ink3);
  cursor:pointer;font-size:16px;line-height:1;
  display:flex;align-items:center;justify-content:center;
  flex-shrink:0;
}
.pwa-install-close:hover{background:var(--cream);color:var(--ink)}
@media(max-width:600px){
  .pwa-install-pill{
    left:12px;right:12px;bottom:12px;
    max-width:none;
  }
  .pwa-install-text{font-size:12.5px}
}

body:has(.modal-overlay.open, .shr-modal.open, .lib-overlay.open, .resuggest-modal-overlay.open, .checklist-modal-overlay.open, .search-modal-overlay.open, .conflict-modal-overlay.open, .edit-dates-overlay.open) .pwa-install-pill{display:none}


.conflict-modal-overlay{
  display:none;position:fixed;inset:0;z-index:9750;
  background:rgba(28,25,23,.55);backdrop-filter:blur(6px);
  animation:wp-fade-in .25s ease;
}
.conflict-modal-overlay.open{display:flex;align-items:center;justify-content:center;padding:20px}
.conflict-modal{
  width:100%;max-width:680px;background:var(--white);
  border-radius:16px;border:1px solid var(--border);
  box-shadow:0 24px 72px rgba(28,25,23,.24);
  display:flex;flex-direction:column;max-height:calc(100dvh - 40px);overflow:hidden;
}
@media(max-width:600px){
  .conflict-modal-overlay.open{padding:0;align-items:flex-end}
  .conflict-modal{border-radius:16px 16px 0 0;max-height:92dvh}
}
.conflict-modal-header{
  padding:18px 22px 14px;border-bottom:1px solid var(--border-soft);
  display:flex;align-items:flex-start;gap:12px;
}
.conflict-modal-icon{
  width:36px;height:36px;border-radius:10px;
  background:var(--gold-bg);color:var(--gold-ink);
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
}
.conflict-modal-title{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-size:18px;font-weight:600;color:var(--ink);flex:1;line-height:1.25;
}
.conflict-modal-title em{font-style:italic;color:var(--terracotta);font-weight:500}
.conflict-modal-sub{
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:11.5px;color:var(--ink3);font-weight:400;margin-top:3px;
}
.conflict-modal-close{
  font-size:20px;color:var(--ink3);background:none;border:none;cursor:pointer;
  padding:6px;width:34px;height:34px;border-radius:8px;line-height:1;
}
.conflict-modal-close:hover{background:var(--cream);color:var(--ink)}
.conflict-modal-body{flex:1;overflow-y:auto;padding:14px 22px;display:flex;flex-direction:column;gap:14px}
.conflict-item{
  border:1px solid var(--border);border-radius:12px;padding:12px;background:var(--cream);
}
.conflict-item-name{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-style:italic;font-size:15px;color:var(--ink);margin-bottom:8px;
}
.conflict-item-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
}
@media(max-width:520px){.conflict-item-grid{grid-template-columns:1fr}}
.conflict-side{
  background:var(--white);border:1.5px solid var(--border2);
  border-radius:10px;padding:10px 12px;cursor:pointer;
  transition:all var(--dur-2) var(--ease);position:relative;
}
.conflict-side.is-auto{border-color:var(--terracotta);background:var(--terra3)}
.conflict-side:hover{border-color:var(--terracotta)}
.conflict-side.is-picked{border-color:var(--teal);background:var(--teal3);box-shadow:0 0 0 3px rgba(42,123,111,.15)}
.conflict-side-eyebrow{
  font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  color:var(--ink3);margin-bottom:5px;display:flex;align-items:center;gap:6px;
}
.conflict-side.is-auto .conflict-side-eyebrow::after{
  content:'★ AUTO';color:var(--terracotta);font-size:8.5px;font-weight:700;
  background:#fff;padding:1px 5px;border-radius:4px;
}
.conflict-side-meta{font-size:11px;color:var(--ink2);line-height:1.5}
.conflict-side-meta strong{color:var(--ink);font-weight:600}
.conflict-side-diff{
  font-size:11px;color:var(--ink3);margin-top:6px;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
}
.conflict-modal-footer{
  padding:14px 22px;border-top:1px solid var(--border-soft);
  display:flex;gap:10px;justify-content:space-between;align-items:center;background:var(--cream);
}
@media(max-width:520px){.conflict-modal-footer{flex-direction:column}}
.conflict-btn{
  padding:10px 18px;border-radius:10px;cursor:pointer;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:13px;font-weight:600;border:1.5px solid;
  transition:all var(--dur-2) var(--ease);
}
.conflict-btn-keep{background:var(--white);border-color:var(--border2);color:var(--ink2);flex:1}
.conflict-btn-keep:hover{border-color:var(--ink);color:var(--ink)}
.conflict-btn-apply{background:var(--teal);border-color:var(--teal);color:#fff;flex:1}
.conflict-btn-apply:hover{background:var(--teal-ink,#1F5A50)}
.conflict-btn-apply:disabled{opacity:.4;cursor:not-allowed}


.edit-dates-overlay{
  display:none;position:fixed;inset:0;z-index:9700;
  background:rgba(28,25,23,.55);backdrop-filter:blur(6px);
  animation:wp-fade-in .2s ease;
}
.edit-dates-overlay.open{display:flex;align-items:center;justify-content:center;padding:20px}
.edit-dates-modal{
  width:100%;max-width:480px;background:var(--white);
  border-radius:16px;border:1px solid var(--border);
  box-shadow:0 24px 72px rgba(28,25,23,.24);
  display:flex;flex-direction:column;max-height:calc(100dvh - 40px);overflow:hidden;
}
@media(max-width:600px){
  .edit-dates-overlay.open{padding:0;align-items:flex-end}
  .edit-dates-modal{border-radius:16px 16px 0 0;max-height:92dvh}
}
.edit-dates-header{
  padding:18px 22px 14px;border-bottom:1px solid var(--border-soft);
  display:flex;align-items:center;gap:12px;
}
.edit-dates-icon{
  width:36px;height:36px;border-radius:10px;
  background:var(--terra3);color:var(--terracotta);
  display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;
}
.edit-dates-title{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-size:19px;font-weight:600;color:var(--ink);flex:1;line-height:1.2;
}
.edit-dates-title em{font-style:italic;color:var(--terracotta);font-weight:500}
.edit-dates-close{
  font-size:20px;color:var(--ink3);background:none;border:none;cursor:pointer;
  padding:6px;width:34px;height:34px;border-radius:8px;line-height:1;
}
.edit-dates-close:hover{background:var(--cream);color:var(--ink)}
.edit-dates-body{padding:18px 22px;display:flex;flex-direction:column;gap:14px}
.edit-dates-current{
  font-size:12px;color:var(--ink3);
  padding:10px 12px;background:var(--cream);
  border:1px solid var(--border);border-radius:10px;
  line-height:1.5;
}
.edit-dates-current strong{color:var(--ink);font-weight:600}
.edit-dates-row{display:flex;gap:12px}
@media(max-width:400px){.edit-dates-row{flex-direction:column;gap:10px}}
.edit-dates-field{flex:1;display:flex;flex-direction:column;gap:5px}
.edit-dates-field label{
  font-size:10.5px;font-weight:600;color:var(--ink3);
  text-transform:uppercase;letter-spacing:.06em;
}
.edit-dates-field input[type="date"]{
  padding:10px 12px;border:1.5px solid var(--border);
  border-radius:10px;background:var(--white);
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:14px;color:var(--ink);outline:none;
  transition:border-color var(--dur-2) var(--ease);
}
.edit-dates-field input[type="date"]:focus{border-color:var(--terracotta);box-shadow:0 0 0 3px var(--terra3)}
.edit-dates-preview{
  padding:12px 14px;border-radius:10px;
  font-size:12.5px;line-height:1.55;
  border:1px solid var(--border);background:var(--cream);
  display:flex;gap:10px;align-items:flex-start;
}
.edit-dates-preview.scenario-shift{border-color:var(--teal);background:var(--teal3);color:var(--teal-ink,#1F5A50)}
.edit-dates-preview.scenario-extend{border-color:var(--gold);background:var(--gold3);color:var(--gold-ink)}
.edit-dates-preview.scenario-shrink{border-color:var(--terracotta);background:var(--terra3);color:var(--terracotta)}
.edit-dates-preview-icon{flex-shrink:0;margin-top:1px;display:inline-flex;align-items:center}
.edit-dates-preview strong{font-weight:700}
.edit-dates-err{
  padding:10px 14px;background:#FEF2F2;border:1px solid #FCA5A5;
  border-radius:10px;color:var(--danger);font-size:12.5px;line-height:1.5;
}
.edit-dates-footer{
  padding:14px 22px;border-top:1px solid var(--border-soft);
  display:flex;gap:10px;justify-content:flex-end;background:var(--cream);
}
.edit-dates-btn{
  padding:10px 18px;border-radius:10px;cursor:pointer;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:13px;font-weight:600;
  transition:all var(--dur-2) var(--ease);
  border:1.5px solid;
}
.edit-dates-btn-cancel{background:var(--white);border-color:var(--border2);color:var(--ink2)}
.edit-dates-btn-cancel:hover{border-color:var(--ink);color:var(--ink)}
.edit-dates-btn-apply{background:var(--terracotta);border-color:var(--terracotta);color:#fff}
.edit-dates-btn-apply:hover{background:#B85332;border-color:#B85332}
.edit-dates-btn-apply:disabled{opacity:.5;cursor:not-allowed}

.day-view-title{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-style:italic;font-weight:500;
  font-size:24px;color:var(--ink);line-height:1.15;letter-spacing:-0.01em;
  margin-top:2px;display:flex;align-items:baseline;flex-wrap:wrap;gap:6px;
}
.day-view-eyebrow{
  display:flex;align-items:center;gap:8px;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:10px;font-weight:600;
  letter-spacing:0.16em;text-transform:uppercase;color:var(--ink3);
  line-height:1;margin-bottom:8px;
}
.day-view-eyebrow .dvh-num{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-style:italic;font-weight:500;
  font-size:14px;letter-spacing:0;color:var(--day-accent, var(--terracotta));
}
.day-view-eyebrow .dvh-sep{color:var(--border2)}
.day-view-meta{margin-top:8px;display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.day-view-theme{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-style:italic;font-weight:400;
  font-size:14px;color:var(--ink3);margin-top:6px;line-height:1.4;letter-spacing:0.005em;
}
.day-view-nav{display:flex;align-items:center;gap:8px;flex-shrink:0}
.day-nav-btn{width:28px;height:28px;border-radius:50%;border:1px solid var(--border2);background:var(--white);font-size:16px;color:var(--ink2);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;line-height:1}

.day-density-btn{
  width:28px;height:28px;border-radius:8px;
  border:1px solid var(--border2);background:var(--white);
  color:var(--ink2);cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:all var(--dur-2) var(--ease);
}
.day-density-btn:hover{border-color:var(--terracotta);color:var(--terracotta);background:var(--terra3)}
body.density-compact .day-density-btn{background:var(--terracotta);border-color:var(--terracotta);color:#fff}


body.density-compact .act-card{
  padding:0;margin-bottom:4px;
  border-radius:8px;
}
body.density-compact .act-card::before{width:3px;min-width:3px}
body.density-compact .act-card-body{padding:8px 12px 8px 10px}
body.density-compact .act-card-top{align-items:center;gap:8px}
body.density-compact .act-card-title{font-size:13px;line-height:1.3;margin:0}
body.density-compact .act-card-time{font-size:11px;padding:1px 7px;margin:0}
body.density-compact .act-card-desc{display:none}
body.density-compact .act-tip{display:none}
body.density-compact .act-note{
  font-size:11px;padding:4px 8px 4px 22px;margin-top:4px;
  background-position:8px 7px;background-size:9px 9px;
}
body.density-compact .act-add-note-btn{display:none}
body.density-compact .act-card-meta{gap:4px;margin-top:3px}
body.density-compact .act-badge{font-size:9px;padding:1px 5px}
body.density-compact .act-location{font-size:10.5px}
body.density-compact .act-rating{font-size:10.5px;padding:1px 6px}
body.density-compact .act-cost-estimated{font-size:10.5px;padding:1px 6px}
body.density-compact .act-num-circle{width:18px;height:18px;font-size:10px}
body.density-compact .act-drag-handle{display:none}
body.density-compact .act-fav-btn{width:22px;height:22px}
body.density-compact .act-fav-btn svg{width:11px;height:11px}
body.density-compact .act-walk-sep{margin:2px 0;font-size:10px;opacity:.6}
body.density-compact .act-card-actions{padding:4px 12px 8px;gap:6px}
body.density-compact .act-book-btn{padding:4px 10px;font-size:11px}

body.density-compact .act-advance-booking,
body.density-compact .act-constraint-warn{display:none}

body.density-compact .day-view-header{padding:10px 14px 8px}
body.density-compact .day-view-title{font-size:18px}
.day-nav-btn:hover:not(:disabled){background:var(--terracotta);color:#fff;border-color:var(--terracotta)}
.day-nav-btn:disabled{opacity:.3;cursor:not-allowed}
#activeDayView{flex:1;overflow-y:auto;display:flex;flex-direction:column;padding-bottom:3em}
.day-items-list{padding:14px 16px 0;display:flex;flex-direction:column;gap:10px}

.day-weather-tip{
  position:relative;margin:22px 16px 0;padding:12px 16px 12px 36px;
  background:var(--gold3);border:1px solid var(--gold2);border-radius:var(--r);
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-style:italic;font-weight:400;
  font-size:13px;color:var(--gold);line-height:1.55;letter-spacing:0.005em;
}
.day-weather-tip::before{
  content:"✦";position:absolute;left:14px;top:13px;
  color:var(--gold);font-style:normal;font-weight:500;font-size:13px;
}

.day-general-tips{
  position:relative;margin:18px 16px 0;padding:16px 18px 14px;
  background:var(--teal3);border:1px solid var(--teal2);border-radius:var(--r);
}
.dgt-title{
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:10px;font-weight:600;color:var(--teal);
  text-transform:uppercase;letter-spacing:0.16em;margin-bottom:10px;
  display:flex;align-items:center;gap:8px;
}
.dgt-title::before{content:"";flex:0 0 18px;height:1px;background:var(--teal2)}
.dgt-item{
  font-size:13px;color:var(--ink2);margin-bottom:6px;line-height:1.55;
  padding-left:14px;position:relative;
}
.dgt-item::before{
  content:"·";position:absolute;left:0;top:-2px;
  color:var(--teal);font-weight:700;font-size:18px;
}
.day-budget-summary{margin:1em 1em 0;padding:1.25em 1.25em 2em;background:var(--white);border:1px solid var(--border);border-radius:var(--r)}
.dbs-title{font-size:12px;font-weight:600;color:var(--ink2);margin-bottom:10px;text-transform:uppercase;letter-spacing:.06em}
.dbs-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.dbs-card{padding:10px 12px;background:var(--white);border-radius:var(--rs);border:1px solid var(--border)}
.dbs-val{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:18px;color:var(--ink)}
.dbs-lbl{font-size:10px;color:var(--ink3);text-transform:uppercase;letter-spacing:.06em;margin-top:2px}


.day-map-strip{margin:8px 0 0 0;border-radius:var(--rs);overflow:hidden;border:1px solid var(--border)}
.day-map-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:var(--cream);border-bottom:1px solid var(--border)}
.day-map-label{font-size:11px;font-weight:500;color:var(--ink3);text-transform:uppercase;letter-spacing:.07em}
.day-map-route-link{font-size:11px;color:var(--teal);font-weight:500;text-decoration:none;display:flex;align-items:center;gap:4px}
.day-map-route-link:hover{color:var(--teal2)}
.day-map-pins{display:flex;flex-direction:column;gap:4px;padding:8px 12px;background:var(--white)}
.dmp-pin{display:flex;align-items:center;gap:8px;padding:5px 8px;border-radius:var(--rs);cursor:pointer;transition:all .15s}
.dmp-pin:hover{background:var(--cream)}
.dmp-num{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:#fff;flex-shrink:0}
.dmp-name{font-size:12px;color:var(--ink2);flex:1}
.dmp-type{font-size:10px;color:var(--ink3)}
.dmp-arrow{font-size:11px;color:var(--teal);font-weight:500;opacity:0}
.dmp-pin:hover .dmp-arrow{opacity:1}


.trip-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border-bottom:1px solid var(--border);background:var(--white);flex-shrink:0}
.tstat{padding:12px 16px;text-align:center;border-right:1px solid var(--border)}
.tstat:last-child{border-right:none}
.tstat-val{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:20px;color:var(--ink)}
.tstat-val.tstat-empty{color:var(--ink4);font-style:italic}
.tstat-lbl{font-size:9.5px;color:var(--ink3);text-transform:uppercase;letter-spacing:.06em;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}


.day-block{margin-bottom:8px;animation:fadeUp .3s ease;border:1px solid var(--border);border-radius:var(--r);overflow:hidden;background:var(--white)}
@keyframes fadeUp{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.day-header-row{display:flex;align-items:center;gap:12px;padding:12px 16px;cursor:pointer;user-select:none;transition:background .15s}
.day-header-row:hover{background:var(--cream)}
.day-num-circle{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-style:italic;font-size:15px;font-weight:500;color:#fff;flex-shrink:0;letter-spacing:-0.01em}
.day-header-text{flex:1;min-width:0}
.day-date-label{font-size:14px;font-weight:600;color:var(--ink);line-height:1.2;display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.day-weekday{font-size:11px;color:var(--ink3);margin-top:1px}
.day-weather-inline{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;border-radius:20px;background:var(--sky3);color:var(--sky);font-size:10px;font-weight:500}
.day-conflict{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;border-radius:20px;background:#FEF3E2;color:#B5700A;font-size:10px;font-weight:500}
.day-conflict-wrap{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.btn-resolve{display:inline-flex;align-items:center;gap:4px;padding:2px 10px;border-radius:20px;border:none;background:var(--rose);color:#fff;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:10px;font-weight:600;cursor:pointer;transition:all .18s;white-space:nowrap;-webkit-tap-highlight-color:transparent}
.btn-resolve:hover{background:#9c3349;transform:scale(1.03)}
.btn-resolve:disabled{opacity:.55;cursor:not-allowed;transform:none}
.btn-resolve svg{flex-shrink:0}
.day-chevron{font-size:12px;color:var(--ink3);transition:transform .2s;flex-shrink:0}
.day-block.collapsed .day-chevron{transform:rotate(-90deg)}
.day-timeline{padding:0 16px 12px 16px;border-top:1px solid var(--border)}
.day-block.collapsed .day-timeline{display:none}


.act-item{position:relative;transition:transform .18s ease,opacity .18s ease}


.act-drag-handle{
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;width:20px;min-width:20px;cursor:grab;opacity:0;
  flex-shrink:0;transition:opacity .15s;align-self:stretch;
  padding:0;-webkit-tap-highlight-color:transparent;touch-action:none;
}
.act-drag-handle:active{cursor:grabbing}
.act-drag-handle span{display:block;width:12px;height:2px;background:var(--ink3);border-radius:1px}
.act-card:hover .act-drag-handle,.act-item.drag-active .act-drag-handle{opacity:1}


@keyframes wp-day-slide-in-left{
  0%{transform:translateX(28px);opacity:.4}
  100%{transform:translateX(0);opacity:1}
}
@keyframes wp-day-slide-in-right{
  0%{transform:translateX(-28px);opacity:.4}
  100%{transform:translateX(0);opacity:1}
}
@keyframes wp-act-pulse{
  0%{box-shadow:0 0 0 0 rgba(201,146,42,.55), 0 4px 18px rgba(201,146,42,.15)}
  60%{box-shadow:0 0 0 6px rgba(201,146,42,.10), 0 8px 28px rgba(201,146,42,.25)}
  100%{box-shadow:0 0 0 0 transparent, 0 0 0 transparent}
}
.act-card.act-pulse{
  animation: wp-act-pulse 1.6s cubic-bezier(.4,0,.2,1);
  position:relative; z-index:2;
}
@media(max-width:768px){.act-drag-handle{opacity:.5}}


.act-item.dragging{opacity:.3;transform:scale(.985);pointer-events:none}
.act-item.drag-over-top::before{
  content:'';position:absolute;top:-3px;left:4px;right:4px;height:3px;
  background:var(--terracotta);border-radius:2px;z-index:100;
}
.act-item.drag-over-bottom::after{
  content:'';position:absolute;bottom:-3px;left:4px;right:4px;height:3px;
  background:var(--terracotta);border-radius:2px;z-index:100;
}
#_dragClone{
  position:fixed;pointer-events:none;z-index:9999;opacity:.94;
  border-radius:var(--r);
  box-shadow:0 16px 48px rgba(28,25,23,.18),0 4px 12px rgba(28,25,23,.10);
  transform-origin:center center;transition:none;
}


.act-card{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:var(--r);
  padding:0;
  cursor:pointer;
  position:relative;
  overflow:hidden;
  display:flex;
  align-items:stretch;
  transition:
    border-color 280ms cubic-bezier(0.215, 0.61, 0.355, 1),
    box-shadow 280ms cubic-bezier(0.215, 0.61, 0.355, 1),
    transform 280ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
.act-card::before{
  content:'';
  width:3px;min-width:3px;
  flex-shrink:0;
  transition: width 280ms cubic-bezier(0.215, 0.61, 0.355, 1);
}

.act-card:hover{
  border-color:rgba(28,25,23,.14);
  box-shadow:0 10px 28px rgba(28,25,23,.08), 0 1px 2px rgba(28,25,23,.04);
  transform:translateY(-2px);
}
.act-card:hover::before{ width:5px;min-width:5px; }


@keyframes wp-card-enter{
  from { opacity:0; transform: translateY(10px); }
  to   { opacity:1; transform: none; }
}
.act-card.wp-card-enter{
  animation: wp-card-enter 480ms cubic-bezier(0.215, 0.61, 0.355, 1) both;
}
.act-card.wp-card-enter:nth-child(1) { animation-delay: 0ms;  }
.act-card.wp-card-enter:nth-child(2) { animation-delay: 50ms; }
.act-card.wp-card-enter:nth-child(3) { animation-delay: 100ms;}
.act-card.wp-card-enter:nth-child(4) { animation-delay: 150ms;}
.act-card.wp-card-enter:nth-child(5) { animation-delay: 200ms;}
.act-card.wp-card-enter:nth-child(6) { animation-delay: 250ms;}
.act-card.wp-card-enter:nth-child(7) { animation-delay: 290ms;}
.act-card.wp-card-enter:nth-child(8) { animation-delay: 320ms;}
.act-card.wp-card-enter:nth-child(9) { animation-delay: 350ms;}
.act-card.wp-card-enter:nth-child(n+10) { animation-delay: 380ms;}

@media (prefers-reduced-motion: reduce){
  .act-card.wp-card-enter{ animation:none !important; }
  .act-card:hover{ transform: none !important; }
  .act-card:hover::before{ width:3px !important; }
}
.act-card.type-hotel::before   {background:var(--sky)}
.act-card.type-food::before    {background:var(--terracotta)}
.act-card.type-activity::before{background:var(--teal)}
.act-card.type-transport::before{background:var(--gold)}
.act-card.type-museum::before  {background:var(--teal)}
.act-card.type-free::before    {background:var(--ink3)}
.act-card.type-shopping::before{background:#7C3AED}


.act-card-body{flex:1;min-width:0;padding:14px 16px 13px 14px;display:flex;flex-direction:column;gap:0}


.act-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:7px}
.act-card-title{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-weight:500;font-style:normal;
  font-size:16px;color:var(--ink);
  line-height:1.25;letter-spacing:-0.005em;
  flex:1;min-width:0;
}
.act-card-time{
  display:inline-flex;align-items:center;
  flex-shrink:0;white-space:nowrap;
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-style:italic;font-weight:500;
  font-size:13px;color:var(--ink2);
  letter-spacing:0.02em;line-height:1;
  background:transparent;border:none;
  padding:3px 0 0;margin-top:0;
}


.act-card-desc{font-size:12.5px;color:var(--ink2);line-height:1.55;margin-bottom:9px;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}


.act-card-meta{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.act-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:20px;font-size:10.5px;font-weight:600;white-space:nowrap;flex-shrink:0;line-height:1.3}
.ab-hotel   {background:var(--sky3);   color:var(--sky);        border:1px solid var(--sky2)}
.ab-food    {background:var(--terra3); color:var(--terracotta); border:1px solid var(--terra2)}
.ab-activity{background:var(--teal3); color:var(--teal);       border:1px solid var(--teal2)}
.ab-transport{background:var(--gold3);color:var(--gold);        border:1px solid var(--gold2)}
.ab-museum  {background:var(--teal3); color:var(--teal);       border:1px solid var(--teal2)}
.ab-free    {background:#F5F5F4;      color:var(--ink3);       border:1px solid var(--border)}
.ab-shopping{background:#F5F3FF;      color:#7C3AED;           border:1px solid #DDD6FE}
.act-location{display:inline-flex;align-items:center;gap:3px;font-size:10.5px;color:var(--ink3);white-space:nowrap}
.act-cost-estimated{display:inline-flex;align-items:center;font-size:10.5px;font-weight:600;color:var(--teal);background:var(--teal3);border:1px solid var(--teal2);padding:2px 8px;border-radius:20px;white-space:nowrap}

.act-rating{
  display:inline-flex;align-items:center;gap:3px;
  font-size:10.5px;font-weight:700;
  color:#92400e;background:#FFF8E7;
  border:1px solid #F6D860;
  padding:2px 8px;border-radius:20px;
  white-space:nowrap;flex-shrink:0;letter-spacing:.01em;
}
.act-constraint-warn{
  display:inline-flex;align-items:center;gap:3px;
  font-size:10px;font-weight:600;
  color:#92400e;background:#FEF3C7;
  border:1px solid #F59E0B;
  padding:2px 7px;border-radius:20px;
  white-space:nowrap;flex-shrink:0;
  cursor:help;
}

.act-walk-sep{
  display:flex;align-items:center;gap:10px;
  padding:0 12px;min-height:24px;margin:2px 0;
  transition:opacity var(--dur-3) var(--ease);
}
.act-walk-hidden{ opacity:0;pointer-events:none;min-height:0;padding:0;margin:0 }
.act-walk-line{
  flex:1;height:0;
  border-top:1.25px dotted var(--border2);
  opacity:0.7;
}
.act-walk-label{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-style:italic;font-weight:400;
  font-size:11.5px;color:var(--ink3);white-space:nowrap;
  display:inline-flex;align-items:center;gap:6px;
  padding:3px 12px;border-radius:9999px;
  background:var(--cream);border:1px solid var(--border);
  letter-spacing:0.01em;
  box-shadow:0 1px 0 rgba(28,25,23,.02);
}
.act-walk-label svg{color:var(--ink3)}


.waypoint-walk-tooltip{
  background:rgba(28,25,23,.82);color:#fff;border:0;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:11px;font-weight:500;
  padding:4px 9px;border-radius:20px;white-space:nowrap;
  box-shadow:0 2px 8px rgba(0,0,0,.25);
}
.waypoint-walk-tooltip::before{ display:none }
.waypoint-cluster{background:transparent!important;border:none!important;overflow:visible!important}
.waypoint-cluster-inner{
  display:flex;align-items:center;justify-content:center;
  width:52px;height:52px;border-radius:50%;
  background:#680a0a;color:#fff;
  border:2.5px solid rgba(255,255,255,.92);
  box-shadow:0 2px 12px rgba(104,10,10,.5),0 0 0 1.5px rgba(104,10,10,.25);
  cursor:pointer;
  transition:transform .16s cubic-bezier(.32,.72,0,1),box-shadow .16s;
  position:relative;
}
.waypoint-cluster-inner:hover{
  transform:scale(1.13);
  box-shadow:0 4px 20px rgba(104,10,10,.65),0 0 0 2.5px rgba(104,10,10,.35);
}
.waypoint-cluster-num{
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:20px;font-weight:800;
  line-height:1;color:#fff;letter-spacing:-.5px;
}

.waypoint-cluster-lbl{display:none}

.waypoint-cluster-tooltip{
  position:absolute;
  bottom:calc(100% + 10px);
  left:50%;
  transform:translateX(-50%) translateY(4px);
  background:var(--ink);color:#fff;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:11px;font-weight:500;
  padding:6px 10px;border-radius:8px;
  white-space:nowrap;pointer-events:none;
  box-shadow:0 4px 14px rgba(0,0,0,.3);
  opacity:0;
  transition:opacity .18s ease,transform .18s ease;
  z-index:10000;
  display:flex;align-items:center;gap:5px;
}
.waypoint-cluster-tooltip::after{
  content:'';position:absolute;top:100%;left:50%;
  transform:translateX(-50%);
  border:6px solid transparent;
  border-top-color:var(--ink);
}
.waypoint-cluster-inner:hover .waypoint-cluster-tooltip{
  opacity:1;transform:translateX(-50%) translateY(0);
}

.wc-badge{
  display:inline-flex;align-items:center;justify-content:center;
  width:20px;height:20px;border-radius:50%;
  background:rgba(255,255,255,.15);
  font-size:10px;font-weight:700;color:#fff;
  flex-shrink:0;
}

.leaflet-cluster-anim .leaflet-marker-icon,.leaflet-cluster-anim .leaflet-marker-shadow{
  transition:left .3s cubic-bezier(.32,.72,0,1),top .3s cubic-bezier(.32,.72,0,1);
}

.shr-prev-card{
  display:flex;align-items:stretch;
  background:var(--white);border:1.5px solid var(--border);
  border-radius:var(--r);overflow:hidden;flex-shrink:0;
  transition:border-color .15s,box-shadow .15s;
}
.shr-prev-card:hover{border-color:rgba(28,25,23,.18);box-shadow:0 4px 20px rgba(28,25,23,.09)}
.shr-prev-accent{width:4px;min-width:4px;flex-shrink:0;border-radius:var(--r) 0 0 var(--r)}
.shr-prev-body{flex:1;min-width:0;padding:11px 13px 10px 11px;display:flex;flex-direction:column;gap:0}
.shr-prev-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:4px}
.shr-prev-title{font-size:13px;font-weight:600;color:var(--ink);line-height:1.3;flex:1;min-width:0}
.shr-prev-time{display:inline-flex;align-items:center;flex-shrink:0;white-space:nowrap;font-size:10.5px;font-weight:600;color:var(--ink2);background:var(--cream);border:1px solid var(--border);border-radius:20px;padding:2px 8px;margin-top:1px}
.shr-prev-meta{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.shr-prev-badge{display:inline-flex;align-items:center;padding:2px 7px;border-radius:20px;font-size:9.5px;font-weight:600;white-space:nowrap;color:#fff}
.shr-prev-loc{font-size:11px;color:var(--ink3)}
.shr-prev-cost{font-size:11px;font-weight:600;color:var(--ink2);margin-left:auto}
.act-rating-count{font-size:9.5px;font-weight:500;color:var(--ink3);margin-left:1px}
.act-rating-loading{opacity:.4}

.act-rating-early{border-style:dashed}
.act-rating-new{
  font-size:8.5px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;
  color:var(--gold-ink,#8A6F2F);background:var(--gold-bg,#FEFAEE);
  border-radius:3px;padding:1px 4px;margin-left:3px;
}



.act-tip{
  position:relative;font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-style:italic;font-weight:400;
  font-size:13px;color:var(--ink3);
  margin-top:10px;padding:10px 0 2px 18px;
  border-top:1px solid var(--border);line-height:1.55;
  max-height:none;word-break:break-word;letter-spacing:0.005em;
}
.act-tip::before{
  content:"✦";position:absolute;left:0;top:11px;
  color:var(--terracotta);font-style:normal;font-size:11px;
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-weight:500;
}
.act-card .act-tip{display:block}


.act-note{
  position:relative;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:13px;color:var(--ink2);
  margin-top:8px;padding:9px 10px 9px 28px;
  background:var(--gold-bg);border:1px solid #F0E6CC;border-radius:8px;
  line-height:1.5;word-break:break-word;
}
.act-note::before{
  content:'';position:absolute;left:10px;top:11px;
  width:10px;height:10px;
  background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A6F2F' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4z'/%3E%3C/svg%3E") no-repeat center;
  background-size:contain;
}
.act-note-input{
  width:100%;border:1px solid #F0E6CC;background:var(--gold-bg);
  border-radius:8px;padding:8px 10px 8px 28px;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:13px;color:var(--ink);line-height:1.5;
  resize:none;outline:none;margin-top:8px;
  position:relative;box-sizing:border-box;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%238A6F2F' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20h9'/%3E%3Cpath d='M16.5 3.5a2.121 2.121 0 0 1 3 3L7 19l-4 1 1-4z'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:9px 10px;background-size:10px 10px;
}
.act-note-input:focus{border-color:var(--gold);box-shadow:0 0 0 2px rgba(201,146,42,.15)}
.act-add-note-btn{
  font-size:11px;color:var(--gold-ink);background:none;border:1px dashed #F0E6CC;
  border-radius:6px;padding:4px 9px;cursor:pointer;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  margin-top:6px;display:inline-flex;align-items:center;gap:5px;
  transition:background var(--dur-2) var(--ease);
}
.act-add-note-btn:hover{background:var(--gold-bg)}


.act-resuggest-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;border-radius:50%;
  background:transparent;border:1px solid var(--border2);
  color:var(--ink3);cursor:pointer;
  transition:all var(--dur-2) var(--ease);
  flex-shrink:0;padding:0;
}
.act-resuggest-btn:hover{background:var(--teal3);border-color:var(--teal);color:var(--teal)}
.act-resuggest-btn.loading{pointer-events:none;opacity:.6}
.act-resuggest-btn.loading svg{animation:wp-spin 1s linear infinite}
@keyframes wp-spin{from{transform:rotate(0)}to{transform:rotate(360deg)}}
body.density-compact .act-resuggest-btn{width:22px;height:22px}
body.density-compact .act-resuggest-btn svg{width:11px;height:11px}


.resuggest-modal-overlay{
  display:none;position:fixed;inset:0;z-index:9700;
  background:rgba(28,25,23,.55);backdrop-filter:blur(6px);
  animation:wp-fade-in .2s ease;
}
.resuggest-modal-overlay.open{display:flex;align-items:center;justify-content:center;padding:24px}
.resuggest-modal{
  width:100%;max-width:760px;background:var(--white);
  border-radius:16px;border:1px solid var(--border);
  box-shadow:0 24px 72px rgba(28,25,23,.24);
  display:flex;flex-direction:column;max-height:calc(100dvh - 48px);overflow:hidden;
  animation:wp-fade-in .25s ease;
}
.resuggest-modal-header{
  padding:18px 20px 12px;border-bottom:1px solid var(--border-soft);
  display:flex;align-items:center;gap:12px;
}
.resuggest-modal-title{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-size:18px;font-weight:600;color:var(--ink);flex:1;
}
.resuggest-modal-title em{font-style:italic;color:var(--teal);font-weight:500}
.resuggest-modal-close{
  font-size:18px;color:var(--ink3);background:none;border:none;cursor:pointer;
  padding:6px;width:32px;height:32px;border-radius:8px;line-height:1;
}
.resuggest-modal-close:hover{background:var(--cream);color:var(--ink)}
.resuggest-modal-body{
  flex:1;overflow-y:auto;padding:16px 20px 12px;
  display:grid;grid-template-columns:1fr 1fr;gap:14px;
}
@media(max-width:600px){
  .resuggest-modal-overlay.open{padding:12px;align-items:flex-end}
  .resuggest-modal{max-height:90dvh;border-radius:16px 16px 0 0}
  .resuggest-modal-body{grid-template-columns:1fr}
}
.resuggest-col{
  background:var(--cream);border:1.5px solid var(--border);
  border-radius:12px;padding:14px;display:flex;flex-direction:column;gap:6px;
  position:relative;min-height:160px;
}
.resuggest-col.is-new{
  background:var(--teal3);border-color:var(--teal);
}
.resuggest-col-label{
  font-size:9.5px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;
  color:var(--ink3);margin-bottom:4px;
}
.resuggest-col.is-new .resuggest-col-label{color:var(--teal)}
.resuggest-col-title{
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:14px;font-weight:700;color:var(--ink);line-height:1.3;
}
.resuggest-col-desc{font-size:12px;color:var(--ink2);line-height:1.5}
.resuggest-col-meta{
  display:flex;gap:6px;flex-wrap:wrap;margin-top:4px;
  font-size:11px;color:var(--ink3);
}
.resuggest-col-meta span{
  background:var(--white);border:1px solid var(--border2);
  padding:2px 8px;border-radius:20px;
}
.resuggest-col.is-new .resuggest-col-meta span{background:var(--white);border-color:var(--teal)}
.resuggest-skeleton{
  background:linear-gradient(90deg, var(--cream) 0%, #F2EAD8 50%, var(--cream) 100%);
  background-size:200% 100%;
  animation:wp-skeleton 1.4s linear infinite;
  border-radius:6px;height:14px;margin-bottom:8px;
}
.resuggest-skeleton.short{width:60%}
.resuggest-skeleton.med{width:90%;height:12px}
@keyframes wp-skeleton{0%{background-position:200% 0}100%{background-position:-200% 0}}
.resuggest-modal-footer{
  padding:14px 20px;border-top:1px solid var(--border-soft);
  display:flex;gap:10px;justify-content:flex-end;
  background:var(--cream);
}
.resuggest-btn{
  padding:10px 18px;border-radius:10px;cursor:pointer;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:13px;font-weight:600;transition:all var(--dur-2) var(--ease);
  border:1.5px solid;
}
.resuggest-btn-keep{
  background:var(--white);border-color:var(--border2);color:var(--ink2);
}
.resuggest-btn-keep:hover{border-color:var(--ink);color:var(--ink)}
.resuggest-btn-replace{
  background:var(--teal);border-color:var(--teal);color:#fff;
}
.resuggest-btn-replace:hover{background:var(--teal-ink,#1F5A50);border-color:var(--teal-ink,#1F5A50)}
.resuggest-btn-replace:disabled,.resuggest-btn-keep:disabled{opacity:.5;cursor:not-allowed}
.resuggest-err{
  grid-column:1/-1;padding:20px;text-align:center;
  color:var(--danger);font-size:13px;background:#FEF2F2;
  border-radius:10px;border:1px solid #FCA5A5;
}


.act-fav-btn{
  display:inline-flex;align-items:center;justify-content:center;
  width:26px;height:26px;border-radius:50%;
  background:transparent;border:1px solid var(--border2);
  color:var(--ink3);cursor:pointer;
  transition:all var(--dur-2) var(--ease);
  flex-shrink:0;padding:0;
}
.act-fav-btn:hover{background:var(--gold-bg);border-color:var(--gold);color:var(--gold-ink)}
.act-fav-btn.is-fav{background:var(--gold);border-color:var(--gold);color:#FFF}
.act-fav-btn.is-fav:hover{background:var(--gold-ink);border-color:var(--gold-ink)}
.act-fav-btn svg{display:block}

@keyframes _favPop{0%{transform:scale(1)}40%{transform:scale(1.25)}100%{transform:scale(1)}}
.act-fav-btn.is-fav.just-favved{animation:_favPop 360ms var(--ease)}


.profile-stats-card{
  background:linear-gradient(135deg, #FFFCF1 0%, var(--gold3) 100%);
  border:1px solid var(--border);border-radius:16px;
  padding:18px 18px 16px;position:relative;
  
}
.profile-stats-card::before{
  content:'';position:absolute;top:-40px;right:-40px;
  width:120px;height:120px;border-radius:50%;
  background:radial-gradient(circle, rgba(201,146,42,.16) 0%, transparent 70%);
  pointer-events:none;
}
.profile-stats-eyebrow{
  font-size:10px;font-weight:600;color:var(--ink3);
  text-transform:uppercase;letter-spacing:.10em;margin-bottom:14px;
  position:relative;z-index:1;
}
.profile-stats-grid{
  display:grid;grid-template-columns:repeat(4, 1fr);gap:8px;
  position:relative;z-index:1;
}
.profile-stat-cell{
  text-align:center;padding:6px 2px;
}
.profile-stat-num{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-style:italic;font-weight:500;
  font-size:34px;color:var(--terracotta);
  line-height:1;margin-bottom:5px;
  font-feature-settings:"tnum" 1, "lnum" 1;
  letter-spacing:-0.02em;
}
.profile-stat-label{
  font-size:9.5px;color:var(--ink3);font-weight:500;
  text-transform:uppercase;letter-spacing:.10em;line-height:1.2;
}
.profile-stats-empty{
  font-size:12px;color:var(--ink3);font-style:italic;text-align:center;
  padding:6px 0;position:relative;z-index:1;
}
@media(max-width:480px){
  .profile-stats-card{padding:16px 14px}
  .profile-stats-grid{grid-template-columns:repeat(4, 1fr);gap:4px}
  .profile-stat-num{font-size:26px}
  .profile-stat-label{font-size:8.5px;letter-spacing:.08em}
}

body.app-active.dark-mode .profile-stats-card{
  background:linear-gradient(135deg, #1A2735 0%, rgba(201,146,42,.10) 100%);
  border-color:rgba(244,239,231,.10);
}


.family-section{
  background:linear-gradient(135deg, var(--cream) 0%, #FBF1D6 100%);
  border:1.5px solid #E8D597;
  border-radius:14px;padding:14px 16px;
}
.family-section-header{
  display:flex;align-items:center;gap:12px;margin-bottom:10px;
}
.family-section-icon{font-size:22px;line-height:1}
.family-section-title{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-style:italic;font-size:16px;color:var(--ink);font-weight:500;
}
.family-section-sub{
  font-size:11.5px;color:var(--ink3);margin-top:2px;
}
.family-trial-banner{
  display:flex;align-items:center;gap:10px;
  background:var(--white);border:1px solid var(--terracotta);
  border-radius:10px;padding:10px 12px;margin-bottom:10px;
}
.family-trial-banner.is-expired{
  background:#FEF2F2;border-color:var(--danger);
}
.family-trial-dot{
  width:8px;height:8px;border-radius:50%;background:var(--terracotta);
  flex-shrink:0;animation:wp-trial-pulse 2s ease-in-out infinite;
}
.family-trial-dot.expired{background:var(--danger);animation:none}
@keyframes wp-trial-pulse{
  0%,100%{transform:scale(1);opacity:1}
  50%{transform:scale(1.3);opacity:.5}
}
.family-trial-cta{
  margin-left:auto;flex-shrink:0;
  padding:7px 12px;border-radius:8px;
  background:var(--terracotta);color:#fff;border:none;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:11.5px;font-weight:700;cursor:pointer;
  transition:background var(--dur-2) var(--ease);
}
.family-trial-cta:hover{background:#B85332}
.family-members{display:flex;flex-direction:column;gap:6px;margin:8px 0}
.family-member{
  display:flex;align-items:center;gap:10px;
  padding:8px 10px;border-radius:10px;
  background:var(--white);border:1px solid var(--border-soft);
}
.family-member.is-self{background:var(--terra3);border-color:var(--terracotta)}
.family-member.is-pending{background:var(--cream);border-style:dashed}
.family-member-avatar{
  width:28px;height:28px;border-radius:50%;
  background:var(--terracotta);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:12px;font-weight:700;flex-shrink:0;
}
.family-member.is-self .family-member-avatar{background:var(--ink)}
.family-member.is-pending .family-member-avatar{background:var(--ink3);color:#fff}
.family-member-info{flex:1;min-width:0}
.family-member-name{
  font-size:12.5px;font-weight:600;color:var(--ink);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.family-member-email{
  font-size:10.5px;color:var(--ink3);margin-top:1px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.family-member-action{
  border:none;background:transparent;color:var(--ink3);cursor:pointer;
  
  min-width:44px;min-height:44px;
  display:inline-flex;align-items:center;justify-content:center;
  border-radius:8px;line-height:1;font-size:16px;
  flex-shrink:0;transition:all var(--dur-2) var(--ease);
  -webkit-tap-highlight-color:transparent;
}
.family-member-action:hover,.family-member-action:active{background:var(--cream);color:var(--ink)}
.family-invite-row{
  display:flex;gap:6px;margin-top:8px;
}
.family-invite-row input{
  flex:1;padding:8px 10px;border:1px solid var(--border);
  border-radius:8px;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:12px;background:var(--white);color:var(--ink);outline:none;
}
.family-invite-row input:focus{border-color:var(--terracotta)}
.family-invite-btn{
  padding:8px 12px;border-radius:8px;border:none;
  background:var(--terracotta);color:#fff;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:12px;font-weight:600;cursor:pointer;flex-shrink:0;
}
.family-invite-btn:hover{background:#B85332}
.family-leave-btn{
  padding:10px 14px;border:1px solid var(--border);background:var(--white);
  color:var(--ink2);font-size:12px;cursor:pointer;border-radius:8px;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  min-height:44px;display:inline-flex;align-items:center;
  -webkit-tap-highlight-color:transparent;
}
.family-leave-btn:hover,.family-leave-btn:active{border-color:var(--danger);color:var(--danger);background:var(--rose3)}


.wp-confirm-overlay{
  position:fixed;inset:0;z-index:10500;
  background:rgba(28,25,23,.55);backdrop-filter:blur(4px);
  display:flex;align-items:center;justify-content:center;padding:20px;
  opacity:0;transition:opacity .2s ease;
  pointer-events:none;
}
.wp-confirm-overlay.open{opacity:1;pointer-events:auto}
.wp-confirm-modal{
  background:var(--white);width:100%;max-width:380px;
  border-radius:18px;padding:24px 22px 18px;
  display:flex;flex-direction:column;align-items:center;text-align:center;gap:8px;
  box-shadow:0 24px 48px rgba(28,25,23,.18);
  transform:translateY(12px) scale(.97);
  transition:transform .25s cubic-bezier(.22,.68,0,1.15);
  border:1px solid var(--border);
}
.wp-confirm-overlay.open .wp-confirm-modal{transform:translateY(0) scale(1)}
.wp-confirm-icon{
  width:44px;height:44px;border-radius:50%;
  background:linear-gradient(135deg,#FFF6E8,#FFEDD3);
  color:var(--gold-ink,#8A6F2F);
  font-family:'Playfair Display',Georgia,serif;font-style:italic;
  font-size:22px;font-weight:500;line-height:1;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:4px;
}
.wp-confirm-title{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-style:italic;font-size:19px;font-weight:500;
  color:var(--ink);letter-spacing:-0.01em;line-height:1.2;
}
.wp-confirm-body{
  font-family:'Outfit','Outfit Fallback',sans-serif;
  font-size:13px;color:var(--ink2);line-height:1.5;
  padding:4px 6px 8px;
}
.wp-confirm-body strong{color:var(--ink);font-weight:600}
.wp-confirm-actions{
  display:flex;gap:8px;width:100%;margin-top:8px;
}
.wp-confirm-btn{
  flex:1;padding:12px 14px;border-radius:10px;cursor:pointer;
  font-family:'Outfit','Outfit Fallback',sans-serif;
  font-size:13px;font-weight:600;letter-spacing:0.01em;
  min-height:44px;
  -webkit-tap-highlight-color:transparent;
  transition:background .15s ease, border-color .15s ease, transform .12s ease;
  border:1px solid;
}
.wp-confirm-btn.cancel{
  background:var(--white);color:var(--ink2);border-color:var(--border);
}
.wp-confirm-btn.cancel:hover{background:var(--cream);border-color:var(--ink3)}
.wp-confirm-btn.primary{
  background:var(--terracotta);color:#fff;border-color:var(--terracotta);
}
.wp-confirm-btn.primary:hover{background:var(--terracotta-hover);transform:translateY(-1px)}
.wp-confirm-btn.danger{
  background:var(--danger);color:#fff;border-color:var(--danger);
}
.wp-confirm-btn.danger:hover{background:var(--danger-hover);transform:translateY(-1px)}


.profile-countries-section{
  margin-top:14px;padding-top:12px;
  border-top:1px solid var(--border-soft);
  position:relative;z-index:1;
  
  overflow:visible;width:100%;
}
.profile-countries-label{
  font-size:10px;font-weight:600;color:var(--ink3);
  text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;
}
.profile-countries-flags{
  display:flex;flex-wrap:wrap;gap:6px;
  
}
.profile-country-flag{
  display:inline-flex;align-items:center;gap:4px;
  font-size:22px;line-height:1;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:8px;padding:5px 8px;
  cursor:default;transition:all var(--dur-2) var(--ease);
  
  min-width:32px;justify-content:center;
}
.profile-country-flag:hover{
  border-color:var(--terracotta);
  transform:translateY(-1px);
  box-shadow:0 2px 8px rgba(28,25,23,.10);
}
.profile-country-flag.is-sample{
  opacity:.45;
  background:transparent;
  border-style:dashed;
  filter:grayscale(.25);
}
.profile-country-flag.is-sample:hover{
  opacity:.85;filter:grayscale(0);
  border-style:solid;
}
.profile-country-count{
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:10px;font-weight:700;color:var(--terracotta);
  margin-left:2px;
}
.profile-countries-hint{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-style:italic;font-size:11.5px;color:var(--ink3);
  margin-top:8px;
}
body.app-active.dark-mode .profile-country-flag{background:#1A2735;border-color:rgba(244,239,231,.12)}
body.app-active.dark-mode .profile-country-flag.is-sample{background:transparent}


.profile-fav-section{margin-top:18px}
.profile-fav-empty{
  font-size:12px;color:var(--ink3);font-style:italic;
  padding:14px 12px;background:var(--cream);border-radius:10px;
  border:1px dashed var(--border2);text-align:center;line-height:1.5;
}
.profile-fav-item{
  display:flex;align-items:flex-start;gap:10px;
  padding:10px 12px;background:var(--cream);border:1px solid var(--border-soft);
  border-radius:10px;margin-bottom:6px;cursor:pointer;
  transition:all var(--dur-2) var(--ease);
}
.profile-fav-item:hover{border-color:var(--gold);background:var(--gold-bg);transform:translateY(-1px)}
.profile-fav-item-star{
  color:var(--gold);display:inline-flex;align-items:center;flex-shrink:0;
  margin-top:1px;
}
.profile-fav-item-content{flex:1;min-width:0}
.profile-fav-item-title{
  font-size:13px;font-weight:600;color:var(--ink);
  line-height:1.3;margin-bottom:2px;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.profile-fav-item-trip{
  font-size:11px;color:var(--ink3);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.profile-fav-item-trip strong{color:var(--terracotta);font-weight:600}
.profile-fav-remove{
  font-size:11px;color:var(--ink3);background:none;border:none;
  cursor:pointer;padding:4px 8px;border-radius:6px;flex-shrink:0;
  transition:all var(--dur-2) var(--ease);
}
.profile-fav-remove:hover{color:var(--danger);background:#FEF2F2}


.act-conflict-alert{font-size:11px;color:var(--danger-hover);margin-top:8px;padding:6px 10px;background:#FEF2F2;border-radius:var(--rs);border-left:3px solid var(--danger);line-height:1.5}

.act-zigzag-badge{
  display:inline-flex;align-items:center;gap:4px;
  font-size:10px;font-weight:600;
  color:var(--terracotta);background:var(--terra2);
  border:1px solid var(--terra3);border-radius:20px;
  padding:2px 8px;margin-top:6px;cursor:pointer;
  white-space:nowrap;transition:background .15s;
}
.act-zigzag-badge:hover{background:var(--terra3)}
.act-zigzag-detail{
  font-size:11px;color:var(--terracotta);margin-top:6px;
  padding:7px 10px;background:var(--terra2);
  border-radius:var(--rs);border-left:3px solid var(--terracotta);
  line-height:1.5;
}
.act-zigzag-detail button{
  display:inline-flex;align-items:center;gap:4px;
  margin-top:6px;padding:4px 10px;border-radius:20px;
  border:1.5px solid var(--terracotta);background:transparent;
  color:var(--terracotta);font-size:10.5px;font-weight:600;
  cursor:pointer;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  transition:all .15s;
}
.act-zigzag-detail button:hover{background:var(--terracotta);color:#fff}


.act-card-actions{display:none;gap:5px;margin-top:8px;padding-top:8px;border-top:1px solid var(--border)}
.act-card:hover .act-card-actions{display:flex}

.act-overflow-btn{
  background:transparent;border:none;cursor:pointer;
  color:var(--ink3);padding:4px;border-radius:6px;
  display:none;align-items:center;justify-content:center;
  transition:background .15s ease, color .15s ease;
  -webkit-tap-highlight-color:transparent;flex-shrink:0;
}
.act-overflow-btn:hover{background:var(--cream);color:var(--ink)}
.act-item.is-actions-open .act-overflow-btn{color:var(--terracotta);background:var(--terra3)}
@media (max-width: 768px){
  .act-overflow-btn{display:inline-flex}
}
.act-btn{padding:4px 10px;border-radius:var(--rs);border:1px solid var(--border);background:transparent;font-size:10.5px;color:var(--ink2);cursor:pointer;transition:all .15s;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-weight:500}
.act-btn:hover{background:var(--cream);border-color:var(--border2)}
.act-btn-danger{color:var(--danger);border-color:#FECACA}
.act-btn-danger:hover{background:#FEF2F2}



.add-act-btn{
  display:flex;align-items:center;justify-content:center;gap:8px;
  padding:14px 16px;border-radius:var(--r);
  border:1.5px dashed var(--border2);background:transparent;
  color:var(--ink3);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:13px;font-weight:500;
  cursor:pointer;transition:border-color var(--dur-2) var(--ease), color var(--dur-2) var(--ease), background var(--dur-2) var(--ease);
  width:calc(100% - 32px);margin:18px 16px 0;
  letter-spacing:0.01em;
}
.add-act-btn::before{
  content:"+";font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-style:italic;font-weight:500;
  font-size:18px;line-height:1;margin-top:-2px;color:inherit;
}
.add-act-btn:hover{
  border-color:var(--terracotta);color:var(--terracotta);
  background:var(--terra3);border-style:solid;
}


.budget-summary-block{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:20px;margin-bottom:32px}
.bsb-title{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:18px;font-weight:500;margin-bottom:16px;color:var(--ink)}
.bsb-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px}
.bsb-card{padding:12px 14px;border-radius:var(--rs);background:var(--cream)}
.bsb-card-val{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:22px;color:var(--ink)}
.bsb-card-lbl{font-size:11px;color:var(--ink3);text-transform:uppercase;letter-spacing:.07em}
.bsb-breakdown{display:flex;flex-direction:column;gap:6px}
.bsb-row{display:flex;align-items:center;justify-content:space-between;font-size:13px}
.bsb-row-label{display:flex;align-items:center;gap:8px;color:var(--ink2)}
.bsb-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}
.bsb-row-val{font-weight:500;color:var(--ink)}
.bsb-note{font-size:11px;color:var(--ink3);margin-top:12px;font-style:italic;line-height:1.5}


.sidebar-tabs{
  display:flex;border-bottom:1px solid var(--border);
  flex-shrink:0;background:var(--white);
  border-left:1px solid var(--border);
  height:56px;box-sizing:border-box;
  align-items:stretch;position:relative;
}
.rtab{
  flex:1;padding:0;height:100%;font-size:11px;font-weight:500;
  color:var(--ink3);cursor:pointer;text-align:center;
  white-space:nowrap;display:flex;align-items:center;justify-content:center;
  box-sizing:border-box;position:relative;
  transition: color 260ms cubic-bezier(0.215, 0.61, 0.355, 1),
              background 220ms ease;
}

.rtab::after{
  content:''; position:absolute; left:50%; bottom:0;
  width:0; height:2px;
  background: var(--terracotta);
  transform: translateX(-50%);
  transition: width 320ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
.rtab.active{ color: var(--ink); }
.rtab.active::after{ width: 60%; }
.rtab:hover:not(.active){
  color: var(--ink2);
  background: var(--cream);
}
.rtab:hover:not(.active)::after{ width: 30%; background: var(--ink4); }


.rpanel{
  flex:1;overflow-y:auto;display:none;min-height:0;box-sizing:border-box;
  opacity:0; transform: translateY(6px);
  transition: opacity 260ms cubic-bezier(0.215, 0.61, 0.355, 1),
              transform 260ms cubic-bezier(0.215, 0.61, 0.355, 1);
}
.rpanel.active{
  display:flex; flex-direction:column;
  opacity:1; transform:none;
}


#rpanel-map{overflow:hidden}
#rpanel-map .map-ui{height:100%;display:flex;flex-direction:column}
#leafletMap{flex:1;min-height:0;width:100%;position:relative}


.leaflet-popup-content-wrapper{border-radius:12px!important;box-shadow:0 8px 32px rgba(28,25,23,.14),0 2px 8px rgba(28,25,23,.07)!important;border:1px solid #EAE7E4!important;padding:0!important}
.leaflet-overlay-pane svg{shape-rendering:geometricPrecision}
.leaflet-popup-content{margin:14px 16px 14px 16px!important;padding-right:22px!important;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif!important;line-height:1.5!important}
.leaflet-popup-tip-container{margin-top:-1px}
.leaflet-popup-tip{background:#fff!important;box-shadow:none!important}
.leaflet-popup-close-button{color:var(--ink3-faint)!important;font-size:14px!important;top:8px!important;right:8px!important;width:22px!important;height:22px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;line-height:1!important;transition:all .15s!important}
.leaflet-popup-close-button:hover{background:#F5F5F4!important;color:var(--ink)!important}

.leaflet-control-zoom{border:1px solid #E7E5E4!important;border-radius:10px!important;overflow:hidden;box-shadow:0 2px 12px rgba(28,25,23,.1)!important;margin-bottom:10px!important;margin-right:10px!important}
.leaflet-control-zoom a{background:#fff!important;color:var(--ink)!important;border-bottom:1px solid #F0EDEA!important;font-size:16px!important;font-weight:300!important;width:32px!important;height:32px!important;line-height:32px!important;transition:all .15s!important;display:flex!important;align-items:center!important;justify-content:center!important}
.leaflet-control-zoom a:hover{background:#FFF8F5!important;color:var(--terracotta)!important}
.leaflet-control-zoom-out{border-bottom:none!important}

.leaflet-control-attribution{font-size:9px!important;background:rgba(255,255,255,.7)!important;border-radius:4px 0 0 0!important;padding:2px 6px!important}


.chat-messages{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:7px;min-height:0}
.chat-msg{max-width:88%;padding:8px 11px;border-radius:12px;font-size:12px;line-height:1.5}
.chat-msg-ai{background:var(--cream);border:1px solid var(--border);color:var(--ink2);align-self:flex-start;border-bottom-left-radius:3px}
.chat-msg-user{background:var(--terracotta);color:#fff;align-self:flex-end;border-bottom-right-radius:3px}
.chat-changelog{align-self:flex-start;max-width:92%;margin-top:-2px;margin-bottom:2px}
.chat-changelog-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 9px;border-radius:20px;background:var(--white);border:1px solid var(--border2);font-size:10px;color:var(--ink3);cursor:pointer;transition:all .15s;user-select:none;-webkit-tap-highlight-color:transparent;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}
.chat-changelog-pill:hover{background:var(--cream);color:var(--ink2);border-color:var(--border)}
.chat-changelog-pill .cl-arrow{display:inline-block;transition:transform .18s;font-style:normal}
.chat-changelog-pill.open .cl-arrow{transform:rotate(90deg)}
.chat-changelog-body{display:none;margin-top:4px;background:var(--white);border:1px solid var(--border);border-radius:10px;overflow:hidden;font-size:11px;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}
.chat-changelog-pill.open+.chat-changelog-body{display:block}
.cl-header{display:flex;align-items:center;justify-content:space-between;padding:6px 10px;background:var(--cream);border-bottom:1px solid var(--border)}
.cl-ts{font-size:9px;color:var(--ink3)}
.cl-undo-btn{padding:2px 8px;border-radius:20px;border:1px solid var(--border2);background:var(--white);font-size:9px;color:var(--ink2);cursor:pointer;transition:all .15s;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-weight:500;white-space:nowrap}
.cl-undo-btn:hover{background:var(--rose3);border-color:var(--rose2);color:var(--rose)}
.cl-row{display:flex;align-items:flex-start;gap:8px;padding:5px 10px;border-bottom:1px solid var(--border);line-height:1.4}
.cl-row:last-child{border-bottom:none}

.cl-icon{flex-shrink:0;margin-top:2px;color:var(--terracotta-ink,#B85128);display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px}
.cl-icon svg{display:block}
.cl-text{flex:1;color:var(--ink2)}
.cl-text strong{color:var(--ink);font-weight:600}
.cl-diff{display:flex;gap:4px;align-items:center;font-size:10px;margin-top:2px;flex-wrap:wrap}
.cl-before{background:#FEF2F2;color:var(--danger-hover);padding:1px 5px;border-radius:4px;text-decoration:line-through;font-family:monospace}
.cl-after{background:#F0FFF4;color:#27ae60;padding:1px 5px;border-radius:4px;font-family:monospace}
.chat-msg-thinking{align-self:flex-start}
.chat-input-area{padding:8px 12px 10px;border-top:1px solid var(--border);display:flex;flex-direction:column;gap:6px;flex-shrink:0;background:var(--white)}
.chat-suggestions{display:flex;flex-wrap:wrap;gap:4px}
.chat-sug{padding:3px 8px;border-radius:20px;border:1px solid var(--border2);font-size:10px;color:var(--ink2);cursor:pointer;transition:all .15s;background:var(--white);white-space:nowrap}
.chat-sug:hover{border-color:var(--terracotta);background:var(--terra3);color:var(--terracotta)}
.chat-input-row{display:flex;gap:6px;align-items:flex-end}

.chat-sug-quickadd{
  background:linear-gradient(135deg, var(--terra3) 0%, var(--gold3) 100%)!important;
  color:var(--terracotta)!important;
  border:1px solid var(--terracotta)!important;font-weight:600!important;
}
.chat-sug-quickadd:hover{background:var(--terracotta)!important;color:#fff!important}
.chat-quickadd{
  background:var(--cream);border:1.5px solid var(--terracotta);
  border-radius:12px;padding:10px;margin:6px 0;
  animation:wp-fade-in .15s ease;
}
.chat-quickadd-row{
  display:flex;align-items:center;gap:8px;
  background:var(--white);border:1px solid var(--border2);
  border-radius:8px;padding:6px 10px;
}
.chat-quickadd-row svg{color:var(--terracotta);flex-shrink:0}
.chat-quickadd-row input{
  flex:1;border:none;outline:none;background:transparent;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:13px;color:var(--ink);
}
.chat-quickadd-close{
  background:none;border:none;color:var(--ink3);cursor:pointer;
  font-size:18px;line-height:1;padding:2px 6px;border-radius:4px;
}
.chat-quickadd-close:hover{background:var(--cream);color:var(--ink)}
.chat-quickadd-hint{
  font-size:10.5px;color:var(--ink3);margin-top:5px;padding:0 4px;
  font-style:italic;
}
.chat-quickadd-results{margin-top:6px;max-height:220px;overflow-y:auto}
.chat-quickadd-result{
  padding:8px 10px;border-radius:8px;cursor:pointer;
  display:flex;align-items:flex-start;gap:8px;
  transition:background var(--dur-2) var(--ease);
}
.chat-quickadd-result:hover,.chat-quickadd-result.focused{background:var(--terra3)}
.chat-quickadd-result-icon{
  color:var(--terracotta);flex-shrink:0;margin-top:1px;
  display:inline-flex;align-items:center;
}
.chat-quickadd-result-body{flex:1;min-width:0}
.chat-quickadd-result-title{
  font-size:13px;font-weight:600;color:var(--ink);line-height:1.3;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.chat-quickadd-result-sub{
  font-size:11px;color:var(--ink3);line-height:1.3;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  margin-top:1px;
}
.chat-quickadd-loading,.chat-quickadd-empty{
  padding:14px 10px;text-align:center;color:var(--ink3);
  font-size:12px;font-style:italic;
}
.chat-textarea{flex:1;padding:7px 10px;border:1px solid var(--border2);border-radius:var(--rs);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:12px;color:var(--ink);background:var(--cream);resize:none;outline:none;transition:border .15s;min-height:44px;max-height:80px;line-height:1.4}
.chat-textarea:focus{border-color:var(--terracotta);background:var(--white)}
.chat-textarea::placeholder{color:var(--ink3)}
.chat-send-btn{padding:7px 12px;border-radius:var(--rs);border:none;background:var(--terracotta);color:#fff;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:12px;cursor:pointer;transition:all .15s;white-space:nowrap;flex-shrink:0;align-self:flex-end}
.chat-send-btn:hover{background:var(--terracotta-hover)}
.chat-send-btn:disabled{opacity:.5;cursor:not-allowed}
.chat-mic-btn{width:30px;height:30px;border-radius:50%;border:1px solid var(--border2);background:var(--white);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s;flex-shrink:0;align-self:flex-end}
.chat-mic-btn:hover{border-color:var(--terracotta)}
.chat-mic-btn.recording{background:#FEF2F2;border-color:var(--danger);animation:pulse 1s infinite}


.map-panel{padding:16px;display:flex;flex-direction:column;gap:10px}
.map-panel-header{font-size:12px;font-weight:500;color:var(--ink3);text-transform:uppercase;letter-spacing:.08em;margin-bottom:4px}
.map-day-filter{display:flex;gap:4px;flex-wrap:wrap;margin-bottom:8px}
.mdf-btn{padding:4px 10px;border-radius:20px;border:1px solid var(--border);font-size:11px;color:var(--ink2);cursor:pointer;background:var(--white);transition:all .15s}
.mdf-btn:hover,.mdf-btn.active{background:var(--terracotta);border-color:var(--terracotta);color:#fff}
.map-pin-list{display:flex;flex-direction:column;gap:6px}
.map-pin-card{display:flex;align-items:center;gap:10px;padding:10px 12px;background:var(--white);border:1px solid var(--border);border-radius:var(--rs);cursor:pointer;transition:all .15s}
.map-pin-card:hover{border-color:var(--terracotta);box-shadow:var(--shadow)}
.map-pin-num{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:#fff;flex-shrink:0}
.map-pin-info{flex:1;min-width:0}
.map-pin-name{font-size:13px;font-weight:500;color:var(--ink);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.map-pin-addr{font-size:11px;color:var(--ink3)}
.map-link{font-size:11px;color:var(--teal);font-weight:500;flex-shrink:0}
.map-route-note{font-size:12px;color:var(--ink3);padding:10px 12px;background:var(--teal3);border-radius:var(--rs);line-height:1.5}


.weather-panel-content{padding:16px;display:flex;flex-direction:column;gap:10px}
.weather-day-card{background:var(--white);border:1px solid var(--border);border-radius:var(--r);padding:14px}
.wdc-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}
.wdc-date{font-size:13px;font-weight:500;color:var(--ink)}
.wdc-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--ink2)}
.wdc-icon svg{width:26px;height:26px}
.wdc-stats{display:flex;gap:12px}
.wdc-stat{text-align:center}
.wdc-stat-val{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:18px;color:var(--ink)}
.wdc-stat-lbl{font-size:10px;color:var(--ink3);text-transform:uppercase}
.wdc-desc{font-size:12px;color:var(--ink2);margin-top:6px}
.wdc-tip{font-size:12px;color:var(--gold-ink);font-style:italic;margin-top:4px}


.budget-panel-content{padding:12px 14px;display:flex;flex-direction:column;gap:8px;overflow-y:auto;min-height:0;flex:1}

#actBudgetDivider{
  display:flex;align-items:center;gap:8px;
  padding:10px 0 4px;
  font-size:11px;font-weight:700;letter-spacing:.04em;
  text-transform:uppercase;color:var(--ink2);
}
#actBudgetDivider::before,#actBudgetDivider::after{
  content:'';flex:1;height:1px;background:var(--border);
}
.act-budget-currency-row{
  display:flex;align-items:center;gap:6px;
  padding:4px 2px 8px;
}
.abc-label{font-size:11px;color:var(--ink3)}
.abc-currency-badge{
  display:inline-flex;align-items:center;
  background:var(--terra3);color:var(--terracotta);
  font-size:11px;font-weight:700;
  padding:2px 8px;border-radius:20px;
  border:1px solid var(--terra2);
}
.budget-currency-row{display:flex;align-items:center;gap:8px;margin-bottom:2px}
.budget-currency-row label{font-size:12px;color:var(--ink2)}
.budget-currency-row select{padding:5px 8px;border:1px solid var(--border2);border-radius:var(--rs);font-size:12px;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;background:var(--white);color:var(--ink);outline:none}
.day-budget-item{background:var(--white);border:1px solid var(--border);border-radius:var(--rs);padding:12px 14px}
.dbi-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px}
.dbi-label{font-size:13px;font-weight:500;color:var(--ink)}
.dbi-input-wrap{
  display:inline-flex;align-items:center;
  border:1px solid var(--border2);border-radius:var(--rs);
  background:var(--cream);overflow:hidden;
}
.dbi-currency-sym{
  padding:4px 5px 4px 7px;font-size:11px;font-weight:600;
  color:var(--ink3);background:var(--cream);white-space:nowrap;
}
.dbi-input{width:72px;padding:4px 6px 4px 2px;border:none;border-radius:0;font-size:12px;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;text-align:right;outline:none;background:transparent}
.dbi-input:focus{border-color:var(--terracotta);background:var(--white)}
.dbi-bar-wrap{height:4px;background:var(--border);border-radius:2px;overflow:hidden;margin-top:4px}
.dbi-bar{height:100%;border-radius:2px;background:var(--teal);transition:width .4s}
.dbi-bar.over{background:var(--rose)}
.dbi-note{font-size:11px;color:var(--ink3);margin-top:3px;text-align:right}
.budget-totals{background:var(--terra3);border:1px solid var(--terra2);border-radius:var(--r);padding:14px}
.bt-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;margin-bottom:4px;min-width:0}
.bt-row:last-child{margin-bottom:0;font-weight:600;font-size:14px;padding-top:8px;border-top:1px solid var(--terra2)}


.lib-overlay{z-index:600!important}
.lib-modal{background:var(--white);border-radius:20px;width:100%;max-width:640px;max-height:88dvh;display:flex;flex-direction:column;box-shadow:0 24px 80px rgba(28,25,23,.22);overflow:hidden}
.lib-header{display:flex;align-items:center;justify-content:space-between;padding:22px 24px 16px;flex-shrink:0;border-bottom:1px solid var(--border);gap:12px}
.lib-title{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-style:italic;font-size:24px;font-weight:500;color:var(--ink);line-height:1.2;letter-spacing:-0.01em}
.lib-subtitle{font-size:12px;color:var(--ink3);margin-top:4px}
.lib-header-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}

.lib-sync-btn svg{transition:transform .3s ease}
.lib-sync-btn.is-syncing svg{animation:wp-spin 1s linear infinite}
.lib-sync-btn.just-synced{background:var(--teal3)!important;border-color:var(--teal)!important;color:var(--teal)!important}
.lib-sync-btn.just-synced svg{color:var(--teal)}
@media(max-width:600px){
  .lib-sync-btn span{display:none}
  .lib-sync-btn{padding:0 9px}
}
.lib-header-btn{
  display:inline-flex;align-items:center;gap:6px;
  padding:7px 13px;border:1px solid var(--border);background:var(--white);
  color:var(--ink2);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:12.5px;font-weight:500;
  border-radius:9999px;cursor:pointer;
  transition:background var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),color var(--dur-2) var(--ease);
  -webkit-tap-highlight-color:transparent;
}
.lib-header-btn:hover{background:var(--cream);border-color:var(--border2);color:var(--ink)}
.lib-header-btn.lib-header-cta{
  background:var(--terracotta);border-color:var(--terracotta);color:var(--white);font-weight:600;
}
.lib-header-btn.lib-header-cta:hover{background:var(--terracotta-hover);border-color:var(--terracotta-hover);color:var(--white)}
.lib-close{width:36px;height:36px;border-radius:50%;border:1px solid var(--border);background:var(--cream);cursor:pointer;display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--ink2);transition:background var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),color var(--dur-2) var(--ease);-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.lib-close:hover{background:var(--ink);color:var(--white);border-color:var(--ink)}
.lib-list{display:flex;flex-direction:column;gap:10px;padding:16px 20px 24px;overflow-y:auto;-webkit-overflow-scrolling:touch;flex:1 1 0%;min-height:0}

.lib-filter-row{
  display:flex;align-items:center;gap:12px;padding:10px 20px 0;
  flex-wrap:wrap;flex-shrink:0;
}
.lib-filter-search{
  position:relative;flex:1;min-width:200px;display:flex;align-items:center;
  background:var(--white);border:1.5px solid var(--border);border-radius:10px;
  padding:0 12px 0 36px;height:36px;
  transition:border-color var(--dur-2) var(--ease), box-shadow var(--dur-2) var(--ease);
}
.lib-filter-search:focus-within{border-color:var(--terracotta);box-shadow:0 0 0 3px var(--terra3)}
.lib-filter-search svg{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--ink3)}
.lib-filter-search input{
  flex:1;border:none;outline:none;background:transparent;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:13px;color:var(--ink);
}
.lib-filter-clear{
  border:none;background:var(--cream);color:var(--ink3);cursor:pointer;
  width:22px;height:22px;border-radius:50%;font-size:16px;
  display:flex;align-items:center;justify-content:center;line-height:1;
}
.lib-filter-clear:hover{background:var(--ink3);color:#fff}
.lib-filter-pills{
  display:flex;gap:6px;flex-wrap:wrap;
}
.lib-filter-pill{
  padding:7px 12px;border-radius:20px;
  border:1.5px solid var(--border);background:var(--white);
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:12px;font-weight:500;color:var(--ink2);
  cursor:pointer;transition:all var(--dur-2) var(--ease);
  display:inline-flex;align-items:center;gap:5px;
}
.lib-filter-pill:hover{border-color:var(--terracotta);color:var(--terracotta)}
.lib-filter-pill.active{
  background:var(--terracotta);border-color:var(--terracotta);color:#fff;
}
.lib-pill-count{
  font-size:10px;font-weight:600;opacity:.7;
  background:rgba(0,0,0,.10);padding:1px 6px;border-radius:10px;min-width:18px;text-align:center;
}
.lib-filter-pill.active .lib-pill-count{background:rgba(255,255,255,.25);opacity:1}
.lib-filter-pill:not(.active) .lib-pill-count:empty{display:none}
@media(max-width:600px){
  
  .lib-filter-row{padding:8px 14px 0;gap:8px;flex-direction:column;align-items:stretch}
  .lib-filter-search{height:36px;min-width:0;width:100%}
  .lib-filter-search input{font-size:13px}
  .lib-filter-pills{width:100%;gap:5px;overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;-webkit-overflow-scrolling:touch}
  .lib-filter-pills::-webkit-scrollbar{display:none}
  .lib-filter-pill{font-size:11.5px;padding:6px 10px;flex-shrink:0;white-space:nowrap}
}
.lib-empty-filtered{
  text-align:center;padding:40px 20px;color:var(--ink3);
  font-style:italic;font-size:14px;line-height:1.5;
}
.lib-empty-filtered button{
  margin-top:12px;padding:8px 16px;font-size:12px;font-weight:600;
  background:none;border:1.5px solid var(--terracotta);color:var(--terracotta);
  border-radius:8px;cursor:pointer;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
}
.lib-empty-filtered button:hover{background:var(--terracotta);color:#fff}

.lib-card{border:1.5px solid var(--border);border-radius:14px;cursor:pointer;transition:all .2s;
  background:var(--white);display:flex;flex-direction:row;position:relative;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
  flex-shrink:0;}
.lib-card:hover{border-color:var(--terracotta);box-shadow:0 6px 28px rgba(212,106,58,.13);transform:translateY(-1px)}
.lib-card:active{transform:scale(.985);background:var(--cream)}
.lib-card.active{border-color:var(--terracotta);background:var(--terra3)}

.lib-card-thumb{width:90px;min-width:90px;display:flex;align-items:center;justify-content:center;position:relative;
  position:relative;flex-shrink:0;border-right:1.5px solid var(--border);
  border-radius:12px 0 0 12px;align-self:stretch;}

.lib-card-thumb.has-cover{background-color:#1C1917!important}
.lib-card-thumb.has-cover::before{
  content:'';position:absolute;inset:0;border-radius:inherit;
  background:linear-gradient(160deg, rgba(0,0,0,.05) 0%, rgba(0,0,0,.35) 100%);
  pointer-events:none;
}
.lib-card-thumb.has-cover .lib-card-mark{color:#fff;opacity:.85}
.lib-card.active .lib-card-thumb{border-right-color:rgba(212,106,58,.3)}
.lib-card-initial{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-style:italic;font-weight:500;font-size:42px;line-height:1;letter-spacing:-0.02em;text-shadow:0 1px 0 rgba(255,255,255,0.5)}
.lib-card-mark{position:absolute;bottom:8px;right:8px;opacity:0.55;color:inherit}

.lib-card-body{flex:1 1 auto;
  padding:13px 14px 12px;display:flex;flex-direction:column;min-width:0;gap:0;overflow:hidden;}

.lib-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;margin-bottom:2px}
.lib-card-name{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:14px;font-weight:500;color:var(--ink);line-height:1.35;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;flex:1;min-width:0}
.lib-active-badge{background:var(--terracotta);color:#fff;font-size:10px;font-weight:700;padding:2px 9px;border-radius:20px;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;white-space:nowrap;flex-shrink:0;align-self:flex-start;margin-top:2px}

.lib-card-dest{font-size:12px;color:var(--ink2);display:flex;align-items:center;gap:4px;margin-bottom:6px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;line-height:1.4;min-height:17px}

.lib-card-meta{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:8px;min-width:0}
.lib-meta-pill{display:inline-flex;align-items:center;gap:5px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:500;background:var(--cream);color:var(--ink2);border:1px solid var(--border);white-space:nowrap;flex-shrink:0;line-height:1.3}
.lib-meta-pill svg{flex-shrink:0;color:var(--ink3)}
.lib-meta-pill .lib-meta-glyph{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-style:italic;font-weight:500;color:var(--terracotta);font-size:12px;line-height:1}
.lib-meta-pill.budget-pill svg{color:var(--teal)}
.lib-meta-pill.budget-pill{background:var(--teal3);color:var(--teal);border-color:var(--teal2)}
.lib-meta-pill.style-pill{background:#F5F3FF;color:#7C3AED;border-color:#DDD6FE}

.lib-meta-pill.status-active{background:#FEF3E7;color:var(--terracotta-ink);border-color:#F5D4B5;font-weight:600}
.lib-meta-pill.status-active::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--terracotta);margin-right:2px;animation:wp-pulse-soft 2s ease-in-out infinite}
.lib-meta-pill.status-upcoming{background:#FEFAEE;color:var(--gold-ink);border-color:#F0E6CC}
.lib-meta-pill.status-past{background:var(--cream);color:var(--ink3);border-color:var(--border)}
@keyframes wp-pulse-soft{0%,100%{opacity:.5;transform:scale(.9)}50%{opacity:1;transform:scale(1.15)}}

.lib-card-footer-row{display:flex;align-items:center;justify-content:space-between;gap:6px;margin-top:auto;padding-top:6px;border-top:1px solid var(--border);min-width:0;flex-wrap:nowrap}
.lib-card-dates{font-size:11px;color:var(--ink3);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lib-card-ts{font-size:10.5px;color:var(--ink3);opacity:.7;white-space:nowrap;flex-shrink:0}
.lib-delete-btn{width:28px;height:28px;border-radius:8px;border:1px solid transparent;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center;color:var(--ink3);transition:all .15s;flex-shrink:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation}
.lib-delete-btn:hover{background:var(--rose3);border-color:var(--rose2);color:var(--danger)}
.lib-empty{text-align:center;padding:48px 24px;color:var(--ink3)}
.lib-empty-icon{margin-bottom:14px;opacity:.45;display:flex;justify-content:center}
.lib-empty-icon svg{width:42px;height:42px}
.lib-empty-text{font-size:14px;line-height:1.6}
@media(max-width:768px){
  .lib-overlay.open{display:flex;align-items:flex-end;padding:0}
  .lib-modal{max-width:100%;border-radius:20px 20px 0 0;max-height:92vh;max-height:92dvh;margin:0;padding-bottom:env(safe-area-inset-bottom,0px)}
  .lib-list{padding:12px 16px calc(20px + env(safe-area-inset-bottom,0px));-webkit-overflow-scrolling:touch;overscroll-behavior:contain}
  .lib-header{padding:18px 18px 14px}
  .lib-title{font-size:21px}
  .lib-card{flex-shrink:0!important}
  .lib-card-thumb{width:78px;min-width:78px}
  .lib-card-initial{font-size:32px}
  .lib-card-name{font-size:13.5px}
  .lib-card-body{padding:11px 12px 10px}
  .lib-meta-pill{font-size:10.5px;padding:3px 8px}
  .lib-delete-btn{width:34px;height:34px;border-radius:8px;min-width:34px}
  .lib-close{width:44px;height:44px}
}
@media(max-width:480px){
  .lib-card-thumb{width:68px;min-width:68px}
  .lib-card-initial{font-size:28px}
  .lib-card-body{padding:10px 11px 9px}
  .lib-card-name{font-size:13px}
  .lib-meta-pill{font-size:10px;padding:2px 7px}
  .lib-card-dest{font-size:11.5px}
  .lib-card-footer-row{flex-wrap:wrap}
}
@media(max-width:360px){
  .lib-card-thumb{width:58px;min-width:58px}
  .lib-card-initial{font-size:24px}
  .lib-card-body{padding:9px 10px 8px}
  .lib-card-name{font-size:12.5px}
  .lib-card-meta{gap:4px}
  .lib-meta-pill{font-size:9.5px;padding:2px 6px}
  .lib-card-ts{font-size:9px}
}

.modal-overlay{display:none;position:fixed;inset:0;background:rgba(28,25,23,.6);z-index:200;align-items:center;justify-content:center;padding:20px}
.modal-overlay.open{display:flex}
.modal{background:var(--white);border-radius:var(--rl);padding:28px;width:100%;max-width:480px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow2)}
.modal h2{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:24px;font-weight:500;margin-bottom:8px;color:var(--ink)}
.modal p{font-size:13px;color:var(--ink2);margin-bottom:20px;line-height:1.6}
.modal-field{margin-bottom:14px}
.modal-field label{display:block;font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;color:var(--ink3);margin-bottom:6px}
.modal-input{width:100%;padding:10px 14px;border:1px solid var(--border2);border-radius:var(--rs);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:14px;color:var(--ink);background:var(--cream);outline:none;transition:border .15s}
.modal-input:focus{border-color:var(--terracotta);background:var(--white)}
.modal-footer{display:flex;justify-content:flex-end;gap:8px;margin-top:20px}


.share-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}
.share-opt{padding:16px 12px;border:1px solid var(--border);border-radius:var(--r);text-align:center;cursor:pointer;transition:all .2s;position:relative}
.share-opt:hover{border-color:var(--terracotta);background:var(--terra3)}
.share-opt-icon{font-size:24px;margin-bottom:6px}
.share-opt-label{font-size:12px;font-weight:500;color:var(--ink2)}

.share-trip-btn{
  width:100%;display:flex;align-items:center;justify-content:center;gap:9px;
  padding:14px 20px;border:none;border-radius:var(--rs);
  background:linear-gradient(135deg,var(--terracotta),var(--terracotta-hover));
  color:#fff;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:14px;font-weight:700;
  cursor:pointer;transition:opacity .15s;margin-bottom:12px;
  box-shadow:0 4px 16px rgba(212,106,58,.3);
}
.share-trip-btn:hover{opacity:.9}
.share-trip-btn:disabled{opacity:.6;cursor:not-allowed}
.share-trip-btn .share-trip-code{
  font-size:11px;font-weight:500;opacity:.85;margin-top:2px;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;letter-spacing:.04em;
}

.sgate-overlay{display:none;position:fixed;inset:0;background:rgba(28,25,23,.7);
  z-index:9600;align-items:center;justify-content:center;padding:20px;
  backdrop-filter:blur(8px)}
.sgate-overlay.open{display:flex}
.sgate-modal{background:var(--white);border-radius:20px;padding:36px 32px;
  width:100%;max-width:400px;text-align:center;
  box-shadow:0 24px 80px rgba(28,25,23,.25)}
.sgate-icon{font-size:42px;margin-bottom:16px;line-height:1}
.sgate-title{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:22px;font-weight:700;
  color:var(--ink);margin-bottom:8px}
.sgate-sub{font-size:13.5px;color:var(--ink3);line-height:1.6;margin-bottom:24px}
.sgate-cta{width:100%;padding:13px;border:none;border-radius:var(--rs);
  background:linear-gradient(135deg,var(--gold),#e8a82e);color:#fff;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:14px;font-weight:700;
  cursor:pointer;transition:opacity .15s;margin-bottom:10px}
.sgate-cta:hover{opacity:.9}
.sgate-secondary{font-size:12px;color:var(--ink3);cursor:pointer;
  text-decoration:underline;display:block;margin:0 auto}
.pro-badge{display:inline-flex;align-items:center;gap:3px;
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-style:italic;font-weight:500;font-size:10px;letter-spacing:0.16em;text-transform:uppercase;
  color:var(--gold);background:rgba(201,146,42,0.06);
  border:1.25px solid var(--gold);border-radius:3px;
  padding:3px 7px 2px;vertical-align:middle;margin-left:6px;
  transform:rotate(-2deg);box-shadow:inset 0 0 0 1px rgba(253,250,245,0.6)}
.share-opt.pro-locked{opacity:.72;cursor:pointer}
.share-opt.pro-locked:hover{border-color:var(--gold);background:#FFFBEB}
.pro-section-label{font-size:10px;font-weight:700;color:var(--ink3);text-transform:uppercase;letter-spacing:0.08em;margin:16px 0 10px;display:flex;align-items:center;gap:6px}
.pro-section-label::after{content:'';flex:1;height:1px;background:var(--border)}
.pro-modal-overlay{display:none;position:fixed;inset:0;background:rgba(28,25,23,.6);z-index:9500;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(6px)}
.pro-modal-overlay.open{display:flex}
.pro-modal{background:var(--white);border-radius:20px;padding:32px 28px;width:100%;max-width:380px;text-align:center;box-shadow:0 24px 80px rgba(28,25,23,.22)}
.pro-modal-icon{font-size:40px;margin-bottom:14px;line-height:1}
.pro-modal-title{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:22px;font-weight:700;color:var(--ink);margin-bottom:8px}
.pro-modal-sub{font-size:13px;color:var(--ink3);line-height:1.6;margin-bottom:22px}
.pro-modal-features{text-align:left;display:flex;flex-direction:column;gap:8px;margin-bottom:24px;background:var(--cream);border-radius:12px;padding:14px 16px}
.pro-modal-feature{display:flex;align-items:flex-start;gap:10px;font-size:13px;color:var(--ink2)}
.pro-modal-feature svg{flex-shrink:0;color:var(--teal);margin-top:1px}
.pro-modal-cta{width:100%;padding:13px;border:none;border-radius:var(--rs);background:linear-gradient(135deg,var(--gold),#e8a82e);color:#fff;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:opacity .15s;margin-bottom:10px}
.pro-modal-cta:hover{opacity:.9}
.pro-modal-skip{font-size:12px;color:var(--ink3);cursor:pointer;text-decoration:underline}
.cal-modal-overlay{display:none;position:fixed;inset:0;background:rgba(28,25,23,.55);z-index:9400;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(4px)}
.cal-modal-overlay.open{display:flex}
.cal-modal{background:var(--white);border-radius:20px;padding:28px 24px;width:100%;max-width:380px;max-height:90dvh;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-shadow:0 24px 80px rgba(28,25,23,.22);scrollbar-width:none}
.cal-modal::-webkit-scrollbar{display:none}
.cal-modal-title{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:20px;font-weight:700;color:var(--ink);margin-bottom:4px}
.cal-modal-sub{font-size:13px;color:var(--ink3);margin-bottom:20px}
.cal-option{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1.5px solid var(--border);border-radius:12px;cursor:pointer;transition:all .15s;margin-bottom:8px;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}
.cal-option:hover{border-color:var(--terracotta);background:var(--terra3)}
.cal-option-icon{flex-shrink:0;width:40px;display:inline-flex;align-items:center;justify-content:center}
.cal-option-body{flex:1}
.cal-option-name{font-size:14px;font-weight:600;color:var(--ink);margin-bottom:1px}
.cal-option-desc{font-size:11px;color:var(--ink3)}

.share-action-btn{
  width:100%;display:flex;align-items:center;gap:14px;
  padding:14px 16px;border:1.5px solid var(--border2);border-radius:12px;
  background:var(--white);cursor:pointer;text-align:left;
  transition:border-color .15s,background .15s;
  -webkit-tap-highlight-color:transparent;
}
.share-action-btn:hover{border-color:var(--terracotta);background:var(--terra3)}
.share-action-btn:active{background:var(--terra3);transform:scale(0.99)}
.share-action-icon{font-size:22px;line-height:1;flex-shrink:0;width:28px;text-align:center}
.share-action-text{flex:1;min-width:0}
.share-action-title{font-size:14px;font-weight:600;color:var(--ink);line-height:1.2;display:flex;align-items:center;gap:6px}
.share-action-sub{font-size:11px;color:var(--ink3);margin-top:2px;line-height:1.3}
.share-action-pro{border-color:var(--border2);opacity:1}
.share-action-pro:not([disabled]):hover{border-color:var(--gold);background:var(--gold3)}

.share-pro-divider{
  display:flex;align-items:center;gap:8px;margin:4px 0 12px;
  font-size:10px;font-weight:700;color:var(--gold);
  text-transform:uppercase;letter-spacing:.1em;
}
.share-pro-divider::before,.share-pro-divider::after{
  content:'';flex:1;height:1px;background:var(--gold2);
}
.share-preview-box{background:var(--cream);border:1px solid var(--border);border-radius:var(--rs);padding:14px;font-size:12px;color:var(--ink2);line-height:1.7;max-height:200px;overflow-y:auto;white-space:pre-wrap;font-family:monospace}

.shr-title{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:26px;font-weight:700;color:var(--ink);margin-bottom:18px;line-height:1.2;padding-right:32px}
.shr-pro-badge{padding:3px 9px;border-radius:20px;background:linear-gradient(135deg,var(--gold),#e8a82e);color:#fff;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:10px;font-weight:800;letter-spacing:.07em;vertical-align:middle;margin-left:4px;display:inline-block}

.shr-xcard{position:relative;border-radius:14px;overflow:hidden;margin-bottom:12px;transition:box-shadow .2s}
.shr-xcard-collab{background:var(--terracotta);color:#fff;box-shadow:0 4px 20px rgba(212,106,58,.22)}
.shr-xcard-collab:hover{box-shadow:0 6px 28px rgba(212,106,58,.38)}
.shr-xcard-preview{background:var(--white);border:1.5px solid var(--border)}
.shr-xcard-preview:hover{border-color:var(--teal);box-shadow:0 4px 16px rgba(42,123,111,.13)}
.shr-xcard-top{display:flex;align-items:center;gap:13px;padding:15px 18px 12px}
.shr-xcard-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.shr-xcard-icon-collab{background:rgba(255,255,255,.22)}.shr-xcard-icon-collab svg{stroke:#fff}
.shr-xcard-icon-preview{background:rgba(42,123,111,.1);border:1px solid rgba(42,123,111,.2)}.shr-xcard-icon-preview svg{stroke:var(--teal)}
.shr-xcard-title{font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:14px;font-weight:700;line-height:1.3}
.shr-xcard-sub{font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:11px;opacity:.7;margin-top:2px}
.shr-xlink-row{display:flex;align-items:center;gap:8px;padding:0 14px 12px}

.shr-collab-actions{
  display:flex;align-items:center;gap:8px;
  padding:0 14px 12px;flex-wrap:wrap;
}
.shr-collab-presence{
  display:flex;align-items:center;gap:4px;flex:1;min-width:0;
  font-size:11px;color:rgba(255,255,255,.7);
}
.shr-collab-presence-avatar{
  width:24px;height:24px;border-radius:50%;
  background:var(--terracotta);color:#fff;
  display:inline-flex;align-items:center;justify-content:center;
  font-size:10px;font-weight:700;flex-shrink:0;
  border:2px solid var(--terracotta);
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  letter-spacing:0;
}
.shr-collab-presence-avatar.is-self{
  background:rgba(255,255,255,.95);color:var(--terracotta);
}
.shr-collab-presence-avatar:nth-child(2){background:var(--teal);border-color:var(--teal)}
.shr-collab-presence-avatar:nth-child(3){background:#8B5CF6;border-color:#8B5CF6}
.shr-collab-presence-avatar:nth-child(4){background:var(--gold);border-color:var(--gold)}
.shr-collab-presence-count{
  font-size:11px;color:rgba(255,255,255,.7);margin-left:4px;
}
.shr-collab-action-btn{
  display:inline-flex;align-items:center;gap:5px;
  padding:6px 10px;border-radius:8px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.22);
  color:#fff;cursor:pointer;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:11px;font-weight:600;
  transition:all var(--dur-2) var(--ease);
}
.shr-collab-action-btn:hover{background:rgba(255,255,255,.22);border-color:rgba(255,255,255,.40)}
.shr-collab-revoke:hover{background:#7C1D1D;border-color:#7C1D1D}
.shr-collab-action-btn:disabled{opacity:.5;cursor:not-allowed}


.day-tab-btn.peer-here::after{
  content:'';position:absolute;top:-3px;right:-3px;
  width:8px;height:8px;border-radius:50%;
  background:var(--gold);
  border:2px solid var(--white);
  animation:wp-peer-pulse 1.8s ease-in-out infinite;
}
@keyframes wp-peer-pulse{
  0%,100%{transform:scale(.9);box-shadow:0 0 0 0 rgba(201,146,42,.5)}
  50%{transform:scale(1.1);box-shadow:0 0 0 4px rgba(201,146,42,0)}
}


.wp-collab-presence-bar{
  position:fixed;top:calc(60px + env(safe-area-inset-top, 0px));right:14px;
  z-index:400;display:flex;gap:-6px;
  pointer-events:none;
}
.wp-collab-presence-bar.has-peers{pointer-events:auto}
.wp-collab-presence-avatar{
  width:28px;height:28px;border-radius:50%;
  background:var(--terracotta);color:#fff;
  display:flex;align-items:center;justify-content:center;
  font-size:11px;font-weight:700;
  border:2px solid var(--white);
  margin-left:-8px;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  box-shadow:0 2px 6px rgba(28,25,23,.18);
  transition:transform var(--dur-2) var(--ease);
}
.wp-collab-presence-avatar:first-child{margin-left:0}
.wp-collab-presence-avatar:hover{transform:translateY(-2px) scale(1.1);z-index:2}
.wp-collab-presence-avatar[data-color="teal"]{background:var(--teal)}
.wp-collab-presence-avatar[data-color="purple"]{background:#8B5CF6}
.wp-collab-presence-avatar[data-color="gold"]{background:var(--gold)}
.wp-collab-presence-avatar[data-color="rose"]{background:var(--rose,#9F4A66)}

.wp-collab-presence-more{
  background:var(--ink3,#78716C);font-size:11px;font-weight:600;
  letter-spacing:-0.02em;cursor:default;
}
.wp-collab-presence-avatar-tooltip{
  position:absolute;top:36px;right:0;
  background:var(--ink);color:#fff;
  padding:5px 10px;border-radius:6px;
  font-size:11px;white-space:nowrap;
  opacity:0;pointer-events:none;
  transition:opacity var(--dur-2) var(--ease);
}
.wp-collab-presence-avatar:hover .wp-collab-presence-avatar-tooltip{opacity:1}
.shr-xlink-url-wrap{flex:1;min-width:0;background:rgba(255,255,255,.18);border-radius:9px;padding:7px 11px}
.shr-xlink-url-wrap-preview{background:var(--cream)!important;border:1px solid var(--border)!important}
.shr-xlink-url{font-size:11px;font-family:monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;user-select:all;color:rgba(255,255,255,.9)}
.shr-xlink-url-preview{color:var(--ink)!important}
.shr-xlink-copy{flex-shrink:0;padding:7px 13px;border-radius:8px;border:none;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:11.5px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;background:rgba(255,255,255,.25);color:#fff}
.shr-xlink-copy:hover{background:rgba(255,255,255,.35)}
.shr-xlink-copy.copied,.shr-xlink-copy-preview.copied{background:var(--teal)!important;color:#fff!important}
.shr-xlink-copy-preview{background:var(--teal)!important;color:#fff!important}
.shr-xlink-copy-preview:hover{opacity:.88}
.shr-expiry-row{display:flex;align-items:center;gap:9px;padding:0 14px 10px;flex-wrap:wrap}
.shr-expiry-label{font-size:11px;color:var(--ink3);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;white-space:nowrap}
.shr-expiry-opts{display:flex;gap:5px}
.shr-exp-btn{padding:4px 11px;border-radius:20px;border:1.5px solid var(--border);background:var(--white);color:var(--ink3);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s}
.shr-exp-btn:hover{border-color:var(--teal);color:var(--teal)}
.shr-exp-active{background:var(--teal)!important;border-color:var(--teal)!important;color:#fff!important}
.shr-inline-loading{display:flex;align-items:center;gap:6px;padding:0 18px 12px;font-size:11px;color:rgba(255,255,255,.7);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}
.shr-ld{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.6);animation:loadPulse 1s infinite}
.shr-ld:nth-child(2){animation-delay:.2s}.shr-ld:nth-child(3){animation-delay:.4s}
.shr-xcard-btn{position:absolute;inset:0;width:100%;background:none;border:none;cursor:pointer;opacity:0;z-index:1}

.shr-xexpand{
  display:grid;
  grid-template-rows: 0fr;
  transition: grid-template-rows .35s cubic-bezier(0.4,0,0.2,1);
  overflow:hidden;
}
.shr-xexpand > div {
  min-height: 0;
  overflow: hidden;
}
.shr-xcard:hover .shr-xexpand{ grid-template-rows: 1fr; }
.shr-xexpand-collab{background:#fff2ec;padding:0 14px}
.shr-xcard-collab:hover .shr-xexpand-collab{padding:10px 14px 12px;border-top:1px solid rgba(255,255,255,.18)}
.shr-mini-label{font-size:9px;font-weight:700;color:var(--terracotta);text-transform:uppercase;letter-spacing:.07em;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;margin-bottom:7px}
.shr-mini-rows{display:flex;flex-direction:column;gap:5px;position:relative}
.shr-mini-row{height:24px;border-radius:6px;display:flex;align-items:center;gap:7px;padding:0 8px;position:relative;overflow:visible}
.shr-mini-row-a{background:rgba(212,106,58,.1)}
.shr-mini-row-b{background:rgba(42,123,111,.1)}
.shr-mini-row-c{background:rgba(139,92,246,.08)}
.shr-mini-num{width:16px;height:16px;border-radius:50%;color:#fff;font-size:9px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}
.shr-mini-text{font-size:10px;color:var(--ink2);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shr-cursor{position:absolute;width:14px;height:16px;pointer-events:none;z-index:10;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}
@keyframes shrCurA{0%{top:-2px;left:40px}30%{top:-2px;left:120px}55%{top:30px;left:120px}75%{top:30px;left:40px}100%{top:-2px;left:40px}}
@keyframes shrCurB{0%{top:30px;left:80px}25%{top:30px;left:150px}50%{top:-2px;left:150px}80%{top:-2px;left:80px}100%{top:30px;left:80px}}
.shr-cur-a{animation:shrCurA 3s ease-in-out infinite}
.shr-cur-b{animation:shrCurB 3s ease-in-out infinite .7s}
.shr-mini-cursors-legend{display:flex;align-items:center;gap:4px;margin-top:6px;font-size:9.5px;color:var(--ink3);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}
.shr-mini-legend-dot{width:8px;height:8px;border-radius:50%;display:inline-block}
.shr-xexpand-preview{background:#f0faf9;padding:0 14px}
.shr-xcard-preview:hover .shr-xexpand-preview{padding:10px 14px 12px;border-top:1px solid rgba(42,123,111,.15)}
.shr-preview-cards-wrap{display:flex;gap:8px}
.shr-preview-mini-card{flex:1;border:1px solid var(--border);border-radius:8px;background:var(--white);padding:8px 10px;position:relative;overflow:hidden}
.shr-preview-mini-top{display:flex;align-items:center;gap:6px;margin-bottom:4px}
.shr-preview-mini-title{font-size:11px;font-weight:600;color:var(--ink);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shr-preview-mini-time{font-size:9.5px;color:var(--ink3);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;flex-shrink:0}
.shr-preview-mini-meta{font-size:9px;color:var(--ink3);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.shr-preview-lock{display:flex;align-items:center;gap:3px;font-size:8.5px;color:var(--teal);font-weight:600;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;margin-top:5px;padding-top:4px;border-top:1px solid rgba(42,123,111,.15)}
.shr-preview-lock svg{stroke:var(--teal);flex-shrink:0}

.shr-also-hdr{font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:10.5px;font-weight:700;color:var(--ink);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}
.shr-free-divider{display:flex;align-items:center;gap:8px;margin:2px 0 12px;font-size:10px;font-weight:700;color:var(--ink3);text-transform:uppercase;letter-spacing:.1em;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}
.shr-free-divider::before,.shr-free-divider::after{content:'';flex:1;height:1px;background:var(--border)}
.share-action-title{font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif!important}
.share-action-sub{font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif!important}

.shr-action-card{cursor:pointer}
.shr-action-card .shr-xcard-icon{font-size:18px;border-radius:10px}
.sax-icon-wa{background:#e8f5e9!important;color:#1ea84a}
.sax-icon-wa svg{stroke:#1ea84a}
.sax-icon-pdf{background:var(--terra3)!important;color:var(--terracotta)}
.sax-icon-pdf svg{stroke:var(--terracotta)}
.sax-icon-ics{background:#EEF3FF!important;color:#4285F4}
.sax-icon-ics svg{stroke:#4285F4}
.sax-icon-pdfpro{background:var(--gold3)!important;color:var(--gold)}
.sax-icon-pdfpro svg{stroke:var(--gold)}
.shr-wa-card{border:1.5px solid var(--border)}.shr-wa-card:hover{border-color:#25D366;box-shadow:0 4px 16px rgba(37,211,102,.13)}
.shr-pdf-card{border:1.5px solid var(--border)}.shr-pdf-card:hover{border-color:var(--terracotta);box-shadow:0 4px 16px rgba(212,106,58,.13)}
.shr-ics-card{border:1.5px solid var(--border)}.shr-ics-card:hover{border-color:#4285F4;box-shadow:0 4px 16px rgba(66,133,244,.13)}
.shr-pdfpro-card{border:1.5px solid var(--border)}.shr-pdfpro-card:hover{border-color:var(--gold);box-shadow:0 4px 16px rgba(201,146,42,.15)}

html.modal-open,
body.modal-open{overflow:hidden!important;height:100%;touch-action:none}
@media(min-width:769px){
  html.modal-open,body.modal-open{height:auto}
}

.shr-invite-card{
  position:relative;
  background:
    linear-gradient(135deg, #FFFCF1 0%, #FEFAEE 60%, #FBF1D6 100%);
  border:1.5px solid #E8D597;
  box-shadow:0 4px 18px rgba(201,146,42,.10);
  padding:0;cursor:default;
  transition:all .25s var(--ease);
}
.shr-invite-card::before{
  content:'';position:absolute;inset:0;border-radius:14px;
  background:linear-gradient(135deg, rgba(201,146,42,.06) 0%, transparent 40%);
  pointer-events:none;
}
.shr-invite-card:hover{
  border-color:var(--gold);
  box-shadow:0 8px 28px rgba(201,146,42,.22);
  transform:translateY(-1px);
}
.shr-invite-card .shr-xcard-top{padding:16px 18px 4px;position:relative;z-index:1}
.shr-invite-card .shr-xcard-icon{
  background:linear-gradient(135deg, #F5D976, var(--gold))!important;
  color:#fff!important;border-radius:12px;
  box-shadow:0 2px 10px rgba(201,146,42,.35);
}
.shr-invite-card .shr-xcard-icon svg{stroke:#fff}
.shr-invite-card .shr-xcard-title{color:var(--ink);font-weight:700;font-size:15px;letter-spacing:-.01em}
.shr-invite-card .shr-xcard-sub{color:var(--ink2);opacity:1;font-size:12px;line-height:1.5;margin-top:3px}

.shr-invite-reward{
  margin:8px 18px 0;padding:8px 12px;
  background:rgba(201,146,42,.10);
  border:1px dashed var(--gold);border-radius:10px;
  display:flex;align-items:center;gap:8px;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:11.5px;color:var(--gold-ink);font-weight:600;
  line-height:1.4;position:relative;z-index:1;
}
.shr-invite-reward svg{color:var(--gold);flex-shrink:0}
.shr-invite-reward strong{color:var(--terracotta);font-weight:700}

.shr-invite-cta-row{
  display:flex;gap:8px;padding:12px 18px 16px;position:relative;z-index:1;
}
.shr-invite-cta{
  flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:linear-gradient(135deg, var(--terracotta) 0%, #B85332 100%);
  color:#fff;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:13px;font-weight:600;border:none;border-radius:10px;padding:11px 16px;
  cursor:pointer;letter-spacing:.01em;
  box-shadow:0 2px 8px rgba(212,106,58,.28);
  transition:all .2s var(--ease);
}
.shr-invite-cta:hover{
  background:linear-gradient(135deg, #B85332 0%, #9C422A 100%);
  box-shadow:0 4px 14px rgba(212,106,58,.40);
  transform:translateY(-1px);
}
.shr-invite-cta:active{transform:translateY(0)}
.shr-invite-cta svg{stroke:#fff;flex-shrink:0}
.shr-invite-copy{
  display:inline-flex;align-items:center;justify-content:center;
  width:42px;height:42px;
  background:var(--white);border:1.5px solid var(--border2);
  color:var(--ink2);border-radius:10px;cursor:pointer;flex-shrink:0;
  transition:all .2s var(--ease);
}
.shr-invite-copy:hover{
  border-color:var(--terracotta);color:var(--terracotta);
  background:var(--terra3);
}
.shr-invite-copy.copied{
  background:var(--teal3);border-color:var(--teal);color:var(--teal);
}

@media(max-width:480px){
  .shr-invite-card .shr-xcard-top{padding:14px 14px 4px}
  .shr-invite-reward{margin:8px 14px 0;font-size:11px}
  .shr-invite-cta-row{padding:10px 14px 14px}
  .shr-invite-cta{font-size:12.5px;padding:10px 14px}
}

.sax-wa-inner{background:#f0faf0;padding:0}
.sax-pdf-inner{background:#fff8f5;padding:0}
.sax-ics-inner{background:#f5f8ff;padding:0}
.sax-pdfpro-inner{background:#fffdf5;padding:0}
.sax-inner-pad{padding:10px 16px 14px}
.sax-mini-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;margin-bottom:8px}
.sax-wa-phone{background:#128C7E;border-radius:14px;padding:10px;width:210px}
.sax-wa-header{display:flex;align-items:center;gap:7px;margin-bottom:9px}
.sax-wa-avatar{width:26px;height:26px;border-radius:50%;background:#25D366;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
.sax-wa-name{font-size:11px;color:#fff;font-weight:600;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}
.sax-wa-bubble{background:#DCF8C6;border-radius:0 10px 10px 10px;padding:8px 10px;font-size:9.5px;color:#303030;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;line-height:1.55;position:relative}
.sax-wa-tick{position:absolute;bottom:4px;right:8px;font-size:8px;color:#34B7F1}
.sax-wa-typing{display:flex;gap:3px;align-items:center;margin-top:8px}
.sax-wa-dot{width:6px;height:6px;border-radius:50%;background:rgba(255,255,255,.6);animation:saxWaDot 1.4s infinite}
.sax-wa-dot:nth-child(2){animation-delay:.2s}.sax-wa-dot:nth-child(3){animation-delay:.4s}
@keyframes saxWaDot{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-4px)}}

@keyframes wpMapShimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
.sax-pdf-row-wrap{display:flex;gap:14px;align-items:flex-start}
.sax-pdf-doc{width:130px;background:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1);overflow:hidden;flex-shrink:0}
.sax-pdf-hdr{background:var(--terracotta);padding:5px 8px}
.sax-pdf-logo{font-size:8.5px;font-weight:700;color:#fff;font-family:'Playfair Display','Playfair Fallback',Georgia,serif}
.sax-pdf-item{display:flex;justify-content:space-between;padding:3px 8px;border-bottom:1px solid #f5f0eb}
.sax-pdf-lbl,.sax-pdf-val{font-size:8px;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}
.sax-pdf-lbl{color:var(--ink3)}.sax-pdf-val{font-weight:700;color:var(--ink)}
.sax-pdf-total{background:var(--terra3);padding:4px 8px;display:flex;justify-content:space-between;font-size:8px;font-weight:700;color:var(--terracotta);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}
.sax-pdf-side{flex:1}
.sax-pdf-gen-txt{font-size:9.5px;color:var(--ink2);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;margin-bottom:6px}
.sax-pdf-bar{height:4px;background:#e8e0da;border-radius:2px;overflow:hidden;margin-bottom:5px}
.sax-pdf-fill{height:100%;background:var(--terracotta);border-radius:2px;animation:saxPdfDl 2.2s ease-in-out infinite}
@keyframes saxPdfDl{0%{width:0%}65%{width:90%}80%{width:90%}100%{width:0%}}
.sax-pdf-note{font-size:8.5px;color:var(--ink3);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}

.fc-wrap{display:flex;gap:18px;align-items:flex-start}
.fc-cal{background:#fff;border-radius:12px;box-shadow:0 2px 12px rgba(0,0,0,.09);overflow:hidden;width:168px;flex-shrink:0}
.fc-cal-hdr{background:#4285F4;padding:9px 12px;display:flex;align-items:center;gap:5px}
.fc-cal-month{font-size:11px;font-weight:700;color:#fff;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;flex:1}
.fc-cal-dots{display:flex;gap:3px}.fc-cal-dot{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.5)}
.fc-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;padding:8px 8px 4px}
.fc-cell{font-size:9px;text-align:center;padding:3px 2px;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;color:#555;border-radius:4px;width:20px;height:18px;display:flex;align-items:center;justify-content:center;margin:0 auto}
.fc-cell.fc-hdr{font-weight:700;font-size:8px;color:#aaa;height:14px}
.fc-cell.fc-start{background:#4285F4;color:#fff;border-radius:50%;font-weight:700}
.fc-cell.fc-range{background:rgba(66,133,244,.15);color:#4285F4;font-weight:600;border-radius:4px}
.fc-cell.fc-end{background:#34A853;color:#fff;border-radius:50%;font-weight:700}
.fc-evt{margin:4px 8px 9px;background:#4285F4;border-radius:6px;padding:5px 9px;display:flex;align-items:center;gap:5px;animation:fcPulse 2s ease-in-out infinite}
@keyframes fcPulse{0%,100%{box-shadow:0 0 0 0 rgba(66,133,244,.35)}50%{box-shadow:0 0 0 5px rgba(66,133,244,0)}}
.fc-evt-txt{font-size:9px;color:#fff;font-weight:600;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}
.fc-apps{flex:1;display:flex;flex-direction:column;gap:10px;padding-top:2px}
.fc-apps-lbl{font-size:10px;font-weight:700;color:#4285F4;text-transform:uppercase;letter-spacing:.07em;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;margin-bottom:2px}
.fc-app{display:flex;align-items:center;gap:9px}
.fc-app-icon{width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0}
.fc-app-name{font-size:11.5px;font-weight:600;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;color:var(--ink)}
.fc-note{font-size:9.5px;color:var(--ink3);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;margin-top:4px;line-height:1.5}

.gp-row-wrap{display:flex;gap:14px;align-items:flex-start}
.gp-doc{width:130px;background:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1);overflow:hidden;flex-shrink:0}
.gp-hdr{background:linear-gradient(135deg,var(--terracotta),var(--gold));padding:5px 8px;display:flex;align-items:center;gap:5px}
.gp-logo{font-size:8.5px;font-weight:700;color:#fff;font-family:'Playfair Display','Playfair Fallback',Georgia,serif;flex:1}
.gp-badge{background:rgba(255,255,255,.25);padding:1px 5px;border-radius:8px;font-size:7px;font-weight:800;color:#fff;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}
.gp-item{display:flex;justify-content:space-between;padding:3px 8px;border-bottom:1px solid #f5f0eb}
.gp-lbl{font-size:8px;color:var(--ink3);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}
.gp-val{font-size:8px;font-weight:700;color:var(--ink);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}
.gp-total{background:linear-gradient(135deg,rgba(212,106,58,.1),rgba(201,146,42,.1));padding:4px 8px;display:flex;justify-content:space-between;font-size:8px;font-weight:700;color:var(--gold);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}
.gp-side{flex:1}
.gp-gen-txt{font-size:9.5px;color:var(--ink2);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;margin-bottom:6px}
.gp-bar{height:4px;background:#e8e0da;border-radius:2px;overflow:hidden;margin-bottom:5px}
.gp-fill{height:100%;background:linear-gradient(90deg,var(--terracotta),var(--gold));border-radius:2px;animation:gpFill 2.2s ease-in-out infinite}
@keyframes gpFill{0%{width:0%}65%{width:90%}80%{width:90%}100%{width:0%}}
.gp-note{font-size:8.5px;color:var(--ink3);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}

.sax-inner-pad{padding:14px 18px 16px}

.sax-wa-phone{background:#ECE5DD;border-radius:10px;overflow:hidden;padding-bottom:10px}
.sax-wa-header{background:#075E54;padding:8px 12px;display:flex;align-items:center;gap:8px}
.sax-wa-avatar{width:26px;height:26px;background:#25D366;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
.sax-wa-name{font-size:11px;font-weight:600;color:#fff;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}
.sax-wa-bubble{background:#fff;margin:10px 10px 4px;border-radius:0 8px 8px 8px;padding:9px 11px;font-size:11.5px;line-height:1.55;color:var(--ink);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;box-shadow:0 1px 2px rgba(0,0,0,.1);position:relative}
.sax-wa-tick{font-size:10px;color:#53bdeb;margin-left:4px}
.sax-wa-typing{display:flex;gap:3px;padding:6px 12px 0;align-items:center}
.sax-wa-dot{width:7px;height:7px;background:#aaa;border-radius:50%;animation:saxWaDot 1.2s ease-in-out infinite}
.sax-wa-dot:nth-child(2){animation-delay:.2s}.sax-wa-dot:nth-child(3){animation-delay:.4s}
@keyframes saxWaDot{0%,60%,100%{transform:translateY(0)}30%{transform:translateY(-5px)}}

.sax-pdf-row-wrap{display:flex;gap:16px;align-items:flex-start}
.sax-pdf-doc{width:130px;background:#fff;border-radius:8px;box-shadow:0 2px 10px rgba(0,0,0,.1);overflow:hidden;flex-shrink:0}
.sax-pdf-hdr{background:var(--terracotta);padding:6px 10px;display:flex;align-items:center}
.sax-pdf-logo{font-size:9px;font-weight:700;color:#fff;font-family:'Playfair Display','Playfair Fallback',Georgia,serif}
.sax-pdf-item{display:flex;justify-content:space-between;padding:4px 9px;border-bottom:1px solid #f5f0eb}
.sax-pdf-lbl{font-size:8px;color:var(--ink3);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}
.sax-pdf-val{font-size:8px;font-weight:700;color:var(--ink);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}
.sax-pdf-total{background:var(--terra3);padding:5px 9px;display:flex;justify-content:space-between;font-size:8px;font-weight:700;color:var(--terracotta);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}
.sax-pdf-side{flex:1}
.sax-pdf-gen-txt{font-size:10px;color:var(--ink2);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;margin-bottom:7px}
.sax-pdf-bar{height:4px;background:#e8e0da;border-radius:2px;overflow:hidden;margin-bottom:6px}
.sax-pdf-fill{height:100%;background:var(--terracotta);border-radius:2px;animation:saxPdfDl 2.2s ease-in-out infinite}
@keyframes saxPdfDl{0%{width:0%}65%{width:88%}80%{width:88%}100%{width:0%}}
.sax-pdf-note{font-size:9.5px;color:var(--ink3);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}

.sax-pdfpro-scroll-wrap{position:relative;height:150px;overflow:hidden;padding:0!important;border-radius:8px}
.sax-pdfpro-prev-inner{display:flex;flex-direction:column;gap:7px;padding:0 0 7px}
.sax-pdfpro-prev-inner .shr-prev-card{background:#fff;border:1px solid var(--border);border-radius:9px;display:flex;align-items:stretch;overflow:hidden;flex-shrink:0}
.sax-pdfpro-prev-inner .shr-prev-accent{width:3px;flex-shrink:0}
.sax-pdfpro-prev-inner .shr-prev-body{flex:1;padding:8px 12px 8px 10px;min-width:0}
.sax-pdfpro-prev-inner .shr-prev-top{display:flex;justify-content:space-between;align-items:flex-start;gap:6px;margin-bottom:4px}
.sax-pdfpro-prev-inner .shr-prev-title{font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:11.5px;font-weight:700;color:var(--ink);line-height:1.3;flex:1}
.sax-pdfpro-prev-inner .shr-prev-time{font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:10.5px;font-weight:600;color:var(--ink3);white-space:nowrap;flex-shrink:0}
.sax-pdfpro-prev-inner .shr-prev-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.sax-pdfpro-prev-inner .shr-prev-badge{font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:9.5px;font-weight:600;color:#fff;padding:2px 7px;border-radius:20px}
.sax-pdfpro-prev-inner .shr-prev-loc{font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:10px;color:var(--ink3)}
.sax-pdfpro-prev-inner .shr-prev-cost{font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:10px;font-weight:600;color:var(--gold)}
.sax-pdfpro-prev-fade-top{position:absolute;top:0;left:0;right:0;height:24px;background:linear-gradient(to bottom,var(--cream),transparent);pointer-events:none;z-index:2}
.sax-pdfpro-prev-fade-bot{position:absolute;bottom:0;left:0;right:0;height:36px;background:linear-gradient(to top,var(--cream),transparent);pointer-events:none;z-index:2}

.ics-preview{display:grid;grid-template-columns:auto 1fr;gap:18px;align-items:stretch}
.ics-datecard{
  background:var(--white);
  border:1px solid var(--border);
  border-radius:14px;
  padding:14px 18px 16px;
  min-width:170px;
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;
  position:relative;
}
.ics-datecard::before{
  
  content:'';position:absolute;top:0;left:14px;right:14px;height:1px;
  background-image:radial-gradient(circle, var(--border) 1px, transparent 1.5px);
  background-size:6px 1px;background-repeat:repeat-x;
}
.ics-dc-month{
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:10px;font-weight:700;color:var(--terracotta);
  text-transform:uppercase;letter-spacing:.14em;
}
.ics-dc-dates{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-style:italic;font-weight:500;
  font-size:38px;line-height:1;color:var(--ink);
  display:flex;align-items:baseline;gap:6px;
}
.ics-dc-dash{
  color:var(--ink4,#A8A29E);font-size:24px;font-weight:300;font-style:normal;letter-spacing:-.02em;
}
.ics-dc-range{
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:11px;color:var(--ink3);
  display:flex;align-items:center;gap:5px;
}
.ics-dc-range strong{color:var(--ink2);font-weight:600}
.ics-dc-divider{
  width:32px;height:1px;background:var(--border);margin:4px 0 2px;
}
.ics-dc-stats{
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:10px;color:var(--ink3);letter-spacing:.02em;
  display:flex;align-items:center;gap:6px;
}
.ics-dc-stats .dot{width:3px;height:3px;border-radius:50%;background:var(--ink4,#A8A29E)}
.ics-apps{display:flex;flex-direction:column;justify-content:center;gap:8px}
.ics-app{
  display:flex;align-items:center;gap:10px;
  padding:8px 10px;border-radius:10px;
  background:var(--white);border:1px solid var(--border);
  transition:border-color .15s, transform .12s;
}
.ics-app:hover{border-color:#cbd2e0}
.ics-app-logo{
  width:28px;height:28px;border-radius:7px;display:flex;align-items:center;justify-content:center;
  flex-shrink:0;background:var(--cream);
}
.ics-app-logo svg{display:block}
.ics-app-name{
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:12px;font-weight:600;color:var(--ink2);
}
.ics-app-sub{
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:10px;color:var(--ink3);margin-top:-1px;
}
.ics-app-textwrap{display:flex;flex-direction:column;line-height:1.2}

@media(max-width:560px){
  .ics-preview{grid-template-columns:1fr;gap:12px}
  .ics-datecard{min-width:0;width:100%}
}

.sax-cal-hdr{background:#4285F4;padding:7px 10px;display:flex;align-items:center;gap:6px}
.sax-cal-month{font-size:10px;font-weight:700;color:#fff;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}
.sax-cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;padding:6px 8px}
.sax-cal-day{font-size:8px;text-align:center;padding:3px;border-radius:4px;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;color:var(--ink3)}
.sax-cal-day.sax-chdr{font-weight:700;font-size:7px}.sax-cal-day.sax-ctoday{background:#4285F4;color:#fff;border-radius:50%;font-weight:700}
.sax-cal-day.sax-crange{background:rgba(66,133,244,.15);color:#4285F4;font-weight:600}.sax-cal-day.sax-cend{background:#34A853;color:#fff;border-radius:50%;font-weight:700}
.sax-cal-event{margin:4px 8px 8px;background:#4285F4;border-left:none;border-radius:6px;padding:5px 8px;display:flex;align-items:center;gap:5px;animation:saxCalPulse 2s ease-in-out infinite}
@keyframes saxCalPulse{0%,100%{box-shadow:0 0 0 0 rgba(66,133,244,.4)}50%{box-shadow:0 0 0 6px rgba(66,133,244,0)}}
.sax-cal-evt-title{font-size:8.5px;color:#fff;font-weight:600;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}
.sax-cal-evt-sub{font-size:7.5px;color:rgba(255,255,255,.7);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}

.sax-ics-layout{display:flex;gap:14px;align-items:flex-start}
.sax-ics-apps{flex:1;display:flex;flex-direction:column;gap:7px}
.sax-ics-app{display:flex;align-items:center;gap:8px}
.sax-ics-app-icon{width:26px;height:26px;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:14px;flex-shrink:0}
.sax-ics-app-name{font-size:11px;font-weight:600;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;color:var(--ink)}
.sax-ics-note{font-size:9px;color:var(--ink3);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;line-height:1.5;margin-top:8px}

.sax-cal-phone{width:190px;background:#1c1c1e;border-radius:18px;padding:7px;box-shadow:0 8px 28px rgba(0,0,0,.35);flex-shrink:0}
.sax-cal-notch{width:55px;height:5px;background:#333;border-radius:3px;margin:0 auto 7px}
.sax-cal-app{background:#fff;border-radius:12px;overflow:hidden}
.sax-cal-app-hdr{background:linear-gradient(135deg,#4285F4,#34A853);padding:9px 11px;display:flex;align-items:center;justify-content:space-between}
.sax-cal-app-month{font-size:12px;font-weight:700;color:#fff;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}
.sax-cal-app-dots{display:flex;gap:3px}
.sax-cal-app-dot{width:5px;height:5px;border-radius:50%;background:rgba(255,255,255,.6)}
.sax-cal-grid2{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;padding:5px 7px 2px}
.sax-c2-day{font-size:7.5px;text-align:center;padding:2px;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;color:#555;border-radius:50%;width:17px;height:17px;display:flex;align-items:center;justify-content:center}
.sax-c2-day.sax-c2-hdr{font-weight:700;font-size:6.5px;color:#999}
.sax-c2-day.sax-c2-today{background:#4285F4;color:#fff;font-weight:700}
.sax-c2-day.sax-c2-range{background:rgba(66,133,244,.15);color:#4285F4;font-weight:600;border-radius:3px}
.sax-c2-day.sax-c2-end{background:#34A853;color:#fff;font-weight:700}
.sax-cal-evt-bar{margin:3px 7px 7px;background:#4285F4;border-radius:6px;padding:5px 8px;display:flex;align-items:center;gap:5px;animation:saxCalPulse 2s ease-in-out infinite}
.sax-cal-evt-bar-txt{font-size:8.5px;color:#fff;font-weight:600;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}

.sax-pg-spread{position:relative;width:290px;height:120px;margin-bottom:8px}
.sax-pg{position:absolute;background:#fff;border-radius:9px;overflow:hidden;box-shadow:0 4px 18px rgba(0,0,0,.13)}
.sax-pg-cover{width:108px;height:138px;top:-12px;left:91px;z-index:4;animation:saxPgC 3s ease-in-out infinite}
.sax-pg-left{width:88px;height:116px;top:2px;left:6px;z-index:3;transform:rotate(-5deg);animation:saxPgL 3s ease-in-out infinite .5s}
.sax-pg-right{width:88px;height:116px;top:2px;left:192px;z-index:3;transform:rotate(5deg);animation:saxPgR 3s ease-in-out infinite 1s}
@keyframes saxPgC{0%,100%{transform:translateY(0)}50%{transform:translateY(-5px)}}
@keyframes saxPgL{0%,100%{transform:translateY(0) rotate(-5deg)}50%{transform:translateY(-4px) rotate(-5deg)}}
@keyframes saxPgR{0%,100%{transform:translateY(0) rotate(5deg)}50%{transform:translateY(-4px) rotate(5deg)}}
.sax-pg-hdr{height:22px;display:flex;align-items:center;padding:0 8px;gap:4px}
.sax-pg-logo{font-size:8px;font-weight:700;color:#fff;font-family:'Playfair Display','Playfair Fallback',Georgia,serif;flex:1}
.sax-pg-hdots{display:flex;gap:2px}.sax-pg-hdot{width:4px;height:4px;border-radius:50%;background:rgba(255,255,255,.5)}
.sax-pg-body{padding:5px 7px;display:flex;flex-direction:column;gap:3px}
.sax-pg-line{height:4px;border-radius:2px;background:#f0ebe0}
.sax-pg-line.hi{width:70%}.sax-pg-line.med{width:85%}.sax-pg-line.sm{width:55%}
.sax-pg-sep{height:1px;background:#f0ebe0;margin:2px 0}
.sax-pg-row{display:flex;justify-content:space-between;align-items:center}
.sax-pg-tag{height:5px;width:30px;border-radius:2px}
.sax-pg-pnum{font-size:7px;color:#bbb;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}
.sax-pdf-badge{position:absolute;background:linear-gradient(135deg,var(--gold),#e8a82e);color:#fff;font-size:8px;font-weight:800;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;padding:3px 9px;border-radius:20px;top:-6px;right:5px;box-shadow:0 2px 8px rgba(201,146,42,.45);z-index:5}
.sax-pg-stats{display:flex;gap:6px;flex-wrap:wrap}
.sax-pg-stat{background:rgba(201,146,42,.1);border:1px solid rgba(201,146,42,.2);border-radius:8px;padding:4px 8px;font-size:9px;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;color:var(--gold);font-weight:600}
.sax-pdfpro-note{font-size:9.5px;color:var(--ink3);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}

.share-link-box{display:flex;align-items:center;gap:6px;background:var(--cream);border:1.5px solid var(--terracotta);border-radius:var(--rs);padding:7px 10px;margin-bottom:12px}
.share-link-url{flex:1;font-size:11px;color:var(--ink);font-family:monospace;word-break:break-all;line-height:1.4;user-select:all}
.share-link-copy{flex-shrink:0;padding:5px 12px;border-radius:var(--rs);border:none;background:var(--terracotta);color:#fff;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}
.share-link-copy:hover{background:var(--terracotta-hover)}
.share-link-copy.copied{background:var(--teal)}
.share-link-label{font-size:10px;color:var(--ink3);text-transform:uppercase;letter-spacing:.07em;font-weight:500;margin-bottom:5px;display:flex;align-items:center;gap:5px}

#readonlyBanner{display:none;position:sticky;top:0;z-index:200;background:var(--ink);color:#fff;text-align:center;padding:8px 20px;font-size:12px;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-weight:500;letter-spacing:.02em;gap:10px;align-items:center;justify-content:center;flex-shrink:0}
#readonlyBanner.show{display:flex}
#readonlyBanner a{color:var(--terra2);text-decoration:none;font-weight:600;margin-left:8px}
#readonlyBanner a:hover{text-decoration:underline}


.lang-pill{display:flex;align-items:center;gap:5px;height:32px;padding:0 10px 0 8px;border:1px solid var(--border2);border-radius:var(--rs);background:var(--white);cursor:pointer;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:12px;font-weight:600;color:var(--ink2);transition:border-color .15s,box-shadow .15s;user-select:none;flex-shrink:0;white-space:nowrap}
.lang-pill:hover{border-color:var(--terracotta);box-shadow:0 0 0 2px rgba(212,106,58,.08)}
.lang-pill .lang-flag{font-size:15px;line-height:1}
.lang-pill .lang-code{letter-spacing:.06em}
.lang-pill .lang-chevron{font-size:8px;color:var(--ink3);margin-left:1px;transition:transform .2s}
.lang-pill.open .lang-chevron{transform:rotate(180deg)}

.lang-dropdown{position:fixed;z-index:9500;background:var(--white);border:1px solid var(--border);border-radius:14px;box-shadow:0 8px 32px rgba(28,25,23,.14),0 2px 8px rgba(28,25,23,.07);padding:6px;min-width:170px;opacity:0;transform:translateY(-6px) scale(.97);pointer-events:none;transition:opacity .18s cubic-bezier(.32,.72,0,1),transform .18s cubic-bezier(.32,.72,0,1)}
.lang-dropdown.open{opacity:1;transform:translateY(0) scale(1);pointer-events:all}
.lang-option{display:flex;align-items:center;gap:10px;padding:9px 12px;border-radius:9px;cursor:pointer;transition:background .12s;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:13px;color:var(--ink2);font-weight:500}
.lang-option:hover{background:var(--cream)}
.lang-option.active{background:var(--terra3);color:var(--terracotta);font-weight:600}
.lang-option .lo-flag{font-size:20px;line-height:1;flex-shrink:0}
.lang-option .lo-name{flex:1}
.lang-option .lo-check{font-size:12px;color:var(--terracotta);opacity:0}
.lang-option.active .lo-check{opacity:1}

.lang-pill.hero-pill{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.18);color:rgba(255,255,255,.9)}
.lang-pill.hero-pill:hover{background:rgba(255,255,255,.16);border-color:rgba(255,255,255,.3)}
.lang-pill.hero-pill .lang-chevron{color:rgba(255,255,255,.5)}

@media(max-width:768px){
  .lang-pill{height:30px;padding:0 8px 0 7px;font-size:11px}
  .lang-pill .lang-flag{font-size:14px}
}


@media(max-width:768px){#appLangPill{display:none!important}}
.collab-mode #readonlyBanner.show{display:flex!important}
.collab-mode #readonlyBanner{background:linear-gradient(135deg,rgba(104,10,10,.92),rgba(80,8,8,.97))!important}


body.readonly .hbtn-primary,
body.readonly .hbtn-home,
body.readonly #savedIndicator,
body.readonly .chat-fab,
body.readonly .add-act-btn,
body.readonly .act-btn,
body.readonly .act-drag-handle,
body.readonly .day-nav-btn,
body.readonly .btn-resolve,
body.readonly .budget-edit,
body.readonly #currencyRateInfo,
body.readonly .mobile-menu-btn{display:none!important}
body.readonly .hbtn[onclick*="openLibraryModal"]{display:none!important}
body.readonly .hbtn[onclick*="newTrip"]{display:none!important}
body.readonly .hbtn[onclick*="openShareModal"]{display:none!important}
body.readonly .act-card{cursor:default}
body.readonly select#headerCurrency{pointer-events:none;opacity:.6}
body.readonly .collab-allowed{pointer-events:auto!important;opacity:1!important}
body.readonly .mobile-bottom-tabs .mbt[data-tab="chat"]{display:none}



.loading-overlay{display:none;position:fixed;inset:0;background:rgba(15,13,11,.75);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);z-index:300;align-items:center;justify-content:center;flex-direction:column}
.loading-overlay.visible{display:flex}
.loading-card{background:var(--white);border-radius:20px;padding:36px 40px 32px;text-align:center;max-width:380px;width:92%;position:relative;overflow:hidden;box-shadow:0 32px 80px rgba(15,13,11,.35)}

.lc-glow{position:absolute;top:-80px;left:50%;transform:translateX(-50%);width:240px;height:140px;background:radial-gradient(ellipse,rgba(212,106,58,.18) 0%,transparent 70%);pointer-events:none}

.lc-mark-wrap{position:relative;width:64px;height:64px;margin:0 auto 20px;display:flex;align-items:center;justify-content:center}
.lc-ring{position:absolute;inset:0;border-radius:50%;border:2px solid transparent}
.lc-ring-1{border-top-color:var(--terracotta);border-right-color:rgba(212,106,58,.3);animation:lcSpin1 2.4s linear infinite}
.lc-ring-2{inset:8px;border-top-color:var(--gold);border-left-color:rgba(201,146,42,.3);animation:lcSpin2 1.8s linear infinite reverse}
@keyframes lcSpin1{to{transform:rotate(360deg)}}
@keyframes lcSpin2{to{transform:rotate(360deg)}}
.lc-mark{font-size:22px;color:var(--terracotta);animation:lcPulse 2s ease-in-out infinite;position:relative;z-index:1}
@keyframes lcPulse{0%,100%{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(.9)}}

.loading-title{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:20px;font-weight:700;color:var(--ink);margin-bottom:14px;line-height:1.2}


.lc-activity-wrap{display:flex;align-items:flex-start;justify-content:center;gap:10px;background:var(--cream);border:1px solid var(--border);border-radius:12px;padding:12px 16px;margin-bottom:18px;min-height:54px;text-align:left}
.lc-activity-dot{width:8px;height:8px;border-radius:50%;background:var(--terracotta);flex-shrink:0;animation:lcBlink 1.4s ease-in-out infinite;margin-top:6px}
@keyframes lcBlink{0%,100%{opacity:1}50%{opacity:.25}}
.lc-activity-text{font-size:14px;color:var(--ink);line-height:1.45;text-align:left;flex:1;transition:opacity .3s;font-weight:500}
.lc-activity-text.changing{opacity:0}

.lc-progress-wrap{width:100%;margin-bottom:16px}
.lc-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}
.lc-progress-label{font-size:11.5px;color:var(--ink3);font-weight:500}
.lc-progress-pct{font-size:13px;font-weight:700;color:var(--terracotta);font-variant-numeric:tabular-nums}


.lc-track{position:relative;background:var(--border);border-radius:8px;height:10px;overflow:hidden}
.lc-fill{height:100%;background:linear-gradient(90deg,var(--terracotta),var(--gold));border-radius:8px;width:0%;transition:width .12s linear;will-change:width}

.lc-shimmer{position:absolute;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.35) 50%,transparent 100%);animation:lcShimmer 1.8s ease-in-out infinite;pointer-events:none}
@keyframes lcShimmer{0%{transform:translateX(-100%)}100%{transform:translateX(200%)}}

.lc-dots{display:flex;gap:7px;margin-bottom:16px;flex-wrap:wrap;justify-content:center}
.lc-dot{width:28px;height:28px;border-radius:50%;border:2px solid var(--border);background:var(--cream);display:flex;align-items:center;justify-content:center;font-size:10px;font-weight:600;color:var(--ink3);transition:all .35s cubic-bezier(.34,1.56,.64,1);flex-shrink:0}
.lc-dot.loading{border-color:var(--terracotta);background:rgba(212,106,58,.08);color:var(--terracotta)}
.lc-dot.done{border-color:var(--teal);background:rgba(42,123,111,.1);color:var(--teal);transform:scale(1.12)}
.lc-dot.error{border-color:var(--danger);background:#fef2f2;color:var(--danger)}

.lc-sub{font-size:12px;color:var(--ink4);line-height:1.5}

.loading-dots{display:none}
.ld{width:8px;height:8px;border-radius:50%;background:var(--terracotta);animation:blink 1.2s infinite}
.ld:nth-child(2){animation-delay:.2s}
.ld:nth-child(3){animation-delay:.4s}
@keyframes blink{0%,60%,100%{opacity:1}30%{opacity:.2}}


.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 32px;text-align:center;color:var(--ink3)}
.es-icon{font-size:48px;margin-bottom:16px;opacity:.3}
.es-title{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:24px;color:var(--ink2);margin-bottom:8px}
.es-sub{font-size:14px;line-height:1.6;max-width:320px}


.toast{position:fixed;bottom:calc(24px + env(safe-area-inset-bottom,0px));right:24px;background:var(--ink);color:#fff;padding:10px 18px;border-radius:var(--r);font-size:13px;z-index:600;opacity:0;transform:translateY(8px);transition:all .3s;pointer-events:none;max-width:320px;display:flex;align-items:center;gap:10px}

body.app-active .toast{bottom:calc(96px + env(safe-area-inset-bottom,0px))}
.toast.show{opacity:1;transform:translateY(0);pointer-events:all}
.toast.success{background:var(--teal)}
.toast.warning{background:var(--gold)}
.toast-undo-btn{flex-shrink:0;padding:4px 10px;border-radius:6px;border:1px solid rgba(255,255,255,0.35);background:transparent;color:#fff;font-size:12px;font-weight:600;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;cursor:pointer;white-space:nowrap;transition:background .15s}
.toast-undo-btn:hover{background:rgba(255,255,255,0.15)}





.map-ui{display:flex;flex-direction:column;height:100%;overflow:hidden}


.map-day-btns{display:flex;flex-direction:column;padding:0;height:auto;max-height:220px;box-sizing:border-box;border-bottom:1px solid var(--border);flex-shrink:0;overflow-y:auto;scrollbar-width:none;background:var(--white)}
.map-day-btns::-webkit-scrollbar{display:none}
.map-city-group{display:flex;flex-direction:column;border-bottom:1px solid var(--border2)}
.map-city-group:last-child{border-bottom:none}
.map-city-header{display:flex;align-items:center;gap:8px;padding:7px 12px;cursor:pointer;user-select:none;background:var(--white);transition:background .12s;min-height:36px}
.map-city-header:hover{background:var(--cream)}
.map-city-header.active{background:var(--cream)}
.map-city-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.map-city-name{font-size:11px;font-weight:700;color:var(--ink2);flex:1;letter-spacing:.01em}
.map-city-days-count{font-size:10px;color:var(--ink4);flex-shrink:0}
.map-city-chevron{font-size:9px;color:var(--ink4);transition:transform .18s;flex-shrink:0}
.map-city-chevron.open{transform:rotate(90deg)}
.map-city-days{display:none;flex-wrap:wrap;gap:4px;padding:4px 12px 8px 28px;background:var(--bg)}
.map-city-days.open{display:flex}
.map-day-btn{padding:3px 9px;border-radius:20px;border:1.5px solid var(--border2);font-size:10px;font-weight:500;color:var(--ink2);cursor:pointer;background:transparent;transition:all .15s;white-space:nowrap;flex-shrink:0;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}
.map-day-btn:hover{background:var(--cream)}

.map-global-row{display:flex;align-items:center;gap:6px;padding:6px 12px;border-bottom:1px solid var(--border2);background:var(--white)}
.map-global-btn{display:flex;align-items:center;gap:5px;padding:4px 10px;border-radius:20px;border:1.5px solid var(--border2);font-size:10px;font-weight:600;color:var(--ink2);cursor:pointer;background:transparent;transition:all .15s;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}
.map-global-btn.active{background:var(--ink);border-color:var(--ink);color:#fff}

#leafletMap{flex:1;min-height:0;position:relative}
.map-route-empty{padding:32px;text-align:center;color:var(--ink3);font-size:12px;line-height:1.7}
.leaflet-popup-content-wrapper{border-radius:12px!important;box-shadow:0 8px 32px rgba(28,25,23,.15),0 2px 8px rgba(28,25,23,.08)!important;border:1px solid #E7E5E4!important;padding:0!important}
.leaflet-popup-content{margin:12px 14px 12px 14px!important;padding-right:22px!important;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif!important}
.leaflet-popup-tip{background:#fff!important}
.leaflet-popup-close-button{color:var(--ink3-faint)!important;font-size:13px!important;top:8px!important;right:8px!important;width:22px!important;height:22px!important;display:flex!important;align-items:center!important;justify-content:center!important;border-radius:50%!important;line-height:1!important}
.leaflet-popup-close-button:hover{color:var(--ink)!important}
.leaflet-control-zoom{border:1px solid #E7E5E4!important;border-radius:8px!important;overflow:hidden;box-shadow:0 2px 8px rgba(0,0,0,.08)!important}
.leaflet-control-zoom a{background:#fff!important;color:var(--ink)!important;border-bottom:1px solid #E7E5E4!important;font-size:15px!important;width:30px!important;height:30px!important;line-height:30px!important}
.leaflet-control-zoom a:hover{background:var(--cream)!important;color:var(--terracotta)!important}
.leaflet-control-zoom-out{border-bottom:none!important}
.leaflet-attribution-flag{display:none!important}
.leaflet-control-attribution{background:rgba(255,255,255,.75)!important;font-size:10px!important;color:var(--ink3-faint)!important;border-radius:6px!important;padding:2px 6px!important}


.map-route-wrap{position:relative}
.map-route-svg{position:absolute;left:15px;top:0;bottom:0;width:2px;pointer-events:none}
.map-route-items{display:flex;flex-direction:column;gap:0;padding-left:0}
.map-route-item{display:flex;gap:10px;align-items:flex-start;cursor:pointer;padding:4px 0}
.map-route-item:hover .mri-card{background:var(--terra3);border-color:var(--terracotta)}
.mri-spine{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:32px;gap:0}
.mri-pin{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;color:#fff;flex-shrink:0;box-shadow:0 2px 6px rgba(0,0,0,0.15);z-index:1;position:relative}
.mri-line{width:2px;flex:1;min-height:14px;border-radius:1px;margin:2px 0}
.mri-card{flex:1;background:var(--white);border:1px solid var(--border);border-radius:var(--rs);padding:8px 10px;margin-bottom:6px;transition:all .15s}

.map-open-btn-wrap{padding:10px 14px;border-top:1px solid var(--border);flex-shrink:0}
.map-open-btn{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;padding:10px;border-radius:var(--rs);border:none;background:var(--terracotta);color:#fff;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:12px;font-weight:600;cursor:pointer;transition:all .2s;text-decoration:none}
.map-open-btn:hover{background:var(--terracotta-hover)}
.map-visual-hint{background:var(--teal3);border:1px solid var(--teal2);border-radius:var(--rs);padding:10px 12px;font-size:12px;color:var(--teal);margin-bottom:12px;line-height:1.5}
.budget-fixed-block{background:linear-gradient(135deg,var(--terra3) 0%,var(--gold3) 100%);border:1px solid var(--terra2);border-radius:var(--r);padding:10px 14px;margin-bottom:4px}
.bfb-title{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:14px;font-weight:500;color:var(--terracotta);margin-bottom:1px}
.bfb-subtitle{font-size:11px;color:var(--gold);margin-bottom:12px}
.bfb-row{display:flex;flex-direction:column;gap:0;margin-bottom:10px;background:var(--white);border:1px solid var(--border);border-radius:var(--r);overflow:hidden}
.bfb-row-top{display:flex;align-items:center;gap:10px;padding:13px 16px}
.bfb-icon{width:22px;height:22px;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:var(--ink2)}
.bfb-icon svg{width:18px;height:18px}
.bfb-label{font-size:12px;font-weight:600;color:var(--ink);flex:1}
.bfb-label span{font-size:10.5px;color:var(--ink3);font-weight:400;margin-left:3px}
.bfb-input{width:88px;padding:5px 8px;border:1px solid var(--border);border-radius:var(--rs);font-size:13px;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;color:var(--ink);background:transparent;outline:none;text-align:right;font-weight:600}
.bfb-input:focus{border-color:var(--terracotta);background:var(--white)}
.bfb-total-row{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid var(--terra2);margin-top:4px;font-size:12px;font-weight:600;color:var(--terracotta)}
.bfb-divider{display:flex;align-items:center;gap:8px;margin:12px 0 8px;color:var(--ink3);font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.1em}
.bfb-divider::before,.bfb-divider::after{content:'';flex:1;height:1px;background:var(--border)}

::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:var(--border2);border-radius:2px}




@media(max-width:1100px) and (min-width:769px){
  .app-body{grid-template-columns:1fr 300px}
  .sidebar-tabs{height:52px;align-items:stretch}
  .day-tab-bar{height:52px}
  .chat-popup{width:320px;right:16px;bottom:80px}
  .chat-fab{right:16px;bottom:16px}
  .day-tab-bar{padding:10px 14px 8px}
  .day-view-header{padding:12px 16px 10px}
  .day-items-list{padding:10px 12px 0}
}


@media(max-width:1100px) and (min-width:769px){
  .app-header{padding:0 clamp(8px,1.5vw,20px);gap:4px}
  
  .hbtn-home{display:none}
  .hbtn:not(.hbtn-primary){display:none}
  
}

@media(max-width:920px) and (min-width:769px){
  .app-header{padding:0 10px;gap:4px;height:56px;min-height:56px}
  .app-logo{font-size:16px}
  .trip-title-display{font-size:13px;max-width:100px}
  .tbadge{font-size:10px;padding:2px 6px}
  
  .hbtn{display:none!important}
  .mobile-menu-btn{display:flex!important}
  #mobileMenuBtn{display:flex!important}
  
  #headerCurrency{font-size:11px}
}


.hero-proof{
  display:flex;align-items:center;justify-content:center;
  gap:8px;flex-wrap:wrap;
  margin:18px 0 10px;
  font-family:'Outfit','Helvetica Neue',Arial,sans-serif;
  font-size:13px;font-weight:500;
  color:rgba(255,255,255,.7);
  letter-spacing:0;
}
.hp-star{color:var(--gold,#C9922A);display:inline-flex;align-items:center;line-height:0}
.hp-rating{font-weight:700;color:rgba(255,255,255,.92)}
.hp-count{font-weight:700;color:rgba(255,255,255,.92);font-variant-numeric:tabular-nums}
.hp-dot{color:rgba(255,255,255,.35);font-weight:400}
.hp-label, .hp-free{color:rgba(255,255,255,.62)}
.hp-free{color:rgba(254,233,201,.85)}
@media(max-width:480px){
  .hero-proof{font-size:12px;gap:6px}
}


.hmg-italic{
  font-family:'Instrument Serif','Playfair Display','Cormorant Garamond',Georgia,serif;
  font-style:italic;
  font-weight:400;
  letter-spacing:-.01em;
}


.hero-inspire{display:none!important}
@media(max-width:768px){
  
  .hero-inspire{
    
    padding:32px 0 28px;
    background:linear-gradient(180deg, #14202D 0%, #1C2B3A 8px, var(--cream) 8px, var(--cream) 100%);
    position:relative;
  }
  .hero-inspire::before{
    
    content:'';position:absolute;left:0;right:0;top:0;height:24px;
    background:linear-gradient(180deg, rgba(15,23,37,.15) 0%, transparent 100%);
    pointer-events:none;
  }
  .hi-head{padding:0 22px 16px;display:flex;align-items:baseline;justify-content:space-between;gap:12px}
  .hi-title{
    font-family:'Outfit','Helvetica Neue',Arial,sans-serif;
    font-size:19px;font-weight:600;letter-spacing:-.012em;color:var(--ink);margin:0;
  }
  .hi-title em{
    font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
    font-style:italic;font-weight:500;color:var(--terracotta-ink,#B85128);
    font-size:20px;letter-spacing:-.01em;margin-left:2px;
  }
  .hi-sub{font-size:12.5px;color:var(--ink3);font-weight:500;white-space:nowrap}
  .hi-row{
    display:flex;gap:12px;overflow-x:auto;scroll-snap-type:x mandatory;
    padding:6px 22px 12px;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;
    
    -webkit-mask-image:linear-gradient(90deg, transparent 0px, #000 12px, #000 calc(100% - 28px), transparent 100%);
            mask-image:linear-gradient(90deg, transparent 0px, #000 12px, #000 calc(100% - 28px), transparent 100%);
  }
  .hi-row::-webkit-scrollbar{display:none}
  
  .hi-row > .hi-card{
    animation:wp-fade-up .6s cubic-bezier(.22,1,.36,1) backwards;
  }
  .hi-row > .hi-card:nth-child(1){animation-delay:.08s}
  .hi-row > .hi-card:nth-child(2){animation-delay:.16s}
  .hi-row > .hi-card:nth-child(3){animation-delay:.24s}
  .hi-row > .hi-card:nth-child(4){animation-delay:.32s}
  
  .hi-row::after{
    content:'';flex-shrink:0;width:6px;align-self:stretch;
  }
  .hi-card{
    flex-shrink:0;width:152px;height:204px;border-radius:18px;
    position:relative;overflow:hidden;cursor:pointer;border:none;
    scroll-snap-align:start;padding:0;-webkit-tap-highlight-color:transparent;
    box-shadow:0 8px 24px rgba(28,25,23,.08), 0 1px 2px rgba(28,25,23,.06);
    transition:transform .18s cubic-bezier(.22,1,.36,1), box-shadow .18s ease;
  }
  
  .hi-card:active{transform:scale(.96);box-shadow:0 4px 12px rgba(28,25,23,.10)}
  
  .hi-card-terra    {background:linear-gradient(180deg,#E8B07A 0%,#B85128 100%)}    
  .hi-card-sky      {background:linear-gradient(180deg,#A8C2D1 0%,#3D5A6E 100%)}    
  .hi-card-rose     {background:linear-gradient(180deg,#E8C2B8 0%,#7A2E3F 100%)}    
  .hi-card-gold     {background:linear-gradient(180deg,#F0D58F 0%,#8A6F2F 100%)}    
  .hi-card-sage     {background:linear-gradient(180deg,#C5D6CB 0%,#3D5A4E 100%)}    
  .hi-card-night    {background:linear-gradient(180deg,#7E8DA3 0%,#1F2D3A 100%)}    
  
  .hi-card-marrakech{background:linear-gradient(180deg,#E8B07A 0%,#B85128 100%)}
  .hi-card-lisboa   {background:linear-gradient(180deg,#A8C2D1 0%,#3D5A6E 100%)}
  .hi-card-kioto    {background:linear-gradient(180deg,#E8C2B8 0%,#7A2E3F 100%)}
  .hi-card-baires   {background:linear-gradient(180deg,#F0D58F 0%,#8A6F2F 100%)}
  .hi-svg{position:absolute;inset:0;width:100%;height:100%}
  .hi-caption{
    position:absolute;bottom:0;left:0;right:0;padding:42px 14px 14px;
    background:linear-gradient(180deg, transparent 0%, rgba(28,25,23,.62) 100%);
    display:flex;flex-direction:column;align-items:flex-start;gap:3px;
  }
  .hi-tag{
    font-size:10.5px;font-weight:600;color:rgba(255,251,234,.85);
    letter-spacing:.06em;text-transform:uppercase;
    display:inline-flex;align-items:center;gap:5px;
  }
  .hi-tag-mark{color:rgba(255,251,234,.7);flex-shrink:0}
  .hi-name{
    font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
    font-style:italic;font-weight:500;
    font-size:21px;color:#fff;letter-spacing:-.01em;line-height:1.05;
  }
  
  .hi-sub-card{
    font-size:12.5px;font-weight:500;color:rgba(255,251,234,.75);
    margin-top:2px;letter-spacing:.01em;
  }
  
  .hi-highlight{
    display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
    overflow:hidden;text-overflow:ellipsis;
    font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
    font-style:italic;font-size:11.5px;font-weight:500;
    color:rgba(255,251,234,.92);line-height:1.35;
    margin-top:8px;padding-top:8px;
    border-top:1px solid rgba(255,228,164,.18);
    letter-spacing:.005em;
  }
  
  .hi-bucket-btn{
    position:absolute;top:8px;right:8px;z-index:2;
    width:30px;height:30px;border-radius:50%;
    background:rgba(0,0,0,.28);backdrop-filter:blur(6px);
    border:1px solid rgba(255,255,255,.18);
    display:flex;align-items:center;justify-content:center;
    cursor:pointer;color:rgba(255,255,255,.85);
    transition:background var(--dur-2) var(--ease),transform var(--dur-2) var(--ease);
  }
  .hi-bucket-btn:active{transform:scale(.9)}
  .hi-bucket-btn.saved{background:var(--gold);color:#fff;border-color:var(--gold)}
  .hi-bucket-btn svg{width:14px;height:14px}
}

@media (max-width: 600px){
  .hi-card{ min-height: 230px; }
  .hi-caption{ padding: 36px 13px 13px; }
  .hi-highlight{ font-size: 11px; -webkit-line-clamp: 2; }
}

body.app-active .hero-inspire{display:none!important}


.wg-overlay{
  position:fixed;inset:0;z-index:9700;
  background:rgba(28,25,23,.55);backdrop-filter:blur(6px);
  display:flex;align-items:center;justify-content:center;
  padding:20px;
  animation:wp-fade-in .25s ease;
}
.wg-overlay.wg-closing{animation:wp-fade-in .2s ease reverse}
.wg-card{
  position:relative;
  max-width:420px;width:100%;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:22px;
  padding:32px 28px 24px;
  text-align:center;
  box-shadow:0 32px 80px rgba(28,25,23,.30), 0 2px 6px rgba(28,25,23,.06);
  overflow:hidden;
  animation:wp-fade-up .35s cubic-bezier(.22,1,.36,1) backwards;
}
.wg-close{
  position:absolute;top:14px;right:14px;width:32px;height:32px;
  background:var(--cream);border:1px solid var(--border);border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  color:var(--ink3);cursor:pointer;
  transition:background .15s ease, color .15s ease;
  z-index:2;
}
.wg-close:hover{background:var(--ink);color:#fff}
.wg-eyebrow{
  font-size:11px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--terracotta-ink, #B85128);margin-bottom:8px;
  position:relative;z-index:1;
}
.wg-title{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-style:italic;font-weight:500;font-size:28px;line-height:1.1;
  color:var(--ink);letter-spacing:-.01em;margin:0 0 10px;
  position:relative;z-index:1;
}
.wg-sub{
  font-size:14px;line-height:1.55;color:var(--ink2);
  margin:0 auto 18px;max-width:300px;
  position:relative;z-index:1;
}
.wg-code-block{
  background:#FEF0E5;border:2px dashed var(--terracotta-ink, #B85128);
  border-radius:14px;padding:16px 20px 14px;margin-bottom:18px;
  position:relative;z-index:1;
}
.wg-code-label{
  font-size:10.5px;font-weight:700;letter-spacing:.18em;text-transform:uppercase;
  color:var(--gold-ink, #8A6F2F);margin-bottom:6px;
}
.wg-code{
  font-family:'SF Mono',Menlo,Consolas,'Courier New',monospace;
  font-size:30px;font-weight:700;letter-spacing:.1em;
  color:var(--ink);background:none;border:none;
  display:inline-flex;align-items:center;gap:10px;
  cursor:pointer;padding:6px 10px;border-radius:8px;
  transition:background .15s ease;
}
.wg-code:hover{background:rgba(184,81,40,.08)}
.wg-code svg{color:var(--ink3);opacity:.6}
.wg-expiry{
  font-size:11px;color:var(--ink3);margin-top:6px;
  letter-spacing:.02em;
}
.wg-cta-primary{
  width:100%;padding:14px 24px;
  background:var(--terracotta-ink, #B85128);color:#fff;
  border:none;border-radius:12px;
  font-family:inherit;font-size:15px;font-weight:600;
  cursor:pointer;
  transition:transform .12s cubic-bezier(.22,1,.36,1), background .15s ease;
  box-shadow:0 4px 14px rgba(184,81,40,.25);
  position:relative;z-index:1;
}
.wg-cta-primary:hover{background:#9F4720;transform:translateY(-1px)}
.wg-cta-primary:active{transform:scale(.97)}
.wg-cta-sec{
  width:100%;background:none;border:none;padding:10px;
  font-family:inherit;font-size:13px;font-weight:500;color:var(--ink3);
  cursor:pointer;margin-top:6px;
}
.wg-cta-sec:hover{color:var(--ink)}

.wg-confetti{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.wg-c{position:absolute;top:-20px;width:6px;height:10px;border-radius:2px;animation:wg-fall 2.4s cubic-bezier(.22,1,.36,1) backwards}
.wg-c-0{left:10%;background:#B85128;animation-delay:0s}
.wg-c-1{left:24%;background:#C9922A;animation-delay:.15s}
.wg-c-2{left:38%;background:#2A7B6F;animation-delay:.05s}
.wg-c-3{left:52%;background:#B85128;animation-delay:.22s}
.wg-c-4{left:66%;background:#C9922A;animation-delay:.10s}
.wg-c-5{left:78%;background:#2A7B6F;animation-delay:.30s}
.wg-c-6{left:88%;background:#B85128;animation-delay:.18s}
.wg-c-7{left:46%;background:#C9922A;animation-delay:.40s}
@keyframes wg-fall{
  from{transform:translateY(0) rotate(0deg);opacity:0}
  20%{opacity:1}
  to{transform:translateY(540px) rotate(360deg);opacity:0}
}
@media (prefers-reduced-motion: reduce){
  .wg-c{animation:none;display:none}
  .wg-overlay,.wg-card{animation:none}
}
@media(max-width:480px){
  .wg-card{padding:28px 22px 20px}
  .wg-title{font-size:24px}
  .wg-code{font-size:26px}
}


#activeDayView.day-paywall-active{
  position:relative;
  
}
#activeDayView.day-paywall-active > *:not(.day-paywall){
  filter:blur(6px) saturate(.7);
  pointer-events:none;
  user-select:none;
}
.day-paywall{
  position:absolute;inset:0;
  display:flex;align-items:center;justify-content:center;
  padding:32px 20px;
  background:linear-gradient(180deg, rgba(253,250,245,.55) 0%, rgba(253,250,245,.92) 50%, var(--cream) 100%);
  z-index:10;
  animation:wp-fade-in .4s cubic-bezier(.22,1,.36,1) backwards;
}
.dpw-card{
  max-width:380px;width:100%;
  background:var(--white);
  border:1px solid var(--border);
  border-radius:18px;
  padding:32px 28px 24px;
  text-align:center;
  box-shadow:0 24px 60px rgba(28,25,23,.12), 0 2px 6px rgba(28,25,23,.04);
  display:flex;flex-direction:column;align-items:center;gap:14px;
}
.dpw-icon{
  color:var(--terracotta-ink, #B85128);
  background:#FEF0E5;
  border-radius:50%;
  padding:14px;width:60px;height:60px;
  margin-bottom:4px;
}
.dpw-title{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-weight:500;font-size:24px;line-height:1.15;
  color:var(--ink);letter-spacing:-.01em;
  margin:0;
}
.dpw-title em{
  font-style:italic;color:var(--terracotta-ink, #B85128);
  display:block;margin-top:2px;
}
.dpw-sub{
  font-size:14px;line-height:1.5;color:var(--ink2);
  margin:0 0 8px;max-width:300px;
}
.dpw-cta-primary{
  width:100%;
  padding:14px 24px;
  background:var(--terracotta-ink, #B85128);
  color:#fff;border:none;border-radius:12px;
  font-family:inherit;font-size:15px;font-weight:600;letter-spacing:.01em;
  cursor:pointer;
  transition:transform .12s cubic-bezier(.22,1,.36,1), background .15s ease;
  box-shadow:0 4px 14px rgba(184,81,40,.25);
}
.dpw-cta-primary:hover{background:#9F4720;transform:translateY(-1px)}
.dpw-cta-primary:active{transform:scale(.97)}
.dpw-cta-secondary{
  width:100%;
  padding:10px 16px;
  background:none;border:none;
  font-family:inherit;font-size:13px;font-weight:500;
  color:var(--ink3);
  cursor:pointer;
  transition:color .15s ease;
}
.dpw-cta-secondary:hover{color:var(--ink)}
.dpw-hint{
  font-size:11px;color:var(--ink4);letter-spacing:.04em;
  margin-top:4px;
}
@media(max-width:480px){
  .dpw-card{padding:26px 22px 20px}
  .dpw-title{font-size:21px}
  .dpw-sub{font-size:13px}
}


@keyframes wp-fade-up{
  from{opacity:0;transform:translateY(10px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes wp-fade-in{
  from{opacity:0}
  to{opacity:1}
}
@keyframes wp-card-tap{
  0%{transform:scale(1)}
  50%{transform:scale(.96)}
  100%{transform:scale(1)}
}
.wp-stagger > *{
  animation:wp-fade-up .55s cubic-bezier(.22,1,.36,1) backwards;
}
.wp-stagger > *:nth-child(1){animation-delay:.04s}
.wp-stagger > *:nth-child(2){animation-delay:.10s}
.wp-stagger > *:nth-child(3){animation-delay:.16s}
.wp-stagger > *:nth-child(4){animation-delay:.22s}
.wp-stagger > *:nth-child(5){animation-delay:.28s}
.wp-stagger > *:nth-child(6){animation-delay:.34s}
.wp-stagger > *:nth-child(7){animation-delay:.40s}
.wp-stagger > *:nth-child(8){animation-delay:.46s}

@media (prefers-reduced-motion: reduce){
  .wp-stagger > *,
  .hi-row > .hi-card,
  .mth-eyebrow, .mth-title, .mth-meta, .mth-stats > *{
    animation:none!important;
    opacity:1!important;
    transform:none!important;
  }
}


.mobile-trip-hero{display:none}
@media(max-width:768px){
  body.app-active .mobile-trip-hero{
    display:block;
    padding:18px 18px 14px;
    background:linear-gradient(180deg, var(--cream) 0%, #FDFAF5 100%);
    border-bottom:1px solid var(--border-soft, #F0EAE0);
  }
  
  .mth-eyebrow{
    font-size:10.5px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;
    color:var(--terracotta-ink, #B85128);margin-bottom:8px;
    display:flex;align-items:center;gap:6px;
    animation:wp-fade-up .42s cubic-bezier(.22,1,.36,1) backwards;
    animation-delay:.05s;
  }
  .mth-title{
    font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
    font-style:italic;font-weight:500;font-size:30px;line-height:1.05;
    letter-spacing:-.015em;color:var(--ink);margin:0 0 6px;
    animation:wp-fade-up .5s cubic-bezier(.22,1,.36,1) backwards;
    animation-delay:.11s;
  }
  .mth-meta{
    font-size:13px;color:var(--ink2);font-weight:500;margin-bottom:14px;
    display:flex;align-items:center;gap:6px;flex-wrap:wrap;
    animation:wp-fade-up .4s cubic-bezier(.22,1,.36,1) backwards;
    animation-delay:.18s;
  }
  .mth-meta .mth-dot{width:3px;height:3px;border-radius:50%;background:var(--ink4)}
  .mth-stats{
    display:flex;gap:8px;flex-wrap:nowrap;overflow-x:auto;
    scrollbar-width:none;-webkit-overflow-scrolling:touch;
  }
  .mth-stats::-webkit-scrollbar{display:none}
  
  .mth-stats > .mth-chip{
    animation:wp-fade-up .42s cubic-bezier(.22,1,.36,1) backwards;
  }
  .mth-stats > .mth-chip:nth-child(1){animation-delay:.24s}
  .mth-stats > .mth-chip:nth-child(2){animation-delay:.30s}
  .mth-stats > .mth-chip:nth-child(3){animation-delay:.36s}
  .mth-stats > .mth-chip:nth-child(4){animation-delay:.42s}
  .mth-chip{
    flex-shrink:0;display:flex;flex-direction:column;align-items:flex-start;
    padding:9px 12px;border:1px solid var(--border);border-radius:12px;
    background:var(--white);min-width:84px;
    
    transition:transform .12s cubic-bezier(.22,1,.36,1), border-color .15s ease;
  }
  .mth-chip:active{transform:scale(.96);border-color:var(--terracotta)}
  .mth-chip-val{
    font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
    font-style:italic;font-weight:500;font-size:19px;line-height:1;color:var(--ink);
    letter-spacing:-.01em;
  }
  .mth-chip-val small{font-size:11px;color:var(--ink3);font-style:normal;font-weight:500;margin-left:2px}
  .mth-chip-lbl{
    font-size:10px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;
    color:var(--ink3);margin-top:4px;
  }
  
  body.app-active .app-header .trip-header-info{flex:1;min-width:0}
  body.app-active .app-header .trip-title-display{font-size:14px;font-weight:500;color:var(--ink2)}
  
  body.app-active .app-header .trip-badge{display:flex;gap:4px}
  body.app-active .app-header .trip-badge .tbadge-days,
  body.app-active .app-header .trip-badge .tbadge-dest,
  body.app-active .app-header .trip-badge .tbadge-people,
  body.app-active .app-header .trip-badge .weather-badge{display:none!important}
  
  body.app-active .app-header .tbadge-countdown{font-size:10px;padding:2px 7px}
}

@media (max-width: 480px){
  body.app-active .app-header .trip-title-display,
  body.app-active .app-header #appTripTitle{display:none!important}
}


@media(max-width:768px){
  
  .app-body{grid-template-columns:1fr;flex:1;min-height:0;overflow:hidden;display:flex;flex-direction:column}
  .sidebar-right{display:none}
  body.app-active{overflow:hidden}

  
  .app-header{
    padding:0 12px;
    padding-top:env(safe-area-inset-top, 0px);
    height:calc(52px + env(safe-area-inset-top, 0px));
    min-height:calc(52px + env(safe-area-inset-top, 0px));
    gap:8px;flex-wrap:nowrap;position:sticky;top:0;
  }
  .app-logo{font-size:17px}
  .trip-title-display{font-size:13px;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  
  .trip-badge{display:flex;gap:4px}
  .trip-badge .tbadge-days,
  .trip-badge .tbadge-dest,
  .trip-badge .tbadge-people,
  .trip-badge .weather-badge{display:none!important}
  .app-header-actions>div:not(:last-child){display:none}

  
  body.app-active .app-header > *:has(#headerCurrency){display:none!important}
  body.app-active .app-header #savedIndicator{display:none!important}
  body.app-active .app-header{gap:6px}
  body.app-active .app-header-actions{gap:5px}
  
  body.app-active .app-header-actions .app-search-btn{width:30px;height:30px}
  body.app-active .app-header-actions .app-search-btn svg{width:13px;height:13px}

  
  .lib-header-actions .lib-header-btn span{display:none}
  .lib-header-actions .lib-header-btn{padding:0;width:36px;height:36px;justify-content:center}
  .lib-header-actions{gap:6px}
  .lib-header{padding:14px 14px 10px;gap:8px}
  .lib-title{font-size:18px}
  .lib-subtitle{font-size:11px}

  
  .lib-card-body .lib-meta-pill:nth-child(n+4){display:none}
  .lib-card-body{padding:11px 12px 10px}
  .lib-card-name{font-size:13.5px}
  .lib-card-dest{font-size:11.5px}
  .lib-card-meta{gap:5px;margin-top:5px}
  .lib-meta-pill{font-size:9.5px;padding:2px 7px}

  
  .dvh-edit-dates{padding:3px 7px}
  .dvh-edit-dates span{display:inline}
  
}
@media (max-width: 400px){
  .dvh-edit-dates span{display:none}
  .dvh-edit-dates{padding:5px 7px;margin-left:3px}
  .hbtn{display:none!important}
  .app-header-left{gap:8px;min-width:0}

  
  .mobile-menu-btn{display:flex!important}
  #mobileMenuBtn{display:flex!important}

  
  body.app-active .trip-stats{display:none}
  .trip-stats{grid-template-columns:repeat(2,1fr)}
  .tstat{padding:8px 10px}
  .tstat-val{font-size:16px}
  .tstat-lbl{font-size:9px}

  
  .itinerary-main{height:100%;overflow:hidden;display:flex;flex-direction:column}
  #activeDayView{
    flex:1;
    min-height:0;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    
    padding-bottom:calc(58px + 24px + env(safe-area-inset-bottom,0px));
  }
  .day-tab-bar{padding:0 12px;height:48px;box-sizing:border-box;gap:5px;align-items:center}
  .day-tab-btn{padding:6px 12px;font-size:11px}
  .dtb-num{width:16px;height:16px;font-size:9px}.dtb-label{text-align:left;white-space:nowrap}
  .day-view-header{padding:12px 14px 10px}
  .day-view-title{font-size:16px}
  .day-items-list{padding:8px 10px 0}
  .act-card-body{padding:11px 12px 10px 10px}
  .act-card-title{font-size:13px}
  .act-card-desc{font-size:11.5px}
  .act-card-meta{gap:4px}
  .act-card-time{font-size:10.5px;padding:1px 7px}
  
  .act-card-actions{display:none}
  .act-item.is-actions-open .act-card-actions{display:flex!important}
  .add-act-btn{width:calc(100% - 20px);margin:12px 10px 0;font-size:12px}
  .day-weather-tip,.day-general-tips,.day-budget-summary{margin:12px 10px 2em}
  .dbs-grid{grid-template-columns:1fr}
  .itinerary-cotizar{margin:0 10px 1em}
  .icq-row{flex-wrap:wrap;gap:8px}
  .icq-actions{flex-direction:row;align-items:center}
  .tp-chip{font-size:12px;padding:7px 11px}

  
  
  body.app-active .chat-fab,
  body.app-active .chat-fab.visible,
  body:not(.app-active) .chat-fab,
  body:not(.app-active) .chat-fab.visible{display:none!important}
  .chat-fab-btn{width:50px;height:50px}
  
  .chat-popup{
    width:100vw!important;
    right:0!important;
    left:0!important;
    bottom:calc(58px + env(safe-area-inset-bottom,0px))!important;
    height:calc(100dvh - 58px - env(safe-area-inset-bottom,0px) - calc(52px + env(safe-area-inset-top,0px)))!important;
    border-radius:16px 16px 0 0!important;
    border-left:none!important;
    border-right:none!important;
  }

  
  #mobileViews{display:block!important}
  body.app-active .mobile-bottom-tabs{display:flex!important}
  
  body:has(#profileModal.open, #proModal.open, #libraryModal.open, #shareModal.open, #onboardingModal.open, #authModal.open, #calModal.open, #mobileMenuOverlay.open) .mobile-bottom-tabs,
  body:has(#profileModal.open, #proModal.open, #libraryModal.open, #shareModal.open, #onboardingModal.open, #authModal.open, #calModal.open, #mobileMenuOverlay.open) .day-tab-bar,
  body:has(#profileModal.open, #proModal.open, #libraryModal.open, #shareModal.open, #onboardingModal.open, #authModal.open, #calModal.open, #mobileMenuOverlay.open) .mob-day-selector{display:none!important}
  
  body:not(.app-active) .day-tab-bar,
  body:not(.app-active) .mob-day-selector{display:none!important}

  
  .modal{padding:20px;max-height:calc(92dvh - env(safe-area-inset-bottom,0px));max-height:88dvh;overflow-y:auto;padding-bottom:calc(20px + env(safe-area-inset-bottom,0px))}
  .share-grid{grid-template-columns:1fr 1fr}

  
  .hero-title{font-size:38px;line-height:1.05;letter-spacing:-.02em;margin-bottom:8px}
  .hero-sub{font-size:13.5px;line-height:1.5;margin-bottom:22px;max-width:none;padding:0 6px}
  .dest-icons{
    gap:14px;margin-bottom:24px;padding:4px 16px 6px;
    flex-wrap:nowrap;          
    justify-content:flex-start;
    overflow-x:auto;
    scroll-snap-type:x proximity;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
    
    -webkit-mask-image:linear-gradient(90deg, transparent 0px, #000 14px, #000 calc(100% - 24px), transparent 100%);
            mask-image:linear-gradient(90deg, transparent 0px, #000 14px, #000 calc(100% - 24px), transparent 100%);
  }
  .dest-icons::-webkit-scrollbar{display:none}
  .dest-icon{flex-shrink:0;scroll-snap-align:start}
}


@media (min-width: 769px) and (max-width: 1280px){
  .dest-icons{ padding-right: 64px; }
  .dest-icon-circle{width:54px;height:54px;font-size:20px}
  .dest-icon-label{font-size:11px;font-weight:500}
  .hero-form{padding:20px;gap:12px;margin:0}
  .form-quote-row{grid-template-columns:1fr;gap:10px}
  .fqb-label{font-size:11px}
  .fqb-no,.fqb-yes{padding:5px 12px}
  .form-row{grid-template-columns:1fr}
  .form-input{font-size:14px}
}


@media(max-width:380px){
  .hero-title{font-size:30px}
  .trip-title-display{max-width:90px}
  .day-tab-btn{padding:4px 8px;font-size:10px}
  .chat-fab{right:10px;bottom:70px}
}


.mobile-bottom-tabs{
  display:none;position:fixed;bottom:0;left:0;right:0;
  height:calc(58px + env(safe-area-inset-bottom,0px));
  padding-bottom:env(safe-area-inset-bottom,0px);
  background:var(--white);border-top:1px solid var(--border);
  z-index:300;
  box-shadow:0 -2px 16px rgba(28,25,23,.08);
}
.mbt{
  flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;
  gap:3px;cursor:pointer;transition:color .2s;
  color:var(--ink3);border:none;background:transparent;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;padding:8px 0 6px;position:relative;
  -webkit-tap-highlight-color:transparent;
}
.mbt.active{color:var(--terracotta)}
.mbt svg{width:21px;height:21px;stroke-width:1.8;transition:stroke-width .2s}
.mbt.active svg{stroke-width:2.2}
.mbt-label{font-size:10px;font-weight:500;letter-spacing:.01em;line-height:1}
.mbt-badge{position:absolute;top:4px;right:calc(50% - 18px);width:14px;height:14px;border-radius:50%;background:var(--rose);border:2px solid var(--white);font-size:8px;font-weight:700;color:#fff;display:flex!important;align-items:center;justify-content:center}


#mobileViews{display:none}
.mv{
  position:fixed;
  top:calc(52px + env(safe-area-inset-top, 0px));
  left:0;right:0;
  bottom:calc(58px + env(safe-area-inset-bottom,0px));
  background:var(--white);z-index:250;
  display:flex;flex-direction:column;overflow:hidden;
  transform:translateX(100%);
  transition:transform .28s cubic-bezier(.32,.72,0,1);
  will-change:transform;
}
.mv.active{transform:translateX(0)}
.mv-header{
  display:flex;align-items:center;gap:10px;
  padding:0 14px;height:52px;
  border-bottom:1px solid var(--border);
  background:var(--white);flex-shrink:0;
  
}
.mv-back{
  width:36px;height:36px;border-radius:50%;border:none;
  background:var(--cream);cursor:pointer;font-size:22px;color:var(--ink2);
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
  -webkit-tap-highlight-color:transparent;line-height:1;
}
.mv-title{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:16px;font-weight:500;color:var(--ink);flex:1}
.mv-header-right{display:flex;align-items:center;gap:6px;flex-shrink:0}
.mv-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:16px}
.mv-footer{padding:10px 14px;border-top:1px solid var(--border);flex-shrink:0}
.mv-footer:empty{display:none!important}


.mobile-map-day-btns{display:flex;gap:4px;overflow-x:auto;scrollbar-width:none}
.mobile-map-day-btns::-webkit-scrollbar{display:none}


.mob-day-selector{
  
  width:100%;
  flex-shrink:0;           
  background:var(--white);
  border-bottom:1px solid var(--border);
  z-index:10;
}
.mob-day-selector-inner{
  display:flex;
  gap:8px;
  overflow-x:auto;
  scroll-behavior:smooth;
  -webkit-overflow-scrolling:touch;
  scrollbar-width:none;
  padding:9px 14px;
  align-items:center;
}
.mob-day-selector-inner::-webkit-scrollbar{display:none}


.mob-day-pill{
  display:inline-flex;
  align-items:center;
  gap:6px;
  padding:6px 13px;
  border-radius:30px;
  border:1.5px solid var(--border2);
  background:var(--cream);
  color:var(--ink2);
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:12px;
  font-weight:500;
  cursor:pointer;
  white-space:nowrap;
  flex-shrink:0;
  transition:all .2s cubic-bezier(.32,.72,0,1);
  box-shadow:0 1px 4px rgba(28,25,23,.07);
  -webkit-tap-highlight-color:transparent;
  user-select:none;
}

.mob-day-pill .pill-num{
  width:18px;
  height:18px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:9.5px;
  font-weight:700;
  flex-shrink:0;
  transition:all .2s;
  
  background:currentColor;    
  color:#fff;
}

.mob-day-pill.active{
  color:#fff;
  box-shadow:0 3px 12px rgba(0,0,0,.18);
  transform:translateY(-1px);
  border-color:transparent;
  font-weight:600;
}

.mob-day-pill.active .pill-num{
  background:rgba(255,255,255,.28) !important;
  color:#fff !important;
}


.mv-chat-messages{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 14px;display:flex;flex-direction:column;gap:8px;min-height:0}
.mv-chat-input{padding:10px 12px 10px;border-top:1px solid var(--border);flex-shrink:0;display:flex;flex-direction:column;gap:6px;background:var(--white)}


.mobile-menu-btn{
  display:none;width:36px;height:36px;border-radius:8px;border:1px solid var(--border2);
  background:var(--white);cursor:pointer;flex-direction:column;align-items:center;
  justify-content:center;gap:4px;padding:0;flex-shrink:0;
  -webkit-tap-highlight-color:transparent;touch-action:manipulation;
  position:relative;z-index:101;
}
.mobile-menu-btn span{display:block;width:16px;height:2px;background:var(--ink2);border-radius:1px;transition:all .2s}
.mobile-menu-dropdown{
  display:none;position:fixed;top:58px;right:12px;
  min-width:220px;background:var(--white);border:1px solid var(--border);
  border-radius:14px;box-shadow:0 8px 32px rgba(28,25,23,.18),0 2px 8px rgba(28,25,23,.08);
  z-index:10000;overflow:hidden;flex-direction:column;
  
}
.mmd-nav-section{padding:4px 6px}
.mobile-menu-dropdown.open{
  display:flex;
  animation:fadeDown .2s ease;
}
.mobile-menu-dropdown button:not(.mmd-lang-btn){
  display:flex;align-items:center;gap:10px;width:100%;padding:10px 10px;
  border:none;background:transparent;text-align:left;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:13.5px;color:var(--ink);
  cursor:pointer;-webkit-tap-highlight-color:transparent;
  border-radius:8px;font-weight:500;
}
.mobile-menu-dropdown button:not(.mmd-lang-btn):hover,.mobile-menu-dropdown button:not(.mmd-lang-btn):active{background:var(--cream)}
.mmd-divider{height:1px;background:var(--border);margin:4px 0}

.mmd-lang-section{padding:6px 8px 4px}
.mmd-lang-label{font-size:10px;font-weight:600;letter-spacing:.08em;color:var(--ink3);
  text-transform:uppercase;padding:0 8px 6px;display:block}
.mmd-lang-options{display:flex;flex-direction:column;gap:2px}
.mmd-lang-btn{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;
  border:none;background:transparent;border-radius:8px;cursor:pointer;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:13px;font-weight:500;color:var(--ink2);
  text-align:left;transition:background .12s}
.mmd-lang-btn:hover{background:var(--cream)}
.mmd-lang-btn.active{background:var(--terra3);color:var(--terracotta);font-weight:600}
.mmd-lang-btn .mmd-lang-flag{font-size:18px;line-height:1;flex-shrink:0;width:24px}
.mmd-lang-btn .mmd-lang-name{flex:1}
.mmd-lang-btn .mmd-lang-check{font-size:12px;color:var(--terracotta);opacity:0;flex-shrink:0}
.mmd-lang-btn.active .mmd-lang-check{opacity:1}
.mmd-lang-sep{height:1px;background:var(--border);margin:6px 8px;opacity:.6}
.mmd-currency-row{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;font-size:13px;color:var(--ink2)}

.mmd-auth-btn{
  display:flex;align-items:center;gap:10px;width:100%;padding:13px 16px;
  border:none;text-align:left;cursor:pointer;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:14px;font-weight:600;
  -webkit-tap-highlight-color:transparent;border-bottom:1px solid var(--border);
  background:var(--terra3);color:var(--terracotta);
  border-radius:0;transition:background .15s;
}
.mmd-auth-btn:hover,.mmd-auth-btn:active{background:var(--terra2)!important}

.profile-overlay{display:none;position:fixed;inset:0;background:rgba(28,25,23,.55);
  z-index:9200;align-items:flex-end;justify-content:center;
  backdrop-filter:blur(4px);padding:0;-webkit-tap-highlight-color:transparent}
.profile-overlay.open{display:flex}
@media(min-width:769px){.profile-overlay{align-items:center;padding:20px}}
.profile-modal{
  background:var(--white);width:100%;
  border-radius:24px 24px 0 0;
  display:flex;flex-direction:column;
  max-height:92vh;max-height:92dvh;overflow-y:auto;
  -webkit-overflow-scrolling:touch;
  padding-bottom:env(safe-area-inset-bottom,0px);
  animation:profileSlideUp .3s cubic-bezier(.22,.68,0,1.15);
}
@media(min-width:769px){.profile-modal{max-width:680px;border-radius:20px;
  animation:profilePop .26s cubic-bezier(.22,.68,0,1.15)}}

.profile-header-title{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-style:italic !important;font-size:22px !important;font-weight:500 !important;
  color:var(--ink);letter-spacing:-0.01em;
}

.profile-header{position:relative}
.profile-header::after{
  content:'';position:absolute;left:50%;bottom:-1px;transform:translateX(-50%);
  width:48px;height:2px;border-radius:1px;
  background:linear-gradient(90deg, transparent, var(--gold) 50%, transparent);
  opacity:.4;
}

.profile-modal > [id^="profile"]{position:relative}
@keyframes profileSlideUp{from{transform:translateY(100%)}to{transform:translateY(0)}}
@keyframes profilePop{from{transform:scale(.9);opacity:0}to{transform:scale(1);opacity:1}}

.profile-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:18px 20px 14px;border-bottom:1px solid var(--border);
  flex-shrink:0;
}
.profile-header-title{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:18px;font-weight:700;color:var(--ink)}
.profile-close-btn{
  width:32px;height:32px;border-radius:50%;border:1.5px solid var(--border);
  background:var(--cream);cursor:pointer;display:flex;align-items:center;
  justify-content:center;color:var(--ink3);transition:all .15s;flex-shrink:0;
}
.profile-close-btn:hover{background:var(--ink);color:#fff;border-color:var(--ink)}

.profile-avatar-block{
  display:flex;flex-direction:column;align-items:center;
  padding:32px 20px 24px;border-bottom:1px solid var(--border);
  background:linear-gradient(160deg, #FFF8F0 0%, var(--white) 60%);
  position:relative;
}
.profile-avatar-circle{
  width:88px;height:88px;border-radius:50%;
  background:linear-gradient(135deg, var(--terracotta) 0%, #B85332 100%);
  color:#fff;
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-style:italic;font-size:38px;font-weight:500;
  display:flex;align-items:center;justify-content:center;
  margin-bottom:16px;
  box-shadow:0 6px 20px rgba(212,106,58,.35),
             0 0 0 4px var(--white),
             0 0 0 5px rgba(212,106,58,.12);
  letter-spacing:0.01em;
}
.profile-name{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:20px;font-weight:500;font-style:italic;
  color:var(--ink);margin-bottom:4px;text-align:center;text-transform:capitalize;letter-spacing:-0.01em}
.profile-email{font-size:13px;color:var(--ink3);text-align:center;font-style:italic;font-family:'Playfair Display',Georgia,serif}

.profile-actions{display:flex;flex-direction:column;padding:12px 16px;gap:4px}
.profile-action-btn{
  display:flex;align-items:center;gap:14px;width:100%;padding:14px 16px;
  border:none;background:transparent;text-align:left;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:15px;color:var(--ink);
  cursor:pointer;border-radius:12px;transition:background .15s;
  -webkit-tap-highlight-color:transparent;
}
.profile-action-btn:hover,.profile-action-btn:active{background:var(--cream)}
.profile-action-btn svg{flex-shrink:0;color:var(--ink3)}
.profile-action-btn.danger{color:var(--danger)}
.profile-action-btn.danger svg{color:var(--danger)}
.profile-action-btn.danger:hover,.profile-action-btn.danger:active{background:#FEF2F2}


.profile-logout-row{padding:14px 16px 14px;border-top:1px solid var(--border);margin-top:auto}
.profile-logout-btn{
  width:100%;justify-content:center;gap:8px;
  border-radius:10px;padding:11px 16px;
  border:1.5px solid var(--rose2);
  background:var(--rose3);
  color:var(--danger);font-weight:600;
}
.profile-logout-btn:hover{background:var(--rose2);border-color:var(--rose);color:var(--danger-hover)}


.profile-pro-star{
  position:absolute;bottom:-3px;right:-3px;
  width:22px;height:22px;border-radius:50%;
  background:var(--gold);color:var(--white);
  border:2.5px solid var(--white);
  display:flex;align-items:center;justify-content:center;
  box-shadow:0 2px 6px rgba(201,146,42,.32);
}
.profile-pro-star svg{width:11px;height:11px}


.profile-avatar-wrap{position:relative;display:inline-block}
.profile-fam-badge{
  position:absolute;top:-2px;right:-4px;
  min-width:28px;height:22px;padding:0 7px;
  border-radius:11px;
  background:var(--teal, #4A8C8A);color:#fff;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:10.5px;font-weight:700;letter-spacing:.02em;
  border:2px solid var(--white);
  box-shadow:0 2px 6px rgba(74,140,138,.32);
  display:flex;align-items:center;justify-content:center;gap:3px;line-height:1;
}
.profile-fam-badge::before{
  content:"";display:inline-block;width:4px;height:4px;border-radius:50%;
  background:#fff;opacity:.85;
}


.profile-pretrip-confirm{
  margin:14px 16px 0;padding:14px 16px;
  background:linear-gradient(135deg, #FFF6E8 0%, #FFEDD3 100%);
  border:1px solid rgba(201,146,42,.32);
  border-radius:14px;display:flex;flex-direction:column;gap:10px;
  position:relative;overflow:hidden;
}
.profile-pretrip-confirm::before{
  content:"";position:absolute;left:0;top:0;bottom:0;width:3px;
  background:var(--gold, #C9922A);
}
.profile-pretrip-q{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-size:15px;font-style:italic;color:var(--ink);line-height:1.35;
  padding-left:6px;
}
.profile-pretrip-q strong{font-style:normal;font-weight:600}
.profile-pretrip-sub{
  font-size:11.5px;color:var(--ink3);padding-left:6px;line-height:1.45;
}
.profile-pretrip-actions{display:flex;gap:8px;padding-left:6px}
.profile-pretrip-btn{
  flex:1;padding:9px 12px;border-radius:10px;cursor:pointer;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:13px;font-weight:600;border:1px solid;
  transition:background .15s ease, border-color .15s ease, transform .12s ease;
}
.profile-pretrip-btn.yes{
  background:var(--terracotta);color:#fff;border-color:var(--terracotta);
}
.profile-pretrip-btn.yes:hover{background:var(--terracotta-hover);transform:translateY(-1px)}
.profile-pretrip-btn.no{
  background:transparent;color:var(--ink2);border-color:var(--border);
}
.profile-pretrip-btn.no:hover{background:var(--cream);border-color:var(--ink3)}


.profile-pretrip-edu{
  margin:14px 16px 8px;padding:14px 16px;
  background:var(--white);
  border:1px solid var(--border);
  border-left:3px solid var(--gold, #C9922A);
  border-radius:14px;
  display:flex;flex-direction:column;gap:8px;
  position:relative;
  animation:pretripEduIn .35s cubic-bezier(.22,.68,0,1.15);
}
@keyframes pretripEduIn{
  from{opacity:0;transform:translateY(-6px)}
  to{opacity:1;transform:translateY(0)}
}
.profile-pretrip-edu-head{
  display:flex;align-items:center;gap:8px;
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-style:italic;font-size:13px;font-weight:500;
  color:var(--gold-ink, #8A6F2F);
  letter-spacing:.01em;
}
.profile-pretrip-edu-head::before{
  content:"✦";font-size:14px;line-height:1;
}
.profile-pretrip-edu-body{
  font-family:'Outfit','Outfit Fallback',sans-serif;
  font-size:12px;color:var(--ink2);line-height:1.55;
  letter-spacing:.005em;
}
.profile-pretrip-edu-cta{
  align-self:flex-end;background:transparent;border:none;cursor:pointer;
  font-family:'Outfit',sans-serif;font-size:11.5px;font-weight:600;
  color:var(--terracotta);padding:6px 10px;border-radius:8px;
  letter-spacing:.02em;
  transition:background .15s ease;
  -webkit-tap-highlight-color:transparent;
}
.profile-pretrip-edu-cta:hover{background:var(--terra3, rgba(212,106,58,.08))}
.profile-pretrip-edu-cta::after{content:" →";letter-spacing:0}


.profile-next-trip-hero{
  margin:14px 16px 0;padding:0;border-radius:16px;overflow:hidden;
  background:linear-gradient(135deg, #1C1917 0%, #2B2624 60%, #3D3431 100%);
  color:#FAF6EE;position:relative;cursor:pointer;
  box-shadow:0 8px 24px rgba(28,25,23,.18);
  transition:transform .2s ease, box-shadow .2s ease;
}
.profile-next-trip-hero:hover{transform:translateY(-2px);box-shadow:0 12px 32px rgba(28,25,23,.26)}
.profile-next-trip-hero::after{
  content:"✦";
  position:absolute;top:10px;right:18px;
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-style:italic;font-size:80px;line-height:1;
  color:var(--gold, #C9922A);opacity:.12;pointer-events:none;letter-spacing:-0.04em;
}
.profile-next-trip-inner{
  padding:22px 22px 20px;display:flex;flex-direction:column;gap:8px;
  position:relative;z-index:2;
}
.profile-next-trip-eyebrow{
  font-family:'Outfit','Outfit Fallback',sans-serif;
  font-size:10.5px;font-weight:600;letter-spacing:.14em;
  color:var(--gold, #DDB261);text-transform:uppercase;
}
.profile-next-trip-count{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-style:italic;font-size:32px;font-weight:500;line-height:1.05;
  color:#FAF6EE;letter-spacing:-0.02em;margin-top:2px;
}
.profile-next-trip-count em{
  font-family:'Outfit',sans-serif;font-style:normal;font-weight:500;
  font-size:14px;color:rgba(250,246,238,.65);margin-left:6px;letter-spacing:.04em;
}
.profile-next-trip-dest{
  font-family:'Outfit','Outfit Fallback',sans-serif;
  font-size:13px;color:rgba(250,246,238,.72);margin-top:4px;letter-spacing:.02em;
  display:flex;align-items:center;gap:8px;
}
.profile-next-trip-dest .flag{font-size:18px;line-height:1}
.profile-next-trip-cta{
  margin-top:12px;display:inline-flex;align-items:center;gap:6px;
  font-family:'Outfit',sans-serif;font-size:12px;font-weight:600;
  color:var(--gold, #DDB261);align-self:flex-start;letter-spacing:.02em;
}


.profile-actions-grid{
  margin:12px 16px 0;display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;
}
.profile-action-card{
  display:flex;flex-direction:column;align-items:center;gap:6px;
  padding:14px 8px 12px;border-radius:14px;
  background:var(--white);border:1px solid var(--border);
  cursor:pointer;transition:border-color .2s ease, background .2s ease, transform .15s ease, box-shadow .2s ease;
  font-family:'Outfit','Outfit Fallback',sans-serif;
  -webkit-tap-highlight-color:transparent;text-align:center;
}
.profile-action-card:hover{
  border-color:var(--terracotta);transform:translateY(-1px);
  box-shadow:0 4px 14px rgba(28,25,23,.06);
  background:#FFFCF6;
}
.profile-action-card-icon{
  width:34px;height:34px;display:flex;align-items:center;justify-content:center;
  color:var(--terracotta);
}
.profile-action-card-icon svg{width:22px;height:22px;stroke-width:1.7}
.profile-action-card-label{
  font-size:12px;font-weight:600;color:var(--ink);line-height:1.2;
  letter-spacing:.01em;
}
.profile-action-card-count{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-style:italic;font-size:13px;color:var(--ink3);line-height:1;
}


.profile-more-collapse{
  margin:14px 16px 0;border:1px solid var(--border);border-radius:12px;
  background:var(--white);overflow:hidden;
  flex-shrink:0;height:auto;min-height:46px;
}
.profile-more-header{
  display:flex;align-items:center;justify-content:space-between;
  padding:12px 14px;cursor:pointer;
  font-family:'Outfit','Outfit Fallback',sans-serif;
  font-size:12.5px;font-weight:600;color:var(--ink2);
  letter-spacing:.02em;
  -webkit-tap-highlight-color:transparent;
}
.profile-more-header .pmc-label{display:flex;align-items:center;gap:8px}
.profile-more-header .pmc-label svg{color:var(--ink3);width:14px;height:14px}
.profile-more-header .pmc-chevron{
  transition:transform .25s ease;color:var(--ink3);
}
.profile-more-collapse.open .pmc-chevron{transform:rotate(180deg)}
.profile-more-body{
  max-height:0;overflow:hidden;transition:max-height .3s ease;
  border-top:0 solid transparent;
}
.profile-more-collapse.open .profile-more-body{
  max-height:420px;border-top:1px solid var(--border);
}
.profile-more-inner{padding:8px 10px 12px;display:flex;flex-direction:column;gap:4px}
.profile-more-row{
  display:flex;align-items:center;gap:12px;padding:11px 12px;
  border-radius:10px;cursor:pointer;
  font-family:'Outfit','Outfit Fallback',sans-serif;font-size:13.5px;color:var(--ink2);
  transition:background .15s ease;
  -webkit-tap-highlight-color:transparent;background:transparent;border:none;width:100%;text-align:left;
}
.profile-more-row:hover{background:var(--cream)}
.profile-more-row svg{color:var(--ink3);flex-shrink:0;width:16px;height:16px}
.profile-more-row .pmr-meta{margin-left:auto;font-size:11.5px;color:var(--ink3);font-style:italic;font-family:'Playfair Display',Georgia,serif}
.profile-more-lang-pills{
  display:flex;gap:6px;padding:8px 12px 4px;
}
.profile-more-lang-pill{
  flex:1;padding:8px 6px;border-radius:8px;cursor:pointer;
  background:var(--cream);border:1px solid var(--border);
  font-family:'Outfit',sans-serif;font-size:11px;font-weight:600;color:var(--ink2);
  display:flex;align-items:center;justify-content:center;gap:5px;
  transition:all .15s ease;text-align:center;
  -webkit-tap-highlight-color:transparent;
}
.profile-more-lang-pill.active{
  background:var(--terracotta);color:#fff;border-color:var(--terracotta);
}
.profile-more-lang-pill:hover:not(.active){border-color:var(--terracotta);color:var(--terracotta)}

@media (max-width:480px){
  .profile-actions-grid{grid-template-columns:1fr 1fr 1fr;gap:6px}
  .profile-action-card{padding:12px 4px 10px}
  .profile-action-card-icon{width:30px;height:30px}
  .profile-action-card-icon svg{width:18px;height:18px}
  .profile-action-card-label{font-size:11px}
  .profile-next-trip-count{font-size:28px}
  .profile-next-trip-inner{padding:18px 18px 16px}
}


.profile-pro-card{
  margin:0;padding:20px 22px 18px;border-radius:18px;
  background:linear-gradient(135deg, #FFFCF1 0%, #FDF6E3 100%);
  border:1px solid #E8D597;
  position:relative;overflow:hidden;
  box-shadow:0 6px 20px rgba(201,146,42,.10);
  transition:box-shadow var(--dur-2) var(--ease), transform var(--dur-2) var(--ease);
}
.profile-pro-card:hover{
  box-shadow:0 10px 28px rgba(201,146,42,.18);
}

.profile-pro-card::after{
  content:"✦";
  position:absolute;top:8px;right:18px;
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-style:italic;font-weight:500;
  font-size:64px;line-height:1;
  color:var(--pro-accent, var(--gold));
  opacity:.10;pointer-events:none;
  letter-spacing:-0.04em;
}

.profile-pro-card::before{
  content:"";position:absolute;top:0;left:0;right:0;height:2px;
  background:linear-gradient(90deg, transparent 0%, var(--pro-accent, var(--gold)) 30%, var(--pro-accent, var(--gold)) 70%, transparent 100%);
  pointer-events:none;
}
.profile-pro-card-top{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:12px;margin-bottom:12px;position:relative;z-index:1;
}
.profile-pro-card-title{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-style:italic;font-weight:500;
  font-size:20px;color:var(--ink);
  margin-bottom:4px;line-height:1.2;position:relative;z-index:1;
  letter-spacing:-0.015em;
}
.profile-pro-card-sub{
  font-size:12.5px;color:var(--ink2);line-height:1.55;
  position:relative;z-index:1;
  max-width:90%;
}

.profile-pro-grace{
  position:relative;z-index:1;
  margin-top:12px;padding:10px 12px;border-radius:10px;
  font-family:'Outfit','Outfit Fallback',sans-serif;
  font-size:12px;line-height:1.45;
  border:1px solid;
  display:flex;align-items:flex-start;gap:8px;
}
.profile-pro-grace::before{
  content:"";display:inline-block;width:5px;height:5px;border-radius:50%;
  margin-top:7px;flex-shrink:0;background:currentColor;
}
.profile-pro-grace strong{font-weight:600;color:var(--ink)}
.profile-pro-grace.info{
  background:rgba(74,140,138,.08);border-color:rgba(74,140,138,.22);color:var(--teal,#4A8C8A);
}
.profile-pro-grace.warn{
  background:rgba(201,146,42,.08);border-color:rgba(201,146,42,.30);color:var(--gold-ink,#8A6F2F);
}
.profile-pro-grace.urgent{
  background:rgba(220,38,38,.06);border-color:rgba(220,38,38,.28);color:var(--danger,#DC2626);
}
.profile-pro-cta{
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:11.5px;font-weight:600;
  background:var(--white);
  border:1px solid var(--pro-accent, var(--terracotta));
  color:var(--pro-accent, var(--terracotta));border-radius:8px;
  padding:7px 14px;cursor:pointer;white-space:nowrap;
  transition:all var(--dur-2) var(--ease);
}
.profile-pro-cta:hover{
  background:var(--pro-accent, var(--terracotta));
  color:var(--white);
  transform:translateY(-1px);
  box-shadow:0 4px 12px color-mix(in srgb, var(--pro-accent, var(--terracotta)) 30%, transparent);
}
.profile-pro-cta.primary{
  background:var(--pro-accent, var(--terracotta));
  color:var(--white);
  border-color:var(--pro-accent, var(--terracotta));
}
.profile-pro-cta.primary:hover{filter:brightness(0.92);transform:translateY(-1px)}


.profile-ref-card{
  background:linear-gradient(135deg, #FEFAEE 0%, #FDF6E3 100%);
  border:1.5px solid #F0E6CC;
  border-radius:14px;padding:14px 16px;
  position:relative;overflow:hidden;
}
.profile-ref-eyebrow{
  font-size:10px;font-weight:700;color:var(--gold-ink);
  text-transform:uppercase;letter-spacing:.14em;margin-bottom:6px;
  display:flex;align-items:center;gap:8px;
}
.profile-ref-eyebrow::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--gold)}
.profile-ref-title{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-size:15px;font-weight:600;color:var(--ink);
  margin-bottom:10px;line-height:1.3;
}
.profile-ref-code-row{
  display:flex;align-items:center;gap:8px;
  background:var(--white);border:1px dashed #E0CFA8;border-radius:10px;
  padding:9px 12px;margin-bottom:10px;
}
.profile-ref-code{
  flex:1;font-family:'JetBrains Mono','Courier New',monospace;
  font-size:14.5px;font-weight:700;color:var(--ink);letter-spacing:.08em;
}
.profile-ref-copy-btn{
  font-family:'Outfit','Outfit Fallback',Arial,sans-serif;
  font-size:11px;font-weight:600;background:var(--gold);color:#fff;
  border:none;border-radius:7px;padding:5px 10px;cursor:pointer;
  transition:filter var(--dur-2) var(--ease);
}
.profile-ref-copy-btn:hover{filter:brightness(1.06)}
.profile-ref-share-btn{
  width:100%;font-family:'Outfit','Outfit Fallback',Arial,sans-serif;
  font-size:13px;font-weight:600;background:var(--gold);color:#fff;
  border:none;border-radius:10px;padding:10px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;gap:8px;
  transition:filter var(--dur-2) var(--ease), transform var(--dur-2) var(--ease);
}
.profile-ref-share-btn:hover{filter:brightness(1.06);transform:translateY(-1px)}
.profile-ref-stats{
  display:flex;gap:14px;margin-top:10px;padding-top:10px;
  border-top:1px solid #F0E6CC;
  font-size:11.5px;color:var(--ink3);
}
.profile-ref-stat strong{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-style:italic;font-size:18px;color:var(--gold-ink);
  display:block;margin-bottom:2px;
}
.profile-ref-rules{
  font-size:11px;color:var(--ink3);line-height:1.5;margin-top:8px;
  font-style:italic;
}


.profile-bucket{
  background:var(--white);border:1px solid var(--border);border-radius:14px;
  padding:14px 16px;
}
.profile-bucket-head{
  display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:10px;gap:12px;
}
.profile-bucket-head > div:first-child{ min-width:0; flex:1; }
.profile-bucket-title{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-style:italic;font-size:16px;color:var(--ink);font-weight:500;
  display:block;
}

.profile-bucket-sub{
  display:block;
  font-family:'Outfit','Outfit Fallback',-apple-system,system-ui,sans-serif;
  font-size:11.5px;color:var(--ink3);font-weight:400;line-height:1.4;
  margin-top:2px;
}
.profile-bucket-count{
  font-size:11px;color:var(--ink3);font-weight:500;flex-shrink:0;
  white-space:nowrap;
}
.profile-bucket-empty{
  font-size:13px;color:var(--ink3);font-style:italic;line-height:1.5;
}
.profile-bucket-list{
  display:flex;flex-direction:column;gap:6px;
}
.profile-bucket-item{
  display:flex;align-items:center;gap:10px;padding:9px 11px;
  background:var(--cream);border-radius:10px;border:1px solid var(--border-soft);
  cursor:pointer;transition:background var(--dur-2) var(--ease),transform var(--dur-2) var(--ease);
}
.profile-bucket-item:hover{background:var(--terra3);transform:translateX(2px)}
.profile-bucket-item-dot{
  width:8px;height:8px;border-radius:50%;flex-shrink:0;
}
.profile-bucket-item-name{
  flex:1;font-size:13.5px;color:var(--ink);font-weight:500;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
}
.profile-bucket-item-eyebrow{
  font-size:10px;color:var(--ink3);letter-spacing:.06em;
  text-transform:uppercase;font-weight:600;
}
.profile-bucket-item-remove{
  font-size:14px;color:var(--ink3);background:none;border:none;cursor:pointer;
  width:24px;height:24px;border-radius:6px;display:flex;align-items:center;justify-content:center;
}
.profile-bucket-item-remove:hover{background:var(--rose3);color:var(--rose)}


.profile-code-section{margin:10px 16px 0}
.profile-code-toggle{
  display:flex;align-items:center;gap:10px;
  padding:11px 13px;border:1px solid var(--border);border-radius:12px;
  background:var(--white);cursor:pointer;color:var(--ink2);
  transition:border-color var(--dur-2) var(--ease), background var(--dur-2) var(--ease);
}
.profile-code-toggle:hover{border-color:var(--border2);background:var(--cream)}
.profile-code-toggle svg:first-child{color:var(--terracotta);flex-shrink:0}
.profile-code-toggle-label{font-size:13px;font-weight:600;color:var(--ink)}
.profile-code-toggle-sub{flex:1;font-size:11px;color:var(--ink3)}
.profile-code-chevron{color:var(--ink3);transition:transform var(--dur-2) var(--ease);flex-shrink:0}
.profile-code-section.open .profile-code-chevron{transform:rotate(180deg)}
.profile-code-form{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-3) var(--ease);overflow:hidden}
.profile-code-section.open .profile-code-form{grid-template-rows:1fr}
.profile-code-inner{min-height:0;display:flex;gap:8px;padding-top:10px;opacity:0;transition:opacity var(--dur-3) var(--ease) 60ms}
.profile-code-section.open .profile-code-inner{opacity:1}
.profile-code-input{
  flex:1;padding:10px 14px;border:1.5px solid var(--border);border-radius:10px;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:13px;color:var(--ink);background:var(--white);
  outline:none;transition:border-color var(--dur-2) var(--ease);
  letter-spacing:.02em;
}
.profile-code-input:focus{border-color:var(--terracotta)}
.profile-code-submit{
  background:var(--terracotta);color:var(--white);border:none;border-radius:10px;
  padding:0 18px;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:12.5px;font-weight:600;cursor:pointer;
  transition:background var(--dur-2) var(--ease);white-space:nowrap;
}
.profile-code-submit:hover{background:var(--terracotta-hover)}
.profile-code-submit:disabled{background:var(--ink3-faint);cursor:not-allowed}
.profile-code-feedback{font-size:12px;line-height:1.4;margin-top:8px;display:none;padding:8px 10px;border-radius:8px}
.profile-code-feedback.show{display:block}
.profile-code-feedback.success{color:var(--teal);background:var(--teal3);border:1px solid var(--teal2)}
.profile-code-feedback.error{color:var(--danger);background:#FEF2F2;border:1px solid #FECACA}
.profile-code-feedback.info{color:var(--ink3);background:var(--cream);border:1px solid var(--border)}


.profile-purchase-section{margin:0;padding:12px 14px 10px;border:1px solid var(--border);border-radius:12px;background:var(--white)}
.profile-purchase-eyebrow{
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:10px;font-weight:600;
  color:var(--ink3);text-transform:uppercase;letter-spacing:0.16em;
  margin-bottom:8px;display:flex;align-items:center;gap:8px;
}
.profile-purchase-eyebrow::after{content:"";flex:1;height:1px;background:var(--border)}
.profile-purchase-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:8px 0;border-bottom:1px solid var(--border);
}
.profile-purchase-row:last-child{border-bottom:0}
.profile-purchase-meta{flex:1;min-width:0}
.profile-purchase-title{font-size:13px;font-weight:600;color:var(--ink);line-height:1.3}
.profile-purchase-date{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-style:italic;font-size:11.5px;color:var(--ink3);margin-top:2px}




.tp-section{padding:14px 20px 0;border-top:1px solid var(--border)}
.tp-section--gap{padding-top:14px}
.tp-section-title{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:15px;font-weight:600;color:var(--ink);margin-bottom:4px;display:flex;align-items:center;gap:8px}
.tp-section-sub{font-size:11.5px;color:var(--ink3);margin-bottom:14px;line-height:1.5}
.tp-cat-label{font-size:10.5px;font-weight:600;color:var(--ink3);text-transform:uppercase;letter-spacing:.1em;margin-bottom:9px;display:flex;align-items:center;gap:8px}
.tp-cat-label::after{content:'';flex:1;height:1px;background:var(--border);align-self:center}
.tp-cat-icon{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;color:var(--ink2);flex-shrink:0}
.tp-cat-icon svg{width:14px;height:14px}
.tp-cat-hint{font-weight:400;font-size:10px;color:var(--ink4);text-transform:none;letter-spacing:0;margin-left:0}

.tp-active-stamp{margin-left:auto}

.tp-chip-icon{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;flex-shrink:0;color:currentColor}
.tp-chip-icon svg{width:14px;height:14px}
.tp-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:14px}
.tp-chip{display:inline-flex;align-items:center;gap:7px;padding:7px 14px;border-radius:20px;font-size:12.5px;font-weight:500;border:1.5px solid var(--border);background:var(--white);color:var(--ink2);cursor:pointer;transition:background var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),color var(--dur-2) var(--ease);-webkit-tap-highlight-color:transparent;user-select:none;line-height:1.3;white-space:nowrap}
.tp-chip:hover{border-color:var(--terracotta);color:var(--terracotta);background:var(--terra3)}
.tp-chip.selected{background:var(--terracotta);border-color:var(--terracotta);color:#fff;font-weight:600}
.tp-chip.selected:hover{background:var(--terracotta-hover);border-color:var(--terracotta-hover)}
.tp-chip.solo.selected{background:var(--teal);border-color:var(--teal);color:#fff;font-weight:600}
.tp-chip.solo.selected:hover{background:#20665e;border-color:#20665e}
.tp-save-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:calc(100% - 40px);margin:16px 20px 4px;padding:13px;border:none;border-radius:var(--rs);background:var(--terracotta);color:#fff;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s;box-shadow:0 3px 12px rgba(212,106,58,.25)}
.tp-save-btn:hover{background:var(--terracotta-hover)}
.tp-save-btn:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}
.tp-summary{display:flex;flex-wrap:wrap;gap:6px;padding:10px 20px 14px}
.tp-summary-pill{display:inline-flex;align-items:center;gap:6px;padding:5px 11px;border-radius:20px;font-size:11.5px;font-weight:500;background:var(--teal3);color:var(--teal);border:1px solid var(--teal2);line-height:1.3}
.tp-summary-pill svg{width:12px;height:12px;flex-shrink:0}
.tp-edit-link{display:block;text-align:center;font-size:12px;color:var(--terracotta);cursor:pointer;text-decoration:underline;padding-bottom:14px;font-weight:500}
.tp-edit-btn{display:inline-flex;align-items:center;gap:7px;margin:8px 0 14px;
  background:transparent;border:1.25px solid var(--terracotta);color:var(--terracotta);
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:12px;font-weight:600;
  padding:7px 14px;border-radius:20px;cursor:pointer;
  transition:background var(--dur-2) var(--ease), color var(--dur-2) var(--ease)}
.tp-edit-btn:hover{background:var(--terracotta);color:var(--white)}

.profile-welcome-banner{display:none!important}
.profile-welcome-banner svg{flex-shrink:0;color:var(--terracotta);margin-top:1px}
.profile-welcome-text{font-size:12.5px;color:var(--ink2);line-height:1.5}
.profile-welcome-text strong{color:var(--terracotta);display:block;font-size:13px;margin-bottom:2px}
@keyframes fadeDown{from{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}


.bfb-live-row{display:flex;flex-direction:column;gap:8px;padding:12px 16px 14px;border-top:1px solid var(--border)}.bfb-live-price{font-size:11px;color:var(--teal);font-weight:600;display:flex;align-items:center;gap:5px;flex-wrap:wrap;min-height:0;line-height:1.4}.bfb-live-price.loading{color:var(--ink3);font-style:italic}.bfb-live-actions{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.bfb-live-origin{display:flex;align-items:center;gap:6px;width:100%}.bfb-live-origin input{flex:1;min-width:0;border:1px solid var(--border);border-radius:8px;padding:5px 10px;font-size:11px;font-family:Outfit,sans-serif;outline:none}.bfb-live-origin input:focus{border-color:var(--terracotta)}

.act-advance-booking{
  display:inline-flex;align-items:center;gap:4px;
  background:linear-gradient(135deg,var(--gold),#D4A847);
  color:#fff;border-radius:20px;padding:3px 9px;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:10px;font-weight:700;
  letter-spacing:.02em;white-space:nowrap;
  box-shadow:0 1px 6px rgba(201,146,42,.35);
  flex-shrink:0;
}
.act-advance-booking svg{flex-shrink:0;opacity:.9}
.act-book-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 12px;border-radius:20px;border:none;background:var(--teal);color:#fff;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:11px;font-weight:600;cursor:pointer;text-decoration:none;transition:all .2s;white-space:nowrap;letter-spacing:.01em}
.act-book-btn:hover{background:#22655b;color:#fff;transform:translateY(-1px);box-shadow:0 3px 10px rgba(42,123,111,.3)}
.act-book-btn.secondary{background:transparent;color:var(--teal);border:1.5px solid var(--teal)}
.act-book-btn.secondary:hover{background:var(--teal3);transform:none;box-shadow:none}

.gyg-book-btn.act-book-btn{
  background: linear-gradient(135deg, var(--terracotta) 0%, var(--terracotta-hover) 100%);
  color:#fff;border:none;
  padding:7px 14px;border-radius:22px;
  font-size:12px;font-weight:700;letter-spacing:.01em;
  box-shadow:0 2px 6px rgba(212,106,58,.22), inset 0 1px 0 rgba(255,255,255,.16);
  position:relative;overflow:hidden;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease;
}
.gyg-book-btn.act-book-btn:hover,
.gyg-book-btn.act-book-btn:focus-visible{
  background: linear-gradient(135deg, #C05A2A 0%, #A84B22 100%);
  color:#fff;
  transform:translateY(-1px);
  box-shadow:0 6px 16px rgba(184,81,40,.32), inset 0 1px 0 rgba(255,255,255,.18);
}
.gyg-book-btn.act-book-btn:active{transform:translateY(0);box-shadow:0 2px 6px rgba(184,81,40,.28)}
.gyg-book-btn .gyg-book-icon{display:inline-flex;align-items:center;flex-shrink:0;opacity:.95}
.gyg-book-btn .gyg-book-icon svg{display:block}
.gyg-book-btn .gyg-book-text{white-space:nowrap}
.gyg-book-btn .gyg-book-arrow{
  display:inline-block;font-size:13px;font-weight:600;
  margin-left:1px;
  transition:transform .18s ease;
}
.gyg-book-btn:hover .gyg-book-arrow,
.gyg-book-btn:focus-visible .gyg-book-arrow{transform:translateX(3px)}

.gyg-map-btn{
  display:inline-flex;align-items:center;gap:5px;
  padding:5px 11px;border-radius:20px;
  background:transparent;color:var(--ink2);
  border:1px solid var(--border2);
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:11px;font-weight:600;letter-spacing:.01em;
  cursor:pointer;text-decoration:none;white-space:nowrap;
  transition:color .18s ease, border-color .18s ease, background .18s ease;
}
.gyg-map-btn:hover,
.gyg-map-btn:focus-visible{
  color:var(--terracotta-ink);
  border-color:var(--terracotta);
  background:rgba(212,106,58,.06);
}
.gyg-map-btn .gyg-book-arrow{font-size:12px;font-weight:600;transition:transform .18s ease}
.gyg-map-btn:hover .gyg-book-arrow{transform:translateX(2px)}

@media (max-width:640px){
  .act-card-actions .gyg-book-btn.act-book-btn,
  .act-card-actions .gyg-map-btn{
    width:100%;justify-content:center;
    padding-top:9px;padding-bottom:9px;
    font-size:12.5px;
  }
}

body.density-compact .gyg-book-btn.act-book-btn{padding:4px 11px;font-size:11px}
body.density-compact .gyg-map-btn{padding:3px 9px;font-size:10.5px}

.itinerary-cotizar{background:var(--white);border:1px solid var(--border);border-radius:var(--r);margin:0 1em 1em;padding:1.25em}
.itinerary-cotizar-title{font-size:11px;font-weight:700;color:var(--ink2);text-transform:uppercase;letter-spacing:.07em;margin-bottom:12px}
.icq-row{display:flex;align-items:center;gap:10px;padding:12px 14px;background:var(--cream);border-radius:var(--r);margin-bottom:8px;flex-wrap:nowrap}
.icq-icon{flex-shrink:0;width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;color:var(--terracotta)}
.icq-icon svg{width:22px;height:22px}
.icq-info{flex:1;min-width:0}
.icq-label{font-size:12px;font-weight:600;color:var(--ink);margin-bottom:1px}
.icq-sublabel{font-size:10.5px;color:var(--ink3);line-height:1.4}
.icq-price{font-size:15px;font-weight:700;color:var(--teal);white-space:nowrap;flex-shrink:0}
.icq-price.loading{font-size:11px;color:var(--ink3);font-weight:400}
.icq-price.error{color:var(--rose);font-size:11px}
.icq-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}
.icq-cotizar-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border-radius:20px;border:1.5px solid var(--terracotta);background:transparent;color:var(--terracotta);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}
.icq-cotizar-btn:hover{background:var(--terracotta);color:#fff}
.icq-cotizar-btn:disabled{opacity:.45;cursor:not-allowed}
.icq-book-link{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border-radius:20px;border:none;background:var(--terracotta);color:#fff;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:11px;font-weight:600;text-decoration:none;transition:all .15s;white-space:nowrap}
.icq-book-link:hover{background:var(--terracotta-hover);color:#fff}
.bfb-search-btn{display:inline-flex;align-items:center;gap:4px;padding:5px 12px;border-radius:20px;border:1.5px solid var(--terracotta);background:transparent;color:var(--terracotta);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:11px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap;letter-spacing:.01em;flex-shrink:0}
.bfb-search-btn:hover{background:var(--terracotta);color:#fff}
.bfb-search-btn:disabled{opacity:.45;cursor:not-allowed}
.bfb-book-btn{display:inline-flex;align-items:center;gap:5px;padding:6px 14px;border-radius:20px;border:none;background:var(--terracotta);color:#fff;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;font-size:11px;font-weight:600;cursor:pointer;text-decoration:none;transition:all .15s;white-space:nowrap;letter-spacing:.01em;flex-shrink:0}
.bfb-book-btn:hover{background:var(--terracotta-hover);color:#fff}

.bfb-live-price.loading{color:var(--ink3);font-weight:400}
.bfb-live-price.error{color:var(--rose)}
.bfb-price-badge{background:rgba(42,123,111,.1);color:var(--teal);border-radius:20px;padding:2px 9px;font-size:10.5px;font-weight:700;letter-spacing:.01em}


.hero-features{
  width:100%;padding:72px 24px 88px;background:var(--cream);position:relative;
}
.hero-features::before{
  content:'';position:absolute;top:0;left:0;right:0;height:1px;
  background:linear-gradient(90deg,transparent,var(--border),transparent);
}
.hf-inner{max-width:1040px;margin:0 auto;display:flex;flex-direction:column;align-items:center;gap:52px;}
.hf-headline{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:clamp(22px,3.2vw,30px);
  font-weight:700;color:var(--ink);text-align:center;line-height:1.2;letter-spacing:-.01em;
}
.hf-headline em{font-style:italic;color:var(--terracotta);}


.hf-grid{
  display:grid;grid-template-columns:repeat(4,1fr);gap:16px;width:100%;
  align-items:start;
}


.hf-card{
  background:var(--white);border:1px solid var(--border);border-radius:16px;
  padding:28px 24px 24px;display:flex;flex-direction:column;gap:12px;
  cursor:default;position:relative;
  transition:box-shadow .25s ease, border-color .25s ease, opacity .5s ease, transform .5s ease;
  
  opacity:1;transform:translateY(0);
  min-height:470px;          
}
.hf-card .hf-preview{ margin-top:auto; }  
@media (max-width: 980px){
  
}
@media (max-width: 580px){
  
  .hf-card{ min-height: 0; padding: 20px 20px 20px; gap: 10px; }
  .hf-card .hf-preview{ margin-top: 8px; }
}

.hf-card.hf-anim-pre{opacity:0;transform:translateY(20px)}
.hf-card.hf-visible{opacity:1;transform:translateY(0);align-self:start;}
.hf-card:nth-child(1).hf-visible{transition-delay:.05s}
.hf-card:nth-child(2).hf-visible{transition-delay:.12s}
.hf-card:nth-child(3).hf-visible{transition-delay:.19s}
.hf-card:nth-child(4).hf-visible{transition-delay:.26s}
@media (prefers-reduced-motion: reduce){
  .hf-card{transition:none}
  .hf-card.hf-anim-pre{opacity:1;transform:none}
}
.hf-card:hover{
  box-shadow:0 12px 40px rgba(28,25,23,.10);
  border-color:var(--border2);
  z-index:2;
}


.hf-static{display:flex;flex-direction:column;gap:12px;}
.hf-icon{
  width:38px;height:38px;border-radius:10px;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.hf-card-title{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:14.5px;font-weight:700;
  color:var(--ink);line-height:1.25;
}
.hf-card-body{
  font-size:12.5px;color:var(--ink2);line-height:1.65;font-weight:400;
}
.hf-accent-line{width:18px;height:2px;border-radius:2px;margin-top:4px;}


.hf-preview{
  margin-top:14px;
  opacity:1;
  
  transition: opacity .35s ease;
}

@media(max-width:980px){ .hf-grid{ grid-template-columns:repeat(2,1fr); } }
@media(max-width:580px){ .hf-grid{ grid-template-columns:1fr; gap:14px; } }


:root{ --hf-preview-h: 200px; }


.hf-map-scene{
  width:100%;height:var(--hf-preview-h);background:#1a2332;border-radius:10px;
  position:relative;overflow:hidden;
}
.hf-map-bg{
  position:absolute;inset:0;
  background:
    linear-gradient(135deg,#1e2d40 0%,#162030 50%,#1a2535 100%);
}

.hf-map-bg::before{
  content:'';position:absolute;inset:0;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px,transparent 1px),
    linear-gradient(90deg,rgba(255,255,255,.04) 1px,transparent 1px);
  background-size:24px 24px;
}

.hf-map-roads{position:absolute;inset:0;width:100%;height:100%;}


.hf-route-line{
  stroke-dasharray:6 4;
  stroke-dashoffset:200;
  animation: hf-draw-route 6s cubic-bezier(.4,0,.2,1) infinite;
}
@keyframes hf-draw-route{
  0%   { stroke-dashoffset: 200; }
  35%  { stroke-dashoffset: 0;   }
  85%  { stroke-dashoffset: 0;   }  
  100% { stroke-dashoffset: 200; }  
}


.hf-map-scene .hf-pin{
  position:absolute;width:10px;height:10px;border-radius:50%;
  border:2px solid #fff;transform:scale(0);
  animation: hf-pin-pop 6s ease-in-out infinite;
}
@keyframes hf-pin-pop{
  0%, 100% { transform: scale(0);   }
  25%      { transform: scale(0);   }
  40%      { transform: scale(1.15);}
  50%      { transform: scale(1);   }
  85%      { transform: scale(1);   }
  95%      { transform: scale(0);   }
}
.hf-map-scene .hf-pin:nth-child(1){ animation-delay: .8s;  }
.hf-map-scene .hf-pin:nth-child(2){ animation-delay: 1.0s; }
.hf-map-scene .hf-pin:nth-child(3){ animation-delay: 1.2s; }
.hf-map-scene .hf-pin:nth-child(4){ animation-delay: 1.4s; }
.hf-map-scene .hf-pin-label{
  position:absolute;top:-18px;left:50%;transform:translateX(-50%);
  white-space:nowrap;font-size:7.5px;font-weight:700;color:#fff;
  background:rgba(0,0,0,.55);padding:1px 5px;border-radius:4px;
  opacity:0;
  animation: hf-label-fade 6s ease-in-out infinite;
}
.hf-pin-label{ animation-delay: 1.0s; }
@keyframes hf-label-fade{
  0%, 30%, 95%, 100% { opacity: 0; }
  45%, 85%           { opacity: 1; }
}

.hf-map-city{
  position:absolute;top:10px;left:10px;
  background:rgba(255,255,255,.12);backdrop-filter:blur(8px);
  border:1px solid rgba(255,255,255,.15);border-radius:20px;
  padding:3px 10px;font-size:9px;font-weight:600;color:#fff;
  letter-spacing:.04em;
}


.hf-tip-card{
  background:var(--cream);border:1px solid var(--border);border-radius:10px;
  padding:14px 16px;display:flex;flex-direction:column;justify-content:center;gap:10px;
  height:var(--hf-preview-h);box-sizing:border-box;
}
.hf-tip-act-row{display:flex;align-items:center;gap:8px;}
.hf-tip-time{font-size:10px;color:var(--ink3);font-weight:500;min-width:36px;}
.hf-tip-act-name{font-size:12px;font-weight:600;color:var(--ink);flex:1;}
.hf-tip-badge{font-size:9px;font-weight:600;color:var(--teal);background:var(--teal3);border-radius:20px;padding:1px 7px;}
.hf-tip-divider{height:1px;background:var(--border);}

.hf-tip-body{
  display:flex;gap:6px;align-items:flex-start;
  animation: hf-tip-in .6s cubic-bezier(0.215, 0.61, 0.355, 1) .4s both;
}
@keyframes hf-tip-in{from{opacity:0;transform:translateY(6px);}to{opacity:1;transform:translateY(0);}}
.hf-tip-icon{font-size:13px;line-height:1.4;flex-shrink:0;}
.hf-tip-text{font-size:11px;color:var(--ink2);line-height:1.5;font-style:italic;}


.hf-pdf-wrap{
  width:100%;height:var(--hf-preview-h);position:relative;overflow:hidden;border-radius:10px;
  background:#f0ebe3;border:1px solid var(--border);
}

.hf-pdf-doc{
  position:absolute;left:50%;top:0;transform:translateX(-50%);
  width:88%;background:#fff;border-radius:4px;
  box-shadow:0 2px 12px rgba(28,25,23,.12);
  padding:10px 12px;font-size:8px;line-height:1.5;
  animation: hf-pdf-scroll 5s ease-in-out infinite;
  animation-delay: 1s;
}
@keyframes hf-pdf-scroll{
  0%, 35% { top: 8px;   }
  60%     { top: -80px; }
  90%     { top: -80px; }
  100%    { top: 8px;   }
}
.hf-pdf-header{
  display:flex;align-items:center;justify-content:space-between;
  border-bottom:2px solid var(--terracotta);padding-bottom:6px;margin-bottom:8px;
}
.hf-pdf-logo{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:9px;font-weight:700;color:var(--terracotta);}
.hf-pdf-title{font-size:7px;color:var(--ink3);letter-spacing:.05em;text-transform:uppercase;}
.hf-pdf-trip{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:11px;font-weight:700;color:var(--ink);margin-bottom:6px;}
.hf-pdf-row{display:flex;justify-content:space-between;padding:3px 0;border-bottom:1px solid var(--border);}
.hf-pdf-lbl{color:var(--ink3);}
.hf-pdf-val{font-weight:600;color:var(--ink);}
.hf-pdf-total{
  margin-top:6px;background:var(--terra3);border-radius:4px;
  padding:5px 8px;display:flex;justify-content:space-between;
}
.hf-pdf-total-lbl{font-weight:700;color:var(--terracotta);}
.hf-pdf-total-val{font-family:'Playfair Display','Playfair Fallback',Georgia,serif;font-size:11px;font-weight:700;color:var(--terracotta);}


.hf-chat-wrap{
  background:var(--white);border:1px solid var(--border);border-radius:10px;
  padding:12px;display:flex;flex-direction:column;justify-content:center;gap:6px;overflow:hidden;
  height:var(--hf-preview-h);box-sizing:border-box;
}

.hf-chat-msg{
  max-width:82%;padding:7px 10px;border-radius:8px;font-size:11px;line-height:1.45;
  opacity:0;transform:translateY(6px);
}
.hf-chat-user{
  background:var(--terracotta);color:#fff;align-self:flex-end;border-radius:8px 8px 2px 8px;
  animation: hf-chat-user-loop 8s ease-in-out infinite;
}
.hf-chat-ai{
  background:var(--cream);color:var(--ink2);border:1px solid var(--border);
  align-self:flex-start;border-radius:8px 8px 8px 2px;
  animation: hf-chat-ai-loop 8s ease-in-out infinite;
}
.hf-chat-typing{
  display:flex;gap:3px;align-items:center;padding:8px 10px;
  background:var(--cream);border:1px solid var(--border);border-radius:8px 8px 8px 2px;
  align-self:flex-start;opacity:0;
  animation: hf-chat-typing-loop 8s ease-in-out infinite;
}
@keyframes hf-chat-user-loop{
  0%, 5%  { opacity: 0; transform: translateY(6px); }
  10%, 85% { opacity: 1; transform: translateY(0); }
  95%, 100%{ opacity: 0; transform: translateY(-3px); }
}
@keyframes hf-chat-typing-loop{
  0%, 18% { opacity: 0; }
  22%, 42% { opacity: 1; }
  46%, 100% { opacity: 0; }
}
@keyframes hf-chat-ai-loop{
  0%, 45% { opacity: 0; transform: translateY(6px); }
  52%, 85% { opacity: 1; transform: translateY(0); }
  95%, 100% { opacity: 0; transform: translateY(-3px); }
}
.hf-chat-typing span{
  width:5px;height:5px;border-radius:50%;background:var(--ink3);
  animation:hf-dot .9s infinite;
}
.hf-chat-typing span:nth-child(2){animation-delay:.15s;}
.hf-chat-typing span:nth-child(3){animation-delay:.3s;}
@keyframes hf-dot{0%,60%,100%{transform:translateY(0);}30%{transform:translateY(-4px);}}



@media (prefers-reduced-motion: reduce) {
  .hf-route-line, .hf-pin, .hf-pin-label, .hf-pdf-doc,
  .hf-chat-user, .hf-chat-typing, .hf-chat-ai, .hf-chat-typing span,
  .hf-tip-body {
    animation: none !important;
  }
  .hf-route-line { stroke-dashoffset: 0 !important; }
  .hf-pin { transform: scale(1) !important; }
  .hf-pin-label { opacity: 1 !important; }
  .hf-pdf-doc { top: 8px !important; }
  .hf-chat-user, .hf-chat-ai { opacity: 1 !important; transform: none !important; }
  .hf-chat-typing { opacity: 0 !important; }   
  .hf-tip-body { opacity: 1 !important; transform: none !important; }
}

@media(max-width:900px){
  .hf-grid{grid-template-columns:repeat(2,1fr);}
}
@media(max-width:520px){
  .hf-grid{grid-template-columns:1fr;}
  .hero-features{padding:48px 16px 60px;}
}


.flight-banner{
  position:fixed;bottom:80px;right:20px;z-index:3000;
  background:var(--white);border:1.5px solid var(--border);border-radius:16px;
  box-shadow:0 8px 32px rgba(0,0,0,.14);padding:16px 18px;width:320px;
  animation:slideUp .35s ease;
}
@keyframes slideUp{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.flight-banner-header{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.flight-banner-icon{display:inline-flex;align-items:center;justify-content:center;color:var(--teal)}
.flight-banner-icon svg{width:22px;height:22px}
.flight-banner-title{font-size:13px;font-weight:700;color:var(--ink);flex:1;}
.flight-banner-close{background:none;border:none;cursor:pointer;color:var(--ink3);font-size:16px;padding:0;}
.flight-banner-msg{font-size:12px;color:var(--ink3);line-height:1.6;margin-bottom:12px;}
.flight-banner-legs{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;}
.flight-leg{display:flex;align-items:center;gap:8px;padding:7px 10px;background:var(--bg);border-radius:10px;border:1px solid var(--border2);}
.flight-leg-route{font-size:11px;font-weight:600;color:var(--ink);flex:1;}
.flight-leg-times{display:flex;gap:6px;}
.flight-leg-times input{width:62px;font-size:11px;padding:3px 6px;border:1px solid var(--border);border-radius:8px;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;color:var(--ink);background:var(--white);outline:none;}
.flight-leg-times input:focus{border-color:var(--terracotta);}
.flight-banner-actions{display:flex;gap:8px;}
.flight-banner-btn{flex:1;padding:8px 0;border-radius:30px;font-size:12px;font-weight:600;cursor:pointer;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;border:none;}
.flight-banner-btn.primary{background:var(--terracotta);color:#fff;}
.flight-banner-btn.secondary{background:var(--bg);color:var(--ink3);border:1px solid var(--border);}

.transit-day-header{
  background:linear-gradient(135deg,var(--transit-from,var(--terracotta)),var(--transit-to,var(--teal)));
  color:#fff;border-radius:12px;padding:14px 16px;margin:8px 0 12px;
  display:flex;align-items:center;gap:12px;
}
.transit-day-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;color:var(--teal)}
.transit-day-icon svg{width:26px;height:26px}
.transit-day-info{flex:1;}
.transit-day-route{font-size:14px;font-weight:700;letter-spacing:.3px;}
.transit-day-detail{font-size:11px;opacity:.85;margin-top:2px;}
.transit-flight-card{
  background:linear-gradient(135deg,rgba(0,0,0,.04),rgba(0,0,0,.08));
  border:1.5px solid rgba(255,255,255,.3);border-radius:10px;
  padding:10px 14px;margin-bottom:12px;
  display:flex;align-items:center;gap:10px;
}
.transit-flight-times{display:flex;flex-direction:column;gap:2px;}
.transit-flight-time{font-size:16px;font-weight:700;color:var(--ink);}
.transit-flight-sep{font-size:18px;color:var(--ink3);}
.transit-flight-info{font-size:11px;color:var(--ink3);}

.city-progress-strip{
  display:flex;gap:0;height:6px;border-radius:3px;overflow:hidden;margin:6px 0 4px;
}
.city-progress-seg{height:100%;transition:opacity .2s;}
.city-progress-seg.active{opacity:1;}
.city-progress-seg.done{opacity:.35;}
.city-progress-seg.future{opacity:.15;}


.hero-multi-panel{background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.2);border-radius:14px;padding:14px 16px;margin-top:4px;animation:fadeUp .25s ease;display:none}
.hero-multi-panel.visible{display:block}


.hero-form-toggle{background:none;border:1px solid rgba(255,255,255,0.14);color:rgba(255,255,255,0.78);
  display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border-radius:12px;cursor:pointer;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;text-align:left;
  transition:background var(--dur-2) var(--ease),border-color var(--dur-2) var(--ease),color var(--dur-2) var(--ease)}
.hero-form-toggle:hover{background:rgba(255,255,255,0.04);border-color:rgba(255,255,255,0.22);color:rgba(255,255,255,0.95)}
.hero-form-toggle .hfa-label{font-size:13px;font-weight:500;letter-spacing:.01em}
.hero-form-toggle .hfa-sub{flex:1;font-size:11px;color:rgba(255,255,255,0.45);font-weight:400;letter-spacing:0;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.hero-form-toggle .hfa-chevron{flex-shrink:0;transition:transform var(--dur-2) var(--ease);color:rgba(255,255,255,0.6)}
.hero-form-toggle.open .hfa-chevron{transform:rotate(180deg)}
.hero-form-toggle.open{background:rgba(255,255,255,0.05);border-color:rgba(255,255,255,0.22)}
.hero-form-advanced{display:grid;grid-template-rows:0fr;transition:grid-template-rows var(--dur-3) var(--ease);overflow:hidden}
.hero-form-advanced.open{grid-template-rows:1fr}
.hero-form-advanced > .hfa-inner{min-height:0;display:flex;flex-direction:column;gap:14px;opacity:0;transition:opacity var(--dur-3) var(--ease) 60ms}
.hero-form-advanced.open > .hfa-inner{opacity:1;padding-top:6px}
@media (max-width:600px){
  .hero-form-toggle .hfa-sub{display:none}
}
.hmp-title{font-size:11px;font-weight:700;color:rgba(255,255,255,0.85);letter-spacing:.05em;text-transform:uppercase;margin-bottom:10px;display:flex;align-items:center;gap:6px}
.hmp-origin-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.hmp-origin-label{font-size:11px;color:rgba(255,255,255,0.55);white-space:nowrap}
.hmp-origin-input{flex:1;background:rgba(255,255,255,0.08);border:1px solid rgba(255,255,255,0.18);border-radius:8px;padding:7px 10px;font-size:12px;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;color:#fff;outline:none;transition:border-color .15s}
.hmp-origin-input:focus{border-color:rgba(255,255,255,0.45)}
.hmp-origin-input::placeholder{color:rgba(255,255,255,0.3)}
.hmp-legs{display:flex;flex-direction:column;gap:6px}
.hmp-leg{display:flex;align-items:center;gap:8px;background:rgba(0,0,0,0.15);border-radius:10px;padding:7px 10px}
.hmp-leg-route{font-size:11px;color:rgba(255,255,255,0.7);flex:1;font-weight:500}
.hmp-mode-btns{display:flex;gap:3px}
.hmp-mode-btn{padding:3px 7px;border-radius:8px;border:1px solid rgba(255,255,255,0.2);background:rgba(255,255,255,0.06);font-size:11px;cursor:pointer;transition:all .12s;color:rgba(255,255,255,0.5);font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}
.hmp-mode-btn.sel{background:rgba(255,255,255,0.2);border-color:rgba(255,255,255,0.5);color:#fff}
.hmp-time-row{display:flex;align-items:center;gap:5px;margin-left:4px}
.hmp-time-lbl{font-size:9px;color:rgba(255,255,255,0.4)}
.hmp-time-inp{width:55px;background:rgba(255,255,255,0.07);border:1px solid rgba(255,255,255,0.15);border-radius:6px;padding:3px 6px;font-size:10px;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;color:#fff;outline:none}
.hmp-time-inp:focus{border-color:rgba(255,255,255,0.4)}


.hmp-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}
.hmp-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border-radius:20px;
  background:rgba(255,255,255,0.12);border:1px solid rgba(255,255,255,0.25);
  font-size:11px;font-weight:600;color:#fff;white-space:nowrap;letter-spacing:.02em}
.hmp-chip-check{font-size:10px;opacity:.8}
.hmp-chip-dates{font-size:9px;opacity:.6;font-weight:400;margin-left:2px}


.budget-city-group{border:1px solid var(--border2);border-radius:12px;overflow:hidden;margin-bottom:10px}
.budget-city-header{display:flex;align-items:center;gap:8px;padding:10px 14px;cursor:pointer;background:var(--white);user-select:none;transition:background .12s}
.budget-city-header:hover{background:var(--cream)}
.budget-city-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}
.budget-city-name{font-size:12px;font-weight:700;color:var(--ink);flex:1}
.budget-city-total{font-size:13px;font-weight:700;color:var(--ink)}
.budget-city-nights{font-size:10px;color:var(--ink4);margin-right:6px}
.budget-city-chevron{font-size:10px;color:var(--ink4);transition:transform .18s}
.budget-city-chevron.open{transform:rotate(90deg)}
.budget-city-body{display:none;padding:8px 14px 12px;background:var(--bg);border-top:1px solid var(--border2)}
.budget-city-body.open{display:block}
.budget-city-row{display:flex;justify-content:space-between;align-items:center;padding:4px 0;font-size:11px;color:var(--ink2);border-bottom:1px solid var(--border2)}
.budget-city-row:last-child{border-bottom:none}
.budget-city-row-label{display:flex;align-items:center;gap:5px}


.mob-day-selector{background:var(--white);border-bottom:1px solid var(--border);overflow:hidden;max-height:200px;overflow-y:auto;scrollbar-width:none;flex-shrink:0}
.mob-day-selector::-webkit-scrollbar{display:none}

.mob-city-group{border-bottom:1px solid var(--border2)}
.mob-city-group:last-child{border-bottom:none}
.mob-city-header{display:flex;align-items:center;gap:8px;padding:8px 14px;cursor:pointer;min-height:38px;user-select:none}
.mob-city-header:active{background:var(--cream)}
.mob-city-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}
.mob-city-label{font-size:12px;font-weight:700;color:var(--ink);flex:1}
.mob-city-count{font-size:10px;color:var(--ink4);flex-shrink:0}
.mob-city-chev{font-size:10px;color:var(--ink4);transition:transform .18s;flex-shrink:0}
.mob-city-chev.open{transform:rotate(90deg)}

.mob-city-days{display:none;flex-wrap:wrap;gap:5px;padding:5px 14px 9px 28px;background:var(--bg)}
.mob-city-days.open{display:flex}

.mob-city-days .mob-day-pill{padding:3px 8px;font-size:10px;border-radius:16px;border:1.5px solid var(--border2);background:transparent;font-weight:500;cursor:pointer;transition:all .12s;white-space:nowrap;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;color:var(--ink2)}

.mob-global-row{display:flex;align-items:center;gap:6px;padding:6px 14px;border-bottom:1px solid var(--border2)}
.mob-global-btn{padding:4px 10px;border-radius:16px;border:1.5px solid var(--border2);background:transparent;font-size:10px;font-weight:600;color:var(--ink2);cursor:pointer;font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif}
.mob-global-btn.active{background:var(--ink);border-color:var(--ink);color:#fff}


.wp-date-field { position: relative; }


.wp-date-trigger {
  padding: 12px 16px;
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: var(--rs);
  background: rgba(255,255,255,0.09);
  font-family: 'Outfit', sans-serif;
  font-size: 14px;
  color: #fff;
  min-height: 44px;
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  transition: all .2s;
  user-select: none;
  box-sizing: border-box;
  width: 100%;
}
.wp-date-trigger:hover { background: rgba(255,255,255,0.14); border-color: rgba(255,255,255,0.35); }
.wp-date-trigger.wp-open { border-color: var(--terracotta); background: rgba(255,255,255,0.13); }
.wp-date-trigger .wp-dt-text { flex: 1; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.wp-date-trigger .wp-dt-placeholder { color: rgba(255,255,255,0.3); }

@media (max-width: 400px){
  .wp-date-trigger{ font-size: 12.5px; padding: 10px 12px; }
  .wp-date-trigger .wp-dt-icon{ display: none; }
}
@media (max-width: 360px){
  
  .form-row{ grid-template-columns: 1fr; gap: 8px; }
}


@media (max-width: 600px){
  
  .form-row{
    grid-template-columns: 1fr !important;
    gap: 14px;
  }
  .form-quote-row{
    grid-template-columns: 1fr !important;
    gap: 10px;
  }
  
  .form-field > label{
    font-size: 11px;
    letter-spacing: 0.14em;
    line-height: 1.3;
    white-space: normal;
  }
  
  .form-input{
    font-size: 14px;
    padding: 11px 14px;
    width: 100%;
    box-sizing: border-box;
  }
  
  .form-field-hint{
    font-size: 11.5px;
    line-height: 1.4;
  }
  
  .hero-skip-profile-pill{
    width: 100%;
    justify-content: flex-start;
    box-sizing: border-box;
  }
  .hero-skip-profile-label{ white-space: normal; }
  
  .fqb-top{ gap: 8px; }
  .fqb-label{ font-size: 12.5px; line-height: 1.3; }
  
  .hero-form{ padding: 18px 16px; gap: 14px; }
}

@media (max-width: 360px){
  .hero-form{ padding: 16px 14px; }
  .form-input{ padding: 10px 12px; font-size: 13.5px; }
  .form-field > label{ font-size: 10.5px; letter-spacing: 0.12em; }
}
.wp-date-trigger .wp-dt-icon { font-size: 15px; opacity: .7; flex-shrink: 0; }


.wp-cal-popover {
  position: fixed;
  z-index: 9999;
  background: var(--cream);
  border-radius: 16px;
  box-shadow: 0 8px 40px rgba(0,0,0,.22), 0 2px 8px rgba(0,0,0,.1);
  padding: 16px;
  width: 300px;
  display: none;
  animation: wpCalIn .15s ease;
  border: 1px solid rgba(212,106,58,.15);
}
.wp-cal-popover.open { display: block; }
@keyframes wpCalIn {
  from { opacity: 0; transform: translateY(-6px) scale(.97); }
  to   { opacity: 1; transform: translateY(0)   scale(1); }
}


.wp-cal-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 14px;
}
.wp-cal-nav {
  width: 28px; height: 28px;
  border: none; background: none;
  cursor: pointer; border-radius: 8px;
  display: flex; align-items: center; justify-content: center;
  font-size: 14px; color: var(--ink2);
  transition: background .12s;
}
.wp-cal-nav:hover { background: var(--terra3); color: var(--terracotta); }
.wp-cal-month-label {
  font-family: 'Outfit', sans-serif;
  font-size: 14px; font-weight: 700;
  color: var(--ink);
  text-transform: capitalize;
  letter-spacing: .01em;
}


.wp-cal-weekdays {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  margin-bottom: 4px;
}
.wp-cal-wd {
  text-align: center;
  font-size: 10px;
  font-weight: 600;
  color: var(--ink3);
  padding: 4px 0;
  font-family: 'Outfit', sans-serif;
  text-transform: uppercase;
  letter-spacing: .05em;
}


.wp-cal-grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
  gap: 2px;
}
.wp-cal-day {
  aspect-ratio: 1;
  display: flex; align-items: center; justify-content: center;
  font-family: 'Outfit', sans-serif;
  font-size: 13px; font-weight: 500;
  border-radius: 8px;
  cursor: pointer;
  transition: all .1s;
  color: var(--ink);
  position: relative;
}
.wp-cal-day:hover:not(.empty):not(.disabled) {
  background: var(--terra3);
  color: var(--terracotta);
}
.wp-cal-day.empty { cursor: default; }
.wp-cal-day.disabled { color: var(--ink3); cursor: default; opacity: .4; }
.wp-cal-day.today {
  font-weight: 700;
}
.wp-cal-day.today::after {
  content: '';
  position: absolute; bottom: 2px; left: 50%; transform: translateX(-50%);
  width: 4px; height: 4px; border-radius: 50%;
  background: var(--terracotta);
}

.wp-cal-day.sel-start, .wp-cal-day.sel-end {
  background: var(--terracotta) !important;
  color: #fff !important;
  font-weight: 700;
  border-radius: 8px;
}

.wp-cal-day.in-range {
  background: var(--terra3);
  color: var(--ink);
  border-radius: 0;
}
.wp-cal-day.in-range:first-child,
.wp-cal-day.range-row-start { border-radius: 8px 0 0 8px; }
.wp-cal-day.range-row-end   { border-radius: 0 8px 8px 0; }
.wp-cal-day.sel-start.in-range { border-radius: 8px 0 0 8px !important; }
.wp-cal-day.sel-end.in-range   { border-radius: 0 8px 8px 0 !important; }


.wp-cal-footer {
  margin-top: 12px;
  padding-top: 10px;
  border-top: 1px solid var(--border);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}
.wp-cal-footer-info {
  font-size: 11px;
  color: var(--ink3);
  font-family: 'Outfit', sans-serif;
}
.wp-cal-footer-info strong { color: var(--terracotta); font-weight: 700; }
.wp-cal-clear {
  font-size: 11px; color: var(--ink3);
  background: none; border: none; cursor: pointer;
  font-family: 'Outfit', sans-serif;
  padding: 2px 6px; border-radius: 6px;
  transition: all .12s;
}
.wp-cal-clear:hover { background: var(--terra3); color: var(--terracotta); }


.hmp-leg-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}
.hmp-leg-bottom{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.hmp-leg-dur{
  font-size:10px;font-weight:600;
  color:var(--terracotta,var(--terracotta));
  background:rgba(212,106,58,0.15);
  border:1px solid rgba(212,106,58,0.3);
  border-radius:10px;
  padding:1px 7px;
  white-space:nowrap;
}
.hmp-time-sep{font-size:10px;color:rgba(255,255,255,0.4);margin:0 1px}
.hmp-arr-inp::placeholder{color:rgba(255,255,255,0.25)!important;font-style:italic}




.pro-modal-overlay {
  display: none;
  position: fixed; inset: 0; z-index: 9000;
  background: rgba(28,25,23,.7);
  backdrop-filter: blur(4px);
  align-items: center; justify-content: center;
  padding: 16px;
  box-sizing: border-box;
}
.pro-modal-overlay.open { display: flex; }


.pro-modal {
  background: var(--white, #FFFDF9);
  border-radius: 20px;
  width: 100%;
  max-width: 480px;
  max-height: 90dvh;
  overflow-y: auto;
  padding: 28px 24px 24px;
  box-sizing: border-box;
  position: relative;
  box-shadow: 0 24px 80px rgba(0,0,0,.28);
  animation: pmSlideIn .22s ease;
  scrollbar-width: none;
}
.pro-modal::-webkit-scrollbar { display: none; }
@keyframes pmSlideIn {
  from { opacity:0; transform:translateY(16px) scale(.97); }
  to   { opacity:1; transform:translateY(0)    scale(1); }
}


.pro-modal-close {
  position: absolute; top: 14px; right: 14px;
  width: 32px; height: 32px; border-radius: 50%;
  border: 1.5px solid var(--border, #E0D8CF);
  background: transparent; cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: var(--ink3); transition: all .15s;
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.pro-modal-close:hover { background: var(--bg2); }

@media(max-width:480px){
  .pro-modal-close{width:40px;height:40px;top:12px;right:12px}
}


.pm-header { text-align: center; margin-bottom: 22px; }

.pm-loss-banner{
  display:flex;gap:12px;align-items:flex-start;
  padding:12px 14px;margin-bottom:18px;
  background:linear-gradient(135deg, #FFF1EB 0%, #FFE8DA 100%);
  border:1.5px solid var(--terracotta);
  border-radius:12px;
  animation:wp-fade-in .35s ease;
}
.pm-loss-icon{
  width:32px;height:32px;border-radius:50%;
  background:var(--terracotta);color:#fff;
  display:flex;align-items:center;justify-content:center;flex-shrink:0;
}
.pm-loss-body{flex:1;min-width:0}
.pm-loss-title{
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:13px;font-weight:700;color:var(--terracotta);
  margin-bottom:5px;letter-spacing:.01em;
}
.pm-loss-title em{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-style:italic;font-weight:500;color:#9C422A;
}
.pm-loss-list{
  font-size:12px;color:var(--ink2);line-height:1.55;
}
.pm-loss-list .pm-loss-strike{
  text-decoration:line-through;text-decoration-color:var(--terracotta);
  color:var(--ink3);
}
.pm-loss-list .pm-loss-bullet{
  display:inline-block;width:5px;height:5px;border-radius:50%;
  background:var(--terracotta);margin:0 6px 2px 0;vertical-align:middle;
}
@media(max-width:480px){
  .pm-loss-banner{padding:10px 12px;gap:10px}
  .pm-loss-icon{width:28px;height:28px}
  .pm-loss-icon svg{width:18px;height:18px}
  .pm-loss-title{font-size:12.5px}
  .pm-loss-list{font-size:11.5px}
}
.pm-logo {
  width: 56px; height: 56px; border-radius: 16px;
  background: var(--terra3); color: var(--terracotta);
  display: flex; align-items: center; justify-content: center;
  margin: 0 auto 14px;
  box-shadow: 0 6px 18px rgba(212,106,58,.18);
  border: 1px solid color-mix(in srgb, var(--terracotta) 18%, transparent);
}
.pm-title {
  font-family: 'Playfair Display', serif;
  font-size: 24px; font-weight: 500;
  color: var(--ink); margin-bottom: 6px;
  display: inline-flex; align-items: baseline; gap: 0;
  letter-spacing: 0.01em;
}
.pm-title-pin {
  display:inline-block; width:0.5em; height:0.78em;
  margin:0 0.06em -0.04em; color:var(--terracotta);
  transform:translateY(0.04em);
}
.pm-title-pin svg { width:100%; height:100%; display:block; overflow:visible }

.pm-pro-stamp { margin-left: 8px; }
.pm-sub {
  font-size: 13px; color: var(--ink3);
  line-height: 1.5; max-width: 300px; margin: 0 auto;
}


.pm-compare {
  display: grid; grid-template-columns: 1fr 1fr;
  gap: 0; margin-bottom: 20px;
  border: 1.5px solid var(--border, #E0D8CF);
  border-radius: 14px; overflow: hidden;
}

.pm-col { padding: 0; display: flex; flex-direction: column; }
.pm-col + .pm-col { border-left: 1px solid var(--border); }
.pm-col-head {
  font-size: 11px; font-weight: 700; letter-spacing: .06em;
  text-transform: uppercase; padding: 12px 14px;
  background: var(--bg2, #F5F0EB); color: var(--ink2);
  display: flex; align-items: center; gap: 6px;
  min-height: 42px; box-sizing: border-box;
}
.pm-col-pro .pm-col-head {
  background: var(--terra3);
  color: var(--terracotta);
  border-bottom: 1px solid color-mix(in srgb, var(--terracotta) 18%, transparent);
}
.pm-col-head-tag { font-size: 14px; }

.pm-row {
  font-size: 11px; padding: 8px 12px;
  border-top: 1px solid var(--border, #E0D8CF);
  color: var(--ink2); display: flex; align-items: center; gap: 6px;
  line-height: 1.35;
  min-height: 32px; box-sizing: border-box;
}
.pm-row::before { flex-shrink: 0; font-size: 10px; }
.pm-row.pm-ok::before  { content: '✓'; color: var(--teal, #4CAF91); font-weight: 700; }
.pm-row.pm-no::before  { content: '✕'; color: var(--ink3); }
.pm-row.pm-highlight { color: var(--ink); font-weight: 500; }
.pm-row.pm-highlight.pm-ok::before { color: var(--terracotta, var(--terracotta)); }


.pm-pricing-title {
  font-size: 12px; font-weight: 700; color: var(--ink2);
  text-align: center; letter-spacing: .04em;
  text-transform: uppercase; margin-bottom: 10px;
}

.pm-packages {
  display: flex;
  flex-direction: column;
  gap: 8px;
  margin-bottom: 16px;
}
.pm-pkg {
  display: grid;
  grid-template-columns: 1fr auto;
  align-items: center;
  gap: 14px;
  padding: 16px 18px;
  border: 1px solid var(--border, #E0D8CF);
  border-radius: 14px;
  background: var(--white);
  cursor: pointer;
  position: relative;
  transition: border-color .2s ease, background .2s ease, transform .15s ease, box-shadow .2s ease;
  text-align: left;
}
.pm-pkg-left { min-width: 0; }
.pm-pkg-right { text-align: right; white-space: nowrap; }
.pm-pkg-meta {
  font-family: 'Outfit', 'Outfit Fallback', 'Helvetica Neue', Arial, sans-serif;
  font-size: 10.5px;
  color: var(--ink3);
  margin-top: 4px;
  letter-spacing: 0.02em;
}
.pm-pkg:hover {
  border-color: var(--terracotta);
  transform: translateY(-1px);
  box-shadow: 0 4px 14px rgba(28, 25, 23, .06);
}
.pm-pkg.pm-pkg-sel {
  border-color: var(--terracotta);
  background: rgba(212, 106, 58, .04);
  box-shadow: 0 0 0 2px rgba(212, 106, 58, .14);
}

.pm-pkg-trips {
  font-family: 'Playfair Display', 'Playfair Fallback', Georgia, serif;
  font-style: italic;
  font-weight: 500;
  font-size: 18px;
  color: var(--ink);
  line-height: 1.2;
  letter-spacing: -0.01em;
}
.pm-pkg-per {
  font-family: 'Outfit', 'Outfit Fallback', 'Helvetica Neue', Arial, sans-serif;
  font-size: 11.5px;
  color: var(--ink3);
  line-height: 1.4;
  margin-top: 4px;
}

.pm-pkg-price {
  font-family: 'Playfair Display', 'Playfair Fallback', Georgia, serif;
  font-style: italic;
  font-weight: 500;
  font-size: 28px;
  color: var(--ink);
  text-align: right;
  white-space: nowrap;
  line-height: 1;
  letter-spacing: -0.02em;
}

.pm-pkg-badge,
.pm-pkg-badge-best,
.pm-pkg-badge-decoy,
.pm-pkg-badge-family {
  position: static;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  margin: 0 0 4px 0;
  padding: 0;
  background: transparent !important;
  color: var(--terracotta);
  font-family: 'Playfair Display', 'Playfair Fallback', Georgia, serif;
  font-style: italic;
  font-weight: 500;
  font-size: 10.5px;
  letter-spacing: 0.02em;
  text-transform: none;
  transform: none;
  border-radius: 0;
  white-space: nowrap;
}
.pm-pkg-badge::before,
.pm-pkg-badge-best::before,
.pm-pkg-badge-decoy::before,
.pm-pkg-badge-family::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: currentColor;
  flex-shrink: 0;
}
.pm-pkg-badge-best { color: var(--terracotta); font-weight: 600; }
.pm-pkg-badge-decoy { color: var(--gold-ink, #8A6F2F); }
.pm-pkg-badge-family { color: #B85332; }


.pm-pkg-popular {
  border-width: 1.5px;
  border-color: var(--terracotta);
  background: linear-gradient(90deg, rgba(212,106,58,.05) 0%, transparent 35%);
}
.pm-pkg-popular::before {
  content: "";
  position: absolute;
  left: 0; top: 14px; bottom: 14px;
  width: 3px;
  border-radius: 2px;
  background: var(--terracotta);
}


.pm-pkg-family {
  background: linear-gradient(90deg, rgba(201,146,42,.05) 0%, transparent 50%);
  border-color: rgba(201,146,42,.30);
}
.pm-pkg-family.pm-pkg-sel {
  border-color: var(--terracotta);
  background: rgba(212, 106, 58, .04);
}


.pm-pkg-decoy {
  background: var(--white);
  border-style: solid;
}


.pm-pkg-family {
  
}
.pm-pkg-trial-btn {
  grid-column: 1 / -1;
  margin-top: 8px;
  padding: 6px 10px;
  background: transparent;
  border: 1px dashed rgba(212,106,58,.4);
  border-radius: 8px;
  font-family: 'Outfit', 'Outfit Fallback', 'Helvetica Neue', Arial, sans-serif;
  font-size: 11px;
  font-weight: 600;
  color: var(--terracotta);
  cursor: pointer;
  transition: all .2s ease;
  text-align: center;
  width: 100%;
}
.pm-pkg-trial-btn:hover {
  background: var(--terracotta);
  color: var(--white);
  border-style: solid;
  border-color: var(--terracotta);
}
.pm-pkg-trial-btn:disabled { opacity: .5; cursor: not-allowed; }

@media (max-width: 480px) {
  .pm-pkg { padding: 14px 14px; gap: 10px; }
  .pm-pkg-trips { font-size: 16px; }
  .pm-pkg-price { font-size: 22px; }
  .pm-pkg-per { font-size: 11px; }
  .pm-pkg-badge,
  .pm-pkg-badge-best,
  .pm-pkg-badge-decoy,
  .pm-pkg-badge-family { font-size: 10px; }
}


.pm-cta {
  width: 100%; padding: 14px;
  background: var(--terracotta);
  color: var(--white); border: none; border-radius: 12px;
  font-family: 'Outfit', sans-serif; font-size: 15px; font-weight: 600;
  letter-spacing: 0.01em;
  cursor: pointer; transition: background var(--dur-2) var(--ease), transform var(--dur-1) var(--ease), box-shadow var(--dur-2) var(--ease);
  box-shadow: 0 4px 16px rgba(212,106,58,.28);
  margin-bottom: 8px;
}
.pm-cta:hover { background: var(--terracotta-hover); transform: translateY(-1px); box-shadow: 0 6px 20px rgba(212,106,58,.38); }
.pm-cta:active { transform: translateY(0); }

.pm-secure {
  text-align: center; font-size: 10px; color: var(--ink3);
  margin-bottom: 16px; line-height: 1.5;
}


.pm-divider {
  display: flex; align-items: center; gap: 12px;
  margin-bottom: 12px; color: var(--ink3); font-size: 11px;
}
.pm-divider::before, .pm-divider::after {
  content: ''; flex: 1; height: 1px; background: var(--border);
}


.pm-code-row { display: flex; gap: 8px; margin-bottom: 16px; }
.pm-code-input {
  flex: 1; padding: 10px 12px;
  border: 1.5px solid var(--border, #E0D8CF);
  border-radius: 10px; font-size: 13px;
  font-family: 'Outfit', sans-serif; color: var(--ink);
  background: var(--white); outline: none;
  transition: border-color .15s; letter-spacing: .05em;
}
.pm-code-input:focus { border-color: var(--terracotta, var(--terracotta)); }
.pm-code-btn {
  padding: 10px 16px; border-radius: 10px;
  background: var(--ink); color: #fff;
  border: none; cursor: pointer;
  font-family: 'Outfit', sans-serif; font-size: 12px; font-weight: 600;
  transition: all .15s; white-space: nowrap;
}
.pm-code-btn:hover { background: var(--terracotta, var(--terracotta)); }
.pm-code-btn:disabled { opacity: .5; cursor: default; }


.pm-skip {
  text-align: center; font-size: 12px; color: var(--ink3);
  cursor: pointer; padding: 4px;
  transition: color .15s; font-family: 'Outfit', sans-serif;
}
.pm-skip:hover { color: var(--ink); }


@media (max-width: 400px) {
  .pm-packages { grid-template-columns: 1fr; }
  .pm-compare { font-size: 10px; }
}


:root {
  --m-ease: cubic-bezier(0.215, 0.61, 0.355, 1);
  --m-ease-slow: cubic-bezier(0.16, 1, 0.3, 1);
  
  --m-dur: 400ms;
}
.reveal { opacity: 0; transform: translateY(14px); will-change: opacity, transform; }
.reveal.in {
  opacity: 1; transform: none;
  transition:
    opacity var(--m-dur) var(--m-ease) calc(var(--i, 0) * 80ms),
    transform var(--m-dur) var(--m-ease) calc(var(--i, 0) * 80ms);
}
.italic-reveal em { display: inline-block; opacity: 0; transform: translateY(8px); }
.italic-reveal.in em {
  opacity: 1; transform: none;
  transition:
    opacity var(--m-dur) var(--m-ease-slow) 320ms,
    transform var(--m-dur) var(--m-ease-slow) 320ms;
}
@media (prefers-reduced-motion: reduce) {
  .reveal { opacity: 1 !important; transform: none !important; transition: none !important; }
  .italic-reveal em { opacity: 1 !important; transform: none !important; transition: none !important; }
}




body.app-active .day-view-header{
  background: linear-gradient(180deg, #FBF6EA 0%, var(--cream) 70%);
  padding: 22px 24px 16px;
  transition: background 280ms cubic-bezier(0.22,1,0.36,1);
}
body.app-active .day-view-header::before{
  height: 4px;
  background: linear-gradient(90deg,
    var(--day-accent, var(--terracotta)) 0 72px,
    color-mix(in srgb, var(--day-accent, var(--terracotta)) 18%, transparent) 72px 200px,
    var(--border) 200px 100%);
  opacity: .9;
}
body.app-active .day-view-header::after{
  
  content:"";position:absolute;left:24px;right:24px;bottom:-1px;height:1px;
  background: linear-gradient(90deg, transparent, var(--gold) 50%, transparent);
  opacity:.28;pointer-events:none;
}
body.app-active .day-view-eyebrow{
  font-size: 10.5px;
  letter-spacing: .14em;
  margin-bottom: 6px;
  text-transform: uppercase;
}
body.app-active .day-view-eyebrow .dvh-num{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-style:italic;font-weight:500;font-size:13px;
  color: var(--day-accent, var(--terracotta));
  letter-spacing: 0;
  text-transform: none;
}
body.app-active .day-view-title{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-style:italic;font-weight:500;
  font-size: 26px;letter-spacing: -0.02em;line-height: 1.1;
  color: var(--ink);
  margin-top: 2px;
}

@media (max-width:480px){
  
  body.app-active .day-view-eyebrow{
    display:block; line-height:1.55; letter-spacing:.04em;
  }
  body.app-active .day-view-eyebrow .dvh-num{ margin-right:1px; }
  body.app-active .day-view-eyebrow .dvh-edit-dates{ vertical-align:middle; }
}

body.app-active .day-tab-btn{
  transition:
    background 240ms cubic-bezier(0.22,1,0.36,1),
    color 220ms ease,
    border-color 220ms ease,
    transform 180ms cubic-bezier(0.22,1,0.36,1);
  letter-spacing: .01em;
  font-weight: 500;
}
body.app-active .day-tab-btn:not(.active){
  position: relative;
}
body.app-active .day-tab-btn:not(.active)::after{
  
  content: "";
  position: absolute; left: 0; top: 0; bottom: 0; right: 0;
  background: linear-gradient(90deg,
    color-mix(in srgb, var(--ink) 4%, transparent),
    color-mix(in srgb, var(--ink) 8%, transparent));
  border-radius: inherit;
  transform: scaleX(0);
  transform-origin: left center;
  transition: transform 280ms cubic-bezier(0.22,1,0.36,1);
  pointer-events: none;
}
body.app-active .day-tab-btn:not(.active):hover{
  transform: translateY(-1px);
}
body.app-active .day-tab-btn:not(.active):hover::after{
  transform: scaleX(1);
}
body.app-active .day-tab-btn.active{
  box-shadow: 0 4px 14px color-mix(in srgb, currentColor 18%, transparent);
  letter-spacing: .015em;
}
body.app-active .day-tab-btn:focus-visible{
  outline: 2px solid var(--terracotta);
  outline-offset: 2px;
}
body.app-active .day-tab-btn .dtb-num{
  transition: transform 220ms cubic-bezier(0.22,1,0.36,1);
}
body.app-active .day-tab-btn.active .dtb-num{
  transform: scale(1.05);
}


body.app-active .act-card{
  will-change: transform, box-shadow;
  box-shadow:
    0 3px 14px rgba(28,25,23,.06),
    0 1px 2px rgba(28,25,23,.04);
  border-color: color-mix(in srgb, var(--ink) 9%, var(--border));
}
body.app-active .act-card::before{
  width: 4px; min-width: 4px;
}
body.app-active .act-card:hover{
  
  box-shadow:
    0 14px 36px rgba(28,25,23,.10),
    0 4px 10px rgba(28,25,23,.04),
    0 0 0 1px rgba(28,25,23,.05);
  transform: translateY(-3px);
  background: linear-gradient(180deg, var(--white) 0%, #FFFDF8 100%);
}
body.app-active .act-card:focus-within{
  outline: 2px solid var(--terracotta);
  outline-offset: 2px;
  border-color: var(--terracotta);
}
body.app-active .act-card-title{
  transition: color 200ms ease;
  font-size: 19px;
  line-height: 1.2;
  letter-spacing: -0.01em;
}
body.app-active .act-card:hover .act-card-title{
  color: var(--terracotta-ink, var(--terracotta));
}

body.app-active .act-num-circle{
  transition: transform 240ms cubic-bezier(0.22,1,0.36,1), box-shadow 240ms ease;
}
body.app-active .act-item:hover .act-num-circle{
  transform: scale(1.08);
  box-shadow: 0 0 0 3px color-mix(in srgb, currentColor 18%, transparent);
}



body.app-active #activeDayView{
  position: relative;
  transition: opacity 180ms ease;
}
body.app-active #activeDayView.is-switching{
  opacity: 0.0;
}
body.app-active #activeDayView.wp-day-enter > .day-view-header,
body.app-active #activeDayView.wp-day-enter > .day-items-list{
  animation: wp-day-content-in 380ms cubic-bezier(0.22,1,0.36,1) both;
}
body.app-active #activeDayView.wp-day-enter > .day-items-list{
  animation-delay: 80ms;
}
@keyframes wp-day-content-in{
  from { opacity:0; transform: translateY(8px); }
  to   { opacity:1; transform: none; }
}


body.app-active .chat-fab{
  transition:
    transform 240ms cubic-bezier(0.22,1,0.36,1),
    box-shadow 240ms ease;
}
body.app-active .chat-fab:hover{
  transform: translateY(-2px) scale(1.04);
  box-shadow:
    0 14px 32px rgba(212,106,58,.32),
    0 4px 10px rgba(212,106,58,.18);
}
body.app-active .chat-fab:active{
  transform: translateY(0) scale(0.98);
}

@media (prefers-reduced-motion: reduce){
  body.app-active .day-view-header,
  body.app-active .day-tab-btn,
  body.app-active .act-card,
  body.app-active .act-num-circle,
  body.app-active #activeDayView,
  body.app-active .chat-fab{
    transition: none !important;
    animation: none !important;
  }
  body.app-active .act-card:hover{ transform:none !important; }
  body.app-active .day-tab-btn:not(.active)::after{ display:none }
}




.day-tab-bar{
  position: relative; 
}
.day-tab-indicator{
  position: absolute;
  bottom: 4px;
  left: 0;
  height: 3px;
  width: 0;
  border-radius: 2px;
  background: var(--terracotta);
  transform: translateX(0);
  pointer-events: none;
  opacity: 0;
  transform-origin: left center;
  z-index: 1;
  box-shadow: 0 2px 8px color-mix(in srgb, currentColor 24%, transparent);
}
.day-tab-indicator.has-anim{
  
  transition:
    transform 380ms cubic-bezier(0.22,1,0.36,1),
    width 380ms cubic-bezier(0.22,1,0.36,1),
    background 280ms ease,
    opacity 220ms ease;
}

body.app-active .day-tab-btn.active{
  box-shadow: none;
}
@media (prefers-reduced-motion: reduce){
  .day-tab-indicator{ transition: none !important }
}



body.app-active .act-card-actions{
  
  display: flex !important;
  max-height: 0;
  opacity: 0;
  margin-top: 0;
  padding-top: 0;
  border-top: 0 solid transparent;
  overflow: hidden;
  transform: translateY(-4px);
  transition:
    max-height 320ms cubic-bezier(0.22,1,0.36,1),
    opacity 220ms ease 60ms,
    margin-top 320ms cubic-bezier(0.22,1,0.36,1),
    padding-top 320ms cubic-bezier(0.22,1,0.36,1),
    border-top-color 220ms ease,
    transform 320ms cubic-bezier(0.22,1,0.36,1);
}
body.app-active .act-card:hover .act-card-actions,
body.app-active .act-item.is-actions-open .act-card-actions{
  max-height: 80px;
  opacity: 1;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px solid var(--border);
  transform: translateY(0);
}
body.app-active .act-card-actions .act-btn{
  transform: translateY(-2px);
  opacity: 0;
  transition: transform 280ms cubic-bezier(0.22,1,0.36,1) var(--btn-delay, 60ms),
              opacity 220ms ease var(--btn-delay, 60ms);
}
body.app-active .act-card-actions .act-btn:nth-child(2){ --btn-delay: 90ms; }
body.app-active .act-card-actions .act-btn:nth-child(3){ --btn-delay: 120ms; }
body.app-active .act-card-actions .act-btn:nth-child(4){ --btn-delay: 150ms; }
body.app-active .act-card:hover .act-card-actions .act-btn,
body.app-active .act-item.is-actions-open .act-card-actions .act-btn{
  transform: translateY(0);
  opacity: 1;
}
@media (prefers-reduced-motion: reduce){
  body.app-active .act-card-actions,
  body.app-active .act-card-actions .act-btn{
    transition: none !important;
    transform: none !important;
  }
}



.rpanel{
  transition:
    opacity 320ms cubic-bezier(0.22,1,0.36,1),
    transform 320ms cubic-bezier(0.22,1,0.36,1) !important;
}
.rpanel:not(.active){
  transform: translateY(8px) scale(0.998);
}
.rpanel.active{
  
  transform: none !important;
}



.lib-trip-card{
  
  opacity: 1;
  transform: translateY(0);
}
.lib-trip-card.wp-lib-stagger{
  opacity: 0;
  transform: translateY(16px);
  animation: wp-lib-card-in 460ms cubic-bezier(0.22,1,0.36,1) both;
}
@keyframes wp-lib-card-in{
  from { opacity: 0; transform: translateY(16px) scale(.98); }
  to   { opacity: 1; transform: none; }
}
.lib-trip-card.wp-lib-stagger:nth-child(1){ animation-delay: 0ms; }
.lib-trip-card.wp-lib-stagger:nth-child(2){ animation-delay: 50ms; }
.lib-trip-card.wp-lib-stagger:nth-child(3){ animation-delay: 100ms; }
.lib-trip-card.wp-lib-stagger:nth-child(4){ animation-delay: 150ms; }
.lib-trip-card.wp-lib-stagger:nth-child(5){ animation-delay: 200ms; }
.lib-trip-card.wp-lib-stagger:nth-child(6){ animation-delay: 240ms; }
.lib-trip-card.wp-lib-stagger:nth-child(7){ animation-delay: 280ms; }
.lib-trip-card.wp-lib-stagger:nth-child(8){ animation-delay: 320ms; }
.lib-trip-card.wp-lib-stagger:nth-child(9){ animation-delay: 350ms; }
.lib-trip-card.wp-lib-stagger:nth-child(n+10){ animation-delay: 380ms; }
@media (prefers-reduced-motion: reduce){
  .lib-trip-card.wp-lib-stagger{ animation: none !important; opacity:1 !important; transform:none !important; }
}





body.app-active .day-items-list{
  position: relative;
}
body.app-active .day-items-list::before{
  content: "";
  position: absolute;
  top: 28px;        
  bottom: 28px;     
  
  left: 31px;
  width: 2px;
  border-radius: 2px;
  background: linear-gradient(
    180deg,
    transparent 0%,
    color-mix(in srgb, var(--terracotta) 30%, var(--border)) 5%,
    color-mix(in srgb, var(--terracotta) 30%, var(--border)) 95%,
    transparent 100%
  );
  pointer-events: none;
  z-index: 0;
  opacity: 1;
}


body.app-active .act-item{
  position: relative;
}
body.app-active .act-item > .act-card{
  margin-left: 40px;
}

body.app-active .act-item > .act-rail-node{
  position: absolute;
  left: -3px;
  top: 6px;
  width: 38px; height: 38px;
  font-size: 16px; font-weight: 700;
  margin: 0;
  z-index: 2;
}

body.app-active .act-item[data-phase] > .act-rail-node{
  top: 42px;
}

body.app-active .act-rail-node[data-type="free"]{
  background: transparent !important;
  border: 1.5px dashed var(--ink4);
  color: var(--ink3);
  box-shadow: 0 0 0 3px var(--cream);
}
body.app-active .act-rail-node[data-type="free"] .act-num-svg svg{ opacity: .65 }
body.app-active .act-rail-node[data-type="free"] .act-num-text{
  background: var(--cream);
  color: var(--ink3);
  box-shadow: 0 0 0 1.5px var(--ink4);
}

@media (max-width: 480px){
  body.app-active .day-items-list::before{
    left: 27px;
    top: 24px; bottom: 24px;
  }
  
  body.app-active .act-card-top{ flex-wrap: wrap; gap: 6px 10px; align-items: center; }
  body.app-active .act-card-top > .act-card-title{ flex: 1 1 100%; }
  body.app-active .act-card-top > .act-card-time{ margin-right: auto; }
}
@media (max-width: 600px){
  
  body.app-active .act-card-title{ font-size: 16px; line-height: 1.28; }
}

body.app-active .act-num-circle{
  position: relative;
  z-index: 1;
  box-shadow:
    0 5px 14px color-mix(in srgb, var(--terracotta) 42%, transparent),
    0 1px 3px rgba(28,25,23,.14),
    0 0 0 4px var(--cream),
    inset 0 0 0 1.5px rgba(255,255,255,.32);
}
body.app-active .act-item:hover .act-num-circle{
  box-shadow:
    0 7px 20px color-mix(in srgb, var(--terracotta) 55%, transparent),
    0 2px 5px rgba(28,25,23,.16),
    0 0 0 4px var(--cream),
    0 0 0 7px color-mix(in srgb, var(--terracotta) 28%, transparent),
    inset 0 0 0 1.5px rgba(255,255,255,.36);
}

body.app-active .act-walk-sep{
  position: relative;
  z-index: 1;
  background: var(--cream);

  padding-left: 40px;
  border-radius: 8px;
  margin: 4px 16px;
}
body.app-active .act-walk-sep::before{
  
  content: "";
  position: absolute;
  left: 30px;
  top: 50%; transform: translateY(-50%);
  width: 5px; height: 5px;
  border-radius: 50%;
  background: var(--border);
  box-shadow: 0 0 0 2px var(--cream);
}
@media (max-width: 480px){
  body.app-active .act-walk-sep{ padding-left: 48px }
  body.app-active .act-walk-sep::before{ left: 26px }
}



body.app-active .act-item[data-phase]::before{
  content: attr(data-phase);
  display: block;
  font-family: 'Playfair Display','Playfair Fallback', Georgia, serif;
  font-style: italic; font-weight: 500;
  font-size: 11.5px; letter-spacing: .08em;
  color: var(--ink3);
  text-transform: uppercase;
  margin: 16px 0 6px 26px;
  position: relative;

  padding-left: 14px;
}
body.app-active .act-item[data-phase]::after{
  content: "";
  position: absolute;
  
}
body.app-active .act-item[data-phase]::before{
  position: relative;
}
body.app-active .act-item[data-phase]::before{

  color: var(--phase-color, var(--ink3));
}
body.app-active .act-item[data-phase="Mañana"],
body.app-active .act-item[data-phase="Morning"]{ --phase-color: var(--gold-ink); }
body.app-active .act-item[data-phase="Tarde"],
body.app-active .act-item[data-phase="Afternoon"]{ --phase-color: var(--terracotta); }
body.app-active .act-item[data-phase="Noche"],
body.app-active .act-item[data-phase="Evening"]{ --phase-color: #2B2624; }
@media (max-width: 480px){
  body.app-active .act-item[data-phase]::before{ margin-left: 48px; }
}



body.app-active .act-num-circle .act-num-svg{
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}
body.app-active .act-num-circle .act-num-svg svg{
  width: 14px; height: 14px;
  color: currentColor;
  opacity: .96;
  stroke-width: 1.8;
}
body.app-active .act-num-circle .act-num-text{
  position: absolute;
  bottom: -1px; right: -1px;
  font-size: 8.5px;
  background: var(--cream);
  color: var(--ink);
  border-radius: 50%;
  width: 12px; height: 12px;
  display: flex; align-items: center; justify-content: center;
  font-weight: 700;
  box-shadow: 0 0 0 1.5px currentColor;
}



body.app-active .act-tip{
  position: relative;
  margin-top: 12px;
  padding: 12px 14px 12px 22px;
  background: linear-gradient(
    90deg,
    color-mix(in srgb, var(--gold) 5%, transparent),
    color-mix(in srgb, var(--gold) 1.5%, transparent)
  );
  border-left: 2px solid color-mix(in srgb, var(--gold) 55%, transparent);
  border-radius: 0 10px 10px 0;
  font-family: 'Playfair Display','Playfair Fallback', Georgia, serif;
  font-style: italic; font-weight: 400;
  font-size: 13.5px;
  color: var(--ink2);
  line-height: 1.55;
  letter-spacing: -0.005em;
}
body.app-active .act-tip::before{
  
  content: "“";
  position: absolute;
  left: 8px; top: -4px;
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 28px; font-style: italic; line-height: 1;
  color: color-mix(in srgb, var(--gold) 50%, transparent);
}

body.app-active .act-tip::after{ display: none }



body.app-active .day-tab-btn .dtb-density{
  display: block;
  height: 2px;
  margin-top: 4px;
  background: color-mix(in srgb, currentColor 22%, transparent);
  border-radius: 1px;
  width: var(--dtb-density, 30%);
  transition: width 320ms cubic-bezier(0.22,1,0.36,1);
}
body.app-active .day-tab-btn.active .dtb-density{
  background: rgba(255,255,255,.45);
}







body.app-active .act-card.type-free,
body.app-active .type-card.type-free{
  background: linear-gradient(135deg, var(--cream) 0%, #FFF8F0 100%);
  border-color: rgba(120, 113, 108, .14);
  border-style: dashed;
}
body.app-active .act-card.type-free::before{
  background: linear-gradient(180deg,
    transparent,
    color-mix(in srgb, var(--ink3) 30%, transparent) 30%,
    color-mix(in srgb, var(--ink3) 30%, transparent) 70%,
    transparent);
}
body.app-active .act-card.type-free .act-card-title{
  font-style: italic;
  color: var(--ink2);
  font-weight: 500;
}
body.app-active .act-card.type-free .act-num-circle{
  background: transparent !important;
  border: 1.5px dashed var(--ink4);
  color: var(--ink3);
}
body.app-active .act-card.type-free .act-num-circle .act-num-svg svg{
  opacity: .65;
}
body.app-active .act-card.type-free .act-num-text{
  background: var(--cream);
  color: var(--ink3);
  box-shadow: 0 0 0 1.5px var(--ink4);
}

body.app-active .act-card.type-free .act-card-meta{ display: none }
body.app-active .act-card.type-free .act-tip{
  background: transparent;
  border-left-color: color-mix(in srgb, var(--ink3) 25%, transparent);
}
body.app-active .act-card.type-free:hover{
  transform: none !important;
  box-shadow: 0 4px 14px rgba(28,25,23,.05);
  background: linear-gradient(135deg, #FFF8F0 0%, #FFFCF6 100%);
}



body.app-active .act-card.type-transport [data-flight-detail],
body.app-active .act-card.type-transport > div > div > div[style*="border-radius:10px"]{
  
  background: linear-gradient(135deg, #FAFAFA 0%, #F4F4F4 100%) !important;
  border: 1px dashed rgba(28,25,23,.18) !important;
  position: relative;
  border-radius: 12px !important;
  overflow: hidden;
}
body.app-active .act-card.type-transport .act-card-title{
  font-family: 'Outfit','Outfit Fallback',sans-serif;
  font-weight: 600;
  letter-spacing: .02em;
}



body.app-active .act-card[data-highlight="1"],
body.app-active .act-item[data-highlight="1"] .act-card{
  border-color: color-mix(in srgb, var(--gold) 70%, transparent);
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--gold) 40%, transparent),
    0 12px 32px color-mix(in srgb, var(--gold) 18%, transparent);
  background: linear-gradient(135deg, #FFFCF1 0%, var(--white) 60%);
}
body.app-active .act-card[data-highlight="1"]::after,
body.app-active .act-item[data-highlight="1"] .act-card::after{
  content: "✦ destacado";
  position: absolute;
  top: 8px; right: 12px;
  font-family: 'Playfair Display','Playfair Fallback', Georgia, serif;
  font-style: italic; font-weight: 500;
  font-size: 10.5px; letter-spacing: .04em;
  color: var(--gold-ink, #8A6F2F);
  background: var(--gold-bg, #FEFAEE);
  padding: 3px 9px;
  border-radius: 14px;
  border: 1px solid color-mix(in srgb, var(--gold) 35%, transparent);
  pointer-events: none;
  z-index: 2;
}
body.app-active .act-card[data-highlight="1"] .act-num-circle,
body.app-active .act-item[data-highlight="1"] .act-num-circle{
  box-shadow:
    0 0 0 3px var(--cream),
    0 0 0 5px color-mix(in srgb, var(--gold) 60%, transparent);
}




body.app-active .day-cover-hero{
  position: relative;
  width: 100%;
  height: 180px;
  
  background: linear-gradient(135deg,
    color-mix(in srgb, var(--day-accent, var(--terracotta)) 25%, #2B2624) 0%,
    #1C1917 100%);
  background-size: cover;
  background-position: center 50%;
  overflow: hidden;
  flex-shrink: 0;
  margin: 0;
}
body.app-active .day-cover-hero.has-cover{
  
  animation: dch-fade-in 600ms cubic-bezier(0.22,1,0.36,1) both;
  
  background-image: none !important;
}

body.app-active .day-cover-hero.has-cover::before{
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-image: var(--day-cover-url);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  transform-origin: center center;
  animation: wp-kenburns 24s cubic-bezier(0.45, 0.05, 0.55, 0.95) infinite alternate;
  will-change: transform;
}
@keyframes wp-kenburns{
  0%   { transform: scale(1.04) translate(-0.6%, -0.6%); }
  100% { transform: scale(1.10) translate( 0.8%,  0.4%); }
}
@media (prefers-reduced-motion: reduce){
  body.app-active .day-cover-hero.has-cover::before{
    animation: none;
    transform: scale(1.0);
  }
}
@keyframes dch-fade-in{
  from { opacity: .6; }
  to   { opacity: 1; }
}
body.app-active .day-cover-hero::after{
  
  content: "";
  position: absolute;
  left: 0; right: 0; bottom: 0;
  height: 75%;
  background: linear-gradient(180deg, transparent 0%, rgba(20,16,14,.20) 35%, rgba(20,16,14,.78) 100%);
  pointer-events: none;
}
body.app-active .dch-overlay{
  position: absolute;
  left: 0; right: 0; bottom: 0;
  padding: 18px 24px 16px;
  display: flex; flex-direction: column; gap: 4px;
  color: #FAF6EE;
  z-index: 2;
}
body.app-active .dch-eyebrow{
  font-family: 'Outfit','Outfit Fallback',sans-serif;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: rgba(250,246,238,.78);
  
  display: inline-flex;
  align-items: center;
  gap: 8px;
}
body.app-active .dch-eyebrow::before{
  content: "";
  width: 4px; height: 4px;
  border-radius: 50%;
  background: var(--gold, #DDB261);
}
body.app-active .dch-title{
  font-family: 'Playfair Display','Playfair Fallback', Georgia, serif;
  font-style: italic;
  font-weight: 500;
  font-size: 32px;
  line-height: 1.1;
  letter-spacing: -0.02em;
  color: #FAF6EE;
  text-shadow: 0 2px 12px rgba(0,0,0,.32);
}

@media (max-width: 480px){
  body.app-active .day-cover-hero{ height: 140px; }
  body.app-active .dch-overlay{ padding: 14px 18px 12px; }
  body.app-active .dch-title{ font-size: 24px; }
  body.app-active .dch-eyebrow{ font-size: 10px; letter-spacing: .12em; }
}


body.app-active .day-cover-hero + .day-view-header::before{
  display: none;
}
body.app-active .day-cover-hero + .day-view-header{
  
  padding-top: 18px;
}


body.app-active .day-cover-hero + .day-view-header .day-view-title{
  display: none;
}

@media (prefers-reduced-motion: reduce){
  body.app-active .day-cover-hero.has-cover{ animation: none !important; }
}


body.app-active .act-btn.act-btn-highlight{
  background: var(--gold-bg, #FEFAEE);
  color: var(--gold-ink, #8A6F2F);
  border: 1px solid color-mix(in srgb, var(--gold) 35%, transparent);
  font-style: italic;
  font-family: 'Playfair Display','Playfair Fallback', Georgia, serif;
  font-weight: 500;
}
body.app-active .act-btn.act-btn-highlight:hover{
  background: color-mix(in srgb, var(--gold) 18%, var(--gold-bg, #FEFAEE));
  border-color: var(--gold);
  color: var(--gold-ink, #8A6F2F);
}
body.app-active .act-btn.act-btn-highlight.is-highlighted{
  background: var(--gold);
  color: #fff;
  border-color: var(--gold);
  box-shadow: 0 2px 8px color-mix(in srgb, var(--gold) 32%, transparent);
}




.mobile-bottom-tabs .mbt-btn{
  position: relative;
  overflow: hidden;
}
.mobile-bottom-tabs .mbt-btn::before{
  content: "";
  position: absolute; left: 50%; bottom: 6px;
  width: 4px; height: 4px;
  border-radius: 50%;
  background: var(--terracotta);
  opacity: 0;
  transform: translateX(-50%) scale(0);
  transition:
    opacity 220ms ease,
    transform 320ms cubic-bezier(0.34, 1.56, 0.64, 1);
}
.mobile-bottom-tabs .mbt-btn.active::before{
  opacity: 1;
  transform: translateX(-50%) scale(1);
}
.mobile-bottom-tabs .mbt-btn{
  transition:
    color 220ms ease,
    transform 180ms ease;
}
.mobile-bottom-tabs .mbt-btn:active{
  transform: scale(0.96);
}
@media (prefers-reduced-motion: reduce){
  .mobile-bottom-tabs .mbt-btn::before{ transition:none !important }
}


.hero-content{
  
  justify-content:flex-start !important;
  padding-top: clamp(48px, 7vh, 84px) !important;
  padding-bottom: clamp(32px, 5vh, 56px) !important;
  gap: 0;
}


.hero-issue-tag{
  display:inline-flex; align-items:center; gap:10px;
  font-family:'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size:10.5px; font-weight:500; letter-spacing:0.22em;
  text-transform:uppercase;
  color: rgba(245, 223, 168, 0.78); 
  padding: 7px 14px;
  border: 1px solid rgba(245, 223, 168, 0.28);
  border-radius: 999px;
  background: rgba(28, 25, 23, 0.18);
  backdrop-filter: blur(6px);
  margin-bottom: 22px;
}
.hero-issue-tag .hit-pin{
  display:inline-flex; color: var(--gold2);
  transform: translateY(-0.5px);
}
.hero-issue-tag .hit-rule{
  width: 14px; height: 1px;
  background: rgba(245, 223, 168, 0.4);
  display: inline-block;
}
.hero-issue-tag .hit-meta{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-style: italic; font-weight: 400;
  font-size: 11.5px; letter-spacing: 0.02em;
  text-transform: none;
  color: rgba(255,255,255,0.62);
}


.hero-content .hero-eyebrow{
  font-size: 11.5px;
  letter-spacing: 0.28em;
  color: var(--gold2);
  margin-bottom: 14px;
  opacity: 0.88;
}


.hero-title-v3{
  font-size: clamp(40px, 6.4vw, 72px) !important;
  line-height: 1.04 !important;
  letter-spacing: -0.018em;
  margin-bottom: 18px !important;
  max-width: 18ch;
}
.hero-title-v3 em{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-style: italic;
  font-weight: 500;
  color: var(--gold2);
  
  background: linear-gradient(110deg, var(--gold2) 0%, #FBE9B8 45%, var(--gold2) 100%);
  -webkit-background-clip: text;
          background-clip: text;
  -webkit-text-fill-color: transparent;
}
.hero-title-v3 .ht-dot{
  color: var(--terracotta);
  -webkit-text-fill-color: var(--terracotta);
  margin-left: 2px;
  font-style: normal;
}


.hero-ornament{
  display:flex; align-items:center; justify-content:center;
  gap: 14px;
  width: 200px;
  margin: 0 auto 18px;
  color: rgba(245, 223, 168, 0.65);
}
.hero-ornament .ho-line{
  flex: 1; height: 1px;
  background: linear-gradient(90deg, transparent 0%, rgba(245,223,168,0.4) 50%, transparent 100%);
}
.hero-ornament svg{ flex-shrink: 0; }


.hero-content .hero-sub{
  font-size: clamp(14.5px, 1.55vw, 17px);
  color: rgba(255,255,255,0.7);
  max-width: 480px;
  line-height: 1.55;
  margin-bottom: 28px !important;
}


.hero-form-v3 .hero-form-label{
  display:flex; align-items:center; gap: 8px;
  font-family:'Outfit','Outfit Fallback',sans-serif;
  font-size: 10.5px; font-weight: 500;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: rgba(245, 223, 168, 0.7);
  margin-bottom: 2px;
}
.hero-form-v3 .hero-form-label .hfl-dot{
  width: 6px; height: 6px; border-radius: 50%;
  background: var(--terracotta);
  box-shadow: 0 0 0 3px rgba(212, 106, 58, 0.18);
  animation: wp-hfl-pulse 2.8s ease-in-out infinite;
}
@keyframes wp-hfl-pulse{
  0%, 100% { box-shadow: 0 0 0 3px rgba(212, 106, 58, 0.15); }
  50%      { box-shadow: 0 0 0 6px rgba(212, 106, 58, 0.06); }
}
@media (prefers-reduced-motion: reduce){
  .hero-form-v3 .hero-form-label .hfl-dot{ animation: none !important; }
}


.hero-form-v3{
  padding: 22px 26px 22px !important;
  gap: 12px !important;
  border-color: rgba(245, 223, 168, 0.14) !important;
}


.hero-content .hero-proof{
  margin-top: 0;
  margin-bottom: 18px;
}


@media (max-height: 860px) and (min-width: 900px){
  .hero-content{
    padding-top: clamp(28px, 4vh, 48px) !important;
  }
  .hero-issue-tag{ margin-bottom: 14px; }
  .hero-content .hero-eyebrow{ margin-bottom: 10px; }
  .hero-title-v3{
    font-size: clamp(36px, 5.4vw, 60px) !important;
    margin-bottom: 12px !important;
  }
  .hero-ornament{ margin-bottom: 14px; }
  .hero-content .hero-sub{ margin-bottom: 20px !important; }
}


@media (max-width: 600px){
  .hero-content{
    padding-top: clamp(20px, 4vh, 36px) !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
  }
  .hero-issue-tag{
    font-size: 9.5px;
    letter-spacing: 0.18em;
    padding: 6px 11px;
    gap: 8px;
    margin-bottom: 16px;
  }
  .hero-issue-tag .hit-meta{ font-size: 10.5px; }
  .hero-content .hero-eyebrow{
    font-size: 10.5px;
    letter-spacing: 0.22em;
    margin-bottom: 10px;
  }
  .hero-title-v3{
    font-size: clamp(34px, 9vw, 44px) !important;
    line-height: 1.05 !important;
    margin-bottom: 12px !important;
  }
  .hero-ornament{ width: 160px; margin-bottom: 12px; }
  .hero-content .hero-sub{
    font-size: 14px;
    margin-bottom: 18px !important;
    max-width: 94%;
  }
  .hero-form-v3{
    padding: 18px 18px 18px !important;
  }
}


.hero-title-v3.italic-reveal em{
  transition-delay: 480ms !important;
}


.profile-overlay{
  backdrop-filter: blur(6px) saturate(1.05);
  -webkit-backdrop-filter: blur(6px) saturate(1.05);
  background: rgba(28,25,23,.62);
}
.profile-modal{
  background: var(--cream);
  border: 1px solid rgba(201,146,42,.18);
  box-shadow:
    0 30px 90px rgba(28,25,23,.28),
    inset 0 1px 0 rgba(255,255,255,.6);
  position: relative;
  overflow-y: auto;
}

.profile-modal::before{
  content:"";
  position:absolute;
  top: 58px; left: 20px; right: 20px;
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(201,146,42,.35) 18%,
    rgba(201,146,42,.55) 50%,
    rgba(201,146,42,.35) 82%,
    transparent 100%);
  pointer-events: none;
  z-index: 1;
}
.profile-header{
  background: transparent;
  border-bottom: none !important;
  padding: 18px 22px 14px !important;
  position: relative;
}
.profile-header-title{
  font-family: 'Playfair Display','Playfair Display Fallback',Georgia,serif !important;
  font-style: italic !important;
  font-weight: 500 !important;
  font-size: 22px !important;
  letter-spacing: -.01em;
  color: var(--ink);
}
.profile-header-title::after{
  content: " · perfil";
  font-family: 'Outfit','Outfit Fallback',sans-serif;
  font-style: normal;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold-ink, #8A6F2F);
  margin-left: 8px;
  vertical-align: middle;
}

@media(min-width:769px){
  .profile-overlay{ justify-content: flex-end !important; padding: 16px !important; }
  .profile-modal{
    margin-right: 0;
    max-width: 480px !important;
    width: 100%;
    max-height: calc(100dvh - 32px) !important;
    height: calc(100dvh - 32px);
    border-radius: 18px !important;
    transform: translateX(24px);
    opacity: 0;
    transition: transform .42s cubic-bezier(.22,.84,.32,1), opacity .32s ease;
  }
  .profile-overlay.open .profile-modal{
    transform: translateX(0);
    opacity: 1;
  }
}

.profile-avatar-block{
  padding: 22px 22px 18px !important;
  text-align: center;
  position: relative;
}
.profile-avatar-circle{
  width: 78px !important;
  height: 78px !important;
  font-size: 26px !important;
  font-family: 'Playfair Display',Georgia,serif !important;
  font-weight: 500 !important;
  letter-spacing: .02em;
  background: linear-gradient(140deg, var(--terracotta) 0%, #B85128 100%) !important;
  border: 3px solid var(--cream) !important;
  box-shadow:
    0 0 0 1px rgba(201,146,42,.32),
    0 8px 24px rgba(212,106,58,.22);
}
.profile-name{
  font-family: 'Playfair Display','Playfair Display Fallback',Georgia,serif !important;
  font-style: italic !important;
  font-weight: 500 !important;
  font-size: 22px !important;
  color: var(--ink) !important;
  margin-top: 12px !important;
  letter-spacing: -.005em;
}
.profile-email{
  font-family: 'Outfit',sans-serif !important;
  font-size: 12.5px !important;
  color: var(--ink3) !important;
  font-weight: 400 !important;
  margin-top: 2px !important;
  letter-spacing: .005em;
}

.profile-modal h3,
.profile-modal .tp-section-title,
.profile-modal .profile-section-title{
  font-family: 'Outfit',sans-serif !important;
  font-size: 10.5px !important;
  font-weight: 600 !important;
  text-transform: uppercase !important;
  letter-spacing: .14em !important;
  color: var(--gold-ink, #8A6F2F) !important;
}
.profile-modal .tp-section-title{ display:flex; align-items:center; gap:8px; }

.profile-stats-card{
  background: linear-gradient(180deg,
    rgba(254,250,238,.7) 0%,
    rgba(253,250,245,.5) 100%) !important;
  border: 1px solid rgba(201,146,42,.18) !important;
  border-radius: 14px !important;
  padding: 14px 16px !important;
  font-variant-numeric: tabular-nums;
}
.profile-stats-card [class*="stat"],
.profile-stats-card .stat-num,
.profile-stats-card .stat-value,
.profile-stats-card strong{
  font-variant-numeric: tabular-nums !important;
  font-feature-settings: "tnum" 1;
}

#profileProSection > *{
  border-radius: 14px !important;
  border: 1px solid rgba(201,146,42,.22) !important;
  position: relative;
  overflow: hidden;
}
#profileProSection > *::after{
  content:"";
  position: absolute;
  top: 0; left: 0;
  width: 3px; height: 100%;
  background: linear-gradient(180deg, var(--gold) 0%, var(--gold-hover) 100%);
  opacity: .85;
}

@keyframes wpProfilePulse{
  0%,100%{ box-shadow: 0 0 0 0 rgba(212,106,58,0); }
  50%   { box-shadow: 0 0 0 6px rgba(212,106,58,.12); }
}
#profileProSection .plan-credits-low,
#profileProSection [data-credits-low="true"]{
  animation: wpProfilePulse 2.4s ease-in-out infinite;
  border-radius: 12px;
}

.profile-actions-grid{
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 10px !important;
  margin: 14px 16px 0 !important;
}
.profile-action-card{
  background: #fff !important;
  border: 1px solid rgba(28,25,23,.08) !important;
  border-radius: 14px !important;
  padding: 14px 10px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  gap: 6px !important;
  cursor: pointer;
  transition: transform .22s cubic-bezier(.22,.84,.32,1), box-shadow .22s ease, border-color .22s ease;
  font-family: inherit !important;
}
.profile-action-card:hover{
  transform: translateY(-2px);
  border-color: rgba(201,146,42,.4) !important;
  box-shadow: 0 12px 28px rgba(28,25,23,.08);
}
.profile-action-card-icon{
  width: 32px; height: 32px;
  display: flex; align-items: center; justify-content: center;
  color: var(--terracotta);
}
.profile-action-card-icon svg{ width: 22px; height: 22px; stroke-width: 1.7; }
.profile-action-card-label{
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: var(--ink2) !important;
  letter-spacing: .005em;
}
.profile-action-card-count{
  font-family: 'Playfair Display',Georgia,serif !important;
  font-style: italic;
  font-size: 14px !important;
  color: var(--gold-ink) !important;
  font-variant-numeric: tabular-nums;
}

.profile-logout-row{
  padding: 18px 22px 22px !important;
  border-top: 1px dashed rgba(28,25,23,.1);
  margin-top: 8px;
}
.profile-logout-btn{
  font-family: 'Outfit',sans-serif !important;
  font-size: 12.5px !important;
  letter-spacing: .04em;
  text-transform: uppercase;
}

@media(prefers-reduced-motion: reduce){
  .profile-modal{ transition: none !important; transform: none !important; opacity: 1 !important; }
  #profileProSection .plan-credits-low,
  #profileProSection [data-credits-low="true"]{ animation: none !important; }
}


.lib-overlay{
  backdrop-filter: blur(6px) saturate(1.05);
  -webkit-backdrop-filter: blur(6px) saturate(1.05);
  background: rgba(28,25,23,.62) !important;
}
.lib-modal{
  background: var(--cream) !important;
  border: 1px solid rgba(201,146,42,.18) !important;
  box-shadow:
    0 30px 90px rgba(28,25,23,.28),
    inset 0 1px 0 rgba(255,255,255,.6) !important;
}
.lib-header{
  background: transparent !important;
  border-bottom: none !important;
  padding: 20px 22px 14px !important;
  position: relative;
}
.lib-header::after{
  content:"";
  position:absolute;
  bottom: 8px; left: 22px; right: 22px;
  height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(201,146,42,.35) 18%,
    rgba(201,146,42,.55) 50%,
    rgba(201,146,42,.35) 82%,
    transparent 100%);
  pointer-events: none;
}
.lib-title{
  font-family: 'Playfair Display','Playfair Display Fallback',Georgia,serif !important;
  font-style: italic !important;
  font-weight: 500 !important;
  font-size: 24px !important;
  letter-spacing: -.01em !important;
  color: var(--ink) !important;
}
.lib-title::after{
  content: " · biblioteca";
  font-family: 'Outfit','Outfit Fallback',sans-serif;
  font-style: normal;
  font-size: 10px;
  font-weight: 600;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: var(--gold-ink, #8A6F2F);
  margin-left: 8px;
  vertical-align: middle;
}
.lib-subtitle{
  font-family: 'Outfit',sans-serif !important;
  font-size: 12px !important;
  color: var(--ink3) !important;
  letter-spacing: .005em;
  margin-top: 2px;
}

.lib-sync-btn{
  background: linear-gradient(140deg, #FEFAEE 0%, #F5DFA8 100%) !important;
  border: 1px solid rgba(201,146,42,.45) !important;
  color: var(--gold-ink, #8A6F2F) !important;
  font-weight: 600 !important;
  letter-spacing: .005em;
  transition: transform .22s cubic-bezier(.22,.84,.32,1), box-shadow .22s ease;
}
.lib-sync-btn:hover{
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(201,146,42,.18);
}
.lib-sync-btn:active{ transform: translateY(0); }
.lib-header-cta{
  background: var(--terracotta) !important;
  color: #fff !important;
  border-color: var(--terracotta) !important;
  font-weight: 600 !important;
}
.lib-header-cta:hover{
  background: var(--terracotta-hover) !important;
  border-color: var(--terracotta-hover) !important;
}

.lib-filter-row{
  padding: 12px 22px !important;
  border-bottom: 1px dashed rgba(28,25,23,.08);
}
.lib-filter-pill{
  font-family: 'Outfit',sans-serif !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  letter-spacing: .005em;
  border-radius: 999px !important;
  transition: background .18s ease, color .18s ease, border-color .18s ease;
}
.lib-filter-pill.active{
  background: var(--ink) !important;
  color: var(--cream) !important;
  border-color: var(--ink) !important;
}

.lib-list{
  padding: 14px 18px 22px !important;
  display: flex !important;
  flex-direction: column !important;
  gap: 12px !important;
}
.lib-list .lib-trip-card,
.lib-list .lib-card,
.lib-list [data-trip-card]{
  background: #fff !important;
  border: 1px solid rgba(28,25,23,.08) !important;
  border-radius: 16px !important;
  overflow: hidden;
  transition: transform .26s cubic-bezier(.22,.84,.32,1),
              box-shadow .26s ease,
              border-color .26s ease;
  position: relative;
}
.lib-list .lib-trip-card:hover,
.lib-list .lib-card:hover,
.lib-list [data-trip-card]:hover{
  transform: translateY(-3px);
  border-color: rgba(201,146,42,.4) !important;
  box-shadow: 0 18px 40px rgba(28,25,23,.1);
}

.lib-list .lib-trip-card::before,
.lib-list .lib-card::before,
.lib-list [data-trip-card]::before{
  content:"";
  position: absolute;
  top: 0; left: 0;
  width: 3px; height: 100%;
  background: linear-gradient(180deg, var(--gold) 0%, var(--terracotta) 100%);
  opacity: 0;
  transition: opacity .26s ease;
  pointer-events: none;
}
.lib-list .lib-trip-card:hover::before,
.lib-list .lib-card:hover::before,
.lib-list [data-trip-card]:hover::before{
  opacity: 1;
}

.lib-list .lib-trip-title,
.lib-list .lib-card-title,
.lib-list .lib-trip-card h3,
.lib-list .lib-trip-card h4{
  font-family: 'Playfair Display','Playfair Display Fallback',Georgia,serif !important;
  font-style: italic !important;
  font-weight: 500 !important;
  letter-spacing: -.005em;
}

.lib-list .lib-trip-meta,
.lib-list .lib-card-meta,
.lib-list .lib-trip-card time,
.lib-list .lib-trip-card .lib-days{
  font-family: 'Outfit',sans-serif !important;
  font-variant-numeric: tabular-nums;
  color: var(--ink3) !important;
}

.lib-list:empty::before{
  content: "Tu biblioteca está vacía";
  display: block;
  font-family: 'Playfair Display',Georgia,serif;
  font-style: italic;
  font-size: 22px;
  color: var(--ink2);
  text-align: center;
  padding: 36px 18px 8px;
}
.lib-list:empty::after{
  content: "Genera tu primer viaje — la IA arma tu itinerario en segundos.";
  display: block;
  font-family: 'Outfit',sans-serif;
  font-size: 13px;
  color: var(--ink3);
  text-align: center;
  padding: 0 18px 36px;
  max-width: 360px;
  margin: 0 auto;
}

#authHeaderSlot .auth-avatar,
#heroAuthSlot .auth-avatar{
  border: 2px solid rgba(255,255,255,.6) !important;
  box-shadow:
    0 0 0 1px rgba(201,146,42,.4),
    0 4px 12px rgba(28,25,23,.18);
  transition: transform .2s cubic-bezier(.22,.84,.32,1), box-shadow .2s ease;
}
#authHeaderSlot .auth-avatar:hover,
#heroAuthSlot .auth-avatar:hover{
  transform: scale(1.05);
  box-shadow:
    0 0 0 1px rgba(201,146,42,.7),
    0 6px 18px rgba(212,106,58,.28);
}

@media(prefers-reduced-motion: reduce){
  .lib-list .lib-trip-card,
  .lib-list .lib-card,
  .lib-list [data-trip-card],
  .lib-sync-btn,
  #authHeaderSlot .auth-avatar,
  #heroAuthSlot .auth-avatar{
    transition: none !important;
  }
  .lib-list .lib-trip-card:hover,
  .lib-list .lib-card:hover,
  .lib-list [data-trip-card]:hover{
    transform: none !important;
  }
}




.pm-secondary-action{
  margin: 10px 0 6px;
  text-align: center;
}
.pm-secondary-btn{
  appearance: none;
  background: transparent;
  border: 1.5px solid var(--border, #E0D8CF);
  border-radius: 999px;
  padding: 9px 18px 9px 20px;
  font-family: 'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size: 13px;
  font-weight: 600;
  color: var(--ink2);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  transition: border-color .18s ease, color .18s ease, transform .18s ease, background .18s ease;
}
.pm-secondary-btn:hover{
  border-color: var(--terracotta);
  color: var(--terracotta);
  background: rgba(212,106,58,.05);
}
.pm-secondary-btn:active{ transform: translateY(1px); }
.pm-secondary-btn svg{ opacity: .7; transition: opacity .18s ease, transform .18s ease; }
.pm-secondary-btn:hover svg{ opacity: 1; transform: translateX(-2px); }


.pm-trust-row{
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 6px 8px;
  margin: 8px 0 10px;
  font-family: 'Outfit','Outfit Fallback','Helvetica Neue',Arial,sans-serif;
  font-size: 11px;
  letter-spacing: .015em;
  color: var(--ink3, #7a6f64);
}
.pm-trust-item{
  white-space: nowrap;
}
.pm-trust-item:first-of-type::before{
  
  content: '✓';
  display: inline-block;
  margin-right: 4px;
  color: var(--terracotta);
  font-weight: 700;
  font-size: 10px;
  transform: translateY(-0.5px);
}
.pm-trust-dot{
  color: color-mix(in srgb, var(--terracotta) 60%, transparent);
  font-weight: 700;
  user-select: none;
}
@media (max-width: 480px){
  .pm-trust-row{ font-size: 10.5px; gap: 4px 6px; }
}


@keyframes wp-paywall-rise{
  from { opacity: 0; transform: translateY(8px); }
  to   { opacity: 1; transform: translateY(0);   }
}
.pro-modal-overlay.open .pm-header{
  animation: wp-paywall-rise .32s cubic-bezier(.22,.84,.32,1) both;
}
.pro-modal-overlay.open .pm-loss-banner{
  animation: wp-paywall-rise .32s cubic-bezier(.22,.84,.32,1) .08s both;
}
.pro-modal-overlay.open .pm-packages{
  animation: wp-paywall-rise .32s cubic-bezier(.22,.84,.32,1) .12s both;
}
.pro-modal-overlay.open .pm-cta{
  animation: wp-paywall-rise .32s cubic-bezier(.22,.84,.32,1) .16s both;
}
.pro-modal-overlay.open .pm-secondary-action,
.pro-modal-overlay.open .pm-trust-row{
  animation: wp-paywall-rise .32s cubic-bezier(.22,.84,.32,1) .20s both;
}
@media (prefers-reduced-motion: reduce){
  .pro-modal-overlay.open .pm-header,
  .pro-modal-overlay.open .pm-loss-banner,
  .pro-modal-overlay.open .pm-packages,
  .pro-modal-overlay.open .pm-cta,
  .pro-modal-overlay.open .pm-secondary-action,
  .pro-modal-overlay.open .pm-trust-row{
    animation: none !important;
  }
}


.pm-pkg.pm-pkg-sel .pm-pkg-price{
  font-feature-settings: "tnum" 1, "lnum" 1; 
}


.rp-gated-wrap{
  position: relative;
  min-height: 540px;
  padding: 16px;
  border-radius: 18px;
  overflow: hidden;
  isolation: isolate;
}
.rp-gated-blur{
  filter: blur(14px) saturate(.85);
  -webkit-filter: blur(14px) saturate(.85);
  opacity: .65;
  pointer-events: none;
  user-select: none;
  display: grid;
  gap: 14px;
}
.rp-skel-hero{
  height: 180px;
  border-radius: 14px;
  background: linear-gradient(135deg, var(--day-accent, var(--terracotta)) 0%, var(--terra2) 50%, var(--cream) 100%);
  opacity: .55;
}
.rp-skel-header{ display: grid; gap: 10px; padding: 4px 6px; }
.rp-skel-line{
  height: 12px;
  border-radius: 8px;
  background: linear-gradient(90deg, var(--border) 0%, var(--border2) 50%, var(--border) 100%);
  background-size: 220% 100%;
  animation: rp-skel-shimmer 2.4s ease-in-out infinite;
}
.rp-skel-line-lg{ height: 22px; }
.rp-skel-list{ display: grid; gap: 12px; }
.rp-skel-card{
  height: 92px;
  border-radius: 14px;
  background: linear-gradient(90deg, #FFFFFF 0%, var(--cream) 50%, #FFFFFF 100%);
  background-size: 220% 100%;
  border: 1px solid var(--border);
  animation: rp-skel-shimmer 2.8s ease-in-out infinite;
}
@keyframes rp-skel-shimmer{
  0%   { background-position: 100% 50% }
  100% { background-position: -100% 50% }
}


.rp-overlay-card{
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  width: min(520px, calc(100% - 32px));
  background: rgba(253, 250, 245, 0.94);
  backdrop-filter: blur(20px) saturate(1.05);
  -webkit-backdrop-filter: blur(20px) saturate(1.05);
  border: 1px solid var(--border);
  border-radius: 22px;
  padding: 28px 28px 22px;
  box-shadow:
    0 30px 60px -20px rgba(28, 25, 23, 0.28),
    0 12px 28px -10px rgba(28, 25, 23, 0.14),
    inset 0 1px 0 rgba(255, 255, 255, 0.85);
  text-align: center;
  z-index: 2;
  animation: rp-overlay-rise .42s cubic-bezier(.22,.84,.32,1) both;
}
@keyframes rp-overlay-rise{
  0%   { opacity: 0; transform: translate(-50%, -42%) }
  100% { opacity: 1; transform: translate(-50%, -50%) }
}
.rp-overlay-eyebrow{
  font-family: 'Outfit', sans-serif;
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--terracotta);
  margin-bottom: 12px;
}
.rp-overlay-title{
  font-family: 'Playfair Display', 'Playfair Fallback', Georgia, serif;
  font-size: clamp(20px, 3.6vw, 26px);
  font-weight: 600;
  line-height: 1.18;
  color: var(--ink);
  letter-spacing: -0.01em;
  margin: 0 0 10px;
}
.rp-overlay-subtitle{
  font-family: 'Outfit', sans-serif;
  font-size: 13px;
  color: var(--ink3);
  margin-bottom: 18px;
  letter-spacing: 0.01em;
}
.rp-overlay-bullets{
  list-style: none;
  padding: 0;
  margin: 0 auto 20px;
  display: grid;
  gap: 8px;
  text-align: left;
  max-width: 380px;
  font-family: 'Outfit', sans-serif;
  font-size: 13px;
  color: var(--ink2);
}
.rp-overlay-bullets li{
  display: flex;
  align-items: flex-start;
  gap: 10px;
  line-height: 1.5;
}
.rp-bullet-dot{
  color: var(--terracotta);
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 14px;
  line-height: 1.4;
  flex-shrink: 0;
}
.rp-overlay-cta{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  width: 100%;
  max-width: 320px;
  padding: 14px 22px;
  border: none;
  border-radius: 999px;
  font-family: 'Outfit', sans-serif;
  font-size: 14px;
  font-weight: 600;
  letter-spacing: 0.01em;
  color: #fff;
  cursor: pointer;
  background: linear-gradient(135deg, var(--terracotta) 0%, #B8924A 100%);
  box-shadow:
    0 12px 24px -8px rgba(212, 106, 58, 0.55),
    0 4px 10px -2px rgba(212, 106, 58, 0.3),
    inset 0 1px 0 rgba(255, 255, 255, 0.25);
  transition: transform .18s ease, box-shadow .18s ease;
}
.rp-overlay-cta:hover{
  transform: translateY(-1px);
  box-shadow:
    0 16px 28px -8px rgba(212, 106, 58, 0.6),
    0 6px 14px -2px rgba(212, 106, 58, 0.32),
    inset 0 1px 0 rgba(255, 255, 255, 0.3);
}
.rp-overlay-cta:active{ transform: translateY(0) }
.rp-overlay-cta svg{ transition: transform .18s ease }
.rp-overlay-cta:hover svg{ transform: translateX(2px) }
.rp-overlay-secondary{
  display: block;
  margin: 12px auto 0;
  padding: 6px 10px;
  background: none;
  border: none;
  font-family: 'Outfit', sans-serif;
  font-size: 12.5px;
  color: var(--ink3);
  cursor: pointer;
  text-decoration: underline;
  text-underline-offset: 3px;
  text-decoration-color: var(--border2);
  transition: color .15s ease, text-decoration-color .15s ease;
}
.rp-overlay-secondary:hover{
  color: var(--terracotta);
  text-decoration-color: var(--terracotta);
}
.rp-overlay-trust{
  margin-top: 18px;
  padding-top: 14px;
  border-top: 1px dashed var(--border2);
  font-family: 'Outfit', sans-serif;
  font-size: 11px;
  color: var(--ink3);
  letter-spacing: 0.02em;
}


.day-tab-btn.rp-day-locked{ position: relative; }
.day-tab-btn.rp-day-locked .dtb-lock{
  position: absolute;
  top: -5px;
  right: -5px;
  width: 16px;
  height: 16px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(135deg, var(--terracotta) 0%, #B8924A 100%);
  color: #fff;
  border-radius: 50%;
  border: 1.5px solid var(--cream);
  box-shadow: 0 2px 6px -1px rgba(212, 106, 58, 0.5);
  pointer-events: none;
  z-index: 2;
}
.day-tab-btn.rp-day-locked.active .dtb-lock{
  border-color: rgba(255, 255, 255, 0.85);
}

@media (max-width: 540px){
  .rp-overlay-card{
    padding: 22px 18px 18px;
    width: min(440px, calc(100% - 20px));
    border-radius: 18px;
  }
  .rp-overlay-title{ font-size: 19px; }
  .rp-overlay-bullets{ font-size: 12.5px; }
  .rp-overlay-cta{ padding: 12px 18px; font-size: 13.5px; }
  .rp-gated-wrap{ min-height: 460px; }
}

@media (prefers-reduced-motion: reduce){
  .rp-skel-line,
  .rp-skel-card{ animation: none; }
  .rp-overlay-card{ animation: none; }
  .rp-overlay-cta{ transition: none; }
  .rp-overlay-cta svg{ transition: none; }
}


.hero-skip-profile-field{
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  gap: 6px;
}
.hero-skip-profile-pill{
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 11px 14px 11px 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(201, 146, 42, 0.28); 
  border-radius: 999px;
  cursor: pointer;
  user-select: none;
  -webkit-tap-highlight-color: transparent;
  font-family: 'Outfit', 'Outfit Fallback', -apple-system, system-ui, sans-serif;
  font-size: 12.5px;
  font-weight: 500;
  letter-spacing: 0.005em;
  color: rgba(244, 239, 231, 0.88); 
  transition:
    background .22s cubic-bezier(.22, 1, .36, 1),
    border-color .22s cubic-bezier(.22, 1, .36, 1),
    transform .15s ease;
  width: fit-content;
  max-width: 100%;
}
.hero-skip-profile-pill:hover{
  background: rgba(255, 255, 255, 0.07);
  border-color: rgba(201, 146, 42, 0.55); 
  transform: translateY(-1px);
}
.hero-skip-profile-pill:focus-within{
  outline: none;
  border-color: var(--gold2, #C9922A);
  box-shadow: 0 0 0 3px rgba(201, 146, 42, 0.18);
}

.hero-skip-profile-input{
  position: absolute;
  width: 1px; height: 1px;
  margin: -1px; padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.hero-skip-profile-check{
  flex-shrink: 0;
  width: 16px;
  height: 16px;
  border-radius: 5px;
  border: 1.5px solid rgba(244, 239, 231, 0.42);
  background: rgba(244, 239, 231, 0.04);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: transparent;
  transition:
    background .18s ease,
    border-color .18s ease,
    color .12s ease;
}
.hero-skip-profile-pill:hover .hero-skip-profile-check{
  border-color: rgba(244, 239, 231, 0.70);
}
.hero-skip-profile-input:checked + .hero-skip-profile-check{
  background: var(--terracotta, #D46A3A);
  border-color: var(--terracotta, #D46A3A);
  color: #FFFFFF;
}
.hero-skip-profile-input:focus-visible + .hero-skip-profile-check{
  box-shadow: 0 0 0 3px rgba(212, 106, 58, 0.30);
}
.hero-skip-profile-label{
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.hero-skip-profile-pill:has(.hero-skip-profile-input:checked){
  background: rgba(212, 106, 58, 0.10);
  border-color: rgba(212, 106, 58, 0.55);
  color: #FFFFFF;
}

.hero-skip-profile-hint{
  font-family: 'Playfair Display', 'Playfair Fallback', Georgia, serif;
  font-style: italic;
  font-weight: 400;
  font-size: 12px;
  line-height: 1.4;
  color: rgba(244, 239, 231, 0.52);
  letter-spacing: 0.005em;
  margin: 0;
  padding-left: 2px;
}

@media (max-width: 768px){
  .hero-skip-profile-pill{
    width: 100%;
    justify-content: flex-start;
    padding: 12px 14px;
    font-size: 13px;
  }
  .hero-skip-profile-label{ white-space: normal; }
}
@media (prefers-reduced-motion: reduce){
  .hero-skip-profile-pill{ transition: none; }
  .hero-skip-profile-pill:hover{ transform: none; }
}


.loading-overlay-v3.loading-overlay{
  background: #14202D; 
  backdrop-filter: none; -webkit-backdrop-filter: none;
  align-items: stretch;
  justify-content: stretch;
  padding: 0;
  overflow: hidden;
}
.loading-overlay-v3 .lc-photo-stack{
  position: absolute; inset: 0;
  z-index: 0;
  overflow: hidden;
}
.loading-overlay-v3 .lc-photo{
  position: absolute; inset: 0;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  opacity: 0;
  transform: scale(1.04);
  transition: opacity 1.2s ease, transform 12s linear;
  will-change: opacity, transform;
}
.loading-overlay-v3 .lc-photo.is-active{
  opacity: 1;
  transform: scale(1.0);
}

.loading-overlay-v3 .lc-photo-grade{
  position: absolute; inset: 0;
  background:
    linear-gradient(180deg,
      rgba(20, 32, 45, 0.45) 0%,
      rgba(20, 32, 45, 0.20) 32%,
      rgba(20, 32, 45, 0.55) 70%,
      rgba(20, 32, 45, 0.85) 100%);
  pointer-events: none;
}
.loading-overlay-v3 .lc-photo-vignette{
  position: absolute; inset: 0;
  background: radial-gradient(ellipse at center,
    transparent 50%, rgba(20, 32, 45, 0.45) 100%);
  pointer-events: none;
}


.loading-overlay-v3 .lc-top-tag{
  position: absolute;
  top: max(20px, env(safe-area-inset-top, 0px));
  left: 50%; transform: translateX(-50%);
  z-index: 3;
  display: inline-flex; align-items: center; gap: 8px;
  padding: 7px 14px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid rgba(244, 239, 231, 0.18);
  border-radius: 999px;
  font-family: 'Outfit', 'Outfit Fallback', -apple-system, system-ui, sans-serif;
  font-size: 10.5px; font-weight: 500;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: rgba(244, 239, 231, 0.78);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.loading-overlay-v3 .lc-top-mark{ color: var(--gold2, #C9922A); font-size: 11px; }
.loading-overlay-v3 .lc-top-dot{ opacity: 0.4; }


.loading-overlay-v3 .lc-hero{
  position: relative; z-index: 2;
  margin: auto auto 0;
  padding: 96px 28px 24px;
  text-align: center;
  max-width: 720px;
  color: #F4EFE7;
  animation: lcHeroRise 720ms cubic-bezier(.22, 1, .36, 1) both;
}
@keyframes lcHeroRise{
  from{ opacity: 0; transform: translateY(20px); }
  to{ opacity: 1; transform: translateY(0); }
}
.loading-overlay-v3 .lc-hero-eyebrow{
  font-family: 'Outfit', 'Outfit Fallback', -apple-system, sans-serif;
  font-size: 11px; font-weight: 600;
  letter-spacing: 0.32em; text-transform: uppercase;
  color: var(--gold2, #C9922A);
  margin-bottom: 14px;
  opacity: 0.92;
}
.loading-overlay-v3 .lc-hero-title{
  font-family: 'Playfair Display', 'Playfair Fallback', Georgia, serif;
  font-weight: 400;
  font-size: clamp(28px, 4.8vw, 44px);
  line-height: 1.15;
  letter-spacing: -0.015em;
  color: #F4EFE7;
  margin: 0;
}
.loading-overlay-v3 .lc-hero-title em{
  font-style: italic;
  font-weight: 500;
  background: linear-gradient(110deg, var(--gold2, #C9922A) 20%, #E8C57E 70%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: var(--gold2, #C9922A);
}
.loading-overlay-v3 .lc-hero-rule{
  width: 64px; height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold2, #C9922A), transparent);
  margin: 18px auto 0;
}


.loading-overlay-v3 .loading-card-v3{
  position: relative; z-index: 2;
  margin: 0 auto 18px;
  max-width: 520px; width: calc(100% - 32px);
  background: rgba(20, 32, 45, 0.55);
  backdrop-filter: blur(18px) saturate(120%);
  -webkit-backdrop-filter: blur(18px) saturate(120%);
  border: 1px solid rgba(244, 239, 231, 0.10);
  border-radius: 18px;
  padding: 18px 22px 16px;
  text-align: center;
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.35);
  animation: lcPanelRise 800ms cubic-bezier(.22, 1, .36, 1) 200ms both;
}
@keyframes lcPanelRise{
  from{ opacity: 0; transform: translateY(24px); }
  to{ opacity: 1; transform: translateY(0); }
}

.loading-overlay-v3 .lc-activity-wrap{
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid rgba(244, 239, 231, 0.10);
  min-height: 44px;
  padding: 10px 14px;
  margin-bottom: 14px;
}
.loading-overlay-v3 .lc-activity-text{
  color: rgba(244, 239, 231, 0.92);
  font-family: 'Outfit', 'Outfit Fallback', -apple-system, sans-serif;
}
.loading-overlay-v3 .lc-progress-label{
  color: rgba(244, 239, 231, 0.62);
}
.loading-overlay-v3 .lc-progress-pct{
  color: var(--gold2, #C9922A);
}
.loading-overlay-v3 .lc-track{
  background: rgba(255, 255, 255, 0.08);
  height: 6px;
}
.loading-overlay-v3 .lc-fill{
  background: linear-gradient(90deg, var(--terracotta, #D46A3A), var(--gold2, #C9922A));
}
.loading-overlay-v3 .lc-dots{ margin-bottom: 0; }
.loading-overlay-v3 .lc-dot{
  background: rgba(255, 255, 255, 0.06);
  border-color: rgba(244, 239, 231, 0.20);
  color: rgba(244, 239, 231, 0.55);
  width: 24px; height: 24px; font-size: 9.5px;
}
.loading-overlay-v3 .lc-dot.loading{
  border-color: var(--terracotta, #D46A3A);
  background: rgba(212, 106, 58, 0.22);
  color: #F4EFE7;
}
.loading-overlay-v3 .lc-dot.done{
  border-color: var(--gold2, #C9922A);
  background: rgba(201, 146, 42, 0.28);
  color: #FFFFFF;
}


.loading-overlay-v3 .lc-quote{
  position: relative; z-index: 2;
  margin: 0 auto 28px;
  padding: 0 28px max(0px, env(safe-area-inset-bottom, 0px));
  text-align: center;
  max-width: 540px;
  color: rgba(244, 239, 231, 0.62);
  font-family: 'Playfair Display', 'Playfair Fallback', Georgia, serif;
  font-style: italic;
  font-size: 13.5px;
  line-height: 1.55;
  transition: opacity 0.5s ease;
  animation: lcQuoteRise 900ms cubic-bezier(.22, 1, .36, 1) 400ms both;
}
@keyframes lcQuoteRise{
  from{ opacity: 0; transform: translateY(16px); }
  to{ opacity: 0.92; transform: translateY(0); }
}
.loading-overlay-v3 .lc-quote.is-changing{ opacity: 0; }
.loading-overlay-v3 .lc-quote-mark{
  font-family: 'Playfair Display', Georgia, serif;
  font-size: 22px; color: var(--gold2, #C9922A);
  line-height: 0; vertical-align: -6px;
  margin-right: 4px;
}
.loading-overlay-v3 .lc-quote-text{ color: rgba(244, 239, 231, 0.78); }
.loading-overlay-v3 .lc-quote-attr{
  display: block; margin-top: 6px;
  font-family: 'Outfit', sans-serif;
  font-style: normal; font-size: 11px;
  letter-spacing: 0.18em; text-transform: uppercase;
  color: rgba(244, 239, 231, 0.45);
}


@media (max-width: 600px){
  .loading-overlay-v3 .lc-hero{ padding: 80px 22px 18px; }
  .loading-overlay-v3 .lc-hero-eyebrow{ font-size: 10px; letter-spacing: 0.28em; }
  .loading-overlay-v3 .loading-card-v3{ padding: 16px 18px 14px; }
  .loading-overlay-v3 .lc-quote{ font-size: 12.5px; margin-bottom: 22px; }
  .loading-overlay-v3 .lc-top-tag{ font-size: 9.5px; padding: 6px 12px; }
}
@media (max-width: 380px){
  .loading-overlay-v3 .lc-hero-title{ font-size: 24px; }
  .loading-overlay-v3 .lc-hero-rule{ width: 48px; }
}


@media (prefers-reduced-motion: reduce){
  .loading-overlay-v3 .lc-photo{ transition: opacity 0.2s ease; transform: none; }
  .loading-overlay-v3 .lc-hero,
  .loading-overlay-v3 .loading-card-v3,
  .loading-overlay-v3 .lc-quote{ animation: none; }
}


.loading-overlay-v4.loading-overlay{
  background: #14202D;
  align-items: stretch;
  justify-content: stretch;
  padding: 0;
  overflow: hidden;
}

.loading-overlay-v4 .lc-photo-stack{ position:absolute; inset:0; z-index:0; overflow:hidden; }
.loading-overlay-v4 .lc-photo{
  position:absolute; inset:0; background-position:center; background-size:cover;
  background-repeat:no-repeat;
  opacity:0; transform:scale(1.04);
  transition: opacity 1.2s ease, transform 14s linear;
  will-change: opacity, transform;
}
.loading-overlay-v4 .lc-photo.is-active{ opacity:1; transform:scale(1.0); }
.loading-overlay-v4 .lc-photo-grade{
  position:absolute; inset:0; pointer-events:none;
  background:
    linear-gradient(180deg,
      rgba(20, 32, 45, 0.62) 0%,
      rgba(20, 32, 45, 0.30) 28%,
      rgba(20, 32, 45, 0.20) 50%,
      rgba(20, 32, 45, 0.62) 78%,
      rgba(20, 32, 45, 0.88) 100%);
}
.loading-overlay-v4 .lc-photo-vignette{
  position:absolute; inset:0; pointer-events:none;
  background: radial-gradient(ellipse at center, transparent 52%, rgba(20, 32, 45, 0.45) 100%);
}


.loading-overlay-v4 .lcv4-masthead{
  position: relative; z-index: 2;
  display: flex; align-items: center; justify-content: space-between;
  padding: max(20px, env(safe-area-inset-top, 0px)) clamp(20px, 4vw, 44px) 0;
  font-family: 'Outfit', 'Outfit Fallback', -apple-system, system-ui, sans-serif;
  font-size: 11px; font-weight: 500;
  letter-spacing: 0.22em; text-transform: uppercase;
  color: rgba(244, 239, 231, 0.72);
  animation: lcv4-fade-down 600ms cubic-bezier(.22,1,.36,1) both;
}
.loading-overlay-v4 .lcv4-mast-left{ display:inline-flex; align-items:center; gap:10px; }
.loading-overlay-v4 .lcv4-mast-star{ color: var(--gold2, #C9922A); font-size: 12px; }
.loading-overlay-v4 .lcv4-mast-pub{ color: rgba(244, 239, 231, 0.92); letter-spacing: 0.28em; }
.loading-overlay-v4 .lcv4-mast-dot{ opacity: 0.4; }
.loading-overlay-v4 .lcv4-mast-right{ display:inline-flex; align-items:center; gap:10px; }
.loading-overlay-v4 .lcv4-mast-phase-label{ color: var(--gold2, #C9922A); }
.loading-overlay-v4 .lcv4-mast-phase-dot{
  width: 8px; height: 8px; border-radius: 50%;
  background: var(--terracotta, #D46A3A);
  box-shadow: 0 0 0 0 rgba(212, 106, 58, 0.6);
  animation: lcv4-pulse 1.6s ease-in-out infinite;
}
@keyframes lcv4-pulse{
  0%,100%{ box-shadow: 0 0 0 0 rgba(212, 106, 58, 0.5); }
  50%   { box-shadow: 0 0 0 8px rgba(212, 106, 58, 0.0); }
}


.loading-overlay-v4 .lcv4-hero{
  position: relative; z-index: 2;
  margin: auto auto 0;
  padding: clamp(28px, 5vh, 60px) clamp(24px, 4vw, 44px) 16px;
  text-align: center;
  max-width: 880px;
  color: #F4EFE7;
  animation: lcv4-hero-rise 700ms cubic-bezier(.22,1,.36,1) 120ms both;
}
@keyframes lcv4-hero-rise{
  from{ opacity:0; transform: translateY(22px); }
  to  { opacity:1; transform: translateY(0); }
}
.loading-overlay-v4 .lcv4-eyebrow{
  font-family: 'Outfit', sans-serif;
  font-size: 11px; font-weight: 600;
  letter-spacing: 0.32em; text-transform: uppercase;
  color: rgba(244, 239, 231, 0.55);
  margin-bottom: 18px;
}
.loading-overlay-v4 .lcv4-title{
  font-family: 'Playfair Display', 'Playfair Fallback', Georgia, serif;
  font-weight: 400;
  font-size: clamp(28px, 5.4vw, 52px);
  line-height: 1.12;
  letter-spacing: -0.018em;
  color: #F4EFE7;
  margin: 0;
  display: flex; flex-direction: column; align-items: center; gap: 4px;
}
.loading-overlay-v4 .lcv4-title-prefix{ font-weight: 400; color: rgba(244, 239, 231, 0.92); }
.loading-overlay-v4 .lcv4-title-dest em{
  font-style: italic; font-weight: 500;
  background: linear-gradient(110deg, var(--gold2, #C9922A) 18%, #E8C57E 65%, var(--gold2, #C9922A) 92%);
  -webkit-background-clip: text; background-clip: text;
  -webkit-text-fill-color: transparent; color: var(--gold2, #C9922A);
  
  background-size: 200% 100%;
  animation: lcv4-shine 6s linear infinite;
}
@keyframes lcv4-shine{
  0%   { background-position: 0% 0; }
  100% { background-position: -200% 0; }
}
.loading-overlay-v4 .lcv4-meta{
  margin-top: 14px;
  font-family: 'Outfit', sans-serif;
  font-size: 13px; font-weight: 500;
  letter-spacing: 0.04em;
  color: rgba(244, 239, 231, 0.65);
  display: inline-flex; align-items: center; gap: 10px; justify-content: center;
}
.loading-overlay-v4 .lcv4-meta-dot{ opacity: 0.45; }
.loading-overlay-v4 .lcv4-ornament{
  display: flex; align-items: center; justify-content: center; gap: 14px;
  margin-top: 22px;
  color: var(--gold2, #C9922A);
}
.loading-overlay-v4 .lcv4-rule{
  display: block;
  width: 60px; height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold2, #C9922A), transparent);
}


.loading-overlay-v4 .lcv4-days{
  position: relative; z-index: 2;
  display: flex; flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  padding: 26px clamp(20px, 4vw, 44px) 18px;
  max-width: 1080px;
  margin: 0 auto;
}
.loading-overlay-v4 .lc-dot{
  
  position: relative;
  width: clamp(96px, 14vw, 132px);
  min-height: 62px;
  padding: 9px 12px 10px;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(244, 239, 231, 0.12);
  color: rgba(244, 239, 231, 0.62);
  display: flex; flex-direction: column; align-items: flex-start; justify-content: space-between;
  font-family: 'Outfit', sans-serif;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  transition: background .28s ease, border-color .28s ease, color .28s ease, transform .28s ease, box-shadow .28s ease;
  opacity: 0;
  transform: translateY(10px);
  animation: lcv4-card-in 540ms cubic-bezier(.22,1,.36,1) forwards;
}
.loading-overlay-v4 .lc-dot::before{
  content: counter(daycounter);
  counter-increment: daycounter;
  display: block;
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 18px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  color: rgba(244, 239, 231, 0.5);
  line-height: 1;
  margin-bottom: 4px;
}
.loading-overlay-v4 .lcv4-days{ counter-reset: daycounter; }
.loading-overlay-v4 .lc-dot::after{
  content: attr(data-state-label, 'Pendiente');
  font-family: 'Outfit', sans-serif;
  font-size: 9.5px; font-weight: 500;
  letter-spacing: 0.18em;
  color: rgba(244, 239, 231, 0.4);
  text-transform: uppercase;
}
.loading-overlay-v4 .lc-dot.loading{
  background: rgba(212, 106, 58, 0.15);
  border-color: rgba(212, 106, 58, 0.55);
  color: rgba(244, 239, 231, 0.92);
  box-shadow: 0 8px 22px rgba(212, 106, 58, 0.18);
  transform: translateY(0);
}
.loading-overlay-v4 .lc-dot.loading::before{ color: var(--terracotta, #D46A3A); }
.loading-overlay-v4 .lc-dot.loading::after{ content: 'Generando…'; color: var(--terracotta, #D46A3A); }
.loading-overlay-v4 .lc-dot.done{
  background: rgba(201, 146, 42, 0.18);
  border-color: rgba(201, 146, 42, 0.62);
  color: #F4EFE7;
  box-shadow: 0 8px 22px rgba(201, 146, 42, 0.15);
}
.loading-overlay-v4 .lc-dot.done::before{ color: var(--gold2, #C9922A); }
.loading-overlay-v4 .lc-dot.done::after{ content: '✓ Listo'; color: var(--gold2, #C9922A); letter-spacing: 0.08em; }
.loading-overlay-v4 .lc-dot.error{
  background: rgba(196, 78, 78, 0.18);
  border-color: rgba(196, 78, 78, 0.55);
  color: #F4EFE7;
}
.loading-overlay-v4 .lc-dot.error::after{ content: '⚠ Reintentando'; color: #FFB4B4; }

@keyframes lcv4-card-in{
  from{ opacity: 0; transform: translateY(14px); }
  to  { opacity: 1; transform: translateY(0); }
}


.loading-overlay-v4 .lcv4-progress{
  position: relative; z-index: 2;
  
  margin: 0 auto clamp(28px, 5vh, 64px);
  padding: 14px clamp(20px, 4vw, 44px) 12px;
  max-width: 720px; width: 100%;
  display: flex; flex-direction: column; gap: 8px;
  animation: lcv4-fade-up 800ms cubic-bezier(.22,1,.36,1) 240ms both;
}
@keyframes lcv4-fade-up{
  from{ opacity:0; transform: translateY(12px); }
  to  { opacity:1; transform: translateY(0); }
}
.loading-overlay-v4 .lcv4-progress-row{
  display: flex; justify-content: space-between; align-items: center;
  font-family: 'Outfit', sans-serif;
}
.loading-overlay-v4 .lcv4-progress-label{
  font-size: 11.5px; font-weight: 500;
  letter-spacing: 0.08em; text-transform: uppercase;
  color: rgba(244, 239, 231, 0.62);
}
.loading-overlay-v4 .lcv4-progress-pct{
  font-size: 14px; font-weight: 700;
  color: var(--gold2, #C9922A);
  font-variant-numeric: tabular-nums;
  letter-spacing: 0.02em;
}
.loading-overlay-v4 .lcv4-track{
  position: relative;
  height: 5px;
  border-radius: 3px;
  background: rgba(255, 255, 255, 0.10);
  overflow: hidden;
}
.loading-overlay-v4 .lcv4-fill{
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg, var(--terracotta, #D46A3A), var(--gold2, #C9922A));
  border-radius: 3px;
  transition: width .14s linear;
}
.loading-overlay-v4 .lcv4-shimmer{
  position: absolute; inset: 0;
  background: linear-gradient(90deg, transparent 0%, rgba(255,255,255,.22) 50%, transparent 100%);
  animation: lcv4-shimmer 2.2s ease-in-out infinite;
  pointer-events: none;
}
@keyframes lcv4-shimmer{
  0%  { transform: translateX(-100%); }
  100%{ transform: translateX(200%);  }
}
.loading-overlay-v4 .lcv4-activity{
  display: flex; align-items: center; gap: 10px;
  margin-top: 2px;
  font-family: 'Outfit', sans-serif;
  font-size: 13px;
  color: rgba(244, 239, 231, 0.92);
  line-height: 1.45;
}
.loading-overlay-v4 .lcv4-activity-dot{
  flex-shrink: 0;
  width: 7px; height: 7px; border-radius: 50%;
  background: var(--terracotta, #D46A3A);
  animation: lcv4-blink 1.3s ease-in-out infinite;
}
@keyframes lcv4-blink{
  0%,100%{ opacity: 1; }
  50%   { opacity: 0.25; }
}
.loading-overlay-v4 .lc-activity-text.changing{ opacity: 0; }
.loading-overlay-v4 .lc-activity-text{ transition: opacity .3s ease; }


.loading-overlay-v4 .lcv4-quote{
  position: relative; z-index: 2;
  margin: 0 auto clamp(18px, 3vh, 32px);
  padding: 0 clamp(24px, 4vw, 44px) max(0px, env(safe-area-inset-bottom, 0px));
  text-align: center;
  max-width: 580px;
  color: rgba(244, 239, 231, 0.62);
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 14px;
  line-height: 1.55;
  transition: opacity 0.5s ease;
  animation: lcv4-fade-up 900ms cubic-bezier(.22,1,.36,1) 380ms both;
}
.loading-overlay-v4 .lcv4-quote.is-changing{ opacity: 0; }
.loading-overlay-v4 .lcv4-quote-mark{
  font-size: 22px;
  color: var(--gold2, #C9922A);
  line-height: 0; vertical-align: -6px; margin-right: 4px;
}
.loading-overlay-v4 .lcv4-quote-text{ color: rgba(244, 239, 231, 0.82); }
.loading-overlay-v4 .lcv4-quote-attr{
  display: block; margin-top: 6px;
  font-family: 'Outfit', sans-serif; font-style: normal;
  font-size: 10.5px; letter-spacing: 0.22em; text-transform: uppercase;
  color: rgba(244, 239, 231, 0.42);
}


.loading-overlay-v4 .lcv4-title-dest em.is-typing::after{
  content: '|';margin-left:2px;color:var(--gold2,#C9922A);-webkit-text-fill-color:var(--gold2,#C9922A);font-style:normal;animation:lcv4-caret 0.9s steps(2) infinite}@keyframes lcv4-caret{0,49%{opacity:1}50,100{opacity:0}}@keyframes lcv4-fade-down{from{opacity:0;transform:translateY(-10)}to{opacity:1;transform:translateY(0)}}@media (max-width:600){.loading-overlay-v4 .lcv4-masthead{font-size:10;letter-spacing:0.18em;padding-top:max(16px,env(safe-area-inset-top,0))}.loading-overlay-v4 .lcv4-mast-pub{letter-spacing:0.22em}.loading-overlay-v4 .lcv4-eyebrow{font-size:10;letter-spacing:0.28em}.loading-overlay-v4 .lcv4-title{font-size:clamp(26px,7.8vw,36px)}.loading-overlay-v4 .lcv4-meta{font-size:12px}.loading-overlay-v4 .lcv4-days{padding:16px 16px 14px;gap:8px}.loading-overlay-v4 .lc-dot{width:calc(50 - 4px);min-height:54px;padding:8px 10}.loading-overlay-v4 .lcv4-quote{font-size:13px}}@media (max-width:380){.loading-overlay-v4 .lcv4-title{font-size:24px}.loading-overlay-v4 .lcv4-rule{width:44px}}@media (prefers-reduced-motion:reduce){.loading-overlay-v4 .lc-photo{transition:opacity 0.2s ease;transform:none}.loading-overlay-v4 .lcv4-hero,.loading-overlay-v4 .lcv4-progress,.loading-overlay-v4 .lcv4-quote,.loading-overlay-v4 .lcv4-masthead{animation:none}.loading-overlay-v4 .lcv4-title-dest em{animation:none}.loading-overlay-v4 .lcv4-shimmer,.loading-overlay-v4 .lcv4-mast-phase-dot,.loading-overlay-v4 .lcv4-activity-dot{animation:none}.loading-overlay-v4 .lc-dot{animation:none;opacity:1;transform:none}}



.loading-overlay-v6.loading-overlay{ background: #1B1410; }


.loading-overlay-v6 .lc-photo.is-active{
  opacity: 1;
  animation: lcv6-kenburns 28s ease-in-out infinite alternate;
}
@keyframes lcv6-kenburns{
  0%   { transform: scale(1.04) translate3d(0%, 0%, 0); }
  100% { transform: scale(1.14) translate3d(-2.5%, 1.5%, 0); }
}


.loading-overlay-v6 .lc-photo-grade{
  background:
    linear-gradient(180deg,
      rgba(27, 20, 16, 0.55) 0%,
      rgba(27, 20, 16, 0.22) 30%,
      rgba(27, 20, 16, 0.18) 52%,
      rgba(27, 20, 16, 0.55) 76%,
      rgba(27, 20, 16, 0.92) 100%),
    linear-gradient(135deg,
      rgba(212, 106, 58, 0.08) 0%,
      transparent 45%);
}
.loading-overlay-v6 .lc-photo-vignette{
  background: radial-gradient(ellipse at center, transparent 48%, rgba(27, 20, 16, 0.55) 100%);
}


.loading-overlay-v6 .lcv6-grain{
  position: absolute; inset: 0; pointer-events: none; z-index: 1;
  opacity: 0.04;
  background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.95 0 0 0 0 0.92 0 0 0 0 0.88 0 0 0 1 0'/></filter><rect width='100' height='100' filter='url(%23n)'/></svg>");
  background-size: 180px 180px;
  mix-blend-mode: overlay;
}


.loading-overlay-v6 .lcv6-compass{
  position: absolute; z-index: 2;
  top: max(28px, env(safe-area-inset-top, 0px));
  right: clamp(20px, 4vw, 44px);
  color: rgba(244, 239, 231, 0.42);
  pointer-events: none;
  animation: lcv6-compass-spin 60s linear infinite,
             lcv6-compass-fade-in 900ms cubic-bezier(.22,1,.36,1) both;
}
@keyframes lcv6-compass-spin{
  from{ transform: rotate(0deg); }
  to  { transform: rotate(360deg); }
}
@keyframes lcv6-compass-fade-in{
  from{ opacity: 0; transform: scale(0.85) rotate(0deg); }
  to  { opacity: 1; transform: scale(1) rotate(0deg); }
}


.loading-overlay-v6 .lcv6-hero{
  padding: clamp(60px, 10vh, 120px) clamp(24px, 4vw, 44px) 16px;
  max-width: 960px;
}
.loading-overlay-v6 .lcv6-title{
  gap: 6px;
}
.loading-overlay-v6 .lcv6-title-prefix{
  font-family: 'Outfit', sans-serif;
  font-size: clamp(11px, 1.4vw, 13px);
  font-weight: 500;
  letter-spacing: 0.36em;
  text-transform: uppercase;
  color: rgba(244, 239, 231, 0.55);
  margin-bottom: 18px;
}
.loading-overlay-v6 .lcv6-title-dest{
  font-family: 'Playfair Display', 'Playfair Fallback', Georgia, serif;
  font-size: clamp(38px, 7.2vw, 76px);
  line-height: 1.05;
  letter-spacing: -0.022em;
  display: block;
}
.loading-overlay-v6 .lcv6-title-dest em{
  font-style: italic;
  font-weight: 500;
}
.loading-overlay-v6 .lcv6-meta{
  margin-top: 20px;
  font-size: 13px;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: rgba(244, 239, 231, 0.62);
}
.loading-overlay-v6 .lcv6-ornament{
  margin-top: 28px;
  gap: 18px;
  opacity: 0.78;
}
.loading-overlay-v6 .lcv6-ornament .lcv4-rule{
  width: 80px;
  background: linear-gradient(90deg, transparent, rgba(201, 146, 42, 0.7), transparent);
}


.loading-overlay-v6 .lcv4-days{
  gap: 10px;
  padding-top: 32px;
}
.loading-overlay-v6 .lc-dot{
  background: rgba(255, 255, 255, 0.025);
  border: 1px solid rgba(244, 239, 231, 0.08);
  border-radius: 10px;
  min-height: 70px;
  backdrop-filter: blur(2px);
  -webkit-backdrop-filter: blur(2px);
}
.loading-overlay-v6 .lc-dot.loading{
  background: rgba(212, 106, 58, 0.12);
  border-color: rgba(212, 106, 58, 0.48);
  box-shadow:
    0 6px 22px rgba(212, 106, 58, 0.18),
    inset 0 0 0 1px rgba(212, 106, 58, 0.10);
}
.loading-overlay-v6 .lc-dot.done{
  background: rgba(201, 146, 42, 0.10);
  border-color: rgba(201, 146, 42, 0.42);
  box-shadow:
    0 6px 22px rgba(201, 146, 42, 0.12),
    inset 0 0 0 1px rgba(201, 146, 42, 0.08);
}
.loading-overlay-v6 .lc-dot.done::before{
  color: var(--gold2, #C9922A);
}


.loading-overlay-v6 .lcv4-progress{
  max-width: 640px;
  gap: 10px;
}
.loading-overlay-v6 .lcv4-track{
  height: 3px;
  background: rgba(244, 239, 231, 0.08);
}
.loading-overlay-v6 .lcv4-fill{
  background: linear-gradient(90deg,
    var(--terracotta, #D46A3A) 0%,
    #E8A055 45%,
    var(--gold2, #C9922A) 100%);
  box-shadow: 0 0 12px rgba(212, 106, 58, 0.45);
}
.loading-overlay-v6 .lcv4-progress-label{
  font-size: 10.5px;
  letter-spacing: 0.20em;
  color: rgba(244, 239, 231, 0.55);
}
.loading-overlay-v6 .lcv4-progress-pct{
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-weight: 500;
  font-size: 16px;
  letter-spacing: 0;
}
.loading-overlay-v6 .lcv4-activity{
  margin-top: 6px;
  font-size: 12.5px;
  color: rgba(244, 239, 231, 0.78);
  letter-spacing: 0.02em;
}


@media (max-width: 600px){
  .loading-overlay-v6 .lcv6-compass svg{ width: 56px; height: 56px; }
  .loading-overlay-v6 .lcv6-compass{
    top: max(16px, env(safe-area-inset-top, 0px));
    right: 16px;
  }
  .loading-overlay-v6 .lcv6-hero{
    padding-top: 16vh;
  }
  .loading-overlay-v6 .lcv6-title-dest{
    font-size: clamp(34px, 9vw, 48px);
  }
  .loading-overlay-v6 .lcv6-title-prefix{
    font-size: 10px;
    letter-spacing: 0.28em;
    margin-bottom: 12px;
  }
  .loading-overlay-v6 .lcv6-meta{
    font-size: 11px;
    letter-spacing: 0.10em;
  }
}


@media (prefers-reduced-motion: reduce){
  .loading-overlay-v6 .lc-photo.is-active{ animation: none; transform: none; }
  .loading-overlay-v6 .lcv6-compass{ animation: lcv6-compass-fade-in 600ms ease both; }
}



.loading-overlay-v7.loading-overlay{
  display: none;
  background: #1B1410;
  align-items: stretch;
  justify-content: stretch;
  padding: 0;
  overflow: hidden;
  flex-direction: column;
}
.loading-overlay-v7.loading-overlay.visible{ display: flex; }


.loading-overlay-v7 .lcv7-bento{
  position: absolute; inset: 0;
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  grid-template-rows: 1fr 0.5fr 0.5fr 1fr;
  gap: 12px;
  padding: 18px;
  z-index: 0;
}
.loading-overlay-v7 .lcv7-cell{
  position: relative;
  border-radius: 18px;
  background-color: #2A1F18;
  background-size: cover;
  background-repeat: no-repeat;
  overflow: hidden;
  box-shadow:
    0 28px 64px -16px rgba(0, 0, 0, 0.62),
    inset 0 0 0 1px rgba(244, 239, 231, 0.04);
  
  opacity: 0;
  transform: scale(0.78);
  animation: lcv7-cell-in 1.6s cubic-bezier(.22, 1, .36, 1) forwards;
  will-change: transform, opacity;
}

.loading-overlay-v7 .lcv7-cell::after{
  content: '';
  position: absolute; inset: 0;
  border-radius: inherit;
  box-shadow: inset 0 0 0 1px rgba(201, 146, 42, 0.0);
  transition: box-shadow 1.2s ease;
  pointer-events: none;
}
.loading-overlay-v7 .lcv7-cell.is-active::after{
  box-shadow: inset 0 0 0 1px rgba(201, 146, 42, 0.18);
}


.loading-overlay-v7 .lcv7-cell-1{
  grid-column: 1 / span 8;
  grid-row: 1 / span 3;
  background-position: center 30%;
  transform-origin: top right;
  animation-delay: 0ms;
}
.loading-overlay-v7 .lcv7-cell-2{
  display: none;
  grid-column: 7 / span 2;
  grid-row: 1 / span 2;
  background-position: 70% 40%;
  transform-origin: top right;
  animation-delay: 90ms;
}
.loading-overlay-v7 .lcv7-cell-3{
  display: none;
  grid-column: 7 / span 2;
  grid-row: 3 / span 2;
  background-position: 30% 70%;
  transform-origin: bottom right;
  animation-delay: 180ms;
}
.loading-overlay-v7 .lcv7-cell-4{
  grid-column: 1 / span 4;
  grid-row: 4;
  background-position: 20% 80%;
  transform-origin: top left;
  animation-delay: 270ms;
}
.loading-overlay-v7 .lcv7-cell-5{
  grid-column: 5 / span 4;
  grid-row: 4;
  background-position: 80% 60%;
  transform-origin: top right;
  animation-delay: 360ms;
}


@media (min-width: 768px){
  .loading-overlay-v7 .lcv7-cell-1{ grid-column: 1 / span 6; }
  .loading-overlay-v7 .lcv7-cell-2{ display: block; }
  .loading-overlay-v7 .lcv7-cell-3{ display: block; }
  .loading-overlay-v7 .lcv7-cell-4{ grid-column: 1 / span 3; }
  .loading-overlay-v7 .lcv7-cell-5{ grid-column: 4 / span 3; }
}

@keyframes lcv7-cell-in{
  0%   { opacity: 0; transform: scale(0.78) translate(-5%, -5%); filter: blur(8px); }
  60%  { opacity: 1; filter: blur(0); }
  100% { opacity: 1; transform: scale(1) translate(0, 0); filter: blur(0); }
}


.loading-overlay-v7 .lcv7-cell-1.is-active{
  animation: lcv7-cell-in 1.4s cubic-bezier(.22, 1, .36, 1) forwards,
             lcv7-kenburns 32s ease-in-out 1.5s infinite alternate;
}
@keyframes lcv7-kenburns{
  from { background-size: cover; transform: scale(1) translate(0, 0); }
  to   { background-size: 108%;  transform: scale(1.04) translate(-1%, 0.5%); }
}


.loading-overlay-v7 .lcv7-trail{
  position: absolute; inset: 0;
  z-index: 0;
  overflow: hidden;
  pointer-events: none;            
}
.loading-overlay-v7 .lcv7-trail-item{
  position: absolute;
  top: 0; left: 0;                 
  width: clamp(112px, 13vw, 196px);
  aspect-ratio: 4 / 5;
  border-radius: 16px;
  background-color: #2A1F18;
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  box-shadow:
    0 30px 66px -16px rgba(0, 0, 0, 0.62),
    inset 0 0 0 1px rgba(244, 239, 231, 0.06);
  opacity: 0;
  pointer-events: none;
  will-change: transform, opacity;
  
  transform: translate(-50%, -50%) rotate(var(--rot, 0deg)) scale(0);
  animation: lcv7-trail-pop var(--life, 1500ms) cubic-bezier(.22, 1, .36, 1) forwards;
}
@keyframes lcv7-trail-pop{
  0%   { opacity: 0; transform: translate(-50%, -50%) rotate(var(--rot, 0deg)) scale(0.35); }
  16%  { opacity: 1; transform: translate(-50%, -50%) rotate(var(--rot, 0deg)) scale(var(--sc, 1.06)); }
  34%  {              transform: translate(-50%, -50%) rotate(var(--rot, 0deg)) scale(1); }
  70%  { opacity: 1; }
  100% { opacity: 0; transform: translate(-50%, -50%) rotate(var(--rot, 0deg)) scale(0.92); }
}

.loading-overlay-v7 .lcv7-trail-fallback{
  position: absolute; inset: 0;
  z-index: 0;
  background-color: #2A1F18;
  background-size: cover;
  background-position: center 35%;
  opacity: 0;
  transition: opacity 0.9s ease;
}
.loading-overlay-v7 .lcv7-trail-fallback.is-active{
  opacity: 1;
  animation: lcv7-kenburns 34s ease-in-out 0.6s infinite alternate;
}
@media (prefers-reduced-motion: reduce){
  .loading-overlay-v7 .lcv7-trail-item{ animation: none; opacity: 0; }
  .loading-overlay-v7 .lcv7-trail-fallback.is-active{ animation: none; }
}


.loading-overlay-v7 .lcv7-grade{
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  background:
    radial-gradient(ellipse 80% 55% at 50% 48%,
      rgba(27, 20, 16, 0.10) 0%,
      rgba(27, 20, 16, 0.55) 55%,
      rgba(20, 14, 10, 0.86) 88%,
      rgba(20, 14, 10, 0.95) 100%),
    linear-gradient(180deg,
      rgba(27, 20, 16, 0.25) 0%,
      transparent 30%,
      rgba(27, 20, 16, 0.55) 100%);
}


.loading-overlay-v7 .lcv7-grain{
  position: absolute; inset: 0; z-index: 1; pointer-events: none;
  opacity: 0.05;
  background-image: url("data:image/svg+xml;utf8,<svg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.95 0 0 0 0 0.92 0 0 0 0 0.88 0 0 0 1 0'/></filter><rect width='100' height='100' filter='url(%23n)'/></svg>");
  background-size: 180px 180px;
  mix-blend-mode: overlay;
}


.loading-overlay-v7 .lcv7-hero{
  position: relative; z-index: 3;
  margin: auto;
  padding: clamp(40px, 8vh, 80px) clamp(24px, 4vw, 44px) 24px;
  text-align: center;
  max-width: 920px;
  color: #F4EFE7;
  animation: lcv7-hero-rise 900ms cubic-bezier(.22, 1, .36, 1) 200ms both;
}
@keyframes lcv7-hero-rise{
  from { opacity: 0; transform: translateY(20px); }
  to   { opacity: 1; transform: translateY(0); }
}

.loading-overlay-v7 .lcv7-eyebrow{
  display: inline-flex;
  align-items: center;
  gap: 14px;
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 13px;
  font-weight: 400;
  letter-spacing: 0.02em;
  text-transform: none;
  color: var(--gold2, #C9922A);
  margin-bottom: 26px;
  opacity: 0.92;
}
.loading-overlay-v7 .lcv7-eyebrow::before,
.loading-overlay-v7 .lcv7-eyebrow::after{
  content: '';
  width: 32px; height: 1px;
  background: linear-gradient(90deg, transparent, rgba(201, 146, 42, 0.55), transparent);
}
.loading-overlay-v7 .lcv7-title{
  font-family: 'Playfair Display', 'Playfair Fallback', Georgia, serif;
  margin: 0;
  display: flex; flex-direction: column; align-items: center;
  gap: 4px;
  font-weight: 400;
  letter-spacing: -0.022em;
  line-height: 1.05;
}

.loading-overlay-v7 .lcv7-prefix{
  font-size: clamp(14px, 1.7vw, 18px);
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-weight: 400;
  letter-spacing: 0.01em;
  text-transform: none;
  color: rgba(244, 239, 231, 0.62);
  margin-bottom: 8px;
}

.loading-overlay-v7 .lcv7-dest{
  font-size: clamp(48px, 9.5vw, 112px);
  display: block;
  line-height: 0.96;
  letter-spacing: -0.028em;
  color: #F4EFE7;
}
.loading-overlay-v7 .lcv7-dest em{
  font-style: italic;
  font-weight: 500;
  background: linear-gradient(115deg,
    var(--gold2, #C9922A) 12%,
    #EFD494 48%,
    var(--gold2, #C9922A) 88%);
  background-size: 220% 100%;
  -webkit-background-clip: text;
  background-clip: text;
  -webkit-text-fill-color: transparent;
  color: var(--gold2, #C9922A);
  animation: lcv7-shine 7s linear infinite;
}
@keyframes lcv7-shine{
  0%   { background-position: 0% 0; }
  100% { background-position: -220% 0; }
}
.loading-overlay-v7 .lcv7-dest em.is-typing::after{
  content: '|';
  margin-left: 3px;
  color: var(--gold2, #C9922A);
  -webkit-text-fill-color: var(--gold2, #C9922A);
  font-style: normal;
  font-weight: 300;
  animation: lcv7-caret 0.9s steps(2) infinite;
}
@keyframes lcv7-caret{
  0%, 49%   { opacity: 1; }
  50%, 100% { opacity: 0; }
}

.loading-overlay-v7 .lcv7-meta{
  margin-top: 28px;
  font-family: 'Outfit', sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.32em;
  text-transform: uppercase;
  color: rgba(244, 239, 231, 0.62);
  display: inline-flex;
  align-items: center;
  gap: 14px;
  justify-content: center;
}
.loading-overlay-v7 .lcv7-meta-dot{
  color: var(--gold2, #C9922A);
  opacity: 0.65;
  font-size: 16px;
  line-height: 0;
  letter-spacing: 0;
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
}



.loading-overlay-v7 .lcv7-cities{
  display: inline-flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 6px 14px;
  margin: 22px auto 0;
  padding: 0 8px;
  max-width: 780px;
  font-family: 'Outfit', sans-serif;
  font-size: 11px;
  font-weight: 500;
  letter-spacing: 0.26em;
  text-transform: uppercase;
}
.loading-overlay-v7 .lcv7-cities[hidden]{ display: none; }
.loading-overlay-v7 .lcv7-city-chip{
  color: rgba(244, 239, 231, 0.42);
  transition: all .5s cubic-bezier(.22, 1, .36, 1);
  letter-spacing: 0.26em;
  position: relative;
}

.loading-overlay-v7 .lcv7-city-chip::after{
  content: '';
  position: absolute; left: 0; right: 0; bottom: -6px;
  height: 1px;
  background: linear-gradient(90deg, transparent, var(--gold2, #C9922A), transparent);
  opacity: 0;
  transition: opacity .5s ease;
}
.loading-overlay-v7 .lcv7-city-chip.is-active{
  color: var(--gold2, #C9922A);
  text-shadow: 0 0 22px rgba(201, 146, 42, 0.38);
}
.loading-overlay-v7 .lcv7-city-chip.is-active::after{ opacity: 0.7; }
.loading-overlay-v7 .lcv7-city-sep{
  color: rgba(201, 146, 42, 0.35);
  font-size: 8px;
  letter-spacing: 0;
}
@media (max-width: 600px){
  .loading-overlay-v7 .lcv7-cities{
    font-size: 10.5px;
    letter-spacing: 0.10em;
    gap: 5px 7px;
    margin-top: 12px;
  }
}


.loading-overlay-v7 .lcv7-days{
  position: relative; z-index: 3;
  display: flex; flex-wrap: wrap;
  gap: 10px;
  justify-content: center;
  padding: 12px clamp(20px, 4vw, 44px) 14px;
  max-width: 1100px;
  margin: 0 auto;
  counter-reset: daycounter;
}

.loading-overlay-v7 .lcv7-days .lc-dot{
  position: relative;
  width: clamp(64px, 8.5vw, 92px);
  min-height: 64px;
  padding: 10px 12px 11px;
  border-radius: 12px;
  background: rgba(20, 14, 10, 0.42);
  border: 1px solid rgba(244, 239, 231, 0.10);
  color: rgba(244, 239, 231, 0.62);
  display: flex; flex-direction: column;
  align-items: flex-start; justify-content: space-between;
  font-family: 'Outfit', sans-serif;
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  backdrop-filter: blur(14px) saturate(120%);
  -webkit-backdrop-filter: blur(14px) saturate(120%);
  transition: all .4s cubic-bezier(.22, 1, .36, 1);
  opacity: 0;
  transform: translateY(8px);
  animation: lcv7-card-in 560ms cubic-bezier(.22, 1, .36, 1) forwards;
}
.loading-overlay-v7 .lcv7-days .lc-dot::before{
  content: counter(daycounter);
  counter-increment: daycounter;
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-size: 17px;
  font-weight: 500;
  text-transform: none;
  letter-spacing: 0;
  color: rgba(244, 239, 231, 0.5);
  line-height: 1;
  margin-bottom: 2px;
}
.loading-overlay-v7 .lcv7-days .lc-dot::after{
  content: 'Pendiente';
  font-size: 9px;
  font-weight: 500;
  letter-spacing: 0.18em;
  
  color: rgba(244, 239, 231, 0.62);
}
.loading-overlay-v7 .lcv7-days .lc-dot.loading{
  background: rgba(212, 106, 58, 0.18);
  border-color: rgba(212, 106, 58, 0.6);
  color: #F4EFE7;
  box-shadow: 0 6px 22px rgba(212, 106, 58, 0.22);
  transform: translateY(0) scale(1.02);
}
.loading-overlay-v7 .lcv7-days .lc-dot.loading::before{ color: var(--terracotta, #D46A3A); }
.loading-overlay-v7 .lcv7-days .lc-dot.loading::after{ content: 'Generando…'; color: var(--terracotta, #D46A3A); }
.loading-overlay-v7 .lcv7-days .lc-dot.done{
  background: rgba(201, 146, 42, 0.16);
  border-color: rgba(201, 146, 42, 0.55);
  color: #F4EFE7;
  box-shadow: 0 6px 22px rgba(201, 146, 42, 0.18);
}
.loading-overlay-v7 .lcv7-days .lc-dot.done::before{ color: var(--gold2, #C9922A); }
.loading-overlay-v7 .lcv7-days .lc-dot.done::after{ content: '✓ Listo'; color: var(--gold2, #C9922A); letter-spacing: 0.06em; }
.loading-overlay-v7 .lcv7-days .lc-dot.error{
  background: rgba(196, 78, 78, 0.16);
  border-color: rgba(196, 78, 78, 0.5);
}
.loading-overlay-v7 .lcv7-days .lc-dot.error::after{ content: '⚠ Reintentando'; color: #FFB4B4; }

@keyframes lcv7-card-in{
  from { opacity: 0; transform: translateY(12px); }
  to   { opacity: 1; transform: translateY(0); }
}


.loading-overlay-v7 .lcv7-progress{
  position: relative; z-index: 3;
  margin: 0 auto clamp(24px, 5vh, 56px);
  padding: 14px clamp(20px, 4vw, 44px) 12px;
  max-width: 640px; width: 100%;
  display: flex; flex-direction: column;
  gap: 8px;
  animation: lcv7-fade-up 900ms cubic-bezier(.22, 1, .36, 1) 400ms both;
}
@keyframes lcv7-fade-up{
  from { opacity: 0; transform: translateY(14px); }
  to   { opacity: 1; transform: translateY(0); }
}
.loading-overlay-v7 .lcv7-progress-row{
  display: flex; justify-content: space-between; align-items: baseline;
  font-family: 'Outfit', sans-serif;
}
.loading-overlay-v7 .lcv7-progress-label{
  font-size: 10.5px;
  font-weight: 600;
  letter-spacing: 0.22em;
  text-transform: uppercase;
  
  color: rgba(244, 239, 231, 0.78);
}

.loading-overlay-v7 .lcv7-cancel{
  display: inline-block;
  margin: 14px auto 0;
  padding: 9px 18px;
  background: transparent;
  border: 1px solid rgba(244, 239, 231, 0.35);
  border-radius: 999px;
  color: rgba(244, 239, 231, 0.82);
  font-family: 'Outfit', sans-serif;
  font-size: 11.5px;
  font-weight: 500;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  cursor: pointer;
  transition: all .25s ease;
  align-self: center;
}
.loading-overlay-v7 .lcv7-cancel:hover{
  background: rgba(244, 239, 231, 0.08);
  border-color: rgba(244, 239, 231, 0.55);
  color: #F4EFE7;
}
.loading-overlay-v7 .lcv7-cancel[hidden]{ display: none; }
.loading-overlay-v7 .lcv7-progress-pct{
  font-family: 'Playfair Display', Georgia, serif;
  font-style: italic;
  font-weight: 500;
  font-size: 17px;
  color: var(--gold2, #C9922A);
  font-variant-numeric: tabular-nums;
}

.loading-overlay-v7 .lcv7-track{
  position: relative;
  height: 2px;
  border-radius: 1px;
  background: rgba(244, 239, 231, 0.08);
  overflow: hidden;
}
.loading-overlay-v7 .lcv7-fill{
  height: 100%;
  width: 0%;
  background: linear-gradient(90deg,
    var(--terracotta, #D46A3A) 0%,
    #E8A055 60%,
    var(--gold2, #C9922A) 100%);
  border-radius: 1px;
  transition: width .16s linear;
  
  box-shadow: 0 0 20px rgba(201, 146, 42, 0.55);
  animation: lcv7-fill-pulse 3.2s ease-in-out infinite;
}
@keyframes lcv7-fill-pulse{
  0%, 100% { box-shadow: 0 0 16px rgba(201, 146, 42, 0.42); }
  50%      { box-shadow: 0 0 26px rgba(201, 146, 42, 0.68); }
}

.loading-overlay-v7 .lcv7-shimmer{ display: none; }
.loading-overlay-v7 .lcv7-activity{
  display: flex; align-items: center; gap: 10px;
  margin-top: 4px;
  font-family: 'Outfit', sans-serif;
  font-size: 12.5px;
  color: rgba(244, 239, 231, 0.78);
  line-height: 1.45;
  letter-spacing: 0.02em;
}
.loading-overlay-v7 .lcv7-act-dot{
  flex-shrink: 0;
  width: 6px; height: 6px;
  border-radius: 50%;
  background: var(--terracotta, #D46A3A);
  animation: lcv7-blink 1.4s ease-in-out infinite;
}
@keyframes lcv7-blink{
  0%, 100% { opacity: 1; }
  50%      { opacity: 0.25; }
}
.loading-overlay-v7 .lc-activity-text{ transition: opacity .3s ease; }
.loading-overlay-v7 .lc-activity-text.changing{ opacity: 0; }


@media (max-width: 600px){
  .loading-overlay-v7 .lcv7-bento{
    grid-template-rows: 1.4fr 0.6fr;
    padding: 12px;
    gap: 8px;
  }
  .loading-overlay-v7 .lcv7-cell-1{
    grid-column: 1 / span 8; grid-row: 1;
  }
  .loading-overlay-v7 .lcv7-cell-4{
    grid-column: 1 / span 4; grid-row: 2;
  }
  .loading-overlay-v7 .lcv7-cell-5{
    grid-column: 5 / span 4; grid-row: 2;
  }
  .loading-overlay-v7 .lcv7-hero{
    padding-top: 14vh;
    padding-bottom: 8px;
  }
  .loading-overlay-v7 .lcv7-prefix{
    font-size: 11px;
    letter-spacing: 0.14em;
    margin-bottom: 8px;
  }
  .loading-overlay-v7 .lcv7-dest{
    font-size: clamp(34px, 10vw, 52px);
  }
  .loading-overlay-v7 .lcv7-meta{
    font-size: 11px;
    letter-spacing: 0.12em;
    margin-top: 16px;
  }
  .loading-overlay-v7 .lcv7-eyebrow{
    font-size: 10px;
    letter-spacing: 0.28em;
    margin-bottom: 14px;
  }
  .loading-overlay-v7 .lcv7-days{
    padding: 8px 14px 10px;
    gap: 7px;
  }
  .loading-overlay-v7 .lcv7-days .lc-dot{
    width: calc((100% / 4) - 7px);
    min-height: 48px;
    padding: 6px 8px 7px;
  }
}


@media (prefers-reduced-motion: reduce){
  .loading-overlay-v7 .lcv7-cell{
    animation: lcv7-cell-fade-in 400ms ease both !important;
    transform: none !important;
  }
  @keyframes lcv7-cell-fade-in{
    from { opacity: 0; } to { opacity: 1; }
  }
  .loading-overlay-v7 .lcv7-cell-1.is-active{
    animation: lcv7-cell-fade-in 400ms ease both !important;
  }
  .loading-overlay-v7 .lcv7-dest em{ animation: none; }
  .loading-overlay-v7 .lcv7-shimmer,
  .loading-overlay-v7 .lcv7-act-dot{ animation: none; }
}


.loading-overlay-v7.loading-overlay{ background: #FDFAF5; }


.loading-overlay-v7 .lcv7-grade{
  background:
    radial-gradient(ellipse 92% 72% at 50% 46%,
      rgba(253, 250, 245, 0.88) 0%,
      rgba(253, 250, 245, 0.74) 60%,
      rgba(253, 250, 245, 0.82) 100%),
    linear-gradient(180deg,
      rgba(253, 250, 245, 0.58) 0%,
      rgba(253, 250, 245, 0.40) 32%,
      rgba(253, 250, 245, 0.80) 100%);
}

.loading-overlay-v7 .lcv7-trail,
.loading-overlay-v7 .lcv7-trail-fallback{ display: none !important; }


.loading-overlay-v7 .lcv7-hero{ color: #241C17; }
.loading-overlay-v7 .lcv7-eyebrow{ color: #B85128; opacity: 1; }
.loading-overlay-v7 .lcv7-prefix{ color: rgba(36, 28, 23, 0.6); }
.loading-overlay-v7 .lcv7-dest{ color: #241C17; }

.loading-overlay-v7 .lcv7-dest em{
  background: none;
  -webkit-background-clip: border-box;
  background-clip: border-box;
  -webkit-text-fill-color: #B85128;
  color: #B85128;
  animation: none;
}
.loading-overlay-v7 .lcv7-dest em.is-typing::after{
  color: #B85128; -webkit-text-fill-color: #B85128;
}
.loading-overlay-v7 .lcv7-meta{ color: rgba(36, 28, 23, 0.6); }
.loading-overlay-v7 .lcv7-meta-dot{ color: #C9922A; opacity: 0.85; }


.loading-overlay-v7 .lcv7-city-chip{ color: rgba(36, 28, 23, 0.45); }
.loading-overlay-v7 .lcv7-city-chip.is-active{
  color: #B85128;
  text-shadow: 0 0 18px rgba(184, 81, 40, 0.22);
}


.loading-overlay-v7 .lcv7-days .lc-dot{
  background: rgba(255, 255, 255, 0.55);
  border-color: rgba(36, 28, 23, 0.12);
  color: rgba(36, 28, 23, 0.62);
  box-shadow: 0 6px 18px -10px rgba(36, 28, 23, 0.25);
}
.loading-overlay-v7 .lcv7-days .lc-dot::before{ color: rgba(36, 28, 23, 0.5); }
.loading-overlay-v7 .lcv7-days .lc-dot::after{ color: rgba(36, 28, 23, 0.6); }
.loading-overlay-v7 .lcv7-days .lc-dot.loading{
  background: rgba(212, 106, 58, 0.14);
  color: #8A3B1C;
}
.loading-overlay-v7 .lcv7-days .lc-dot.done{
  background: rgba(201, 146, 42, 0.16);
  color: rgba(36, 28, 23, 0.82);
}


.loading-overlay-v7 .lcv7-progress-label{ color: rgba(36, 28, 23, 0.7); }
.loading-overlay-v7 .lcv7-progress-pct{ color: #B85128; }
.loading-overlay-v7 .lcv7-track{ background: rgba(36, 28, 23, 0.1); }
.loading-overlay-v7 .lcv7-activity{ color: rgba(36, 28, 23, 0.72); }
.loading-overlay-v7 .lcv7-cancel{
  border-color: rgba(36, 28, 23, 0.28);
  color: rgba(36, 28, 23, 0.72);
}
.loading-overlay-v7 .lcv7-cancel:hover{
  background: rgba(36, 28, 23, 0.06);
  border-color: rgba(36, 28, 23, 0.5);
  color: #241C17;
}


.loading-overlay-v7 .loading-title,
.loading-overlay-v7 .lc-sub,
.loading-overlay-v7 #loadingQuote,
.loading-overlay-v7 #loadingQuoteAttr,
.loading-overlay-v7 .lc-activity-text{ color: #241C17; }




.home-sec{ width:100%; padding:74px 24px 86px; position:relative; }
.home-sec--white{ background:var(--white); }
.home-sec--cream{ background:var(--cream); }
.home-sec--white::before,
.home-sec--cream::before{
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--border),transparent);
}
.home-sec-inner{ max-width:1040px; margin:0 auto; }
.home-sec-head{ text-align:center; max-width:640px; margin:0 auto 48px; display:flex; flex-direction:column; align-items:center; }
.home-eyebrow{
  display:inline-flex; align-items:center; gap:7px;
  padding:6px 15px 6px 12px; border-radius:999px;
  background:rgba(212,106,58,0.08); border:1px solid rgba(212,106,58,0.22);
  color:var(--terracotta); font:600 11.5px/1 'Outfit',sans-serif;
  letter-spacing:.06em; box-shadow:0 1px 2px rgba(28,43,58,0.05); margin-bottom:18px;
}
.home-eyebrow::before{ content:'\2726'; color:var(--gold); font-size:11px; line-height:1; }
.home-sec-title{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-size:clamp(24px,3.4vw,34px); font-weight:700; color:var(--ink);
  line-height:1.18; letter-spacing:-.012em; margin:0;
}
.home-sec-title em{ font-style:italic; color:var(--terracotta); }
.home-sec-sub{
  margin:14px auto 0; max-width:540px; font:400 15px/1.6 'Outfit',sans-serif; color:var(--ink2);
}


.hw-steps{
  list-style:none; margin:0; padding:0;
  display:grid; grid-template-columns:repeat(3,1fr); gap:28px; position:relative;
}

.hw-steps::before{
  content:''; position:absolute; top:25px; left:16%; right:16%; height:2px;
  background:repeating-linear-gradient(90deg,rgba(212,106,58,.32) 0 7px,transparent 7px 14px);
  z-index:0;
}
.hw-step{ text-align:center; position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; }
.hw-num{
  width:52px; height:52px; border-radius:50%; display:flex; align-items:center; justify-content:center;
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif; font-size:21px; font-weight:700; color:#fff;
  background:linear-gradient(135deg,#D46A3A,#B85128);
  box-shadow:0 10px 22px -8px rgba(184,81,40,.55), 0 0 0 6px var(--cream);
  margin-bottom:18px;
}
.home-sec--white .hw-num{ box-shadow:0 10px 22px -8px rgba(184,81,40,.55), 0 0 0 6px var(--white); }
.hw-step-title{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif; font-size:17px; font-weight:700;
  color:var(--ink); margin:0 0 8px; line-height:1.25;
}
.hw-step-body{ font:400 13.5px/1.6 'Outfit',sans-serif; color:var(--ink2); max-width:240px; margin:0; }


.dx-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; align-items:start; }
.dx-card{
  background:var(--white); border:1px solid var(--border); border-radius:18px; overflow:hidden;
  box-shadow:0 6px 22px -14px rgba(28,25,23,.18);
  transition:box-shadow .28s ease, transform .28s ease, border-color .28s ease;
}
.dx-card:hover{ box-shadow:0 18px 46px -18px rgba(28,25,23,.30); transform:translateY(-4px); border-color:var(--border2); }
.dx-head{ position:relative; height:120px; overflow:hidden; }
.dx-svg{ position:absolute; inset:0; width:100%; height:100%; display:block; }
.dx-head-italy{ background:linear-gradient(135deg,#E8B07A,#C2643A); }
.dx-head-japan{ background:linear-gradient(135deg,#E3B7AE,#B5726A); }
.dx-head-portugal{ background:linear-gradient(135deg,#9DBCC8,#43687C); }
.dx-badge{
  position:absolute; left:14px; bottom:12px; z-index:1;
  display:inline-block; padding:6px 13px; border-radius:999px;
  background:rgba(253,250,245,.92); color:var(--ink);
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif; font-size:14px; font-weight:700;
  letter-spacing:-.01em; box-shadow:0 4px 12px rgba(28,25,23,.18); backdrop-filter:blur(3px);
}
.dx-body{ padding:18px 18px 16px; }
.dx-meta{ font:600 11px/1 'Outfit',sans-serif; letter-spacing:.04em; text-transform:uppercase; color:var(--terracotta); margin-bottom:14px; }
.dx-days{ list-style:none; margin:0 0 16px; padding:0; display:flex; flex-direction:column; gap:0; }
.dx-days li{
  display:flex; align-items:center; gap:11px; position:relative;
  padding:9px 0; border-bottom:1px solid var(--border);
}
.dx-days li:last-child{ border-bottom:0; }
.dx-t{ font:600 11.5px/1 'Outfit',sans-serif; color:var(--ink3); min-width:38px; }
.dx-a{ font:500 13px/1.35 'Outfit',sans-serif; color:var(--ink); flex:1; }
.dx-dot{ width:7px; height:7px; border-radius:50%; flex-shrink:0; }
.dx-foot{ display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.dx-chip{
  display:inline-flex; align-items:center; padding:5px 11px; border-radius:999px;
  font:600 11.5px/1 'Outfit',sans-serif; color:var(--terracotta);
  background:var(--terra3); border:1px solid rgba(212,106,58,.18);
}
.dx-chip-ghost{ color:var(--ink2); background:transparent; border-color:var(--border2); }
.dx-note{ text-align:center; margin:30px auto 0; font:400 12.5px/1.5 'Outfit',sans-serif; color:var(--ink3); }


.bx-grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:16px; }
.bx-cell{
  background:var(--white); border:1px solid var(--border); border-radius:16px; padding:24px 22px;
  display:flex; flex-direction:column; gap:11px;
  transition:box-shadow .25s ease, border-color .25s ease, transform .25s ease;
}
.home-sec--white .bx-cell{ background:var(--cream); }
.bx-cell:hover{ box-shadow:0 12px 34px -16px rgba(28,25,23,.22); border-color:var(--border2); transform:translateY(-3px); }
.bx-ico{ width:42px; height:42px; border-radius:11px; display:flex; align-items:center; justify-content:center; flex-shrink:0; }
.bx-t{ font-family:'Playfair Display','Playfair Fallback',Georgia,serif; font-size:16px; font-weight:700; color:var(--ink); margin:0; line-height:1.25; }
.bx-b{ font:400 13px/1.6 'Outfit',sans-serif; color:var(--ink2); margin:0; }


.home-fq-inner{ max-width:760px; }
.fq-list{ display:flex; flex-direction:column; gap:12px; }
.fq-item{
  background:var(--white); border:1px solid var(--border); border-radius:14px;
  padding:0 20px; overflow:hidden; transition:border-color .2s ease, box-shadow .2s ease;
}
.fq-item[open]{ border-color:var(--border2); box-shadow:0 8px 26px -16px rgba(28,25,23,.22); }
.fq-q{
  list-style:none; cursor:pointer; display:flex; align-items:center; justify-content:space-between; gap:16px;
  padding:18px 0; font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-size:16px; font-weight:700; color:var(--ink); line-height:1.3;
}
.fq-q::-webkit-details-marker{ display:none; }
.fq-q:focus-visible{ outline:3px solid rgba(212,106,58,.4); outline-offset:3px; border-radius:6px; }
.fq-mark{ position:relative; width:16px; height:16px; flex-shrink:0; }
.fq-mark::before,
.fq-mark::after{
  content:''; position:absolute; background:var(--terracotta); border-radius:2px;
  transition:transform .25s cubic-bezier(.16,1,.3,1), opacity .2s ease;
}
.fq-mark::before{ top:7px; left:0; width:16px; height:2px; }
.fq-mark::after{ top:0; left:7px; width:2px; height:16px; }
.fq-item[open] .fq-mark::after{ transform:scaleY(0); opacity:0; }
.fq-a{
  padding:0 0 20px; font:400 14px/1.65 'Outfit',sans-serif; color:var(--ink2); max-width:62ch;
  animation:fqReveal .26s ease;
}
@keyframes fqReveal{ from{ opacity:0; transform:translateY(-4px); } to{ opacity:1; transform:none; } }


.home-fcta{
  background:
    radial-gradient(120% 140% at 50% 0%, rgba(212,106,58,.10), transparent 60%),
    linear-gradient(180deg, var(--cream), #FBF1E4);
  text-align:center; overflow:hidden; padding:82px 24px 92px;
}
.home-fcta::before{
  content:''; position:absolute; top:0; left:0; right:0; height:1px;
  background:linear-gradient(90deg,transparent,var(--border),transparent);
}
.fcta-glow{
  position:absolute; left:50%; top:36%; width:560px; height:300px; transform:translate(-50%,-50%);
  background:radial-gradient(closest-side, rgba(227,154,51,.20), rgba(212,106,58,.10) 55%, transparent 72%);
  filter:blur(8px); pointer-events:none; z-index:0;
}
.fcta-inner{ position:relative; z-index:1; display:flex; flex-direction:column; align-items:center; }
.fcta-title{
  font-family:'Playfair Display','Playfair Fallback',Georgia,serif;
  font-size:clamp(28px,4.4vw,46px); font-weight:700; color:var(--ink);
  line-height:1.12; letter-spacing:-.015em; margin:0; max-width:16ch;
}
.fcta-title em{ font-style:italic; color:var(--terracotta); }
.fcta-sub{ margin:16px auto 30px; max-width:480px; font:400 16px/1.6 'Outfit',sans-serif; color:var(--ink2); }
.fcta-btn{ font-size:17px; padding:17px 34px; }
.fcta-note{ margin-top:16px; display:inline-flex; align-items:center; gap:7px; font:500 13px/1.4 'Outfit',sans-serif; color:var(--ink3); }
.fcta-note::before{ content:'\2726';color:var(--gold);font-size:12px}@media (max-width:900){.dx-grid{grid-template-columns:1fr;max-width:440;margin:0 auto}.bx-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:640){.home-sec{padding:54px 18px 62px}.home-sec-head{margin-bottom:36px}.bx-grid{grid-template-columns:1fr}.hw-steps{grid-template-columns:1fr;gap:14px;max-width:420;margin:0 auto}.hw-steps::before{display:none}.hw-step{display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:16px;row-gap:3px;align-items:center;text-align:left;background:var(--cream);border:1px solid var(--border);border-radius:14px;padding:16px 18px}.home-sec--white .hw-step{background:var(--cream)}.hw-num{grid-column:1;grid-row:1 / span 2;align-self:center;margin-bottom:0;width:46px;height:46px;font-size:18px;box-shadow:0 8px 18px -8px rgba(184,81,40,.55)}.hw-step-title{grid-column:2;grid-row:1;margin-bottom:0}.hw-step-body{grid-column:2;grid-row:2;max-width:none}.fcta-glow{width:360}}@media (prefers-reduced-motion:reduce){.dx-card,.bx-cell,.fq-item,.fq-mark::before,.fq-mark::after{transition:none}.dx-card:hover,.bx-cell:hover{transform:none}.fq-a{animation:none}}body.app-active #homeHowItWorks,body.app-active #homeDesignExamples,body.app-active #homeIncluded,body.app-active #homeFaq,body.app-active #homeFinalCta{display:none!important}