
  :root{
    --brown-dark:#20140b;
    --brown:#4a3423;
    --brown-soft:#7a5c3e;
    --gold:#d9a441;
    --gold-light:#f0c96a;
    --river-blue:#123044;
    --cream:#faf6ee;
    --cream-soft:#f3ead9;
    --text-dark:#241a10;
    /* Alias --bc-* para el panel de chat de reservas (booking-chat.css),
       compartido con planchon/bote/odontologia con sus propios colores. */
    --bc-dark:var(--brown-dark);
    --bc-gold:var(--gold);
    --bc-gold-light:var(--gold-light);
    --bc-bg:var(--cream);
    --bc-card-bg:#fff;
    --bc-text:var(--text-dark);
  }
  *{box-sizing:border-box;margin:0;padding:0;}
  html{scroll-behavior:smooth;}
  body{
    font-family:'Poppins', sans-serif;
    background:var(--cream);
    color:var(--text-dark);
    line-height:1.65;
    overflow-x:hidden;
  }
  h1,h2,h3{font-family:'Playfair Display', serif;}
  img{max-width:100%;display:block;}

  nav{
    position:sticky; top:0; z-index:100;
    background:rgba(32,20,11,0.95);
    backdrop-filter:blur(6px);
    padding:12px 6vw;
    display:flex; align-items:center; justify-content:space-between;
    box-shadow:0 2px 18px rgba(0,0,0,0.25);
  }
  .logo{display:flex;align-items:center;gap:10px;}
  .logo img{width:40px;height:40px;border-radius:50%;object-fit:cover;}
  .logo-text{color:var(--gold-light);font-family:'Playfair Display', serif;font-weight:700;font-size:1.25rem;}
  .logo-text small{display:block;font-family:'Poppins',sans-serif;font-weight:400;font-size:0.65rem;color:var(--cream-soft);opacity:0.75;letter-spacing:0.5px;}
  nav a.cta-nav{
    background:linear-gradient(135deg, var(--gold-light), var(--gold));
    color:var(--brown-dark); padding:10px 20px; border-radius:30px;
    text-decoration:none; font-weight:600; font-size:0.85rem;
    box-shadow:0 4px 14px rgba(217,164,65,0.35); transition:transform .2s; white-space:nowrap;
  }
  nav a.cta-nav:hover{transform:translateY(-2px);}
  .nav-actions{display:flex;align-items:center;gap:10px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);}
  @media (max-width:900px){nav{flex-wrap:wrap;row-gap:8px;}.nav-actions{position:static;transform:none;margin-left:auto;flex-wrap:wrap;justify-content:flex-end;row-gap:8px;}}
  nav a.cta-nav-secondary{
    background:rgba(250,246,238,0.06);
    color:var(--gold-light);
    border:1.5px solid var(--gold-light);
    padding:9px 18px; border-radius:30px;
    text-decoration:none; font-weight:600; font-size:0.85rem;
    white-space:nowrap; transition:all .2s ease;
    display:inline-flex; align-items:center; gap:6px;
  }
  nav a.cta-nav-secondary svg{width:15px;height:15px;flex-shrink:0;}
  nav a.cta-nav-secondary:hover{
    background:var(--gold-light); color:var(--brown-dark);
    transform:translateY(-2px);
    box-shadow:0 4px 14px rgba(217,164,65,0.3);
  }

  .hero-content{position:relative;z-index:2;color:var(--cream); padding:40px 24px; max-width:760px;}
  .hero-content .flag-line{width:70px;height:5px;background:linear-gradient(90deg, #FCD116 34%, #003893 34%, #003893 67%, #CE1126 67%);margin:0 auto 20px;border-radius:3px;}
  .badge-location{
    display:inline-block; background:rgba(240,201,106,0.12); border:1px solid rgba(240,201,106,0.4);
    color:var(--gold-light); padding:6px 16px; border-radius:20px; font-size:0.78rem; letter-spacing:0.5px;
    text-transform:uppercase; margin-bottom:18px; font-weight:600;
  }
  .hero-content h1{font-size:3rem;line-height:1.15;margin-bottom:16px;text-shadow:0 4px 18px rgba(0,0,0,0.5);}
  .hero-content p{font-size:1.08rem;opacity:0.92;margin-bottom:28px;}
  .hero-ctas{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;}
  .btn-primary{
    display:inline-block; background:linear-gradient(135deg, var(--gold-light), var(--gold));
    color:var(--brown-dark); padding:15px 34px; border-radius:32px; text-decoration:none;
    font-weight:700; letter-spacing:0.3px; box-shadow:0 10px 28px rgba(217,164,65,0.4);
    transition:transform .2s, box-shadow .2s; border:none; cursor:pointer; font-size:0.95rem;
  }
  .btn-primary:hover{transform:translateY(-3px);}
  .btn-secondary{
    display:inline-block; background:transparent; color:var(--cream); padding:15px 30px;
    border-radius:32px; text-decoration:none; font-weight:600; border:1.5px solid rgba(250,246,238,0.55);
    transition:background .2s; font-size:0.95rem;
  }
  .btn-secondary:hover{background:rgba(250,246,238,0.12);}

  .info-strip{
    background:var(--river-blue); color:var(--cream); padding:22px 6vw;
    display:flex; flex-wrap:wrap; justify-content:center; gap:36px; text-align:center; font-size:0.88rem;
  }
  .info-strip .chip{display:flex; align-items:center; gap:8px;}
  .info-strip .chip b{color:var(--gold-light);}

  .highlight-bar{
    background:#f0c96a1a; border-top:1px solid #d9a44155; border-bottom:1px solid #d9a44155;
    padding:34px 6vw; text-align:center;
  }
  .highlight-bar h3{font-size:1.4rem;color:var(--brown-dark);margin-bottom:12px;}
  .highlight-bar .bullets{display:flex;flex-wrap:wrap;justify-content:center;gap:24px;text-align:left;max-width:900px;margin:0 auto;}
  .highlight-bar .bullets .b{display:flex;align-items:center;gap:10px;}
  .highlight-bar .bullets .dot{width:8px;height:8px;border-radius:50%;background:var(--gold);flex-shrink:0;}
  .highlight-bar .bullets p{font-size:0.94rem;color:var(--brown);margin:0;}

  .section{padding:70px 6vw; max-width:1200px; margin:0 auto;}
  .section-head{text-align:center;max-width:680px;margin:0 auto 44px;}
  .section-head .eyebrow{text-transform:uppercase;letter-spacing:3px;font-size:0.78rem;color:var(--brown-soft);font-weight:600;margin-bottom:10px;}
  .section-head h2{font-size:2.1rem;color:var(--brown-dark);margin-bottom:12px;}
  .section-head p{color:#6b5a45;font-size:1rem;}

  /* Franja de features (iconos + texto corto) — mismo componente
     usado en planchon.html y bote.html, para mantener consistencia
     visual entre los 3 servicios turísticos. */
  .features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;max-width:960px;margin:36px auto 0;padding:0 6vw;}
  @media (max-width:760px){.features-grid{grid-template-columns:repeat(2,1fr);}}
  .feature-item{text-align:center;padding:20px 12px;border-radius:14px;background:#fff;border:1px solid #e4dac6;transition:transform .3s ease, box-shadow .3s ease;}
  .feature-item:hover{transform:translateY(-5px);box-shadow:0 14px 30px rgba(43,29,18,0.14);}
  .feature-item .feature-icon{width:44px;height:44px;border-radius:50%;background:rgba(217,164,65,0.12);display:flex;align-items:center;justify-content:center;margin:0 auto 12px;}
  .feature-item .feature-icon svg{width:22px;height:22px;stroke:var(--gold);}
  .feature-item span{font-size:0.84rem;font-weight:600;color:var(--brown-dark);line-height:1.35;display:block;}
  .features-grid .feature-item.reveal:nth-child(2){transition-delay:.08s;}
  .features-grid .feature-item.reveal:nth-child(3){transition-delay:.16s;}
  .features-grid .feature-item.reveal:nth-child(4){transition-delay:.24s;}

  .gallery{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:170px;gap:12px;}
  .gallery figure{overflow:hidden;border-radius:12px;position:relative;margin:0;box-shadow:0 8px 24px rgba(43,29,18,0.15);}
  .gallery img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
  .gallery figure:hover img{transform:scale(1.08);}
  .gallery figure.wide{grid-column:span 2;}
  .gallery figure.tall{grid-row:span 2;}
  @media (max-width:860px){
    .gallery{grid-template-columns:repeat(2,1fr);grid-auto-rows:150px;}
    .gallery figure.wide{grid-column:span 2;}
    .gallery figure.tall{grid-row:span 1;}
  }

  .pricing-section{background:linear-gradient(180deg, var(--cream-soft), var(--cream));}
  .pricing-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;}
  @media (max-width:960px){.pricing-grid{grid-template-columns:repeat(2,1fr);}}
  @media (max-width:560px){.pricing-grid{grid-template-columns:1fr;}}
  .price-card{
    background:#fff;border-radius:14px;padding:26px 22px;border:1px solid #e4dac6;
    display:flex;flex-direction:column;gap:14px;position:relative;
  }
  .price-card.featured{border:2px solid var(--gold);box-shadow:0 12px 30px rgba(217,164,65,0.2);}
  .price-card .tag{
    position:absolute;top:-12px;left:50%;transform:translateX(-50%);
    background:var(--gold);color:var(--brown-dark);font-size:0.72rem;font-weight:700;
    padding:4px 14px;border-radius:14px;letter-spacing:0.3px;white-space:nowrap;
  }
  .price-card .plan-name{font-size:1.05rem;font-weight:600;color:var(--brown-dark);}
  .price-card .plan-hours{font-size:0.82rem;color:var(--brown-soft);}
  .price-card .plan-price{font-family:'Playfair Display',serif;font-size:1.8rem;color:var(--brown-dark);}
  .price-card .plan-price span{font-size:0.85rem;font-family:'Poppins',sans-serif;color:var(--brown-soft);font-weight:400;}
  .price-card ul{list-style:none;display:flex;flex-direction:column;gap:7px;flex-grow:1;}
  .price-card ul li{font-size:0.85rem;color:var(--text-dark);padding-left:18px;position:relative;}
  .price-card ul li::before{content:"✓";position:absolute;left:0;color:var(--gold);font-weight:700;}
  .price-card .btn-primary{padding:11px;font-size:0.85rem;text-align:center;}

  .calc-card{
    background:#fff;border-radius:16px;box-shadow:0 20px 50px rgba(43,29,18,0.14);
    padding:36px 32px;border-top:5px solid var(--gold);max-width:640px;margin:0 auto;
  }
  .calc-row{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;}
  .calc-row label{font-size:0.85rem;font-weight:600;color:var(--brown);}
  .calc-row select,.calc-row input{
    padding:12px 14px;border:1.5px solid #e4dac6;border-radius:9px;font-size:16px;
    font-family:inherit;background:#fdfbf7;
  }
  .calc-row select:focus,.calc-row input:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(217,164,65,0.16);}
  .calc-result{
    background:var(--cream-soft);border-radius:12px;padding:20px;margin-top:6px;text-align:center;
  }
  .calc-result .total{font-family:'Playfair Display',serif;font-size:2.1rem;color:var(--brown-dark);}
  .calc-result .per-person{font-size:0.88rem;color:var(--brown-soft);margin-top:4px;}
  .calc-note{font-size:0.78rem;color:#a3927a;margin-top:14px;text-align:center;}

  .cta-band{
    background:var(--river-blue); color:var(--cream); text-align:center; padding:56px 6vw;
  }
  .cta-band h2{font-size:1.9rem;margin-bottom:12px;}
  .cta-band p{opacity:0.85;margin-bottom:26px;max-width:560px;margin-left:auto;margin-right:auto;}

  .form-section{background:linear-gradient(180deg, var(--cream-soft), var(--cream));padding:70px 6vw 100px;}
  .form-wrap{max-width:640px;margin:0 auto;}
  .card{background:#fff;border-radius:16px;box-shadow:0 20px 50px rgba(43,29,18,0.16);padding:40px 36px;border-top:5px solid var(--gold);}
  .card h3{color:var(--brown-dark);font-size:1.4rem;margin-bottom:6px;}
  .card .subtitle{color:#8a795f;font-size:0.9rem;margin-bottom:26px;}
  .field{margin-bottom:18px;}
  .field label{display:block;font-size:0.85rem;font-weight:600;color:var(--brown);margin-bottom:7px;}
  .field .req{color:#c0392b;}
  .field input,.field select,.field textarea{
    width:100%;padding:12px 16px;border:1.5px solid #e4dac6;border-radius:9px;
    font-size:16px;font-family:inherit;background:#fdfbf7;
  }
  .field input:focus,.field select:focus,.field textarea:focus{outline:none;border-color:var(--gold);box-shadow:0 0 0 4px rgba(217,164,65,0.16);}
  .row-2{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
  @media (max-width:560px){.row-2{grid-template-columns:1fr;} .hero-content h1{font-size:2rem;} .card{padding:26px 20px;}}
  .contact-pref{display:flex;gap:14px;flex-wrap:wrap;margin-top:6px;}
  .contact-pref label{display:flex;align-items:center;gap:6px;font-weight:500;font-size:0.85rem;background:var(--cream-soft);padding:8px 14px;border-radius:20px;cursor:pointer;}
  .contact-pref input[type="radio"]{width:auto;accent-color:var(--gold);}
  button.submit-btn{
    width:100%;padding:16px;margin-top:10px;background:linear-gradient(135deg, var(--gold-light), var(--gold));
    color:var(--brown-dark);font-weight:700;font-size:1rem;border:none;border-radius:9px;cursor:pointer;
    box-shadow:0 10px 24px rgba(217,164,65,0.35);
  }
  .privacy-note{font-size:0.76rem;color:#a3927a;text-align:center;margin-top:16px;}

  footer{background:var(--brown-dark);color:var(--cream-soft);text-align:center;padding:38px 20px;}
  footer .flag-line{width:60px;height:4px;background:linear-gradient(90deg, #FCD116 34%, #003893 34%, #003893 67%, #CE1126 67%);margin:0 auto 16px;border-radius:2px;}
  footer strong{color:var(--gold-light);font-family:'Playfair Display', serif;font-size:1.1rem;}
  footer p{font-size:0.83rem;opacity:0.75;margin-top:6px;}

  
  /* --- Premium polish additions --- */
  .icon{width:15px;height:15px;display:inline-block;vertical-align:-2px;margin-right:5px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}

  .reveal{opacity:0;transform:translateY(26px);transition:opacity .8s cubic-bezier(.2,.7,.3,1), transform .8s cubic-bezier(.2,.7,.3,1);}
  .reveal.visible{opacity:1;transform:translateY(0);}
  .gallery figure.reveal:nth-child(2n){transition-delay:.08s;}
  .gallery figure.reveal:nth-child(3n){transition-delay:.16s;}
  .pricing-grid .price-card.reveal:nth-child(2){transition-delay:.08s;}
  .pricing-grid .price-card.reveal:nth-child(3){transition-delay:.16s;}
  .pricing-grid .price-card.reveal:nth-child(4){transition-delay:.24s;}

  nav{transition:box-shadow .3s ease, padding .3s ease;}
  nav.scrolled{box-shadow:0 6px 28px rgba(0,0,0,0.4);}

  .hero{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center;text-align:center;min-height:82vh;}
  .hero-bg{
    position:absolute;inset:-4%;
    background-image:linear-gradient(180deg, rgba(18,10,5,0.4) 0%, rgba(18,10,5,0.8) 88%), url('../../images/optimized/richysbar-hero-sunset.webp');
    background-size:cover;background-position:center 55%;
    animation:kenburns 22s ease-in-out infinite alternate;
  }
  @keyframes kenburns{0%{transform:scale(1);}100%{transform:scale(1.09);}}
  @media (prefers-reduced-motion: reduce){.hero-bg{animation:none;}}
  .scroll-cue{
    position:absolute;bottom:22px;left:50%;transform:translateX(-50%);
    color:var(--gold-light);opacity:0.85;animation:bob 2.2s ease-in-out infinite;z-index:2;
  }
  @keyframes bob{0%,100%{transform:translate(-50%,0);}50%{transform:translate(-50%,8px);}}

  .lightbox{
    position:fixed;inset:0;background:rgba(12,7,4,0.94);display:flex;align-items:center;justify-content:center;
    z-index:999;opacity:0;pointer-events:none;transition:opacity .3s ease;padding:26px;cursor:zoom-out;
  }
  .lightbox.open{opacity:1;pointer-events:auto;}
  .lightbox img{max-width:92vw;max-height:88vh;border-radius:10px;box-shadow:0 24px 70px rgba(0,0,0,0.55);}
  .gallery figure{cursor:zoom-in;}

  .mobile-cta{display:none;}
  @media (max-width:720px){
    .mobile-cta{
      display:flex;position:fixed;bottom:0;left:0;right:0;z-index:90;
      background:rgba(32,20,11,0.97);backdrop-filter:blur(8px);padding:12px 16px;
      box-shadow:0 -6px 24px rgba(0,0,0,0.35);
    }
    .mobile-cta a{flex:1;text-align:center;}
    body{padding-bottom:74px;}
    /* Deja aire bajo el hero para que el texto no quede tapado por
       la barra fija (.mobile-cta) + el boton flotante de WhatsApp. */
    .hero{padding-bottom:150px;}
  }

  .calc-result .total{transition:transform .25s ease;}
  .calc-result .total.pulse{transform:scale(1.06);}

  .price-card{transition:transform .3s ease, box-shadow .3s ease;}
  .price-card:hover{transform:translateY(-6px);box-shadow:0 18px 40px rgba(43,29,18,0.18);}
  .price-card.featured{position:relative;}
  .price-card.featured::after{
    content:"";position:absolute;inset:-2px;border-radius:16px;z-index:-1;
    background:linear-gradient(135deg, var(--gold-light), transparent 60%);opacity:.35;filter:blur(10px);
  }

  footer{padding:0;}
  .footer-inner{
    max-width:1100px;margin:0 auto;padding:52px 6vw 30px;
    display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;text-align:left;
  }
  @media (max-width:760px){.footer-inner{grid-template-columns:1fr 1fr;}}
  @media (max-width:480px){.footer-inner{grid-template-columns:1fr;text-align:center;}}
  .footer-brand p{color:#b8a98f;font-size:0.85rem;margin-top:10px;line-height:1.6;}
  .footer-col h5{color:var(--gold-light);font-family:'Playfair Display',serif;font-size:0.95rem;margin-bottom:10px;font-weight:600;}
  .footer-col p{color:#c9baa4;font-size:0.83rem;margin-bottom:8px;line-height:1.6;}
  .footer-bottom{
    border-top:1px solid rgba(250,246,238,0.1);padding:18px 6vw;text-align:center;
    color:#8a795f;font-size:0.78rem;
  }

  /* --- Llamativo v2 additions --- */

  /* Divider flourish under eyebrow labels */
  .divider{display:flex;align-items:center;justify-content:center;gap:10px;margin:2px auto 18px;}
  .divider .line{width:34px;height:1px;background:linear-gradient(90deg, transparent, var(--gold), transparent);}
  .divider .diamond{width:6px;height:6px;background:var(--gold);transform:rotate(45deg);flex-shrink:0;}
  .menu-section .divider .line{background:linear-gradient(90deg, transparent, var(--gold-light), transparent);}
  .menu-section .divider .diamond{background:var(--gold-light);}

  /* Nav accent line */
  nav{position:sticky;}
  nav::after{content:"";position:absolute;left:0;right:0;bottom:0;height:2px;background:linear-gradient(90deg, transparent, var(--gold-light) 20%, var(--gold) 50%, var(--gold-light) 80%, transparent);opacity:.55;}

  /* Hero heading gradient accent + responsive scale */
  .hero-content h1{font-size:clamp(2.1rem, 5vw, 3.4rem);}
  .hero-content h1 em{font-style:normal;background:linear-gradient(135deg, var(--gold-light), var(--gold));-webkit-background-clip:text;background-clip:text;color:transparent;}

  /* Button arrow micro-interaction */
  .arrow{display:inline-block;transition:transform .25s ease;margin-left:6px;}
  .btn-primary:hover .arrow, .btn-secondary:hover .arrow, .cta-nav:hover .arrow{transform:translateX(4px);}
  .btn-primary:hover{box-shadow:0 14px 34px rgba(217,164,65,0.55);}

  /* Gallery caption overlay */
  .gallery figcaption{
    position:absolute;left:0;right:0;bottom:0;padding:30px 14px 12px;
    background:linear-gradient(180deg, transparent, rgba(10,6,3,0.85));
    color:var(--cream);font-size:0.82rem;font-weight:600;letter-spacing:.2px;
    transform:translateY(6px);opacity:0.9;transition:transform .35s ease, opacity .35s ease;
  }
  .gallery figure:hover figcaption{transform:translateY(0);opacity:1;}

  /* Price card accent bar */
  .price-card{border-top:4px solid var(--gold-light);}
  .price-card.featured{border-top:4px solid var(--gold);}

  /* Section edge accents for contrast blocks */
  .menu-section{border-top:1px solid rgba(240,201,106,0.18);border-bottom:1px solid rgba(240,201,106,0.18);}
  .cta-band{border-top:1px solid rgba(240,201,106,0.15);border-bottom:1px solid rgba(240,201,106,0.15);}
  .info-strip{border-bottom:1px solid rgba(240,201,106,0.15);}

  /* Cómo funciona / steps section */
  .steps-section{background:linear-gradient(180deg, var(--cream), var(--cream-soft));}
  .steps-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;max-width:1000px;margin:0 auto;}
  @media (max-width:760px){.steps-grid{grid-template-columns:1fr;}}
  .step-card{
    background:#fff;border-radius:16px;padding:34px 26px;text-align:center;
    box-shadow:0 10px 30px rgba(43,29,18,0.1);border:1px solid #f0e6d0;
    transition:transform .3s ease, box-shadow .3s ease;
  }
  .step-card:hover{transform:translateY(-6px);box-shadow:0 16px 38px rgba(43,29,18,0.16);}
  .step-num{
    width:46px;height:46px;border-radius:50%;background:linear-gradient(135deg, var(--gold-light), var(--gold));
    color:var(--brown-dark);font-family:'Playfair Display',serif;font-weight:700;font-size:1.25rem;
    display:flex;align-items:center;justify-content:center;margin:0 auto 18px;box-shadow:0 8px 18px rgba(217,164,65,0.35);
  }
  .step-card h3{font-size:1.15rem;color:var(--brown-dark);margin-bottom:8px;}
  .step-card p{font-size:0.88rem;color:#6b5a45;}

  /* --- Conversión v3 additions --- */

  .urgency-bar{
    background:linear-gradient(90deg, var(--gold), var(--gold-light));
    color:var(--brown-dark);text-align:center;padding:9px 6vw;font-size:0.85rem;font-weight:600;
    display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap;
  }
  .urgency-bar .icon{stroke:var(--brown-dark);}
  .urgency-bar strong{font-family:'Playfair Display',serif;}

  .why-us-section{padding-top:0;padding-bottom:30px;}
  .why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
  @media (max-width:900px){.why-grid{grid-template-columns:1fr 1fr;}}
  @media (max-width:520px){.why-grid{grid-template-columns:1fr;}}
  .why-card{
    text-align:center;padding:26px 18px;background:#fff;border-radius:14px;
    box-shadow:0 8px 24px rgba(43,29,18,0.08);border:1px solid #f0e6d0;
    transition:transform .3s ease, box-shadow .3s ease;
  }
  .why-card:hover{transform:translateY(-5px);box-shadow:0 14px 32px rgba(43,29,18,0.14);}
  .why-icon{
    width:26px;height:26px;margin:0 auto 14px;stroke:var(--brown-dark);
    background:linear-gradient(135deg, var(--gold-light), var(--gold));
    border-radius:50%;padding:12px;box-sizing:content-box;
  }
  .why-card h4{font-family:'Playfair Display',serif;font-size:1.02rem;color:var(--brown-dark);margin-bottom:8px;}
  .why-card p{font-size:0.85rem;color:#6b5a45;line-height:1.55;}

  .per-person-hint{
    font-size:0.78rem;color:var(--gold);font-weight:600;margin-top:-8px;
  }

  .share-widget{margin-top:16px;}
  .share-label{color:#c9baa4;font-size:0.8rem;margin-bottom:8px;}
  .share-buttons{display:flex;gap:10px;flex-wrap:wrap;}
  .share-btn{
    display:inline-flex;align-items:center;gap:6px;background:rgba(240,201,106,0.1);
    border:1px solid rgba(240,201,106,0.35);color:var(--gold-light);font-size:0.8rem;font-weight:600;
    padding:8px 14px;border-radius:20px;cursor:pointer;text-decoration:none;
    font-family:inherit;transition:background .2s ease;
  }
  .share-btn:hover{background:rgba(240,201,106,0.2);}
  .share-btn .icon{width:13px;height:13px;margin-right:0;}

  .fab-cta{
    position:fixed;right:28px;bottom:28px;z-index:95;
    background:linear-gradient(135deg, var(--gold-light), var(--gold));
    color:var(--brown-dark);padding:15px 26px;border-radius:32px;text-decoration:none;
    font-weight:700;font-size:0.92rem;box-shadow:0 12px 30px rgba(217,164,65,0.45);
    display:inline-flex;align-items:center;opacity:0;pointer-events:none;
    transform:translateY(16px);transition:opacity .3s ease, transform .3s ease;
  }
  .fab-cta.visible{opacity:1;pointer-events:auto;transform:translateY(0);}
  .fab-cta:hover{transform:translateY(-3px);}
  @media (max-width:720px){.fab-cta{display:none;}}

  /* Botón flotante "Cómo llegar" — mismo patrón de aparición que
     .fab-cta (scroll listener compartido), apilado justo encima. */
  .fab-map{
    position:fixed;right:28px;bottom:96px;z-index:95;
    background:rgba(250,246,238,0.97);color:var(--brown-dark);
    padding:12px 22px;border-radius:32px;text-decoration:none;border:1.5px solid var(--gold);
    font-weight:700;font-size:0.85rem;box-shadow:0 10px 26px rgba(0,0,0,0.3);
    display:inline-flex;align-items:center;gap:8px;opacity:0;pointer-events:none;
    transform:translateY(16px);transition:opacity .3s ease, transform .3s ease, background .2s ease;
  }
  .fab-map svg{width:16px;height:16px;flex-shrink:0;}
  .fab-map.visible{opacity:1;pointer-events:auto;transform:translateY(0);}
  .fab-map:hover{transform:translateY(-3px);background:var(--gold-light);}
  @media (max-width:720px){.fab-map{display:none;}}

  /* Botón flotante WhatsApp — siempre visible (no depende del
     scroll listener de fab-cta/fab-map), apilado encima de ambos.
     Número centralizado de Santfrancisco (Twilio); mensaje
     pre-cargado específico de Bar Flotante Richy's. En móvil se
     recoloca junto al mobile-cta y colapsa a solo ícono. */
  .whatsapp-fab{
    position:fixed;right:28px;bottom:164px;z-index:95;
    display:inline-flex;align-items:center;gap:9px;
    background:#25D366;color:#fff;font-weight:700;font-size:0.85rem;
    padding:13px 20px;border-radius:32px;text-decoration:none;
    box-shadow:0 10px 26px rgba(37,211,102,0.4);
    transition:transform .25s ease, box-shadow .25s ease;
  }
  .whatsapp-fab:hover{transform:translateY(-3px);box-shadow:0 14px 32px rgba(37,211,102,0.5);}
  .whatsapp-fab svg{flex-shrink:0;}
  @media (max-width:720px){
    .whatsapp-fab{right:16px;bottom:86px;padding:13px;border-radius:50%;box-shadow:0 8px 22px rgba(37,211,102,0.45);}
    .whatsapp-fab-text{display:none;}
  }
  .mobile-cta{gap:10px;}
  .mobile-cta .btn-secondary{padding:12px 14px;font-size:0.82rem;display:inline-flex;align-items:center;justify-content:center;gap:6px;}
  .mobile-cta .btn-secondary svg{width:15px;height:15px;flex-shrink:0;}

  /* --- Deposit notes --- */
  .deposit-footnote{
    text-align:center;font-size:0.82rem;color:#8a795f;margin-top:22px;max-width:720px;
    margin-left:auto;margin-right:auto;
  }
  .deposit-reminder{
    font-size:0.78rem;color:#b8722f;font-weight:600;margin-top:8px;
    background:rgba(217,164,65,0.12);border:1px solid rgba(217,164,65,0.3);
    padding:8px 12px;border-radius:8px;
  }
  .punctuality-note{
    font-size:0.82rem;color:#2f6b5e;font-weight:500;text-align:center;
    background:rgba(58,157,93,0.1);border:1px solid rgba(58,157,93,0.28);
    padding:10px 14px;border-radius:8px;margin-top:16px;
  }


