:root{
      --ink:#20131b;
      --muted:#765d6a;
      --soft:#fff7fb;
      --cream:#fff4df;
      --pink:#f24ca8;
      --hot:#ff2f92;
      --rose:#ffd7ed;
      --gold:#e7bd58;
      --gold2:#ffe39a;
      --green:#39a963;
      --line:rgba(32,19,27,.12);
      --shadow:0 25px 80px rgba(121, 42, 88, .18);
      --radius:32px;
      --ease:cubic-bezier(.19,1,.22,1);
    }
    *{box-sizing:border-box}
    html{scroll-behavior:smooth}
    body{
      margin:0;
      color:var(--ink);
      font-family: ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
      background:
        radial-gradient(circle at 8% 8%, rgba(255,92,177,.18), transparent 26%),
        radial-gradient(circle at 92% 18%, rgba(255,216,112,.28), transparent 26%),
        linear-gradient(120deg,#fff8eb,#fff2fb 45%,#fff8e8);
      overflow-x:hidden;
    }
    body::before{
      content:"";
      position:fixed; inset:0;
      background-image:
        linear-gradient(rgba(32,19,27,.055) 1px, transparent 1px),
        linear-gradient(90deg, rgba(32,19,27,.055) 1px, transparent 1px);
      background-size:52px 52px;
      mask-image:linear-gradient(to bottom, black, transparent 85%);
      pointer-events:none;
      z-index:-2;
    }
    body::after{
      content:"";
      position:fixed; inset:-20%;
      background:radial-gradient(circle at var(--mx,50%) var(--my,30%), rgba(255,255,255,.7), transparent 23%);
      pointer-events:none;
      z-index:-1;
    }
    a{color:inherit;text-decoration:none}
    img{display:block;max-width:100%}
    button,input,select,textarea{font:inherit}
    .page{
      width:min(1440px, calc(100% - 32px));
      margin:auto;
    }
    .nav{
      position:fixed;
      z-index:20;
      top:16px;
      left:50%;
      transform:translateX(-50%);
      width:min(1320px, calc(100% - 28px));
      height:82px;
      border:1px solid rgba(255,255,255,.75);
      background:rgba(255,250,244,.72);
      backdrop-filter: blur(22px);
      -webkit-backdrop-filter: blur(22px);
      border-radius:999px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      padding:10px 14px 10px 12px;
      box-shadow:0 18px 60px rgba(105,63,77,.14);
    }
    .brand{
      display:flex; align-items:center; gap:14px; min-width:220px;
    }
    .logo{
      width:60px; height:60px; border-radius:50%;
      border:5px solid #fff;
      overflow:hidden;
      background:#ffbfde;
      box-shadow:0 12px 24px rgba(242,76,168,.23);
      flex:0 0 60px;
    }
    .brand b{display:block;font-weight:950;letter-spacing:-.04em;font-size:20px}
    .brand span{display:block;font-weight:900;letter-spacing:.22em;color:var(--pink);font-size:11px;margin-top:2px;text-transform:uppercase}
    .navlinks{display:flex;gap:36px;align-items:center;font-weight:950;font-size:12px;letter-spacing:.22em;text-transform:uppercase}
    .nav-actions{display:flex;align-items:center;gap:10px}
    .pill{
      border:none;
      border-radius:999px;
      padding:17px 24px;
      font-weight:950;
      background:#fff;
      box-shadow:inset 0 0 0 1px var(--line);
      cursor:pointer;
      transition:.4s var(--ease);
      white-space:nowrap;
    }
    .pill:hover{transform:translateY(-3px);box-shadow:0 16px 35px rgba(32,19,27,.12)}
    .pill.primary{
      background:linear-gradient(135deg,var(--pink),#fe8390);
      color:#fff;
      box-shadow:0 18px 42px rgba(242,76,168,.34);
    }
    .bag{
      min-width:54px;
      display:flex;align-items:center;justify-content:center;gap:8px;
    }
    .hamb{display:none;width:52px;height:52px;border-radius:50%;border:1px solid var(--line);background:#fff;font-weight:950}
    .mobile-menu{
      position:fixed; z-index:19; top:108px; left:16px; right:16px;
      padding:18px;
      border-radius:28px;
      background:rgba(255,255,255,.92);
      border:1px solid var(--line);
      box-shadow:var(--shadow);
      transform:translateY(-20px);
      opacity:0;
      pointer-events:none;
      transition:.35s var(--ease);
      display:none;
    }
    .mobile-menu.open{transform:translateY(0);opacity:1;pointer-events:auto}
    .mobile-menu a{display:block;padding:14px 10px;font-weight:950;border-bottom:1px solid var(--line)}
    .hero{
      min-height:100vh;
      display:grid;
      grid-template-columns:minmax(0,1fr) minmax(420px, 650px);
      gap:42px;
      align-items:center;
      padding:134px 0 70px;
      position:relative;
    }
    .eyebrow{
      display:flex;align-items:center;gap:14px;
      color:var(--pink);
      font-weight:950;
      letter-spacing:.26em;
      text-transform:uppercase;
      font-size:12px;
      margin-bottom:22px;
    }
    .eyebrow::before{content:"";width:54px;height:3px;background:var(--pink);border-radius:999px}
    h1{
      margin:0;
      font-size:clamp(58px, 8.2vw, 126px);
      line-height:.88;
      letter-spacing:-.085em;
      max-width:820px;
    }
    h1 .script{
      display:inline-block;
      color:var(--pink);
      letter-spacing:-.05em;
      font-style:italic;
      font-weight:850;
      transform:skewX(-6deg);
      text-shadow:0 10px 35px rgba(242,76,168,.25);
    }
    .hero p{
      color:var(--muted);
      font-size:clamp(18px,2vw,23px);
      line-height:1.55;
      max-width:630px;
      margin:28px 0 0;
    }
    .cta-row{display:flex;gap:12px;flex-wrap:wrap;margin-top:34px}
    .stats{
      display:grid;
      grid-template-columns:repeat(3, minmax(0,1fr));
      gap:12px;
      margin-top:34px;
      max-width:680px;
    }
    .stat{
      border:1px solid var(--line);
      background:rgba(255,255,255,.62);
      border-radius:22px;
      padding:18px;
      box-shadow:0 18px 50px rgba(80,37,57,.08);
    }
    .stat strong{display:block;font-size:28px;letter-spacing:-.05em}
    .stat span{display:block;color:var(--muted);font-weight:850;font-size:12px;text-transform:uppercase;letter-spacing:.12em}
    .visual{
      position:relative;
      min-height:650px;
      perspective:1000px;
    }
    .blob{
      position:absolute;
      border-radius:48px;
      overflow:hidden;
      box-shadow:var(--shadow);
      border:8px solid rgba(255,255,255,.9);
      background:#fff;
      transition:transform .2s ease-out;
    }
    .blob img{width:100%;height:100%;object-fit:cover}
    .blob.main{width:78%;height:72%;right:3%;top:6%;border-radius:58px}
    .blob.small{width:38%;height:34%;left:2%;top:2%;transform:rotate(-5deg)}
    .blob.tall{width:34%;height:52%;left:8%;bottom:6%;transform:rotate(5deg)}
    .quote-card{
      position:absolute;
      z-index:3;
      right:0; bottom:42px;
      width:min(360px,70%);
      border-radius:28px;
      background:rgba(32,19,27,.9);
      color:#fff;
      padding:28px;
      box-shadow:0 24px 70px rgba(32,19,27,.32);
      backdrop-filter:blur(10px);
    }
    .quote-card span{display:block;color:#ffd9ef;font-weight:950;letter-spacing:.25em;text-transform:uppercase;font-size:11px}
    .quote-card b{display:block;font-size:30px;line-height:.96;letter-spacing:-.06em;margin-top:12px}
    .spark{
      position:absolute;border-radius:50%;
      background:linear-gradient(135deg,#fff,var(--gold2));
      box-shadow:0 14px 35px rgba(231,189,88,.3);
      animation:floaty 5s ease-in-out infinite;
    }
    .spark.one{width:96px;height:96px;right:50%;top:8%}
    .spark.two{width:44px;height:44px;right:8%;top:2%;animation-delay:-1.4s}
    .spark.three{width:64px;height:64px;left:3%;bottom:42%;animation-delay:-2.6s}
    @keyframes floaty{0%,100%{transform:translateY(0) scale(1)}50%{transform:translateY(-18px) scale(1.04)}}
    .marquee{
      width:100vw;
      margin-left:calc(50% - 50vw);
      border-block:1px solid var(--line);
      background:rgba(255,255,255,.58);
      overflow:hidden;
      white-space:nowrap;
      position:relative;
    }
    .marquee-track{
      display:flex;width:max-content;
      animation:marquee 28s linear infinite;
    }
    .marquee span{
      display:inline-flex;align-items:center;gap:18px;
      padding:16px 18px;
      font-weight:950;
      letter-spacing:.18em;
      color:var(--pink);
      text-transform:uppercase;
      font-size:13px;
    }
    .marquee i{width:5px;height:5px;background:var(--gold);border-radius:50%;display:inline-block}
    @keyframes marquee{to{transform:translateX(-50%)}}
    section{padding:96px 0}
    .section-head{
      display:flex; justify-content:space-between; align-items:flex-end;
      gap:28px; margin-bottom:34px;
    }
    h2{
      margin:0;
      font-size:clamp(42px,5.6vw,88px);
      line-height:.92;
      letter-spacing:-.075em;
    }
    .section-head p{max-width:520px;color:var(--muted);font-size:18px;line-height:1.55;margin:0}
    .grid{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:16px;
    }
    .rental-card{
      position:relative;
      min-height:360px;
      border-radius:34px;
      overflow:hidden;
      background:#fff;
      box-shadow:0 24px 80px rgba(93,44,69,.10);
      border:1px solid rgba(255,255,255,.72);
      transform:translateZ(0);
    }
    .rental-card::after{
      content:"";
      position:absolute;inset:0;
      background:linear-gradient(to top, rgba(32,19,27,.78), transparent 58%);
      pointer-events:none;
    }
    .rental-card img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform 1.2s var(--ease)}
    .rental-card:hover img{transform:scale(1.08)}
    .rental-info{
      position:absolute;z-index:2;left:20px;right:20px;bottom:20px;color:#fff;
    }
    .rental-info small{font-weight:950;color:#ffd5ef;letter-spacing:.18em;text-transform:uppercase}
    .rental-info h3{font-size:26px;line-height:.98;letter-spacing:-.05em;margin:8px 0 16px}
    .rental-info .price{
      display:flex;align-items:center;justify-content:space-between;gap:12px;
      border-radius:20px;
      background:rgba(255,255,255,.14);
      border:1px solid rgba(255,255,255,.2);
      padding:10px 10px 10px 14px;
      backdrop-filter:blur(8px);
    }
    .mini-btn{
      border:none;
      border-radius:999px;
      background:#fff;
      color:var(--ink);
      padding:10px 14px;
      font-weight:950;
      cursor:pointer;
    }
    .wide{grid-column:span 2}
    .booking-wrap{
      display:grid;
      grid-template-columns:minmax(0,.78fr) minmax(0,1fr);
      border-radius:48px;
      overflow:hidden;
      border:1px solid rgba(255,255,255,.78);
      box-shadow:var(--shadow);
      background:rgba(255,255,255,.6);
    }
    .booking-copy{
      background:linear-gradient(150deg,#22131d,#4a1640 70%,#e84ba7);
      color:#fff;
      padding:56px;
      min-height:720px;
      position:relative;
      overflow:hidden;
    }
    .booking-copy::before{
      content:"";
      position:absolute;inset:-20%;
      background:
        radial-gradient(circle at 20% 10%, rgba(255,255,255,.2), transparent 18%),
        radial-gradient(circle at 80% 70%, rgba(255,214,106,.2), transparent 18%);
      animation:slowspin 14s linear infinite;
    }
    @keyframes slowspin{to{transform:rotate(360deg)}}
    .booking-copy > *{position:relative;z-index:1}
    .booking-copy h2{font-size:clamp(44px,5vw,78px);color:#fff}
    .booking-copy p{color:rgba(255,255,255,.78);font-size:19px;line-height:1.62;max-width:500px}
    .checks{display:grid;gap:14px;margin-top:34px}
    .check{display:flex;align-items:center;gap:14px;font-weight:950}
    .check i{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--gold);color:var(--ink);font-style:normal}
    .booking-form{
      padding:56px;
      background:rgba(255,250,244,.82);
    }
    .form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
    label{display:block;font-weight:950;letter-spacing:.16em;text-transform:uppercase;color:#7b6c65;font-size:12px;margin:0 0 8px}
    input,select,textarea{
      width:100%;
      border:1px solid var(--line);
      background:rgba(255,255,255,.78);
      border-radius:18px;
      padding:17px 18px;
      outline:none;
      color:var(--ink);
      transition:.25s ease;
    }
    input:focus,select:focus,textarea:focus{border-color:var(--pink);box-shadow:0 0 0 4px rgba(242,76,168,.14)}
    textarea{min-height:120px;resize:vertical}
    .full{grid-column:1/-1}
    .addons{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:12px;
      margin:4px 0 0;
    }
    .addon{
      border:1px solid var(--line);
      border-radius:18px;
      padding:14px 16px;
      display:flex;
      align-items:center;
      gap:14px;
      min-height:72px;
      background:rgba(255,255,255,.68);
      cursor:pointer;
      margin:0;
      color:var(--ink);
      letter-spacing:normal;
      text-transform:none;
      font-size:14px;
      font-weight:850;
      user-select:none;
      transition:background .25s ease, border-color .25s ease, transform .25s ease, box-shadow .25s ease;
    }
    .addon:hover{
      transform:translateY(-2px);
      border-color:rgba(242,76,168,.34);
      box-shadow:0 14px 35px rgba(121,42,88,.10);
    }
    .addon input[type="checkbox"]{
      position:absolute;
      opacity:0;
      pointer-events:none;
      width:1px;
      height:1px;
      padding:0;
      margin:0;
    }
    .addon .tick{
      width:20px;
      height:20px;
      border:2px solid rgba(32,19,27,.28);
      border-radius:7px;
      flex:0 0 20px;
      display:grid;
      place-items:center;
      background:#fff;
      transition:background .25s ease, border-color .25s ease, transform .25s ease;
    }
    .addon .tick::after{
      content:"";
      width:9px;
      height:5px;
      border-left:3px solid #fff;
      border-bottom:3px solid #fff;
      transform:rotate(-45deg) scale(0);
      transition:transform .22s var(--ease);
      margin-top:-2px;
    }
    .addon:has(input:checked){
      border-color:rgba(242,76,168,.45);
      background:linear-gradient(135deg, rgba(255,255,255,.94), rgba(255,229,245,.88));
      box-shadow:0 16px 42px rgba(242,76,168,.12);
    }
    .addon:has(input:checked) .tick{
      background:var(--pink);
      border-color:var(--pink);
      transform:scale(1.04);
    }
    .addon:has(input:checked) .tick::after{transform:rotate(-45deg) scale(1)}
    .addon-copy{display:block;line-height:1.25}
    .addon-copy strong{display:block;font-size:14px;letter-spacing:.12em;text-transform:uppercase;color:#75616d}
    .addon-copy span{display:block;color:var(--muted);font-size:12px;font-weight:900;letter-spacing:.12em;text-transform:uppercase;margin-top:3px}
    .estimate{
      margin-top:18px;
      border-radius:22px;
      background:linear-gradient(135deg,#fff,#ffe3f3);
      border:1px solid var(--line);
      padding:18px;
      display:flex;
      align-items:center;
      justify-content:space-between;
      gap:18px;
    }
    .estimate span{color:var(--muted);font-weight:900}
    .estimate b{font-size:34px;letter-spacing:-.06em}
    .submit{
      width:100%;
      border:none;
      border-radius:999px;
      padding:19px 22px;
      color:#fff;
      background:linear-gradient(135deg,var(--pink),#f75d78);
      font-weight:950;
      margin-top:18px;
      box-shadow:0 20px 50px rgba(242,76,168,.28);
      cursor:pointer;
      transition:.35s var(--ease);
    }
    .submit:hover{transform:translateY(-4px);filter:saturate(1.1)}
    .note{font-size:12px;color:var(--muted);line-height:1.5;margin-top:12px}
    .proof{
      display:grid;
      grid-template-columns:repeat(3,minmax(0,1fr));
      gap:16px;
    }
    .proof-card{
      border:1px solid var(--line);
      background:rgba(255,255,255,.58);
      border-radius:30px;
      padding:28px;
      min-height:220px;
      box-shadow:0 20px 60px rgba(93,44,69,.08);
    }
    .proof-card b{display:block;font-size:36px;letter-spacing:-.05em}
    .proof-card p{color:var(--muted);line-height:1.55;margin-bottom:0}
    .gallery{
      display:grid;
      grid-template-columns:1.15fr .85fr 1fr;
      grid-auto-rows:220px;
      gap:16px;
    }
    .shot{
      border-radius:34px;
      overflow:hidden;
      position:relative;
      background:#fff;
      box-shadow:0 22px 70px rgba(80,37,57,.1);
    }
    .shot img{width:100%;height:100%;object-fit:cover;transition:transform 1.3s var(--ease)}
    .shot:hover img{transform:scale(1.06)}
    .shot:nth-child(1){grid-row:span 2}
    .shot:nth-child(3){grid-row:span 2}
    .shot:nth-child(5){grid-column:span 2}
    .process{
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:14px;
    }
    .step{
      border-radius:30px;
      border:1px solid var(--line);
      background:rgba(255,255,255,.58);
      padding:26px;
      min-height:250px;
      position:relative;
      overflow:hidden;
    }
    .step::after{
      content:attr(data-step);
      position:absolute;right:18px;bottom:-18px;
      font-size:110px;font-weight:950;letter-spacing:-.08em;
      color:rgba(242,76,168,.11);
    }
    .step b{font-size:22px;line-height:1;letter-spacing:-.04em;display:block}
    .step p{color:var(--muted);line-height:1.55}
    footer{
      padding:70px 0 28px;
      color:#fff;
      background:#1f131b;
      margin-top:40px;
      border-radius:52px 52px 0 0;
    }
    .footer-grid{
      width:min(1320px, calc(100% - 32px));
      margin:auto;
      display:grid;
      grid-template-columns:1.2fr .7fr .7fr .8fr;
      gap:32px;
    }
    footer h3{font-size:44px;line-height:.95;letter-spacing:-.07em;margin:0 0 18px}
    footer p, footer a{color:rgba(255,255,255,.74);line-height:1.7}
    footer b{display:block;color:#fff;margin-bottom:12px;text-transform:uppercase;letter-spacing:.18em;font-size:12px}
    .foot-bottom{
      width:min(1320px, calc(100% - 32px));
      margin:42px auto 0;
      border-top:1px solid rgba(255,255,255,.1);
      padding-top:22px;
      display:flex;justify-content:space-between;gap:18px;flex-wrap:wrap;
      color:rgba(255,255,255,.58);
      font-weight:800;
    }
    .float-call{
      position:fixed;z-index:12;right:22px;bottom:22px;
      border:none;border-radius:999px;
      background:#20131b;color:#fff;
      padding:17px 23px;font-weight:950;
      box-shadow:0 18px 45px rgba(32,19,27,.26);
    }
    .modal{
      position:fixed; inset:0; z-index:40;
      background:rgba(32,19,27,.45);
      display:grid; place-items:center;
      padding:22px;
      opacity:0; pointer-events:none;
      transition:.28s ease;
    }
    .modal.open{opacity:1;pointer-events:auto}
    .modal-card{
      width:min(620px,100%);
      background:#fffaf4;
      border-radius:36px;
      padding:28px;
      box-shadow:0 40px 100px rgba(32,19,27,.35);
      transform:translateY(20px) scale(.97);
      transition:.35s var(--ease);
    }
    .modal.open .modal-card{transform:translateY(0) scale(1)}
    .modal-top{display:flex;justify-content:space-between;align-items:center;gap:14px}
    .modal-card h3{font-size:36px;letter-spacing:-.06em;margin:0}
    .modal-close{width:44px;height:44px;border:none;border-radius:50%;background:#20131b;color:#fff;font-weight:950;cursor:pointer}
    .summary{
      margin:18px 0;
      background:#fff;
      border:1px solid var(--line);
      border-radius:22px;
      padding:18px;
      white-space:pre-wrap;
      line-height:1.55;
      color:#3c2733;
    }
    .copy-btn{width:100%;border:none;border-radius:999px;background:var(--pink);color:#fff;padding:16px;font-weight:950;cursor:pointer}
    .reveal{opacity:0;transform:translateY(42px);transition:1s var(--ease)}
    .reveal.show{opacity:1;transform:translateY(0)}
    @media (max-width:1100px){
      .hero{grid-template-columns:1fr;min-height:auto}
      .visual{min-height:600px;order:-1;margin-top:20px}
      .grid{grid-template-columns:repeat(2,minmax(0,1fr))}
      .booking-wrap{grid-template-columns:1fr}
      .booking-copy{min-height:auto}
      .proof,.process{grid-template-columns:repeat(2,minmax(0,1fr))}
      .footer-grid{grid-template-columns:1fr 1fr}
    }
    @media (max-width:760px){
      .page{width:min(100% - 22px, 520px)}
      .nav{top:10px;height:72px;width:calc(100% - 20px)}
      .brand{min-width:auto}
      .brand b{font-size:15px}
      .brand span{font-size:9px;letter-spacing:.16em}
      .logo{width:50px;height:50px;flex-basis:50px}
      .navlinks{display:none}
      .hamb{display:block}
      .mobile-menu{display:block}
      .pill{padding:14px 17px}
      .nav-actions .call{display:none}
      .hero{padding-top:104px;gap:20px}
      h1{font-size:clamp(50px,18vw,78px)}
      .hero p{font-size:17px}
      .stats{grid-template-columns:1fr}
      .visual{min-height:520px}
      .blob.main{width:88%;height:58%;right:0;top:8%}
      .blob.small{width:44%;height:26%;left:0;top:0}
      .blob.tall{width:42%;height:36%;left:3%;bottom:10%}
      .quote-card{width:76%;right:4%;bottom:10px;padding:22px}
      .quote-card b{font-size:24px}
      section{padding:70px 0}
      .section-head{display:block}
      .section-head p{margin-top:18px}
      .grid,.proof,.process{grid-template-columns:1fr}
      .wide{grid-column:auto}
      .rental-card{min-height:420px}
      .booking-copy,.booking-form{padding:30px}
      .form-grid,.addons{grid-template-columns:1fr}
      .gallery{grid-template-columns:1fr;grid-auto-rows:300px}
      .shot,.shot:nth-child(1),.shot:nth-child(3),.shot:nth-child(5){grid-column:auto;grid-row:auto}
      .footer-grid{grid-template-columns:1fr}
      .foot-bottom{display:block}
    }

/* WP booking additions */
.admin-bar .nav{top:48px}.foa-container{width:min(1320px,calc(100% - 32px));margin:auto}.package-archive,.single-package,.booking-page{padding:134px 0 80px}.package-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.package-card{position:relative;min-height:420px;border-radius:34px;overflow:hidden;background:#fff;box-shadow:0 24px 80px rgba(93,44,69,.10);border:1px solid rgba(255,255,255,.72)}.package-card:after{content:"";position:absolute;inset:0;background:linear-gradient(to top,rgba(32,19,27,.82),transparent 58%)}.package-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.package-card-body{position:absolute;z-index:2;left:20px;right:20px;bottom:20px;color:#fff}.package-card-body small{font-weight:950;color:#ffd5ef;letter-spacing:.18em;text-transform:uppercase}.package-card-body h3{font-size:28px;line-height:.98;letter-spacing:-.05em;margin:8px 0 14px}.package-card-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;border-radius:20px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.2);padding:10px 10px 10px 14px;backdrop-filter:blur(8px)}.single-package-hero{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1fr);gap:34px;align-items:start}.single-package-media{border-radius:42px;overflow:hidden;border:8px solid rgba(255,255,255,.9);box-shadow:var(--shadow);background:#fff}.single-package-media img{width:100%;height:min(680px,70vh);object-fit:cover}.single-package-content{border-radius:42px;background:rgba(255,250,244,.82);border:1px solid rgba(255,255,255,.75);box-shadow:0 24px 80px rgba(93,44,69,.10);padding:44px}.single-package-content h1{font-size:clamp(42px,5.8vw,82px)}.single-package-content p,.single-package-content li{color:var(--muted);line-height:1.65}.single-package-content ul{padding-left:20px}.package-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px}.foa-booking-shell{display:grid;grid-template-columns:minmax(0,.42fr) minmax(0,.58fr);border-radius:48px;overflow:hidden;border:1px solid rgba(255,255,255,.78);box-shadow:var(--shadow);background:rgba(255,255,255,.65)}.foa-booking-sidebar{background:linear-gradient(150deg,#22131d,#4a1640 70%,#e84ba7);color:#fff;padding:44px}.foa-booking-sidebar h1{font-size:clamp(42px,5.2vw,76px);color:#fff}.foa-booking-sidebar p{color:rgba(255,255,255,.78);line-height:1.6}.selected-package-card{margin-top:26px;padding:20px;border-radius:24px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.2)}.selected-package-card span{display:block;font-size:11px;letter-spacing:.18em;text-transform:uppercase;font-weight:950;color:#ffd5ef}.selected-package-card strong{display:block;font-size:26px;letter-spacing:-.04em;line-height:1.1;margin-top:7px}.summary-line,.summary-total{display:flex;justify-content:space-between;gap:14px;border-top:1px solid rgba(255,255,255,.18);padding-top:14px;margin-top:14px;font-weight:900}.summary-total strong{font-size:26px}.foa-booking-form{background:rgba(255,250,244,.9);padding:44px}.form-section{margin-bottom:30px}.form-section h2{font-size:clamp(30px,4vw,50px);margin-bottom:16px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.field{margin-bottom:16px}.field.full{grid-column:1/-1}.form-message{border-radius:18px;padding:16px 18px;margin-bottom:24px;font-weight:850}.form-message.success{background:#e8fff2;color:#087d3d}.payment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.payment-card{display:block;border:none;text-align:left;cursor:pointer;border-radius:22px;padding:18px;min-height:128px;color:#fff;font-family:inherit;box-shadow:0 18px 44px rgba(32,19,27,.12)}.payment-card strong{display:block;font-size:24px;letter-spacing:-.04em}.payment-card span{display:block;margin-top:14px;line-height:1.4;opacity:.9}.payment-card.cash{background:#0bbf67}.payment-card.zelle{background:#6d2bd9}.payment-card.chime{background:#00c28b;color:#08251d}.payment-card.apple{background:#141414}.payment-info-modal,.foa-agreement-modal{position:fixed;inset:0;z-index:999999;display:none;align-items:center;justify-content:center;padding:20px}.payment-info-modal.active,.foa-agreement-modal.active{display:flex}.payment-info-backdrop,.foa-agreement-backdrop{position:absolute;inset:0;background:rgba(32,19,27,.62);backdrop-filter:blur(6px)}.payment-info-card,.foa-agreement-card{position:relative;z-index:2;width:min(760px,100%);max-height:90vh;overflow:auto;background:#fffaf4;border-radius:34px;padding:30px;box-shadow:0 40px 100px rgba(32,19,27,.35)}.payment-info-card{width:min(440px,100%)}.modal-x{position:absolute;top:18px;right:18px;width:42px;height:42px;border:none;border-radius:50%;background:#20131b;color:#fff;font-weight:950;font-size:24px;cursor:pointer}.payment-qr-wrap{display:none;background:#fff;border:1px solid var(--line);border-radius:22px;padding:16px;margin:16px 0}.payment-qr-wrap img{width:100%;max-height:280px;object-fit:contain}.payment-modal-info{white-space:pre-line;background:#fff;border:1px solid var(--line);border-radius:18px;padding:16px;font-weight:850}.payment-helper-text,.demo-note{display:block;margin-top:8px;color:var(--muted);font-size:12px;line-height:1.5}.agreement-summary-box{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin:22px 0}.agreement-summary-box div{background:#fff;border:1px solid var(--line);border-radius:18px;padding:15px}.agreement-summary-box .agreement-full{grid-column:1/-1}.agreement-summary-box span{display:block;color:var(--muted);font-size:12px;text-transform:uppercase;letter-spacing:.14em;font-weight:950;margin-bottom:6px}.agreement-summary-box strong{display:block;font-size:18px}.agreement-terms{background:#fff;border:1px solid var(--line);border-radius:22px;padding:20px}.agreement-terms p,.agreement-terms li{color:var(--muted);line-height:1.6}.agreement-check{display:flex;gap:12px;align-items:flex-start;margin:20px 0;padding:15px;border-radius:18px;background:#fff;border:1px solid var(--line);font-weight:850}.agreement-check input{width:20px;height:20px;margin-top:2px}.agreement-continue:disabled{opacity:.45;cursor:not-allowed}.final-actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.final-actions .pill.primary{border:none}.footer-social-link{display:inline-flex;align-items:center;gap:8px}.footer-social-link svg{width:1em;height:1em;fill:currentColor;min-width:1em}@media(max-width:1100px){.package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.single-package-hero,.foa-booking-shell{grid-template-columns:1fr}}@media(max-width:760px){.package-grid,.field-grid,.payment-grid,.agreement-summary-box{grid-template-columns:1fr}.foa-booking-sidebar,.foa-booking-form,.single-package-content{padding:28px}}


/* V1.1 Delivery Fee + Shop Add-ons */
.product-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.product-card{
  position:relative;
  min-height:330px;
  border-radius:34px;
  overflow:hidden;
  background:linear-gradient(135deg,#fff,#ffe3f3);
  box-shadow:0 24px 80px rgba(93,44,69,.10);
  border:1px solid rgba(255,255,255,.78);
  padding:22px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
}
.product-card::before{
  content:"";
  position:absolute;
  inset:-30%;
  background:radial-gradient(circle at 25% 20%, rgba(242,76,168,.22), transparent 22%),radial-gradient(circle at 82% 70%, rgba(231,189,88,.28), transparent 24%);
  pointer-events:none;
}
.product-card-art,
.product-single-art{
  position:relative;
  z-index:1;
  width:112px;
  height:112px;
  border-radius:32px;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--pink),#ffbfde);
  color:#fff;
  font-size:54px;
  font-weight:950;
  box-shadow:0 18px 44px rgba(242,76,168,.26);
}
.product-single-art{
  width:100%;
  min-height:520px;
  font-size:140px;
  border-radius:42px;
  border:8px solid rgba(255,255,255,.9);
}
.product-card-body{
  position:relative;
  z-index:1;
}
.product-card-body small{
  font-weight:950;
  color:var(--pink);
  letter-spacing:.18em;
  text-transform:uppercase;
}
.product-card-body h3{
  margin:8px 0 18px;
  font-size:28px;
  line-height:1;
  letter-spacing:-.05em;
}
.product-card-meta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  border-radius:20px;
  background:rgba(255,255,255,.75);
  border:1px solid var(--line);
  padding:10px 10px 10px 14px;
}
.shop-addon-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.shop-addon-card{
  margin:0;
  display:flex;
  align-items:center;
  gap:14px;
  min-height:98px;
  padding:14px;
  border-radius:22px;
  background:#fff;
  border:1px solid var(--line);
  cursor:pointer;
  letter-spacing:normal;
  text-transform:none;
  color:var(--ink);
  transition:.25s ease;
}
.shop-addon-card:hover{
  transform:translateY(-2px);
  box-shadow:0 16px 35px rgba(121,42,88,.10);
}
.shop-addon-card input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.shop-addon-card:has(input:checked){
  border-color:rgba(242,76,168,.55);
  background:linear-gradient(135deg,#fff,#ffe3f3);
  box-shadow:0 16px 42px rgba(242,76,168,.12);
}
.shop-addon-art{
  width:52px;
  height:52px;
  border-radius:18px;
  display:grid;
  place-items:center;
  color:#fff;
  background:linear-gradient(135deg,var(--pink),#fe8390);
  font-weight:950;
  font-size:24px;
  flex:0 0 52px;
}
.shop-addon-copy small,
.shop-addon-copy strong,
.shop-addon-copy em{
  display:block;
}
.shop-addon-copy small{
  color:var(--pink);
  font-size:11px;
  letter-spacing:.14em;
  text-transform:uppercase;
  font-weight:950;
}
.shop-addon-copy strong{
  color:var(--ink);
  font-size:16px;
  letter-spacing:-.02em;
  line-height:1.15;
  margin-top:4px;
}
.shop-addon-copy em{
  color:var(--muted);
  font-style:normal;
  font-weight:950;
  margin-top:4px;
}
@media(max-width:1100px){
  .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .product-grid,.shop-addon-grid{grid-template-columns:1fr}
}


/* V1.2 WooCommerce Real Shop */
.woocommerce-page .nav,
.woocommerce .nav{box-sizing:border-box}
.foa-woocommerce-page{
  padding:134px 0 80px;
}
.foa-woocommerce-page .woocommerce-result-count,
.foa-woocommerce-page .woocommerce-ordering{
  margin-bottom:22px;
}
.foa-woocommerce-page ul.products{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
  margin:0;
  padding:0;
}
.foa-woocommerce-page ul.products::before,
.foa-woocommerce-page ul.products::after{display:none!important}
.foa-woocommerce-page ul.products li.product{
  width:auto!important;
  margin:0!important;
  float:none!important;
  min-height:360px;
  border-radius:34px;
  overflow:hidden;
  background:linear-gradient(135deg,#fff,#ffe3f3);
  box-shadow:0 24px 80px rgba(93,44,69,.10);
  border:1px solid rgba(255,255,255,.78);
  padding:18px!important;
  display:flex;
  flex-direction:column;
}
.foa-woocommerce-page ul.products li.product a img{
  width:100%;
  aspect-ratio:1/1;
  height:auto;
  object-fit:cover;
  border-radius:26px;
  background:#fff4fb;
  margin:0 0 16px!important;
}
.foa-woocommerce-page ul.products li.product .woocommerce-loop-product__title{
  color:var(--ink);
  font-size:22px!important;
  line-height:1.05;
  letter-spacing:-.04em;
  padding:0!important;
}
.foa-woocommerce-page ul.products li.product .price{
  color:var(--pink)!important;
  font-weight:950!important;
  font-size:18px!important;
}
.foa-woocommerce-page .button,
.woocommerce .button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button{
  border:none!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,var(--pink),#f75d78)!important;
  color:#fff!important;
  font-weight:950!important;
  padding:13px 18px!important;
  box-shadow:0 16px 35px rgba(242,76,168,.22)!important;
}
.woocommerce div.product{
  padding:134px min(32px,4vw) 80px;
  width:min(1320px, calc(100% - 32px));
  margin:auto;
}
.woocommerce div.product div.images img{
  border-radius:34px;
  box-shadow:var(--shadow);
}
.woocommerce div.product .summary{
  background:rgba(255,250,244,.9);
  border:1px solid rgba(255,255,255,.78);
  border-radius:34px;
  padding:34px;
  box-shadow:0 24px 80px rgba(93,44,69,.10);
}
.woocommerce div.product .product_title{
  font-size:clamp(42px,5.2vw,76px);
  line-height:.92;
  letter-spacing:-.075em;
}
.woocommerce .quantity .qty{
  border-radius:18px;
  border:1px solid var(--line);
  padding:12px;
}
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce,
.woocommerce-account .woocommerce{
  padding:134px 0 80px;
  width:min(1320px, calc(100% - 32px));
  margin:auto;
}
.woocommerce table.shop_table{
  border-radius:24px!important;
  overflow:hidden;
  background:rgba(255,255,255,.72);
  border:1px solid var(--line)!important;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select{
  border:1px solid var(--line);
  border-radius:18px;
  padding:15px 16px;
  background:#fff;
}
.woocommerce-notices-wrapper{
  width:min(1320px, calc(100% - 32px));
  margin:110px auto 0;
}
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
  border-radius:22px;
  border-top:none!important;
  box-shadow:0 18px 55px rgba(93,44,69,.10);
}
.woocommerce-message{border-left:6px solid var(--green)}
.woocommerce-info{border-left:6px solid var(--pink)}
.woocommerce-error{border-left:6px solid #d63638}
@media(max-width:1100px){
  .foa-woocommerce-page ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:760px){
  .foa-woocommerce-page ul.products{grid-template-columns:1fr}
  .woocommerce div.product{padding-top:104px}
}


/* V1.3 Inflatable Inventory + Clean WooCommerce Separation */
.foa-inventory-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
}
.foa-inventory-card{
  display:block;
  position:relative;
  margin:0;
  border-radius:26px;
  overflow:hidden;
  background:#fff;
  border:2px solid transparent;
  box-shadow:0 18px 45px rgba(93,44,69,.10);
  cursor:pointer;
  color:var(--ink);
  letter-spacing:normal;
  text-transform:none;
  transition:.25s ease;
}
.foa-inventory-card:hover{
  transform:translateY(-3px);
}
.foa-inventory-card input{
  position:absolute;
  opacity:0;
  pointer-events:none;
}
.foa-inventory-card.selected{
  border-color:var(--pink);
  box-shadow:0 20px 55px rgba(242,76,168,.20);
}
.foa-inventory-card.booked{
  opacity:.55;
  filter:grayscale(.2);
  cursor:not-allowed;
}
.foa-inventory-img{
  display:block;
  height:220px;
  background:#fff4fb;
}
.foa-inventory-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.foa-inventory-title{
  display:block;
  padding:16px 16px 8px;
  font-size:20px;
  font-weight:950;
  letter-spacing:-.03em;
}
.foa-inventory-status{
  display:inline-block;
  margin:0 16px 16px;
  padding:8px 11px;
  border-radius:999px;
  background:#e8fff2;
  color:#087d3d;
  font-size:12px;
  font-weight:950;
}
.foa-inventory-card.booked .foa-inventory-status{
  background:#fff0f0;
  color:#b00020;
}
.inventory-date-note{
  background:#fff;
  border:1px dashed rgba(242,76,168,.35);
  border-radius:18px;
  padding:14px 16px;
  margin-bottom:18px;
  color:var(--muted);
  font-weight:850;
}
.inventory-warning{
  margin-top:16px;
  border-radius:18px;
  padding:14px 16px;
  background:#fff0f0;
  color:#b00020;
  font-weight:850;
}
@media(max-width:760px){
  .foa-inventory-grid{grid-template-columns:1fr}
}


/* V1.3.1 Selected Package Visibility Fix */
.booking-page{
  padding-top:178px !important;
}
.selected-package-title{
  display:block;
  font-size:clamp(26px,3vw,38px) !important;
  line-height:1.05 !important;
  letter-spacing:-.05em;
  margin:8px 0 16px;
  color:#fff;
}
.selected-package-alert{
  display:block;
  margin:0 0 16px;
  padding:11px 13px;
  border-radius:16px;
  font-size:13px;
  line-height:1.35;
  font-weight:850;
}
.selected-package-alert.ok{
  background:rgba(57,169,99,.18);
  color:#e8fff2;
  border:1px solid rgba(232,255,242,.25);
}
.selected-package-alert.missing{
  background:rgba(255,227,154,.18);
  color:#fff2c4;
  border:1px solid rgba(255,227,154,.25);
}
.booking-selected-banner{
  margin-bottom:28px;
  padding:22px;
  border-radius:28px;
  background:linear-gradient(135deg,#fff,#ffe3f3);
  border:1px solid var(--line);
  box-shadow:0 18px 55px rgba(93,44,69,.10);
}
.booking-selected-banner span{
  display:block;
  color:var(--pink);
  font-weight:950;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:12px;
  margin-bottom:7px;
}
.booking-selected-banner strong{
  display:block;
  font-size:clamp(28px,3.2vw,44px);
  line-height:1;
  letter-spacing:-.06em;
  color:var(--ink);
}
.booking-selected-banner em{
  display:block;
  font-style:normal;
  color:var(--muted);
  font-weight:850;
  margin-top:8px;
}
.booking-selected-banner .pill{
  display:inline-flex;
  margin-top:16px;
}
@media(max-width:760px){
  .booking-page{padding-top:124px !important;}
}


/* V1.3.2 Agreement Popup Fix */
.foa-agreement-modal{
  position:fixed;
  inset:0;
  z-index:999999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:20px;
}
.foa-agreement-modal.active{
  display:flex !important;
}
.foa-agreement-backdrop{
  position:absolute;
  inset:0;
  background:rgba(32,19,27,.62);
  backdrop-filter:blur(6px);
}
.foa-agreement-card{
  position:relative;
  z-index:2;
  width:min(760px,100%);
  max-height:90vh;
  overflow:auto;
  background:#fffaf4;
  border-radius:34px;
  padding:30px;
  box-shadow:0 40px 100px rgba(32,19,27,.35);
}


/* V1.3.4 Compact Booking CTA Section */
.booking-cta-section{
  padding:68px 0 !important;
}
.compact-booking-card{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:0;
  overflow:hidden;
  border-radius:44px;
  background:rgba(255,250,244,.78);
  border:1px solid rgba(255,255,255,.78);
  box-shadow:0 24px 80px rgba(93,44,69,.12);
}
.compact-booking-copy{
  position:relative;
  overflow:hidden;
  padding:42px;
  background:linear-gradient(150deg,#22131d,#4a1640 72%,#e84ba7);
  color:#fff;
}
.compact-booking-copy::before{
  content:"";
  position:absolute;
  inset:-40%;
  background:
    radial-gradient(circle at 22% 18%, rgba(255,255,255,.18), transparent 18%),
    radial-gradient(circle at 84% 80%, rgba(255,214,106,.2), transparent 22%);
  pointer-events:none;
}
.compact-booking-copy > *{
  position:relative;
  z-index:1;
}
.compact-booking-copy .eyebrow{
  margin-bottom:16px;
  color:#ffd7ed;
}
.compact-booking-copy .eyebrow::before{
  background:#ffd7ed;
}
.compact-booking-copy h2{
  color:#fff;
  font-size:clamp(34px,4.2vw,62px);
  line-height:.96;
  letter-spacing:-.07em;
  max-width:620px;
}
.compact-booking-copy p{
  margin:18px 0 0;
  max-width:620px;
  color:rgba(255,255,255,.76);
  font-size:17px;
  line-height:1.58;
}
.compact-checks{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:24px;
}
.compact-checks span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:10px 13px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  border:1px solid rgba(255,255,255,.18);
  color:#fff;
  font-size:13px;
  font-weight:950;
}
.compact-checks span::before{
  content:"✓";
  width:22px;
  height:22px;
  border-radius:50%;
  display:grid;
  place-items:center;
  background:var(--gold);
  color:var(--ink);
  font-weight:950;
}
.compact-booking-action{
  padding:42px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:360px;
}
.compact-booking-action h3{
  margin:0;
  font-size:clamp(34px,4vw,58px);
  line-height:.98;
  letter-spacing:-.07em;
  color:var(--ink);
}
.compact-booking-action p{
  color:var(--muted);
  font-size:17px;
  line-height:1.58;
  margin:16px 0 0;
  max-width:520px;
}
.compact-actions{
  margin-top:26px;
}
.compact-actions .pill{
  padding:16px 24px;
}
@media(max-width:980px){
  .compact-booking-card{
    grid-template-columns:1fr;
  }
  .compact-booking-action{
    min-height:auto;
  }
}
@media(max-width:760px){
  .booking-cta-section{
    padding:48px 0 !important;
  }
  .compact-booking-copy,
  .compact-booking-action{
    padding:28px;
  }
  .compact-booking-copy h2,
  .compact-booking-action h3{
    font-size:38px;
  }
}


/* V1.3.5 Homepage Shop Products Section */
.home-shop-section{
  padding:76px 0 !important;
}
.home-shop-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.home-shop-card{
  position:relative;
  min-height:360px;
  border-radius:34px;
  overflow:hidden;
  background:rgba(255,255,255,.76);
  border:1px solid rgba(255,255,255,.82);
  box-shadow:0 24px 80px rgba(93,44,69,.10);
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  padding:16px;
  transition:.35s var(--ease);
}
.home-shop-card:hover{
  transform:translateY(-6px);
  box-shadow:0 30px 90px rgba(93,44,69,.16);
}
.home-shop-card::before{
  content:"";
  position:absolute;
  inset:-35%;
  background:
    radial-gradient(circle at 20% 18%, rgba(242,76,168,.20), transparent 22%),
    radial-gradient(circle at 88% 72%, rgba(231,189,88,.25), transparent 24%);
  pointer-events:none;
}
.home-shop-img{
  position:relative;
  z-index:1;
  display:block;
  width:100%;
  aspect-ratio:1/1;
  border-radius:26px;
  overflow:hidden;
  background:linear-gradient(135deg,#fff4fb,#ffe3f3);
}
.home-shop-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.home-shop-placeholder{
  width:100%;
  height:100%;
  display:grid;
  place-items:center;
  background:linear-gradient(135deg,var(--pink),#ffbfde);
  color:#fff;
  font-size:76px;
  font-weight:950;
}
.home-shop-body{
  position:relative;
  z-index:1;
  display:block;
  padding:18px 4px 12px;
}
.home-shop-body small{
  display:block;
  color:var(--pink);
  font-weight:950;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:11px;
  margin-bottom:8px;
}
.home-shop-body strong{
  display:block;
  color:var(--ink);
  font-size:24px;
  line-height:1;
  letter-spacing:-.05em;
}
.home-shop-body em{
  display:block;
  font-style:normal;
  color:var(--muted);
  font-weight:950;
  margin-top:10px;
}
.home-shop-card .mini-btn{
  position:relative;
  z-index:1;
  align-self:flex-start;
}
.home-shop-actions{
  margin-top:28px;
}
@media(max-width:1100px){
  .home-shop-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:760px){
  .home-shop-section{
    padding:54px 0 !important;
  }
  .home-shop-grid{
    grid-template-columns:1fr;
  }
}

/* V1.4 Package-Based Availability */
.package-availability-box{margin-top:18px;padding:18px;border-radius:22px;background:#fff;border:1px dashed rgba(242,76,168,.35);color:var(--ink)}
.package-availability-box strong{display:block;color:var(--pink);font-weight:950;letter-spacing:.16em;text-transform:uppercase;font-size:12px;margin-bottom:7px}
.package-availability-box p{margin:0;color:var(--muted);line-height:1.5;font-weight:850}
.package-availability-box.available{border-color:rgba(57,169,99,.35);background:#e8fff2}
.package-availability-box.available strong,.package-availability-box.available p{color:#087d3d}
.package-availability-box.booked{border-color:rgba(176,0,32,.30);background:#fff0f0}
.package-availability-box.booked strong,.package-availability-box.booked p{color:#b00020}
.package-availability-box.checking{border-color:rgba(231,189,88,.45);background:#fff8e3}
.package-availability-box.missing{border-color:rgba(242,76,168,.25);background:#fff4fb}
#foaSubmitBookingBtn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}


/* V1.4.1 Package Booked Dates Notices */
.package-booked-dates{
  display:block;
  margin:12px 0;
  padding:11px 12px;
  border-radius:16px;
  background:rgba(255,255,255,.16);
  border:1px solid rgba(255,255,255,.20);
  color:#fff;
}
.package-booked-dates strong{
  display:block;
  font-size:11px;
  letter-spacing:.16em;
  text-transform:uppercase;
  font-weight:950;
  margin-bottom:5px;
}
.package-booked-dates span{
  display:block;
  font-size:13px;
  line-height:1.35;
  font-weight:800;
}
.package-booked-dates.has-dates{
  background:rgba(255,240,240,.18);
  border-color:rgba(255,255,255,.28);
}
.package-booked-dates.available{
  background:rgba(232,255,242,.15);
}
.single-package-content .package-booked-dates,
.foa-booking-sidebar .package-booked-dates{
  background:#fff;
  border:1px solid var(--line);
  color:var(--ink);
}
.single-package-content .package-booked-dates.has-dates,
.foa-booking-sidebar .package-booked-dates.has-dates{
  background:#fff0f0;
  border-color:rgba(176,0,32,.18);
}
.single-package-content .package-booked-dates.has-dates strong,
.single-package-content .package-booked-dates.has-dates span,
.foa-booking-sidebar .package-booked-dates.has-dates strong,
.foa-booking-sidebar .package-booked-dates.has-dates span{
  color:#b00020;
}
.single-package-content .package-booked-dates.available,
.foa-booking-sidebar .package-booked-dates.available{
  background:#e8fff2;
  border-color:rgba(57,169,99,.18);
}
.single-package-content .package-booked-dates.available strong,
.single-package-content .package-booked-dates.available span,
.foa-booking-sidebar .package-booked-dates.available strong,
.foa-booking-sidebar .package-booked-dates.available span{
  color:#087d3d;
}
.rental-info .package-booked-dates,
.package-card-body .package-booked-dates{
  backdrop-filter:blur(8px);
}


/* V1.5 Real package/product image polish */
.package-card img,
.rental-card img{
  object-position:center top;
}
.single-package-media img{
  object-position:center top;
  background:#fff;
}
.home-shop-img img,
.foa-woocommerce-page ul.products li.product a img{
  object-position:center top;
  background:#fff4fb;
}


/* V1.5.1 Homepage Availability Cleanup + Sticky Package Image */
.homepage-featured-card .package-booked-dates,
.rental-card .package-booked-dates{
  display:none !important;
}

/* Keep package detail image visible while scrolling long descriptions */
.single-package-hero{
  align-items:start !important;
}
.single-package-media{
  position:sticky !important;
  top:128px !important;
  align-self:start !important;
  max-height:calc(100vh - 150px);
  overflow:hidden;
}
.single-package-media img{
  width:100%;
  height:auto !important;
  max-height:calc(100vh - 150px);
  object-fit:contain !important;
  object-position:center top !important;
  background:#fff;
}
.single-package-content{
  align-self:start;
}

/* Better spacing for long package detail lists */
.single-package-content ul{
  columns:1;
  margin-top:10px;
}
.single-package-content li{
  margin-bottom:6px;
}

@media(max-width:980px){
  .single-package-media{
    position:relative !important;
    top:auto !important;
    max-height:none;
  }
  .single-package-media img{
    max-height:none;
  }
}


/* V1.7 Product-specific visuals + Load More shop */
.foa-shop-product-card{
  overflow:hidden;
}
.foa-product-card-link{
  display:flex;
  flex-direction:column;
  height:100%;
  color:inherit;
  text-decoration:none;
}
.foa-product-image-wrap{
  display:block;
  width:100%;
  aspect-ratio:1/1;
  border-radius:26px;
  overflow:hidden;
  background:#fff4fb;
}
.foa-product-image-wrap img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.foa-product-card-body{
  display:block;
  padding:16px 4px 10px;
}
.foa-product-card-body small,
.foa-product-card-body small a{
  display:block;
  color:var(--pink);
  font-size:11px;
  text-transform:uppercase;
  letter-spacing:.14em;
  font-weight:950;
  text-decoration:none;
  margin-bottom:8px;
}
.foa-product-card-body strong{
  display:block;
  color:var(--ink);
  font-size:22px;
  line-height:1.02;
  letter-spacing:-.04em;
}
.foa-product-card-body em{
  display:block;
  color:var(--muted);
  font-style:normal;
  font-size:16px;
  font-weight:950;
  margin-top:10px;
}
.foa-product-card-actions{
  margin-top:auto;
  padding-top:8px;
}
.foa-product-hidden{
  display:none !important;
}
.foa-load-more-wrap{
  display:flex;
  justify-content:center;
  margin:34px 0 0;
}
.woocommerce nav.woocommerce-pagination{
  display:none !important;
}
.foa-woocommerce-page ul.products li.product .foa-product-card-actions .button{
  width:100%;
  text-align:center;
  justify-content:center;
}
.home-shop-img img{
  object-fit:cover;
  background:#fff4fb;
}


/* V1.7.6 Clean Custom WooCommerce Single Product Page */
.foa-product-clean{
  padding:118px 0 54px;
}
.foa-product-clean-wrap{
  width:min(1120px, calc(100% - 32px));
  margin:0 auto;
}
.foa-product-backline{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin:0 0 18px;
  padding:13px 18px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(255,255,255,.88);
  color:var(--muted);
  font-size:13px;
  font-weight:850;
}
.foa-product-backline a{
  color:var(--pink);
  text-decoration:none;
  font-weight:950;
}
.foa-product-clean-grid{
  display:grid;
  grid-template-columns:minmax(0, .92fr) minmax(390px, 1.08fr);
  gap:22px;
  align-items:stretch;
}
.foa-product-clean-image,
.foa-product-clean-info,
.foa-product-clean-description{
  border-radius:34px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(255,255,255,.88);
  box-shadow:0 22px 60px rgba(93,44,69,.10);
}
.foa-product-clean-image{
  padding:18px;
  display:grid;
  place-items:center;
  min-height:430px;
}
.foa-product-clean-image img{
  display:block;
  width:100%;
  height:clamp(360px, 42vw, 500px);
  object-fit:contain;
  object-position:center;
  border-radius:24px;
  background:#fff;
}
.foa-product-clean-info{
  padding:38px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-height:430px;
}
.foa-product-cat{
  display:block;
  color:var(--pink);
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
  font-weight:950;
  margin-bottom:14px;
}
.foa-product-clean-info h1{
  margin:0;
  color:var(--ink);
  font-size:clamp(44px, 5.8vw, 78px);
  line-height:.9;
  letter-spacing:-.08em;
}
.foa-product-clean-price{
  margin-top:18px;
  color:var(--pink);
  font-size:26px;
  font-weight:950;
}
.foa-product-clean-short{
  margin-top:28px;
  max-width:520px;
  color:var(--muted);
  font-size:16px;
  line-height:1.65;
}
.foa-product-clean-cart{
  margin-top:30px;
}
.foa-product-clean-cart form.cart{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
  margin:0;
}
.foa-product-clean-cart .quantity input.qty{
  width:66px;
  height:46px;
  border-radius:14px;
  border:1px solid var(--line);
  background:#fff;
  text-align:center;
  font-weight:950;
  color:var(--ink);
}
.foa-product-clean-cart .single_add_to_cart_button{
  min-height:46px!important;
  border:0!important;
  border-radius:999px!important;
  padding:0 26px!important;
  background:linear-gradient(135deg,var(--pink),#ff5c8a)!important;
  color:#fff!important;
  font-weight:950!important;
  box-shadow:0 14px 30px rgba(242,76,168,.24)!important;
}
.foa-product-clean-note{
  margin-top:28px;
  padding:16px 18px;
  border-radius:20px;
  background:#fff4fb;
  border:1px solid rgba(242,76,168,.14);
}
.foa-product-clean-note strong{
  display:block;
  color:var(--ink);
  font-size:15px;
  margin-bottom:6px;
}
.foa-product-clean-note p{
  margin:0;
  color:var(--muted);
  font-size:14px;
  line-height:1.55;
}
.foa-product-clean-description{
  margin-top:22px;
  padding:30px;
}
.foa-product-clean-description h2{
  margin:0 0 12px;
  color:var(--ink);
  font-size:clamp(34px, 4vw, 54px);
  line-height:.94;
  letter-spacing:-.06em;
}
.foa-product-clean-description p{
  color:var(--muted);
  font-size:16px;
  line-height:1.65;
}
.foa-product-clean-description p:last-child{
  margin-bottom:0;
}
.single-product .foa-woocommerce-page,
.single-product .woocommerce div.product,
.single-product .woocommerce-tabs,
.single-product .related.products,
.single-product .product_meta,
.single-product #secondary,
.single-product .sidebar,
.single-product .widget,
.single-product .wp-block-search,
.single-product .widget_pages,
.single-product .widget_archive,
.single-product .widget_categories{
  display:none!important;
}
.single-product footer{
  margin-top:24px!important;
}
@media(max-width:920px){
  .foa-product-clean-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:680px){
  .foa-product-clean{
    padding:102px 0 40px;
  }
  .foa-product-clean-wrap{
    width:calc(100% - 22px);
  }
  .foa-product-clean-image,
  .foa-product-clean-info,
  .foa-product-clean-description{
    border-radius:26px;
  }
  .foa-product-clean-info,
  .foa-product-clean-description{
    padding:22px;
  }
  .foa-product-clean-image{
    padding:14px;
    min-height:300px;
  }
  .foa-product-clean-image img{
    height:300px;
  }
  .foa-product-clean-info h1{
    font-size:40px;
  }
}


/* V1.7.7 Product Page Tight Layout Fix */
.foa-product-clean{
  padding:108px 0 38px !important;
}

.foa-product-clean-wrap{
  width:min(1080px, calc(100% - 32px)) !important;
}

.foa-product-clean-grid{
  grid-template-columns:minmax(0, .95fr) minmax(360px, .9fr) !important;
  gap:18px !important;
  align-items:start !important;
}

/* Stop image from travelling into lower sections */
.foa-product-clean-image{
  position:relative !important;
  top:auto !important;
  align-self:start !important;
  min-height:0 !important;
  height:auto !important;
  padding:16px !important;
  border-radius:28px !important;
  display:block !important;
}

.foa-product-clean-image img{
  height:clamp(300px, 34vw, 440px) !important;
  max-height:440px !important;
  object-fit:contain !important;
  display:block !important;
}

/* Shorter right info card */
.foa-product-clean-info{
  min-height:0 !important;
  height:auto !important;
  padding:34px 34px 28px !important;
  border-radius:28px !important;
  justify-content:flex-start !important;
}

.foa-product-clean-info h1{
  font-size:clamp(38px, 4.6vw, 64px) !important;
  line-height:.9 !important;
  margin:0 !important;
}

.foa-product-clean-price{
  margin-top:14px !important;
  font-size:24px !important;
}

.foa-product-clean-short{
  margin-top:20px !important;
  max-width:460px !important;
  font-size:15px !important;
  line-height:1.55 !important;
}

.foa-product-clean-short p{
  margin:0 !important;
}

.foa-product-clean-cart{
  margin-top:24px !important;
}

.foa-product-clean-note{
  margin-top:22px !important;
  padding:14px 16px !important;
}

/* Keep description close and stop overlaps */
.foa-product-clean-description{
  margin-top:18px !important;
  padding:24px !important;
  border-radius:28px !important;
}

.foa-product-clean-description h2{
  font-size:clamp(30px, 3.6vw, 46px) !important;
  margin-bottom:10px !important;
}

.foa-product-clean-description p{
  margin-top:0 !important;
}

/* Remove any leftover Woo default product UI that can overlap */
.single-product .woocommerce-tabs,
.single-product .related.products,
.single-product .product_meta,
.single-product .foa-woocommerce-page,
.single-product .woocommerce div.product:not(.product-type-simple),
.single-product .wp-block-search,
.single-product .widget_pages,
.single-product .widget_archive,
.single-product .widget_categories{
  display:none !important;
}

/* Footer closer */
.single-product footer{
  margin-top:26px !important;
}

/* Safety for older Woo layout if the custom template is bypassed */
body.single-product .woocommerce div.product div.images{
  position:relative !important;
  top:auto !important;
}

body.single-product .woocommerce div.product div.summary{
  min-height:0 !important;
}

@media(max-width:920px){
  .foa-product-clean-grid{
    grid-template-columns:1fr !important;
  }
}

@media(max-width:680px){
  .foa-product-clean{
    padding:98px 0 34px !important;
  }

  .foa-product-clean-wrap{
    width:calc(100% - 22px) !important;
  }

  .foa-product-clean-image img{
    height:290px !important;
  }

  .foa-product-clean-info{
    padding:24px !important;
  }

  .foa-product-clean-info h1{
    font-size:38px !important;
  }
}


/* V1.7.8 Customer-friendly product note + related products */
.foa-product-clean-note{
  background:#fff7fb !important;
}
.foa-product-clean-note strong{
  color:var(--ink) !important;
}
.foa-product-clean-related{
  margin-top:24px;
  padding:28px;
  border-radius:30px;
  background:rgba(255,255,255,.82);
  border:1px solid rgba(255,255,255,.88);
  box-shadow:0 18px 50px rgba(93,44,69,.08);
}
.foa-product-clean-related h2{
  margin:0;
  color:var(--ink);
  font-size:clamp(32px, 4vw, 54px);
  line-height:.94;
  letter-spacing:-.06em;
}
.foa-product-clean-related p{
  margin:10px 0 20px;
  color:var(--muted);
  font-size:15px;
}
.foa-product-clean-related-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:16px;
}
.foa-related-product-card{
  display:flex;
  flex-direction:column;
  text-decoration:none;
  color:inherit;
  border-radius:24px;
  overflow:hidden;
  background:#fff4fb;
  border:1px solid rgba(242,76,168,.12);
  padding:12px;
  transition:.25s ease;
}
.foa-related-product-card:hover{
  transform:translateY(-4px);
  box-shadow:0 16px 36px rgba(93,44,69,.12);
}
.foa-related-product-img{
  display:block;
  aspect-ratio:1/1;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
}
.foa-related-product-img img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.foa-related-product-info{
  display:block;
  padding:12px 2px 2px;
}
.foa-related-product-info small{
  display:block;
  color:var(--pink);
  font-size:10px;
  letter-spacing:.13em;
  text-transform:uppercase;
  font-weight:950;
  margin-bottom:7px;
}
.foa-related-product-info strong{
  display:block;
  color:var(--ink);
  font-size:17px;
  line-height:1.05;
  letter-spacing:-.03em;
}
.foa-related-product-info em{
  display:block;
  color:var(--pink);
  font-style:normal;
  font-weight:950;
  margin-top:8px;
}
@media(max-width:920px){
  .foa-product-clean-related-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media(max-width:620px){
  .foa-product-clean-related{
    padding:20px;
  }
  .foa-product-clean-related-grid{
    grid-template-columns:1fr;
  }
}


/* V1.7.9 Add-to-cart notice */
.foa-product-notices{
  margin:0 0 18px;
}
.foa-product-notices .woocommerce-message,
.foa-product-notices .woocommerce-info,
.foa-product-notices .woocommerce-error{
  margin:0 !important;
  padding:16px 18px !important;
  border:1px solid rgba(242,76,168,.18) !important;
  border-radius:22px !important;
  background:#fff7fb !important;
  color:var(--ink) !important;
  box-shadow:0 16px 42px rgba(93,44,69,.08);
  font-weight:850;
}
.foa-product-notices .woocommerce-message::before,
.foa-product-notices .woocommerce-info::before,
.foa-product-notices .woocommerce-error::before{
  display:none !important;
}
.foa-cart-added-message{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  flex-wrap:wrap;
}
.foa-cart-added-message span{
  font-weight:950;
  color:var(--ink);
}
.foa-cart-added-message .button,
.foa-product-notices a.button,
.foa-product-notices a.wc-forward{
  float:none !important;
  order:2;
  border:0 !important;
  border-radius:999px !important;
  padding:12px 20px !important;
  background:linear-gradient(135deg,var(--pink),#ff5c8a) !important;
  color:#fff !important;
  font-weight:950 !important;
  text-decoration:none !important;
  box-shadow:0 12px 26px rgba(242,76,168,.20) !important;
}
.woocommerce-message .restore-item,
.woocommerce-message a:not(.button){
  color:var(--pink);
  font-weight:950;
}
@media(max-width:620px){
  .foa-cart-added-message{
    align-items:flex-start;
    flex-direction:column;
  }
}


/* V1.8.3 Equal gallery cards + expandable images */
.gallery{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  grid-auto-rows:auto !important;
  align-items:stretch !important;
  gap:18px !important;
}
.shot,
.shot:nth-child(1),
.shot:nth-child(3),
.shot:nth-child(5){
  grid-column:auto !important;
  grid-row:auto !important;
}
.shot{
  width:100%;
  aspect-ratio:4/3;
  border:0;
  padding:0;
  cursor:zoom-in;
  position:relative;
  overflow:hidden;
  display:block;
  text-align:left;
  border-radius:38px;
  background:#fff;
  box-shadow:0 22px 60px rgba(93,44,69,.10);
}
.shot img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  object-position:center !important;
  display:block;
}
.shot-zoom{
  position:absolute;
  right:14px;
  bottom:14px;
  z-index:2;
  padding:10px 14px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:var(--ink);
  font-size:12px;
  font-weight:950;
  opacity:0;
  transform:translateY(8px);
  transition:.25s ease;
  box-shadow:0 12px 26px rgba(93,44,69,.15);
}
.shot:hover .shot-zoom{
  opacity:1;
  transform:translateY(0);
}
.foa-gallery-lightbox{
  position:fixed;
  inset:0;
  z-index:99999;
  display:none;
  align-items:center;
  justify-content:center;
  padding:28px;
  background:rgba(27,10,22,.78);
  backdrop-filter:blur(14px);
}
.foa-gallery-lightbox.active{
  display:flex;
}
.foa-gallery-lightbox img{
  max-width:min(96vw,1100px);
  max-height:88vh;
  object-fit:contain;
  border-radius:30px;
  background:#fff;
  box-shadow:0 30px 100px rgba(0,0,0,.35);
}
.foa-gallery-lightbox button{
  position:absolute;
  top:22px;
  right:22px;
  width:52px;
  height:52px;
  border:0;
  border-radius:999px;
  background:#fff;
  color:var(--ink);
  font-size:26px;
  font-weight:950;
  cursor:pointer;
  box-shadow:0 16px 42px rgba(0,0,0,.22);
}
@media(max-width:980px){
  .gallery{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:640px){
  .gallery{
    grid-template-columns:1fr !important;
  }
  .shot{
    aspect-ratio:4/3;
    border-radius:26px;
  }
}


/* V1.8.4 Mobile hero/header cleanup */
.nav .brand-text{
  display:block;
  min-width:0;
}
.nav .brand-text b{
  display:block;
}
.nav .brand-text span{
  display:block;
}

/* Make gallery scale cleanly with 8 images */
.gallery{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
}
@media(max-width:1100px){
  .gallery{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}
@media(max-width:640px){
  .gallery{
    grid-template-columns:1fr !important;
  }
}

/* Mobile header text containment */
@media(max-width:760px){
  body{
    overflow-x:hidden;
  }

  .nav{
    top:8px !important;
    height:82px !important;
    width:calc(100% - 16px) !important;
    padding:8px 10px !important;
    gap:8px !important;
    overflow:hidden;
  }

  .brand{
    flex:1 1 auto !important;
    min-width:0 !important;
    gap:8px !important;
    overflow:hidden !important;
  }

  .logo{
    width:46px !important;
    height:46px !important;
    flex:0 0 46px !important;
    border-width:4px !important;
  }

  .nav .brand-text{
    min-width:0 !important;
    max-width:165px !important;
    overflow:hidden !important;
  }

  .nav .brand-text b{
    font-size:14px !important;
    line-height:1.02 !important;
    letter-spacing:-.02em !important;
    max-width:165px !important;
    white-space:normal !important;
    overflow:hidden !important;
    display:-webkit-box !important;
    -webkit-line-clamp:2 !important;
    -webkit-box-orient:vertical !important;
  }

  .nav .brand-text span{
    font-size:8px !important;
    line-height:1.05 !important;
    letter-spacing:.18em !important;
    margin-top:3px !important;
    white-space:nowrap !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  .nav-actions{
    flex:0 0 auto !important;
    gap:8px !important;
  }

  .nav-actions .pill.primary{
    padding:14px 22px !important;
    font-size:15px !important;
  }

  .hamb{
    width:52px !important;
    height:52px !important;
    flex:0 0 52px !important;
  }

  .hero{
    padding-top:112px !important;
    overflow:hidden !important;
  }

  .visual{
    width:100% !important;
    min-height:520px !important;
    overflow:visible !important;
  }

  .blob{
    border-width:6px !important;
  }

  .blob.main{
    width:88% !important;
    height:58% !important;
    right:0 !important;
    top:8% !important;
  }

  .blob.small{
    width:44% !important;
    height:26% !important;
    left:0 !important;
    top:0 !important;
  }

  .blob.tall{
    width:44% !important;
    height:32% !important;
    left:0 !important;
    bottom:8% !important;
    z-index:3 !important;
  }

  .quote-card{
    width:78% !important;
    right:0 !important;
    bottom:2% !important;
    padding:22px !important;
    border-radius:24px !important;
  }

  .quote-card b{
    font-size:30px !important;
  }

  .eyebrow{
    max-width:100% !important;
    overflow:hidden !important;
    letter-spacing:.18em !important;
    font-size:10px !important;
  }

  h1{
    max-width:100% !important;
    overflow-wrap:break-word !important;
  }

  .section-head,
  .compact-booking-card,
  .rental-card,
  .home-shop-card,
  .shot{
    max-width:100% !important;
  }
}

@media(max-width:430px){
  .nav .brand-text{
    max-width:135px !important;
  }

  .nav .brand-text b{
    font-size:13px !important;
    max-width:135px !important;
  }

  .nav-actions .pill.primary{
    padding:13px 18px !important;
    font-size:14px !important;
  }

  .hamb{
    width:48px !important;
    height:48px !important;
    flex-basis:48px !important;
  }
}

@media(max-width:380px){
  .nav .brand-text{
    max-width:112px !important;
  }

  .nav .brand-text b{
    font-size:12px !important;
    max-width:112px !important;
  }

  .nav-actions .pill.primary{
    padding:12px 14px !important;
    font-size:13px !important;
  }
}


/* V1.8.5 Hero image consistency fix */
.visual .blob img{
  content:normal !important;
}
.visual .blob.tall img,
.visual .blob.main img,
.visual .blob.small img{
  display:block !important;
}

/* Prevent mobile from using any alternate/cached background-image behavior */
@media(max-width:760px){
  .visual .blob,
  .visual .blob img{
    background-image:none !important;
  }

  .visual .blob.tall{
    left:3% !important;
    bottom:10% !important;
    width:42% !important;
    height:36% !important;
  }

  .visual .blob.tall img{
    object-fit:cover !important;
    object-position:center center !important;
  }
}
