/* Desktop and tablet presentation for Cocktail Class. Quote-form behaviour remains untouched. */
@media (min-width: 641px) {
    html {
        background: #171a18 !important;
        overscroll-behavior-y: none;
    }

    body.bb-cocktail-desktop {
        --bb-life-page-width: 1440px;
        --bb-life-page-gutter: 40px;
        --bb-life-section-space: 60px;
        margin: 0;
        color: #202a25;
        background: #171a18 !important;
        overscroll-behavior-y: none;
        font-family: Helvetica, Arial, sans-serif;
    }

    body.bb-cocktail-desktop > h1.misc {
        top: 130px !important;
        right: auto !important;
        left: clamp(18px, 2.2vw, 34px) !important;
        width: min(620px, 50vw) !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        margin: 0 !important;
        padding: 0 0 8px !important;
        overflow: visible !important;
        color: #fff !important;
        font: 900 clamp(28px, 2.65vw, 40px)/1.06 Raleway, Helvetica, Arial, sans-serif !important;
        letter-spacing: -.015em !important;
        text-align: left !important;
        text-shadow: 0 3px 16px rgba(0,0,0,.52) !important;
    }

    body.bb-cocktail-desktop .service-quote-hero {
        position: relative !important;
        height: min(760px, calc(100vh - 48px)) !important;
        min-height: 650px !important;
        padding-top: 48px !important;
        overflow: hidden !important;
        background: #171a18;
    }

    body.bb-cocktail-desktop .service-quote-hero:after {
        content: "";
        position: absolute;
        z-index: 2;
        inset: 48px 0 0;
        pointer-events: none;
        background: linear-gradient(90deg,rgba(8,12,10,.56),rgba(8,12,10,.12) 52%,rgba(8,12,10,.2));
    }

    body.bb-cocktail-desktop .service-quote-hero > #img {
        width: 100% !important;
        max-width: none !important;
        height: 100% !important;
        object-fit: cover !important;
        object-position: center 38% !important;
    }

    body.bb-cocktail-desktop .service-trust-strip {
        top: 48px !important;
        z-index: 3 !important;
        padding: 6px 18px !important;
        color: rgba(255,255,255,.95) !important;
        background: rgba(17,21,19,.72) !important;
        border-bottom: 1px solid rgba(255,255,255,.12);
        backdrop-filter: blur(12px);
        opacity: 1 !important;
        box-sizing: border-box;
    }

    body.bb-cocktail-desktop .bb-life-experience {
        width: 100% !important;
        margin: 0 !important;
        padding: var(--bb-life-section-space) max(calc((100vw - var(--bb-life-page-width))/2),var(--bb-life-page-gutter)) !important;
        background: #f3f5f4;
        box-sizing: border-box;
    }

    body.bb-cocktail-desktop .bb-life-experience-inner {
        display: grid;
        grid-template-columns: minmax(0,1.12fr) minmax(420px,.88fr);
        gap: 34px;
        align-items: stretch;
        width: 100%;
        max-width: var(--bb-life-page-width);
        margin: 0 auto;
    }

    body.bb-cocktail-desktop .bb-life-experience-copy {
        padding: clamp(38px,4.4vw,66px);
        background: #fff;
        border: 1px solid rgba(31,48,39,.09);
        border-radius: 28px;
        box-shadow: 0 20px 52px rgba(25,42,33,.09);
    }

    body.bb-cocktail-desktop .bb-life-kicker {
        display: block;
        margin-bottom: 13px;
        color: #f72d72;
        font: 800 11px/1.2 Raleway,Helvetica,Arial,sans-serif;
        letter-spacing: .17em;
        text-transform: uppercase;
    }

    body.bb-cocktail-desktop .bb-life-experience h2 {
        margin: 0 0 18px;
        color: #202a25;
        font: 900 clamp(35px,3vw,46px)/1.05 Raleway,Helvetica,Arial,sans-serif;
        letter-spacing: -.042em;
    }

    body.bb-cocktail-desktop .bb-life-experience p {
        margin: 0 0 17px;
        color: #536059;
        font: 400 17px/1.67 Helvetica,Arial,sans-serif;
    }

    body.bb-cocktail-desktop .bb-life-experience .bb-life-lead {
        color: #303a35;
        font-family: Raleway,Helvetica,Arial,sans-serif;
        font-weight: 800;
        font-size: 19px;
        line-height: 1.45;
    }

    body.bb-cocktail-desktop .bb-life-highlights {
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr));
        gap: 10px;
        margin-top: 28px;
    }

    body.bb-cocktail-desktop .bb-life-highlights span {
        display: flex;
        align-items: center;
        gap: 9px;
        min-height: 48px;
        padding: 10px 13px;
        color: #35423b;
        background: #f6f8f7;
        border: 1px solid #e8ece9;
        border-radius: 13px;
        font: 800 14px/1.3 Raleway,Helvetica,Arial,sans-serif;
        box-sizing: border-box;
    }

    body.bb-cocktail-desktop .bb-life-highlights i {
        display: grid;
        place-items: center;
        flex: 0 0 26px;
        width: 26px;
        height: 26px;
        color: #fff;
        background: #58b982;
        border-radius: 50%;
        font-size: 11px;
    }

    body.bb-cocktail-desktop .bb-life-gallery {
        display: grid;
        grid-template-columns: repeat(2,minmax(0,1fr));
        grid-template-rows: repeat(2,minmax(0,1fr));
        gap: 16px;
        height: auto;
        overflow: hidden;
        border-radius: 22px;
    }

    body.bb-cocktail-desktop .bb-life-gallery img {
        display: block;
        width: 100%;
        height: 100%;
        min-width: 0;
        min-height: 0;
        padding: 8px;
        object-fit: contain;
        object-position: center;
        background: #fff;
        box-sizing: border-box;
        border-radius: 22px;
        box-shadow: 0 16px 38px rgba(25,42,33,.12);
    }

    body.bb-cocktail-desktop .bb-life-gallery.bb-cocktail-gallery-feature {
        display: grid;
        grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr);
        grid-template-rows: minmax(0,1fr);
        gap: 14px;
        contain: size;
    }

    body.bb-cocktail-desktop .bb-life-gallery.bb-cocktail-gallery-feature img {
        padding: 0;
        object-fit: cover;
        object-position: center;
    }

    body.bb-cocktail-desktop .bb-life-gallery.bb-cocktail-gallery-feature img:first-child {
        object-position: center 24%;
    }

    /* Keep the main Life Drawing introduction balanced and isolated from
       shared service-page rules. */
    body.bb-cocktail-desktop .bb-life-experience-inner {
        grid-template-columns: minmax(0, 1.08fr) minmax(380px, .92fr) !important;
        align-items: stretch !important;
    }

    body.bb-cocktail-desktop .bb-life-experience-copy {
        align-self: start;
        box-sizing: border-box;
    }

    body.bb-cocktail-desktop .bb-life-experience-copy > h2 {
        display: block !important;
        width: auto !important;
        max-width: none !important;
        padding: 0 !important;
    }

    body.bb-cocktail-desktop .bb-life-experience-copy > .bb-life-lead {
        display: block !important;
        width: auto !important;
        max-width: 650px !important;
        margin: 0 0 22px !important;
        padding: 0 !important;
    }

    body.bb-cocktail-desktop .bb-life-gallery {
        align-self: stretch;
        height: auto;
        min-height: 0;
        contain: size;
    }

    /* Cocktail copy is shorter than the Life Drawing version, so keep this
       opening section compact rather than stretching the gallery and card. */
    body.bb-cocktail-desktop .bb-life-experience-copy {
        padding: clamp(34px,3.6vw,48px) !important;
    }
    body.bb-cocktail-desktop .bb-life-experience p {
        margin-bottom: 14px !important;
        line-height: 1.58 !important;
    }
    body.bb-cocktail-desktop .bb-life-highlights {
        margin-top: 16px !important;
    }
    body.bb-cocktail-desktop .bb-life-highlights span {
        min-height: 44px !important;
        padding-top: 8px !important;
        padding-bottom: 8px !important;
    }
    body.bb-cocktail-desktop .bb-cocktail-minimum {
        display: inline-flex;
        align-items: center;
        gap: 10px;
        margin-top: 2px;
        padding: 10px 15px;
        color: #7f1942;
        background: #fff2f7;
        border: 1px solid rgba(247,45,114,.25);
        border-radius: 999px;
        font: 700 14px/1.2 "Helvetica Neue",Helvetica,Arial,sans-serif;
    }
    body.bb-cocktail-desktop .bb-cocktail-minimum i { color: #f72d72; }
    body.bb-cocktail-desktop .bb-cocktail-minimum strong { font-weight: 850; }

    @media (max-width: 1180px) {
        body.bb-cocktail-desktop .bb-life-experience-inner {
            grid-template-columns: minmax(0, 1fr) minmax(340px, .78fr) !important;
            gap: 24px !important;
        }

        body.bb-cocktail-desktop .bb-life-experience-copy {
            padding: 38px !important;
        }

        body.bb-cocktail-desktop .bb-life-experience h2 {
            font-size: clamp(32px, 3.5vw, 40px) !important;
        }

        body.bb-cocktail-desktop .bb-life-gallery {
            height: clamp(500px,53vw,600px);
            grid-template-rows: repeat(2, minmax(0, 1fr)) !important;
        }

        body.bb-cocktail-desktop .bb-life-gallery img {
            min-height: 0 !important;
        }
    }

    body.bb-cocktail-desktop .bb-life-intro {
        display: block !important;
        width: 100% !important;
        margin: 0 !important;
        padding: var(--bb-life-section-space) max(calc((100vw - var(--bb-life-page-width))/2),var(--bb-life-page-gutter)) !important;
        background: #f3f5f4;
        border: 0 !important;
        box-sizing: border-box;
    }

    body.bb-cocktail-desktop .bb-life-intro tbody,
    body.bb-cocktail-desktop .bb-life-intro tr {
        display: grid !important;
        grid-template-columns: minmax(0,1.15fr) minmax(360px,.85fr);
        gap: 36px;
        width: 100%;
    }

    body.bb-cocktail-desktop .bb-life-intro td {
        display: block !important;
        max-width: none !important;
        padding: 0 !important;
    }

    body.bb-cocktail-desktop .bb-life-intro td:first-child {
        padding: clamp(34px,4vw,62px) !important;
        background: #fff;
        border: 1px solid rgba(31,48,39,.09);
        border-radius: 28px;
        box-shadow: 0 20px 52px rgba(25,42,33,.09);
    }

    body.bb-cocktail-desktop .bb-life-intro #intro {
        width: 100% !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    body.bb-cocktail-desktop .bb-life-intro #intro h2 {
        margin: 0 0 16px !important;
        color: #202a25 !important;
        font: 900 clamp(34px,3vw,45px)/1.06 Raleway,Helvetica,Arial,sans-serif !important;
        letter-spacing: -.04em !important;
    }

    body.bb-cocktail-desktop .bb-life-intro #intro h3 {
        margin: 0 0 28px !important;
        color: #f72d72 !important;
        font: 800 19px/1.38 Raleway,Helvetica,Arial,sans-serif !important;
    }

    body.bb-cocktail-desktop .bb-life-intro #intro p {
        margin: 0 0 18px !important;
        color: #536059 !important;
        font: 400 17px/1.68 Helvetica,Arial,sans-serif !important;
    }

    body.bb-cocktail-desktop .bb-life-intro #intro p:last-child { margin-bottom: 0 !important; }

    body.bb-cocktail-desktop .bb-life-intro td:last-child {
        display: grid !important;
        grid-template-columns: repeat(2,minmax(0,1fr));
        grid-auto-rows: minmax(220px,1fr);
        gap: 18px;
    }

    body.bb-cocktail-desktop .bb-life-intro .lifedrawpics {
        width: 100% !important;
        height: 100% !important;
        min-height: 220px;
        margin: 0 !important;
        object-fit: cover !important;
        border-radius: 22px !important;
        box-shadow: 0 14px 34px rgba(25,42,33,.12) !important;
    }

    body.bb-cocktail-desktop .bb-life-secure {
        padding: 58px max(calc((100vw - 1280px)/2),32px) 66px !important;
        background: #fff !important;
        border: 0 !important;
        box-sizing: border-box;
    }

    body.bb-cocktail-desktop .bb-life-secure > div {
        width: 100% !important;
        max-width: 1120px;
        margin: 0 auto !important;
        padding: 42px 48px !important;
        background: linear-gradient(145deg,#f8f9f8,#f2f4f3);
        border: 1px solid rgba(31,48,39,.09);
        border-radius: 26px;
        box-shadow: 0 18px 44px rgba(25,42,33,.08);
        box-sizing: border-box;
    }

    body.bb-cocktail-desktop .bb-life-secure > div > img { width: 42px !important; }
    body.bb-cocktail-desktop .bb-life-secure font { color: #202a25; font-family: Raleway,Helvetica,Arial,sans-serif !important; font-weight: 900; }
    body.bb-cocktail-desktop .bb-life-secure #cardslanding { margin-top: 22px; }

    /* Visual-only match to the Buff Butler form button. */
    body.bb-cocktail-desktop #regForm2 #nextBtn {
        position: relative !important;
        min-width: 92px !important;
        height: 42px !important;
        padding: 0 16px !important;
        overflow: hidden !important;
        color: #fff !important;
        background:
            linear-gradient(180deg,rgba(255,255,255,.24) 0%,rgba(255,255,255,.04) 46%,rgba(17,116,69,.08) 100%),
            linear-gradient(135deg,rgba(91,205,145,.98) 0%,rgba(48,164,101,.97) 58%,rgba(30,137,79,.98) 100%) !important;
        border: 1px solid rgba(255,255,255,.46) !important;
        border-radius: 14px !important;
        box-shadow: 0 12px 28px rgba(38,145,88,.28),inset 0 1px 0 rgba(255,255,255,.62),inset 0 -1px 0 rgba(12,89,49,.16) !important;
        text-shadow: 0 1px 2px rgba(8,70,38,.32) !important;
        backdrop-filter: blur(10px) saturate(130%);
        -webkit-backdrop-filter: blur(10px) saturate(130%);
        transition: transform 140ms ease,box-shadow 140ms ease,filter 140ms ease !important;
    }

    body.bb-cocktail-desktop #regForm2 #nextBtn:before {
        content: "";
        position: absolute;
        top: 2px;
        right: 10px;
        left: 10px;
        height: 42%;
        border-radius: 999px;
        background: linear-gradient(180deg,rgba(255,255,255,.34),rgba(255,255,255,0));
        pointer-events: none;
    }

    body.bb-cocktail-desktop #regForm2 #nextBtn:hover {
        transform: translateY(-1px);
        filter: brightness(1.045) saturate(1.04);
        box-shadow: 0 17px 34px rgba(38,145,88,.36),inset 0 1px 0 rgba(255,255,255,.68),inset 0 -1px 0 rgba(12,89,49,.18) !important;
    }

    body.bb-cocktail-desktop #regForm2 #nextBtn:active { transform: translateY(0); }

    /* Buff Butlers visual treatment for the existing Life Drawing form. */
    body.bb-cocktail-desktop #regForm2.bb-life-quote-form {
        --bb-field-icon: #f72d72;
        float: right !important;
        width: clamp(345px,22vw,370px) !important;
        max-width: calc(100vw - 40px) !important;
        margin-right: 20px !important;
        padding: clamp(18px,1.45vw,24px) !important;
        overflow: visible !important;
        color: #0b1220 !important;
        background: rgba(255,255,255,.92) !important;
        border: 1px solid rgba(11,18,32,.1) !important;
        border-radius: 22px !important;
        box-shadow: 0 18px 46px rgba(0,0,0,.14) !important;
        backdrop-filter: blur(10px);
        -webkit-backdrop-filter: blur(10px);
        box-sizing: border-box !important;
        font-family: -apple-system,BlinkMacSystemFont,"Segoe UI",Helvetica,Arial,sans-serif !important;
        text-align: left !important;
    }

    body.bb-cocktail-desktop #regForm2 .bb-quote-head {
        margin: 0 0 10px !important;
        padding: 10px 10px 12px !important;
        text-align: center !important;
        background: linear-gradient(180deg,rgba(11,18,32,.06),rgba(255,255,255,.75)) !important;
        border: 1px solid rgba(11,18,32,.1) !important;
        border-radius: 18px !important;
        box-shadow: 0 12px 30px rgba(0,0,0,.08) !important;
    }

    body.bb-cocktail-desktop #regForm2 .bb-quote-kicker {
        margin: 0 !important;
        color: #0b1220 !important;
        font: 900 20px/26px Raleway,Arial,sans-serif !important;
        letter-spacing: -.01em !important;
    }

    body.bb-cocktail-desktop #regForm2 .bb-quote-sub {
        margin: 5px 0 0 !important;
        color: rgba(11,18,32,.65) !important;
        font-size: 13px !important;
        font-weight: 700 !important;
        line-height: 18px !important;
    }

    body.bb-cocktail-desktop #regForm2 .bb-quote-section-title {
        margin: 8px 0 !important;
        color: rgba(11,18,32,.78) !important;
        font-size: 14px !important;
        font-weight: 900 !important;
        letter-spacing: .2px !important;
        text-transform: uppercase !important;
    }

    body.bb-cocktail-desktop #regForm2 p { margin: 8px 0 !important; }
    body.bb-cocktail-desktop #regForm2 .selectWrapper,
    body.bb-cocktail-desktop #regForm2 .selectBox { width: 100% !important; }

    body.bb-cocktail-desktop #regForm2 input:not([type="checkbox"]),
    body.bb-cocktail-desktop #regForm2 select,
    body.bb-cocktail-desktop #regForm2 textarea {
        width: 100% !important;
        box-sizing: border-box !important;
        min-height: 44px !important;
        padding: 0 36px 0 42px !important;
        color: #0b1220 !important;
        background-color: rgba(255,255,255,.98) !important;
        background-repeat: no-repeat !important;
        background-position: 14px 50% !important;
        background-size: 18px 18px !important;
        border: 1px solid rgba(11,18,32,.14) !important;
        border-radius: 14px !important;
        outline: none !important;
        box-shadow: 0 10px 22px rgba(0,0,0,.06) !important;
        font-size: 14.5px !important;
        line-height: 20px !important;
        transition: box-shadow .18s ease,border-color .18s ease,transform .12s ease !important;
    }

    body.bb-cocktail-desktop #regForm2 textarea {
        min-height: 84px !important;
        padding-top: 13px !important;
        padding-bottom: 13px !important;
        resize: vertical;
    }

    body.bb-cocktail-desktop #regForm2 select {
        height: 44px !important;
        line-height: 44px !important;
        -webkit-appearance: none !important;
        appearance: none !important;
    }

    body.bb-cocktail-desktop #regForm2 input:focus,
    body.bb-cocktail-desktop #regForm2 select:focus,
    body.bb-cocktail-desktop #regForm2 textarea:focus {
        border-color: rgba(247,45,114,.6) !important;
        box-shadow: 0 0 0 4px rgba(247,45,114,.16) !important;
    }

    body.bb-cocktail-desktop #regForm2 #type {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23F72D72' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") !important;
    }
    body.bb-cocktail-desktop #regForm2 #datepicker {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23F72D72' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4' width='18' height='18' rx='2' ry='2'/%3E%3Cline x1='16' y1='2' x2='16' y2='6'/%3E%3Cline x1='8' y1='2' x2='8' y2='6'/%3E%3Cline x1='3' y1='10' x2='21' y2='10'/%3E%3C/svg%3E") !important;
    }
    body.bb-cocktail-desktop #regForm2 #timepicker,
    body.bb-cocktail-desktop #regForm2 #hours {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23F72D72' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='12' cy='12' r='10'/%3E%3Cpolyline points='12 6 12 12 16 14'/%3E%3C/svg%3E") !important;
    }
    body.bb-cocktail-desktop #regForm2 #locationTextField {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23F72D72' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 10c0 7-9 13-9 13s-9-6-9-13a9 9 0 0 1 18 0z'/%3E%3Ccircle cx='12' cy='10' r='3'/%3E%3C/svg%3E") !important;
    }
    body.bb-cocktail-desktop #regForm2 #guests,
    body.bb-cocktail-desktop #regForm2 #cocktailguests {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23F72D72' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='9' cy='7' r='4'/%3E%3Cpath d='M22 21v-2a4 4 0 0 0-3-3.87'/%3E%3C/svg%3E") !important;
    }
    body.bb-cocktail-desktop #regForm2 #check {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23F72D72' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M21 15a4 4 0 0 1-4 4H7l-4 4V7a4 4 0 0 1 4-4h10a4 4 0 0 1 4 4z'/%3E%3C/svg%3E") !important;
    }
    body.bb-cocktail-desktop #regForm2 input[name="name"] {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23F72D72' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2'/%3E%3Ccircle cx='12' cy='7' r='4'/%3E%3C/svg%3E") !important;
    }
    body.bb-cocktail-desktop #regForm2 #email {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23F72D72' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 4h16v16H4z'/%3E%3Cpath d='m22 6-10 7L2 6'/%3E%3C/svg%3E") !important;
    }
    body.bb-cocktail-desktop #regForm2 #tel {
        background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23F72D72' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M22 16.92v3a2 2 0 0 1-2.18 2 19.79 19.79 0 0 1-8.63-3.07 19.5 19.5 0 0 1-6-6 19.79 19.79 0 0 1-3.07-8.67A2 2 0 0 1 4.11 2h3a2 2 0 0 1 2 1.72 12.84 12.84 0 0 0 .7 2.81 2 2 0 0 1-.45 2.11L8.09 9.91a16 16 0 0 0 6 6l1.27-1.27a2 2 0 0 1 2.11-.45 12.84 12.84 0 0 0 2.81.7A2 2 0 0 1 22 16.92z'/%3E%3C/svg%3E") !important;
    }

    body.bb-cocktail-desktop #regForm2 .bb-quote-actions {
        min-height: 54px !important;
        margin-top: 12px !important;
        padding: 0 0 6px !important;
        overflow: visible !important;
    }
    body.bb-cocktail-desktop #regForm2 .bb-quote-actions-inner {
        float: none !important;
        display: flex !important;
        justify-content: flex-end !important;
        gap: 10px !important;
        padding-right: 0 !important;
    }
    body.bb-cocktail-desktop #regForm2 #prevBtn,
    body.bb-cocktail-desktop #regForm2 #nextBtn {
        display: inline-flex;
        align-items: center !important;
        justify-content: center !important;
        height: 42px !important;
        min-width: 92px !important;
        padding: 0 16px !important;
        border-radius: 14px !important;
        font: 900 14px/1 Raleway,Arial,sans-serif !important;
        cursor: pointer;
    }
    body.bb-cocktail-desktop #regForm2 #prevBtn {
        color: #0b1220 !important;
        background: rgba(255,255,255,.92) !important;
        border: 1px solid rgba(0,0,0,.12) !important;
        box-shadow: 0 12px 26px rgba(0,0,0,.12) !important;
    }
    body.bb-cocktail-desktop #regForm2 .step {
        display: inline-block !important;
        width: 9px !important;
        height: 9px !important;
        margin: 0 4px !important;
        background: rgba(11,18,32,.2) !important;
        border-radius: 999px !important;
    }

    body.bb-cocktail-desktop .bb-life-services,
    body.bb-cocktail-desktop .bb-life-booking,
    body.bb-cocktail-desktop .bb-life-faq {
        width: 100%;
        margin: 0;
        padding: var(--bb-life-section-space) 0;
        border: 0;
        box-sizing: border-box;
    }
    body.bb-cocktail-desktop .bb-life-services { background: #fff; }
    body.bb-cocktail-desktop .bb-life-booking { background: #f3f5f4; }
    body.bb-cocktail-desktop .bb-life-faq { background: #fff; }
    body.bb-cocktail-desktop .bb-life-section-inner { width: min(var(--bb-life-page-width),calc(100% - (var(--bb-life-page-gutter) * 2))); margin: 0 auto; }
    body.bb-cocktail-desktop .bb-life-section-heading { margin: 0 auto 28px; text-align: center; }
    body.bb-cocktail-desktop .bb-life-section-heading > span,
    body.bb-cocktail-desktop .bb-life-booking-kicker,
    body.bb-cocktail-desktop .bb-life-faq-card > header > span { display: block; margin-bottom: 8px; color: #f72d72; font: 900 13px/1.2 Raleway,Arial,sans-serif; letter-spacing: .14em; text-transform: uppercase; }
    body.bb-cocktail-desktop .bb-life-section-heading h2,
    body.bb-cocktail-desktop .bb-life-booking-copy h2,
    body.bb-cocktail-desktop .bb-life-faq-card > header h2 { margin: 0; color: #202a25; font: 900 clamp(30px,3vw,43px)/1.06 Raleway,Arial,sans-serif; letter-spacing: -.04em; }
    body.bb-cocktail-desktop .bb-life-section-heading p { margin: 10px 0 0; color: #637069; font: 600 16px/1.5 Helvetica,Arial,sans-serif; }
    body.bb-cocktail-desktop .bb-life-service-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 28px; width: 100%; margin: 0 auto; }
    body.bb-cocktail-desktop .bb-life-service-card { overflow: hidden; background: #fff; border: 1px solid rgba(27,43,34,.09); border-radius: 24px; box-shadow: 0 18px 46px rgba(25,42,33,.10); }
    body.bb-cocktail-desktop .bb-life-service-image { display: block; height: 250px; line-height: 0; }
    body.bb-cocktail-desktop .bb-life-service-image img { width: 100%; height: 100%; display: block; object-fit: cover; }
    body.bb-cocktail-desktop .bb-life-service-copy { padding: 22px 24px 24px; }
    body.bb-cocktail-desktop .bb-life-service-copy h3 { margin: 0 0 7px; color: #202a25; font: 900 22px/1.2 Raleway,Arial,sans-serif; }
    body.bb-cocktail-desktop .bb-life-service-copy p { min-height: 48px; margin: 0; color: #647169; font: 400 16px/1.5 Helvetica,Arial,sans-serif; }
    body.bb-cocktail-desktop .bb-life-service-copy a { display: inline-flex; align-items: center; gap: 8px; margin-top: 17px; padding: 9px 13px; color: #27332d; background: #f8f2f4; border: 1px solid rgba(247,45,114,.18); border-radius: 999px; font: 800 14px/1 Raleway,Arial,sans-serif; text-decoration: none; }
    body.bb-cocktail-desktop .bb-life-service-copy a span { color: #f72d72; font-size: 19px; }

    body.bb-cocktail-desktop .bb-life-included-desktop {
        width: 100%;
        margin: 0;
        padding: var(--bb-life-section-space) 0;
        background: #fff;
        box-sizing: border-box;
    }
    body.bb-cocktail-desktop .bb-life-included-inner {
        width: min(calc(100% - 80px),1440px);
        max-width: 1440px;
        margin: 0 auto;
    }
    body.bb-cocktail-desktop .bb-life-included-heading {
        max-width: 720px;
        margin: 0 auto 30px;
        text-align: center;
    }
    body.bb-cocktail-desktop .bb-life-included-heading > span {
        display: block;
        margin-bottom: 8px;
        color: #f72d72;
        font: 900 12px/1.2 Raleway,Arial,sans-serif;
        letter-spacing: .14em;
        text-transform: uppercase;
    }
    body.bb-cocktail-desktop .bb-life-included-heading h2 {
        margin: 0;
        color: #202a25;
        font: 900 clamp(34px,3vw,46px)/1.06 Raleway,Arial,sans-serif;
        letter-spacing: -.04em;
    }
    body.bb-cocktail-desktop .bb-life-included-heading p {
        margin: 12px 0 0;
        color: #637069;
        font: 400 17px/1.55 Helvetica,Arial,sans-serif;
    }
    body.bb-cocktail-desktop .bb-life-included-grid {
        display: grid;
        grid-template-columns: repeat(3,minmax(0,1fr));
        gap: 18px;
        align-items: stretch;
    }
    body.bb-cocktail-desktop .bb-life-included-card {
        display: flex;
        align-items: flex-start;
        gap: 16px;
        height: 100%;
        min-height: 150px;
        padding: 24px;
        background: #f5f7f6;
        border: 1px solid rgba(27,43,34,.09);
        border-radius: 20px;
        box-shadow: 0 12px 30px rgba(25,42,33,.065);
        box-sizing: border-box;
    }
    body.bb-cocktail-desktop .bb-life-included-icon {
        display: grid;
        place-items: center;
        flex: 0 0 48px;
        width: 48px;
        height: 48px;
        color: #f72d72;
        background: #fff;
        border: 1px solid rgba(247,45,114,.18);
        border-radius: 15px;
        box-shadow: 0 8px 20px rgba(25,42,33,.07);
        font-size: 18px;
    }
    body.bb-cocktail-desktop .bb-life-included-card h3 {
        margin: 1px 0 7px;
        color: #243029;
        font: 900 17px/1.3 Raleway,Arial,sans-serif;
    }
    body.bb-cocktail-desktop .bb-life-included-card p {
        margin: 0;
        color: #617068;
        font: 400 15px/1.55 Helvetica,Arial,sans-serif;
    }

    body.bb-cocktail-desktop .bb-life-included-card > div:last-child {
        min-width: 0;
    }

    body.bb-cocktail-desktop .bb-life-location-desktop {
        width: 100%;
        margin: 0;
        padding: var(--bb-life-section-space) 0;
        background: #f3f5f4;
        box-sizing: border-box;
    }
    body.bb-cocktail-desktop .bb-life-location-inner {
        width: min(calc(100% - 80px),1440px);
        max-width: 1440px;
        margin: 0 auto;
    }
    body.bb-cocktail-desktop .bb-life-location-card {
        display: grid;
        grid-template-columns: minmax(0,1.3fr) minmax(330px,.7fr);
        gap: clamp(34px,4vw,64px);
        align-items: start;
        padding: clamp(40px,4.5vw,66px);
        background: #fff;
        border: 1px solid rgba(27,43,34,.09);
        border-radius: 28px;
        box-shadow: 0 20px 52px rgba(25,42,33,.09);
        box-sizing: border-box;
    }
    body.bb-cocktail-desktop .bb-life-location-copy > span {
        display: block;
        margin-bottom: 9px;
        color: #f72d72;
        font: 900 12px/1.2 Raleway,Arial,sans-serif;
        letter-spacing: .14em;
        text-transform: uppercase;
    }
    body.bb-cocktail-desktop .bb-life-location-copy h2 {
        margin: 0 0 24px;
        color: #202a25;
        font: 900 clamp(34px,3vw,46px)/1.08 Raleway,Arial,sans-serif;
        letter-spacing: -.04em;
    }
    body.bb-cocktail-desktop .bb-life-location-text {
        color: #59665f;
        font: 400 17px/1.72 Helvetica,Arial,sans-serif;
    }
    body.bb-cocktail-desktop .bb-life-location-image {
        position: relative;
        align-self: stretch;
        min-height: 460px;
        margin: 0;
        overflow: hidden;
        background: #ecefed;
        border: 1px solid rgba(27,43,34,.09);
        border-radius: 24px;
        box-shadow: 0 16px 38px rgba(25,42,33,.10);
    }
    body.bb-cocktail-desktop .bb-life-location-image img {
        display: block;
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center;
    }
    body.bb-cocktail-desktop .bb-life-location-points {
        padding: 24px;
        background: #f5f7f6;
        border: 1px solid rgba(27,43,34,.09);
        border-radius: 22px;
        box-sizing: border-box;
    }
    body.bb-cocktail-desktop .bb-life-location-points-title {
        margin: 0 0 14px;
        color: #303b35;
        font: 900 14px/1.2 Raleway,Arial,sans-serif;
        letter-spacing: .06em;
        text-transform: uppercase;
    }
    body.bb-cocktail-desktop .bb-life-location-point {
        display: flex;
        gap: 12px;
        align-items: flex-start;
        margin-top: 11px;
        padding: 14px;
        background: #fff;
        border: 1px solid rgba(27,43,34,.08);
        border-radius: 15px;
        box-shadow: 0 8px 20px rgba(25,42,33,.045);
    }
    body.bb-cocktail-desktop .bb-life-location-point i {
        display: grid;
        place-items: center;
        flex: 0 0 30px;
        width: 30px;
        height: 30px;
        color: #fff;
        background: #55bb86;
        border-radius: 10px;
        font-size: 12px;
    }
    body.bb-cocktail-desktop .bb-life-location-point strong,
    body.bb-cocktail-desktop .bb-life-location-point span { display: block; }
    body.bb-cocktail-desktop .bb-life-location-point strong { color: #26322c; font: 900 14px/1.3 Raleway,Arial,sans-serif; }
    body.bb-cocktail-desktop .bb-life-location-point span { margin-top: 3px; color: #68746d; font: 400 13px/1.45 Helvetica,Arial,sans-serif; }

    body.bb-cocktail-desktop .bb-life-booking-card { display: grid; grid-template-columns: minmax(0,1.45fr) minmax(300px,.75fr); gap: 42px; padding: 42px; background: #fff; border: 1px solid rgba(27,43,34,.09); border-radius: 28px; box-shadow: 0 20px 52px rgba(25,42,33,.09); }
    body.bb-cocktail-desktop .bb-life-booking-copy h3 { margin: 10px 0 24px; color: #f72d72; font: 800 18px/1.4 Raleway,Arial,sans-serif; }
    body.bb-cocktail-desktop .bb-life-booking-copy p { margin: 0 0 15px; color: #536059; font: 400 17px/1.65 Helvetica,Arial,sans-serif; }
    body.bb-cocktail-desktop .bb-life-booking-features { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 24px; }
    body.bb-cocktail-desktop .bb-life-booking-features span { padding: 10px 13px; background: #f4f6f5; border: 1px solid rgba(27,43,34,.08); border-radius: 12px; color: #344139; font: 800 13px/1.2 Raleway,Arial,sans-serif; }
    body.bb-cocktail-desktop .bb-life-booking-features i { margin-right: 6px; color: #48b47e; }
    body.bb-cocktail-desktop .bb-life-worldpay { padding: 28px; text-align: center; background: #f4f6f5; border: 1px solid rgba(27,43,34,.08); border-radius: 22px; }
    body.bb-cocktail-desktop .bb-life-lock { width: 46px; height: auto; }
    body.bb-cocktail-desktop .bb-life-worldpay > span { display: block; margin-top: 12px; color: #f72d72; font: 900 12px/1.2 Raleway,Arial,sans-serif; letter-spacing: .12em; text-transform: uppercase; }
    body.bb-cocktail-desktop .bb-life-worldpay h3 { margin: 7px 0 10px; color: #202a25; font: 900 23px/1.2 Raleway,Arial,sans-serif; }
    body.bb-cocktail-desktop .bb-life-worldpay p { margin: 0; color: #627068; font: 400 14px/1.55 Helvetica,Arial,sans-serif; }
    body.bb-cocktail-desktop .bb-life-card-logos { display: flex; justify-content: center; align-items: center; gap: 6px; margin: 20px 0 14px; }
    body.bb-cocktail-desktop .bb-life-card-logos img { width: auto; height: 23px; }
    body.bb-cocktail-desktop .bb-life-worldpay-logo { width: 145px; height: auto; }

    body.bb-cocktail-desktop .bb-life-faq-card { display: grid; grid-template-columns: minmax(270px,.7fr) minmax(0,1.3fr); gap: 46px; padding: 42px; background: #fff; border: 1px solid rgba(27,43,34,.09); border-radius: 28px; box-shadow: 0 20px 52px rgba(25,42,33,.09); }
    body.bb-cocktail-desktop .bb-life-faq-card > header > p { margin: 14px 0 24px; color: #637069; font: 400 16px/1.55 Helvetica,Arial,sans-serif; }
    body.bb-cocktail-desktop .bb-life-faq-card > header > div { padding: 14px 16px; color: #344139; background: #f8f2f4; border: 1px solid rgba(247,45,114,.15); border-radius: 15px; font: 800 14px/1.4 Raleway,Arial,sans-serif; }
    body.bb-cocktail-desktop .bb-life-faq-card > header i { margin-right: 7px; color: #f72d72; }
    body.bb-cocktail-desktop .bb-life-faq-list { display: grid; gap: 12px; }
    body.bb-cocktail-desktop .bb-life-faq-item { overflow: hidden; background: #f6f8f7; border: 1px solid rgba(27,43,34,.09); border-radius: 17px; }
    body.bb-cocktail-desktop .bb-life-faq-item > button { width: 100%; display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 19px 20px; color: #26322c; background: transparent; border: 0; text-align: left; font: 900 16px/1.35 Raleway,Arial,sans-serif; cursor: pointer; }
    body.bb-cocktail-desktop .bb-life-faq-item > button i { width: 34px; height: 34px; display: grid; place-items: center; flex: 0 0 34px; color: #f72d72; background: #fff; border: 1px solid rgba(27,43,34,.09); border-radius: 10px; transition: transform .2s ease; }
    body.bb-cocktail-desktop .bb-life-faq-item > button[aria-expanded="true"] i { transform: rotate(180deg); }
    body.bb-cocktail-desktop .bb-life-faq-item > div p { margin: 0; padding: 0 20px 20px; color: #5c6962; font: 400 15px/1.62 Helvetica,Arial,sans-serif; }

    /* Buff Butler FAQ behaviour, scoped to the Life Drawing desktop FAQ. */
    body.bb-cocktail-desktop .bb-faq-wrap .bb-faq-q { margin: 0; padding: 0; }
    body.bb-cocktail-desktop .bb-faq-wrap .question {
        position: relative;
        width: 100%;
        padding: 16px 56px 16px 18px;
        color: #0b1220;
        background: rgba(255,255,255,.96);
        border: 1px solid rgba(11,18,32,.1);
        border-radius: 16px;
        box-shadow: 0 10px 24px rgba(0,0,0,.06);
        font: 900 16px/24px Raleway,Arial,sans-serif;
        text-align: left;
        cursor: pointer;
        appearance: none;
        -webkit-appearance: none;
    }
    body.bb-cocktail-desktop .bb-faq-wrap .question + .answer { margin: 10px 0 16px; }
    body.bb-cocktail-desktop .bb-faq-wrap .plus::after,
    body.bb-cocktail-desktop .bb-faq-wrap .minus::after { content: ""; position: absolute; right: 16px; top: 50%; width: 34px; height: 34px; transform: translateY(-50%); background: rgba(247,45,114,.1); border: 1px solid rgba(247,45,114,.22); border-radius: 12px; }
    body.bb-cocktail-desktop .bb-faq-wrap .plus::before,
    body.bb-cocktail-desktop .bb-faq-wrap .minus::before { content: ""; position: absolute; z-index: 1; right: 28px; top: 50%; width: 9px; height: 9px; border-right: 2px solid #f72d72; border-bottom: 2px solid #f72d72; transform: translateY(-50%) rotate(45deg); transition: transform .22s ease; }
    body.bb-cocktail-desktop .bb-faq-wrap .minus::before { transform: translateY(-50%) rotate(-135deg); }
    body.bb-cocktail-desktop .bb-faq-wrap .answer {
        display: block;
        max-height: 0;
        opacity: 0;
        overflow: hidden;
        background: rgba(255,255,255,.96);
        border-left: 4px solid rgba(247,45,114,.55);
        border-radius: 14px;
        transition: max-height .46s cubic-bezier(.2,.8,.2,1),opacity .22s ease;
    }
    body.bb-cocktail-desktop .bb-faq-wrap .answer .answer-inner { padding: 0 18px !important; transform: translateY(-4px); opacity: 0; transition: transform .36s cubic-bezier(.2,.8,.2,1),opacity .26s ease,padding .22s ease; }
    body.bb-cocktail-desktop .bb-faq-wrap .answer.show { opacity: 1; }
    body.bb-cocktail-desktop .bb-faq-wrap .answer.show .answer-inner { padding: 14px 18px !important; transform: translateY(0); opacity: 1; }

    /* Buff Butler activity-card foundations required by the shared premium layer. */
    body.bb-cocktail-desktop .bb-services-wrap {
        width: 100%;
        box-sizing: border-box;
    }
    body.bb-cocktail-desktop .bb-services-inner {
        width: min(1400px,calc(100% - 60px));
        max-width: 1400px;
        margin: 0 auto;
        padding: 0;
        box-sizing: border-box;
    }
    body.bb-cocktail-desktop .bb-services-heading { margin: 0 0 30px; text-align: center; }
    body.bb-cocktail-desktop .bb-services-title { margin: 0; color: #f72d72; font: 900 clamp(34px,3vw,46px)/1.06 Raleway,Helvetica,Arial,sans-serif; letter-spacing: -.04em; }
    body.bb-cocktail-desktop .bb-services-subtitle { margin: 12px 0 0; color: #59665f; font: 600 17px/1.55 Helvetica,Arial,sans-serif; }
    body.bb-cocktail-desktop .bb-services-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(18px,2vw,26px); width: 100%; }
    body.bb-cocktail-desktop .bb-service-card {
        display: grid !important;
        overflow: hidden !important;
        background: rgba(255,255,255,.98) !important;
        border: 1px solid rgba(28,47,37,.105) !important;
        border-radius: 24px !important;
        box-shadow: 0 14px 34px rgba(25,43,33,.07),0 2px 7px rgba(25,43,33,.025) !important;
        box-sizing: border-box;
    }
    body.bb-cocktail-desktop .bb-service-media { display: block; position: relative; overflow: hidden; line-height: 0; text-decoration: none; }
    body.bb-cocktail-desktop .bb-service-media img { display: block !important; width: 100% !important; height: 100% !important; object-fit: cover; border: 0; transition: transform .45s cubic-bezier(.2,.7,.2,1),filter .35s ease !important; }
    body.bb-cocktail-desktop .bb-service-body { box-sizing: border-box; text-align: left; }
    body.bb-cocktail-desktop .bb-service-name { color: #202a25; font-family: Raleway,Helvetica,Arial,sans-serif; font-weight: 900; }
    body.bb-cocktail-desktop .bb-service-desc { color: #59665f; font-family: Helvetica,Arial,sans-serif; }
    body.bb-cocktail-desktop .bb-service-cta { display: inline-flex; align-items: center; gap: 8px; margin-top: 16px; color: #236d49; border: 1px solid #cfe5d8; border-radius: 999px; background: #eef7f2; font: 900 13px/1 Raleway,Helvetica,Arial,sans-serif; text-decoration: none; }
    body.bb-cocktail-desktop .bb-service-arrow { font-size: 17px; line-height: 1; }

    /* Keep the secure-booking benefit cards at the same compact height as Buff Butlers. */
    body.bb-cocktail-desktop .bb-secure-features span {
        min-height: 58px !important;
        height: auto !important;
        padding: 12px 14px !important;
        box-sizing: border-box !important;
    }

    /* Match the shared desktop footer's 1440px container and 40px gutters. */
    body.bb-cocktail-desktop .bb-services-wrap,
    body.bb-cocktail-desktop .bb-secure-wrap,
    body.bb-cocktail-desktop .bb-faq-wrap {
        padding-left: 0 !important;
        padding-right: 0 !important;
    }
    body.bb-cocktail-desktop .bb-services-inner,
    body.bb-cocktail-desktop .bb-secure-inner,
    body.bb-cocktail-desktop .bb-faq-inner {
        width: min(calc(100% - 80px),1440px) !important;
        max-width: 1440px !important;
        margin-left: auto !important;
        margin-right: auto !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
        box-sizing: border-box !important;
    }
    body.bb-cocktail-desktop .bb-services-grid,
    body.bb-cocktail-desktop .bb-secure-card,
    body.bb-cocktail-desktop .bb-faq-card { width: 100% !important; max-width: 100% !important; }

    /* Life Drawing has older global image sizing rules. Prevent those rules
       from stretching the payment logos inside the shared secure card. */
    body.bb-cocktail-desktop .bb-secure-assurance .bb-secure-badges {
        display: inline-flex !important;
        flex-direction: row !important;
        flex-wrap: nowrap !important;
        align-items: center !important;
        justify-content: flex-start !important;
        gap: 5px !important;
        white-space: nowrap !important;
    }
    body.bb-cocktail-desktop .bb-secure-assurance .bb-secure-badges img {
        display: block !important;
        width: auto !important;
        max-width: none !important;
        height: 14px !important;
        flex: 0 0 auto !important;
        object-fit: contain !important;
    }
    body.bb-cocktail-desktop .bb-secure-assurance .bb-secure-worldpay img {
        display: block !important;
        width: 74px !important;
        max-width: 74px !important;
        height: auto !important;
        object-fit: contain !important;
    }

    /* One consistent desktop rhythm across the final page sections. */
    body.bb-cocktail-desktop .bb-life-included-desktop,
    body.bb-cocktail-desktop .bb-life-location-desktop,
    body.bb-cocktail-desktop .bb-services-wrap,
    body.bb-cocktail-desktop .bb-secure-wrap,
    body.bb-cocktail-desktop .bb-faq-wrap {
        padding-top: var(--bb-life-section-space) !important;
        padding-bottom: var(--bb-life-section-space) !important;
        border-top: 0 !important;
    }
    body.bb-cocktail-desktop .bb-life-included-desktop,
    body.bb-cocktail-desktop .bb-services-wrap,
    body.bb-cocktail-desktop .bb-faq-wrap { background: #fff !important; }
    body.bb-cocktail-desktop .bb-life-location-desktop,
    body.bb-cocktail-desktop .bb-secure-wrap { background: #f3f5f4 !important; }

    body.bb-cocktail-desktop .bb-life-included-heading h2,
    body.bb-cocktail-desktop .bb-life-location-copy h2,
    body.bb-cocktail-desktop .bb-services-title,
    body.bb-cocktail-desktop .bb-secure-title,
    body.bb-cocktail-desktop .bb-faq-title {
        font-size: clamp(34px,3vw,46px) !important;
        line-height: 1.06 !important;
        letter-spacing: -.04em !important;
    }

    body.bb-cocktail-desktop .bb-faq-list { gap: 10px !important; }
    body.bb-cocktail-desktop .bb-faq-list .question {
        transition: color .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease !important;
    }
    body.bb-cocktail-desktop .bb-faq-list .question[aria-expanded="true"] {
        color: #9f1f50 !important;
        background: #fff7fa !important;
        border-color: rgba(247,45,114,.28) !important;
        box-shadow: inset 3px 0 0 #f72d72 !important;
    }

    body.bb-cocktail-desktop a:focus-visible,
    body.bb-cocktail-desktop button:focus-visible {
        outline: 3px solid rgba(247,45,114,.42) !important;
        outline-offset: 3px !important;
    }

    body.bb-cocktail-desktop .bb-cocktail-reviews {
        position: relative;
        min-height: 238px;
        margin-bottom: 0 !important;
        overflow: hidden;
        isolation: isolate;
        background: #fff !important;
    }
    body.bb-cocktail-desktop .bb-cocktail-reviews-widget {
        min-height: 238px;
        opacity: 0;
        transition: opacity .24s ease;
    }
    body.bb-cocktail-desktop .bb-cocktail-reviews-placeholder {
        position: absolute;
        inset: 0;
        z-index: 2;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 7px;
        color: #17211d;
        text-align: center;
        background: #fff;
        transition: opacity .2s ease, visibility .2s ease;
    }
    body.bb-cocktail-desktop .bb-cocktail-reviews-placeholder strong {
        font: 800 18px/1.2 Raleway, Arial, sans-serif;
    }
    body.bb-cocktail-desktop .bb-cocktail-reviews-placeholder > span:last-child {
        color: #66716c;
        font-size: 14px;
    }
    body.bb-cocktail-desktop .bb-cocktail-reviews-stars {
        color: #f72d72;
        font-size: 22px;
        letter-spacing: 3px;
    }
    body.bb-cocktail-desktop .bb-cocktail-reviews.is-ready .bb-cocktail-reviews-widget {
        opacity: 1;
    }
    body.bb-cocktail-desktop .bb-cocktail-reviews.is-ready .bb-cocktail-reviews-placeholder {
        opacity: 0;
        visibility: hidden;
        pointer-events: none;
    }

    @media (prefers-reduced-motion: reduce) {
        body.bb-cocktail-desktop .bb-cocktail-reviews-widget,
        body.bb-cocktail-desktop .bb-cocktail-reviews-placeholder { transition: none; }
    }

    @media (hover:hover) {
        body.bb-cocktail-desktop .bb-service-card:hover .bb-service-media img {
            transform: scale(1.025) !important;
            filter: saturate(1.03) contrast(1.015);
        }
    }

    @media (max-width: 1100px) {
        body.bb-cocktail-desktop { --bb-life-section-space: 42px; }
        body.bb-cocktail-desktop .bb-life-experience-inner { grid-template-columns: minmax(0,1fr) !important; }
        body.bb-cocktail-desktop .bb-life-gallery {
            width: 100%;
            height: auto;
            align-self: start;
            grid-template-columns: repeat(2,minmax(0,1fr));
            grid-template-rows: repeat(2,clamp(210px,27vw,280px)) !important;
        }
        body.bb-cocktail-desktop .bb-life-gallery.bb-cocktail-gallery-feature {
            display: grid;
            grid-template-columns: minmax(0,.82fr) minmax(0,1.18fr);
            grid-template-rows: minmax(0,1fr) !important;
            height: clamp(360px,55vw,560px);
            contain: none;
        }
        body.bb-cocktail-desktop .bb-life-intro tbody,
        body.bb-cocktail-desktop .bb-life-intro tr { grid-template-columns: 1fr; }
        body.bb-cocktail-desktop .bb-life-intro td:last-child { grid-auto-rows: 260px; }
        body.bb-cocktail-desktop > h1.misc { width: 48vw !important; font-size: 34px !important; }
        body.bb-cocktail-desktop .bb-life-booking-card,
        body.bb-cocktail-desktop .bb-life-faq-card { grid-template-columns: 1fr; }
        body.bb-cocktail-desktop .bb-life-included-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
        body.bb-cocktail-desktop .bb-life-location-card { grid-template-columns: 1fr; }
        body.bb-cocktail-desktop .bb-life-location-image { min-height: 340px; }
        body.bb-cocktail-desktop .bb-secure-card { align-items: start !important; }
        body.bb-cocktail-desktop .bb-secure-assurance { min-height: 0 !important; height: auto !important; }
        body.bb-cocktail-desktop .bb-service-media { min-height: 220px; }
        body.bb-cocktail-desktop { --bb-life-page-gutter: 32px; }
        body.bb-cocktail-desktop .bb-life-section-inner { width: calc(100% - (var(--bb-life-page-gutter) * 2)); }
    }

    @media (max-width: 999px) {
        body.bb-cocktail-desktop .bb-services-inner,
        body.bb-cocktail-desktop .bb-secure-inner,
        body.bb-cocktail-desktop .bb-faq-inner { width: min(calc(100% - 64px),980px) !important; }
        body.bb-cocktail-desktop .bb-life-included-inner { width: min(calc(100% - 64px),980px); }
        body.bb-cocktail-desktop .bb-life-location-inner { width: min(calc(100% - 64px),980px); }
        body.bb-cocktail-desktop .bb-life-location-card { padding: 38px !important; }
        body.bb-cocktail-desktop .bb-life-location-image { height: 340px; min-height: 340px; }
    }
}
