/* =========================================================
   BFT — Gifting Experience v2
   ========================================================= */

.gifting-page{
    background:var(--color-background);
    color:var(--color-primary);
}

.gift-label{
    margin:0;
    color:var(--color-accent-dark);
    font-size:.7rem;
    line-height:1.2;
    font-weight:800;
    letter-spacing:.17em;
    text-transform:uppercase;
}

/* HERO */
.gift-hero{
    padding:clamp(46px,6vw,76px) 0 clamp(58px,7vw,88px);
    overflow:hidden;
}

.gift-hero__grid{
    display:grid;
    grid-template-columns:.86fr 1.14fr;
    gap:clamp(42px,7vw,105px);
    align-items:center;
}

.gift-hero__copy{
    max-width:590px;
}

.gift-hero h1{
    margin:15px 0 23px;
    font-family:var(--font-display);
    font-size:clamp(4rem,7.2vw,7.3rem);
    line-height:.87;
    letter-spacing:-.06em;
    color:var(--color-primary);
}

.gift-hero h1 em,
.gift-heading h2 em,
.gift-custom h2 em,
.gift-corporate h2 em,
.gift-closing h2 em{
    color:var(--color-accent);
    font-style:italic;
    font-weight:500;
}

.gift-hero__intro{
    max-width:500px;
    margin:0;
    color:var(--color-text-soft);
    font-size:1rem;
    line-height:1.75;
}

.gift-hero__actions{
    display:flex;
    flex-wrap:wrap;
    gap:10px;
    margin-top:27px;
}

.gift-hero__micro{
    display:flex;
    align-items:center;
    gap:12px;
    margin-top:26px;
    color:var(--color-muted);
    font-size:.68rem;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.gift-hero__micro i{
    width:4px;
    height:4px;
    border-radius:50%;
    background:var(--color-accent);
}

.gift-hero__visual{
    position:relative;
    padding:0 17px 18px 0;
}

.gift-hero__image{
    aspect-ratio:1.2/1;
    overflow:hidden;
    border-radius:7px 38px 7px 38px;
    background:var(--color-surface-soft);
    box-shadow:18px 18px 0 rgba(166,106,69,.1);
}

.gift-hero__image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}

.gift-hero__tag{
    position:absolute;
    right:-2px;
    bottom:0;
    display:flex;
    flex-direction:column;
    padding:15px 19px;
    min-width:205px;
    background:var(--color-surface);
    border:1px solid var(--color-border);
    box-shadow:var(--shadow-soft);
    transform:rotate(1.5deg);
}

.gift-hero__tag span{
    color:var(--color-muted);
    font-size:.65rem;
    letter-spacing:.1em;
    text-transform:uppercase;
}

.gift-hero__tag strong{
    margin-top:5px;
    font-family:var(--font-display);
    font-size:1.02rem;
}

/* SHARED HEADINGS */
.gift-heading{
    display:grid;
    grid-template-columns:1fr .55fr;
    gap:50px;
    align-items:end;
    margin-bottom:30px;
}

.gift-heading h2{
    margin:11px 0 0;
    font-family:var(--font-display);
    font-size:clamp(3rem,5vw,5.2rem);
    line-height:.93;
    letter-spacing:-.055em;
}

.gift-heading__intro{
    max-width:390px;
    margin:0 0 5px;
    color:var(--color-text-soft);
    font-size:.94rem;
    line-height:1.75;
}

/* OCCASIONS */
.gift-occasions{
    padding-top:clamp(18px,3vw,35px);
    padding-bottom:clamp(70px,8vw,105px);
}

.gift-occasion-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:11px;
}

.gift-occasion{
    position:relative;
    min-height:238px;
    padding:23px 24px 22px;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    overflow:hidden;
    border:1px solid var(--color-border);
    background:var(--color-surface);
    transition:transform .25s ease, box-shadow .25s ease;
}

.gift-occasion:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow-soft);
}

.gift-occasion:nth-child(1){border-radius:27px 5px 5px 5px}
.gift-occasion:nth-child(2){border-radius:5px 27px 5px 5px}
.gift-occasion:nth-child(3){border-radius:5px 5px 27px 5px}
.gift-occasion:nth-child(4){border-radius:5px 5px 5px 27px}
.gift-occasion:nth-child(5){border-radius:5px 5px 27px 5px}
.gift-occasion:nth-child(6){border-radius:5px 27px 5px 5px}

.gift-occasion--festival{
    background:var(--color-primary);
    color:var(--color-white);
}

.gift-occasion__number{
    color:var(--color-accent);
    font-size:.67rem;
    font-weight:800;
    letter-spacing:.12em;
}

.gift-occasion__mark{
    position:absolute;
    top:-20px;
    right:-4px;
    font-family:var(--font-display);
    font-size:10.5rem;
    line-height:1;
    font-style:italic;
    color:rgba(166,106,69,.08);
    pointer-events:none;
}

.gift-occasion--festival .gift-occasion__mark{
    color:rgba(255,255,255,.055);
}

.gift-occasion h3{
    position:relative;
    z-index:1;
    margin:0 0 6px;
    font-family:var(--font-display);
    font-size:2rem;
    line-height:1;
    color:inherit;
}

.gift-occasion p{
    position:relative;
    z-index:1;
    max-width:275px;
    margin:0;
    color:var(--color-text-soft);
    font-size:.8rem;
    line-height:1.55;
}

.gift-occasion--festival p{
    color:rgba(255,255,255,.72);
}

.gift-occasion__arrow{
    align-self:flex-end;
    font-size:1.15rem;
    line-height:1;
    color:var(--color-accent);
}

/* COLLECTION */
.gift-collection{
    padding-top:clamp(64px,7vw,92px);
    padding-bottom:clamp(70px,8vw,105px);
    border-top:1px solid var(--color-border);
}

.gift-heading--collection{
    margin-bottom:17px;
}

.gift-view-link{
    justify-self:end;
    color:var(--color-primary);
    font-size:.78rem;
    font-weight:800;
    letter-spacing:.04em;
    text-decoration:none;
}

.gift-view-link span{
    color:var(--color-accent);
    margin-left:5px;
}

.gift-collection-intro{
    margin:0 0 24px;
    color:var(--color-text-soft);
    font-size:.9rem;
}

.gifting-product-grid{
    align-items:stretch;
}

.gifting-product-grid .product-card{
    height:100%;
}

.gift-empty{
    padding:55px 20px;
    text-align:center;
    border:1px dashed var(--color-border);
    color:var(--color-text-soft);
}

/* CUSTOM */
.gift-custom{
    padding:0 0 clamp(72px,8vw,105px);
}

.gift-custom__inner{
    display:grid;
    grid-template-columns:.92fr 1.08fr;
    gap:clamp(45px,7vw,100px);
    padding:clamp(42px,5vw,68px);
    border-radius:30px;
    background:var(--color-primary);
    color:var(--color-white);
    overflow:hidden;
}

.gift-custom__visual{
    position:relative;
}

.gift-custom__stamp{
    width:72px;
    height:72px;
    margin-bottom:34px;
    display:grid;
    place-items:center;
    border:1px solid rgba(255,255,255,.25);
    border-radius:50%;
    color:var(--color-accent);
    font-family:var(--font-display);
    font-size:1.35rem;
    font-style:italic;
}

.gift-custom h2{
    margin:13px 0 0;
    font-family:var(--font-display);
    font-size:clamp(3rem,5vw,5.1rem);
    line-height:.93;
    letter-spacing:-.055em;
    color:var(--color-white);
}

.gift-custom__content{
    align-self:end;
}

.gift-custom__content>p{
    max-width:520px;
    margin:0 0 28px;
    color:rgba(255,255,255,.74);
    font-size:.94rem;
    line-height:1.75;
}

.gift-steps{
    border-top:1px solid rgba(255,255,255,.18);
}

.gift-step{
    display:grid;
    grid-template-columns:34px 1fr;
    gap:8px;
    padding:17px 0;
    border-bottom:1px solid rgba(255,255,255,.18);
}

.gift-step>span{
    color:var(--color-accent);
    font-size:.65rem;
    font-weight:800;
}

.gift-step strong{
    font-family:var(--font-display);
    font-size:1.05rem;
    font-weight:600;
}

.gift-step p{
    margin:4px 0 0;
    color:rgba(255,255,255,.62);
    font-size:.76rem;
    line-height:1.5;
}

.btn-light{
    margin-top:25px;
    background:var(--color-white);
    color:var(--color-primary);
    border-color:var(--color-white);
}

.btn-light:hover{
    background:transparent;
    color:var(--color-white);
}

/* CORPORATE */
.gift-corporate{
    padding:0 0 clamp(60px,7vw,90px);
}

.gift-corporate__inner{
    display:grid;
    grid-template-columns:1fr .72fr;
    gap:55px;
    padding:38px 0;
    border-top:1px solid var(--color-border);
    border-bottom:1px solid var(--color-border);
    align-items:center;
}

.gift-corporate h2{
    margin:11px 0 0;
    font-family:var(--font-display);
    font-size:clamp(2.7rem,4.3vw,4.4rem);
    line-height:.95;
    letter-spacing:-.05em;
}

.gift-corporate__inner>div:last-child{
    max-width:420px;
    justify-self:end;
}

.gift-corporate__inner>div:last-child>p{
    margin:0 0 20px;
    color:var(--color-text-soft);
    font-size:.86rem;
    line-height:1.7;
}

.gift-text-button{
    color:var(--color-primary);
    font-size:.76rem;
    font-weight:800;
    letter-spacing:.05em;
    text-transform:uppercase;
    text-decoration:none;
}

.gift-text-button span{
    color:var(--color-accent);
    margin-left:6px;
}

/* CLOSING */
.gift-closing{
    padding:clamp(80px,10vw,130px) 0 clamp(85px,10vw,130px);
    text-align:center;
}

.gift-closing h2{
    max-width:900px;
    margin:13px auto 25px;
    font-family:var(--font-display);
    font-size:clamp(3.1rem,6vw,6.3rem);
    line-height:.91;
    letter-spacing:-.06em;
}

.gift-closing__link{
    color:var(--color-primary);
    font-size:.75rem;
    font-weight:800;
    letter-spacing:.06em;
    text-transform:uppercase;
    text-decoration:none;
}

/* RESPONSIVE */
@media(max-width:900px){
    .gift-hero__grid{
        grid-template-columns:1fr;
        gap:42px;
    }

    .gift-hero__copy{
        max-width:700px;
    }

    .gift-hero__visual{
        max-width:760px;
        width:100%;
        margin:auto;
    }

    .gift-heading{
        grid-template-columns:1fr;
        gap:16px;
    }

    .gift-heading__intro{
        margin:0;
    }

    .gift-occasion-grid{
        grid-template-columns:1fr 1fr;
    }

    .gift-custom__inner,
    .gift-corporate__inner{
        grid-template-columns:1fr;
    }

    .gift-corporate__inner>div:last-child{
        justify-self:start;
    }
}

@media(max-width:560px){
    .gift-hero{
        padding-top:34px;
        padding-bottom:55px;
    }

    .gift-hero h1{
        font-size:clamp(3.25rem,15vw,4.4rem);
    }

    .gift-hero__intro{
        font-size:.9rem;
    }

    .gift-hero__actions{
        display:grid;
        grid-template-columns:1fr;
    }

    .gift-hero__actions .btn{
        width:100%;
    }

    .gift-hero__micro{
        font-size:.6rem;
    }

    .gift-hero__visual{
        padding-right:8px;
        padding-bottom:11px;
    }

    .gift-hero__image{
        border-radius:5px 23px 5px 23px;
        box-shadow:10px 11px 0 rgba(166,106,69,.1);
    }

    .gift-hero__tag{
        right:0;
        min-width:180px;
        padding:11px 13px;
    }

    .gift-heading h2{
        font-size:2.8rem;
    }

    .gift-occasion-grid{
        grid-template-columns:1fr;
        gap:9px;
    }

    .gift-occasion,
    .gift-occasion:nth-child(n){
        min-height:205px;
        border-radius:20px;
    }

    .gift-custom__inner{
        padding:34px 24px;
        border-radius:22px;
    }

    .gift-custom h2{
        font-size:2.8rem;
    }

    .gift-custom__stamp{
        margin-bottom:26px;
    }

    .gift-corporate h2{
        font-size:2.65rem;
    }

    .gift-closing{
        padding-top:75px;
    }

    .gift-closing h2{
        font-size:3.15rem;
    }
}


/* =========================================================
   GIFTING v3 — Collections + Enquiry
   ========================================================= */

.gift-collection{
    padding-top:clamp(58px,6vw,78px);
}

.gift-collection .gift-heading--collection{
    margin-bottom:30px;
}

.gift-collection-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:11px;
}

.gift-collection-card{
    position:relative;
    min-height:280px;
    padding:24px 25px 22px;
    border:1px solid var(--color-border);
    background:var(--color-surface);
    color:var(--color-primary);
    text-align:left;
    display:flex;
    flex-direction:column;
    justify-content:space-between;
    cursor:pointer;
    font:inherit;
    overflow:hidden;
    transition:transform .25s ease, box-shadow .25s ease, background .25s ease;
}

.gift-collection-card:hover{
    transform:translateY(-4px);
    box-shadow:var(--shadow-soft);
}

.gift-collection-card:nth-child(1){border-radius:27px 5px 5px 5px}
.gift-collection-card:nth-child(2){border-radius:5px 27px 5px 5px}
.gift-collection-card:nth-child(3){border-radius:5px 5px 27px 5px}
.gift-collection-card:nth-child(4){border-radius:5px 5px 5px 27px}
.gift-collection-card:nth-child(5){border-radius:5px 5px 27px 5px}
.gift-collection-card:nth-child(6){border-radius:5px 27px 5px 5px}

.gift-collection-card--celebrations{
    background:var(--color-primary);
    color:var(--color-white);
}

.gift-collection-card__number{
    color:var(--color-accent);
    font-size:.67rem;
    font-weight:800;
    letter-spacing:.12em;
}

.gift-collection-card__icon{
    position:absolute;
    top:8px;
    right:18px;
    color:rgba(166,106,69,.12);
    font-family:var(--font-display);
    font-size:7.5rem;
    line-height:1;
}

.gift-collection-card--celebrations .gift-collection-card__icon{
    color:rgba(255,255,255,.08);
}

.gift-collection-card h3{
    position:relative;
    z-index:1;
    margin:0 0 2px;
    font-family:var(--font-display);
    font-size:1.85rem;
    line-height:1;
    color:inherit;
}

.gift-collection-card em{
    position:relative;
    z-index:1;
    display:block;
    margin-top:3px;
    color:var(--color-accent);
    font-family:var(--font-display);
    font-size:1.05rem;
}

.gift-collection-card p{
    position:relative;
    z-index:1;
    max-width:285px;
    margin:10px 0 0;
    color:var(--color-text-soft);
    font-size:.78rem;
    line-height:1.55;
}

.gift-collection-card--celebrations p{
    color:rgba(255,255,255,.72);
}

.gift-collection-card__arrow{
    align-self:flex-end;
    color:var(--color-accent);
    font-size:1.15rem;
    line-height:1;
}

/* ENQUIRY */
.gift-enquiry{
    padding:0 0 clamp(70px,8vw,100px);
}

.gift-enquiry__inner{
    display:grid;
    grid-template-columns:.78fr 1.22fr;
    gap:clamp(40px,7vw,95px);
    padding:clamp(38px,5vw,65px);
    background:var(--color-surface);
    border:1px solid var(--color-border);
    border-radius:30px;
    box-shadow:var(--shadow-soft);
}

.gift-enquiry__intro h2{
    margin:13px 0 20px;
    font-family:var(--font-display);
    font-size:clamp(3rem,4.8vw,4.8rem);
    line-height:.93;
    letter-spacing:-.055em;
}

.gift-enquiry__intro h2 em{
    color:var(--color-accent);
    font-style:italic;
    font-weight:500;
}

.gift-enquiry__intro>p:not(.gift-label){
    max-width:410px;
    margin:0;
    color:var(--color-text-soft);
    font-size:.9rem;
    line-height:1.75;
}

.gift-enquiry__notes{
    display:flex;
    flex-direction:column;
    gap:9px;
    margin-top:25px;
    color:var(--color-primary);
    font-size:.73rem;
    font-weight:700;
}

.gift-enquiry__notes span::first-letter{
    color:var(--color-accent);
}

.gift-enquiry__form{
    display:flex;
    flex-direction:column;
    gap:16px;
}

.gift-form-row{
    display:grid;
    grid-template-columns:1fr 1fr;
    gap:14px;
}

.gift-enquiry__form label{
    display:flex;
    flex-direction:column;
    gap:7px;
}

.gift-enquiry__form label>span{
    color:var(--color-muted);
    font-size:.65rem;
    font-weight:800;
    letter-spacing:.08em;
    text-transform:uppercase;
}

.gift-enquiry__form input,
.gift-enquiry__form select,
.gift-enquiry__form textarea{
    width:100%;
    box-sizing:border-box;
    padding:13px 14px;
    border:1px solid var(--color-border);
    border-radius:8px;
    outline:none;
    background:var(--color-background);
    color:var(--color-primary);
    font:inherit;
    font-size:.82rem;
    transition:border-color .2s ease, box-shadow .2s ease;
}

.gift-enquiry__form textarea{
    min-height:112px;
    resize:vertical;
}

.gift-enquiry__form input:focus,
.gift-enquiry__form select:focus,
.gift-enquiry__form textarea:focus{
    border-color:var(--color-accent);
    box-shadow:0 0 0 3px rgba(166,106,69,.08);
}

.gift-enquiry__submit{
    align-self:flex-start;
    margin-top:3px;
}

.gift-enquiry__submit span{
    margin-left:6px;
}

.gift-enquiry__small{
    margin:0;
    color:var(--color-muted);
    font-size:.62rem;
    line-height:1.5;
}

.gift-custom{
    padding-bottom:clamp(65px,7vw,90px);
}

.gift-custom__inner--compact{
    min-height:0;
}

.gift-custom__inner--compact .gift-custom__visual{
    align-self:center;
}

.gift-custom__inner--compact .gift-custom__visual h2{
    max-width:570px;
    font-size:clamp(2.7rem,4.5vw,4.6rem);
}

.gift-custom__inner--compact .gift-custom__visual h2 em{
    color:var(--color-accent);
    font-style:italic;
    font-weight:500;
}

@media(max-width:900px){
    .gift-collection-grid{
        grid-template-columns:1fr 1fr;
    }

    .gift-enquiry__inner{
        grid-template-columns:1fr;
    }
}

@media(max-width:560px){
    .gift-collection-grid{
        grid-template-columns:1fr;
    }

    .gift-collection-card,
    .gift-collection-card:nth-child(n){
        min-height:225px;
        border-radius:20px;
    }

    .gift-enquiry__inner{
        padding:30px 21px;
        border-radius:22px;
    }

    .gift-enquiry__intro h2{
        font-size:2.9rem;
    }

    .gift-form-row{
        grid-template-columns:1fr;
    }

    .gift-enquiry__submit{
        width:100%;
    }

    .gift-custom__inner--compact .gift-custom__visual h2{
        font-size:2.8rem;
    }
}


/* v3.1 — harden gifting controls against theme/default button styles */
.gift-collection-card{
    appearance:none;
    -webkit-appearance:none;
    width:100%;
    box-sizing:border-box;
    border-style:solid;
    border-width:1px;
    border-color:var(--color-border, #ded4ca);
    background:var(--color-surface, #fffdf9);
    color:var(--color-primary, #43251a);
}
.gift-collection-card--celebrations{
    background:var(--color-primary, #43251a);
    color:var(--color-white, #fff);
}
.gift-enquiry__inner{
    background:var(--color-surface, #fffdf9);
}
.gift-enquiry__form input,
.gift-enquiry__form select,
.gift-enquiry__form textarea{
    appearance:none;
    -webkit-appearance:none;
    background:var(--color-background, #f8f3ec);
    border-color:var(--color-border, #ded4ca);
    color:var(--color-primary, #43251a);
}


/* =========================================================
   GIFTING v4 — One clear journey
   Occasion cards removed; BFT Collections are the primary
   discovery layer, followed by real gift boxes.
   ========================================================= */

.gift-hero{
    padding-bottom:clamp(48px,5vw,68px);
}

.gift-collection{
    padding-top:clamp(42px,5vw,62px);
    padding-bottom:clamp(58px,6vw,78px);
}

.gift-collection .gift-heading--collection{
    margin-bottom:26px;
}

.gift-products{
    padding-top:clamp(52px,6vw,76px);
    padding-bottom:clamp(58px,7vw,86px);
    border-top:1px solid var(--color-border);
}

.gift-heading--products{
    margin-bottom:22px;
}

.gift-products__side{
    justify-self:end;
    align-self:end;
    max-width:360px;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:18px;
}

.gift-products__side > p{
    margin:0;
    color:var(--color-text-soft);
    font-size:.88rem;
    line-height:1.65;
    text-align:right;
}

.gift-products .gifting-product-grid{
    margin-top:0;
}

.gift-products .product-card{
    min-width:0;
}

@media(max-width:900px){
    .gift-products__side{
        justify-self:start;
        align-items:flex-start;
    }

    .gift-products__side > p{
        text-align:left;
    }
}

@media(max-width:560px){
    .gift-products{
        padding-top:48px;
    }

    .gift-products__side{
        width:100%;
    }

    .gift-products__side > p{
        font-size:.82rem;
    }

    .gift-collection-grid{
        gap:9px;
    }
}


/* =========================================================
   GIFTING FINAL — qualified gifting enquiry form
   ========================================================= */

.gift-enquiry{
    padding-top:clamp(54px,6vw,84px);
    padding-bottom:clamp(54px,7vw,92px);
}

.gift-enquiry__inner{
    display:grid;
    grid-template-columns:minmax(300px,.82fr) minmax(0,1.18fr);
    gap:clamp(42px,7vw,90px);
    padding:clamp(42px,5vw,72px);
    border:1px solid var(--color-border,#ded4ca);
    border-radius:34px;
    background:var(--color-surface,#fffdf9);
    box-shadow:0 18px 50px rgba(67,37,26,.06);
}

.gift-enquiry__intro h2{
    margin:12px 0 20px;
    max-width:520px;
}

.gift-enquiry__lead{
    max-width:510px;
    margin:0;
    color:var(--color-text-soft,#765f52);
    font-size:.92rem;
    line-height:1.75;
}

.gift-enquiry__ticks{
    list-style:none;
    padding:0;
    margin:28px 0 0;
    display:grid;
    gap:10px;
}

.gift-enquiry__ticks li{
    font-size:.82rem;
    font-weight:600;
    color:var(--color-primary,#43251a);
}

.gift-enquiry__ticks li::before{
    content:"✓";
    margin-right:9px;
    color:var(--color-accent,#b46d45);
}

.gift-enquiry__form{
    display:grid;
    gap:17px;
    min-width:0;
}

.gift-form-grid{
    display:grid;
    gap:15px;
}

.gift-form-grid--2{
    grid-template-columns:1fr 1fr;
}

.gift-enquiry__form label{
    display:grid;
    gap:8px;
}

.gift-enquiry__form label > span{
    font-size:.66rem;
    font-weight:700;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:var(--color-text-soft,#765f52);
}

.gift-enquiry__form label small{
    font-size:.62rem;
    letter-spacing:0;
    text-transform:none;
    font-weight:500;
}

.gift-enquiry__form input,
.gift-enquiry__form select,
.gift-enquiry__form textarea{
    width:100%;
    box-sizing:border-box;
    border:1px solid var(--color-border,#ded4ca);
    border-radius:10px;
    padding:13px 14px;
    background:var(--color-background,#f8f3ec);
    color:var(--color-primary,#43251a);
    font:inherit;
    font-size:.82rem;
    outline:none;
    transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;
}

.gift-enquiry__form select{
    cursor:pointer;
}

.gift-enquiry__form textarea{
    min-height:108px;
    resize:vertical;
    line-height:1.55;
}

.gift-enquiry__form input:focus,
.gift-enquiry__form select:focus,
.gift-enquiry__form textarea:focus{
    border-color:var(--color-accent,#b46d45);
    box-shadow:0 0 0 3px rgba(180,109,69,.10);
    background:var(--color-surface,#fffdf9);
}

.gift-enquiry__submit-row{
    display:flex;
    align-items:center;
    gap:18px;
    flex-wrap:wrap;
    margin-top:2px;
}

.gift-enquiry__submit-row .btn{
    border:0;
    cursor:pointer;
}

.gift-enquiry__submit-row p{
    margin:0;
    max-width:320px;
    font-size:.67rem;
    line-height:1.5;
    color:var(--color-text-soft,#765f52);
}

@media(max-width:900px){
    .gift-enquiry__inner{
        grid-template-columns:1fr;
        gap:36px;
    }
}

@media(max-width:600px){
    .gift-enquiry__inner{
        padding:28px 20px;
        border-radius:24px;
    }

    .gift-form-grid--2{
        grid-template-columns:1fr;
    }

    .gift-enquiry__submit-row{
        align-items:flex-start;
        flex-direction:column;
    }

    .gift-enquiry__submit-row .btn{
        width:100%;
        justify-content:center;
    }
}


/* =========================================================
   FINAL GIFTING COLLECTION GRID
   6 collections = 3 + 3 on desktop.
   ========================================================= */
.gift-collection-grid{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
}

@media (max-width:900px){
    .gift-collection-grid{
        grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    }
}

@media (max-width:560px){
    .gift-collection-grid{
        grid-template-columns:1fr !important;
    }
}

/* =========================================================
   GIFTING ENQUIRY — guided flow + mobile verification
   ========================================================= */
.gift-form-section{
    padding:18px 0 2px;
    border-top:1px solid var(--color-border,#ded4ca);
}

.gift-form-section:first-child{padding-top:0;border-top:0}

.gift-form-section__head{
    display:flex;
    align-items:flex-start;
    gap:12px;
    margin-bottom:15px;
}

.gift-form-section__head > span{
    flex:0 0 auto;
    color:var(--color-accent,#b46d45);
    font-size:.65rem;
    font-weight:800;
    letter-spacing:.1em;
    padding-top:2px;
}

.gift-form-section__head strong{
    display:block;
    color:var(--color-primary,#43251a);
    font-family:var(--font-display);
    font-size:1.12rem;
    font-weight:600;
}

.gift-form-section__head small{
    display:block;
    margin-top:3px;
    color:var(--color-text-soft,#765f52);
    font-size:.68rem;
    line-height:1.45;
}

.gift-form-full{width:100%}

.gift-field-hint{
    display:block;
    margin-top:1px;
    color:var(--color-text-soft,#765f52);
    font-size:.67rem;
    line-height:1.5;
}

.gift-phone-wrap{
    position:relative;
}

.gift-phone-wrap input{
    padding-right:112px !important;
}

.gift-phone-wrap input[readonly]{
    background:var(--color-surface,#fffdf9);
    cursor:not-allowed;
}

.gift-phone-verified{
    position:absolute;
    top:50%;
    right:12px;
    transform:translateY(-50%);
    color:#2e7041;
    font-size:.68rem;
    font-weight:800;
    white-space:nowrap;
}

.gift-date-field input:invalid:not(:placeholder-shown){
    border-color:var(--color-accent,#b46d45);
}

@media(max-width:600px){
    .gift-form-section{padding-top:15px}
    .gift-phone-wrap input{padding-right:14px !important}
    .gift-phone-verified{position:static;display:inline-block;transform:none;margin-top:6px}
}


/* =========================================================
   GIFTING 3.6.2 — four-step enquiry wizard
   ========================================================= */
.gift-wizard-intro{
    display:grid;
    gap:4px;
    margin-bottom:18px;
    padding:14px 16px;
    border:1px solid var(--color-border,#ded4ca);
    border-radius:14px;
    background:#fbf5ef;
}
.gift-wizard-intro strong{
    color:var(--color-primary,#43251a);
    font-size:.86rem;
}
.gift-wizard-intro span{
    color:var(--color-text-soft,#765f52);
    font-size:.72rem;
}
.gift-wizard-progress{
    display:flex;
    align-items:center;
    gap:8px;
    margin-bottom:20px;
}
.gift-wizard-progress span{
    display:grid;
    place-items:center;
    width:30px;
    height:30px;
    border:1px solid var(--color-border,#ded4ca);
    border-radius:50%;
    color:var(--color-text-soft,#765f52);
    font-size:.62rem;
    font-weight:800;
    letter-spacing:.04em;
    background:var(--color-surface,#fffdf9);
}
.gift-wizard-progress span.is-active,
.gift-wizard-progress span.is-complete{
    border-color:var(--color-primary,#43251a);
    background:var(--color-primary,#43251a);
    color:#fff;
}
.gift-wizard-progress i{
    height:1px;
    flex:1;
    background:var(--color-border,#ded4ca);
}
.gift-form-step{
    min-width:0;
}
.gift-form-step[hidden]{display:none !important}
.gift-form-step .gift-form-section__head{
    margin-bottom:20px;
}
.gift-form-step .gift-form-section__head > span{
    font-size:.7rem;
}
.gift-form-step .gift-form-section__head strong{
    font-family:inherit;
    font-size:1.15rem;
    font-weight:700;
}
.gift-form-step .gift-form-section__head small{
    font-size:.72rem;
}
.gift-wizard-actions{
    display:flex;
    justify-content:space-between;
    align-items:center;
    gap:12px;
    margin-top:24px;
    padding-top:18px;
    border-top:1px solid var(--color-border,#ded4ca);
}
.gift-wizard-actions .btn{
    border:0;
    cursor:pointer;
}
.gift-wizard-actions .btn-outline{
    border:1px solid var(--color-border,#ded4ca);
}
.gift-otp-box--full{
    width:100%;
    box-sizing:border-box;
    margin-top:18px;
}
.gift-date-notice{
    margin-top:7px;
    padding:12px 14px;
    border-radius:10px;
    background:#f7eee6;
    color:var(--color-primary,#43251a);
    font-size:.76rem;
    line-height:1.65;
}
.gift-date-notice strong{
    font-weight:600;
}
.gift-submit-note{
    margin:12px 0 0;
    color:var(--color-text-soft,#765f52);
    font-size:.7rem;
    line-height:1.55;
    text-align:right;
}
.gift-submit-note strong{color:var(--color-primary,#43251a)}

@media(max-width:600px){
    .gift-wizard-progress{gap:5px}
    .gift-wizard-progress span{width:27px;height:27px;font-size:.58rem}
    .gift-wizard-actions{flex-wrap:wrap}
    .gift-wizard-actions .btn{width:100%;justify-content:center}
    .gift-submit-note{text-align:left}
}

.gift-urgent-option{
    margin:0 0 18px;
    padding:16px 18px;
    border:1px solid rgba(77,42,29,.14);
    border-radius:14px;
    background:#fffaf6;
}
.gift-check-row{
    display:flex;
    gap:12px;
    align-items:flex-start;
    cursor:pointer;
}
.gift-check-row input{
    margin-top:4px;
    width:18px;
    height:18px;
    accent-color:var(--color-primary,#43251a);
    flex:0 0 auto;
}
.gift-check-row strong{
    display:block;
    font-size:14px;
}
.gift-check-row small{
    display:block;
    margin-top:4px;
    line-height:1.5;
    opacity:.78;
}
