/* =============================================================================
   PetGiftBox Gift Experience — v1.3.1
   Dark editorial design system
   ============================================================================= */

/* ── Reset / Tokens ─────────────────────────────────────────────── */

.pgb-gift-experience *,
.pgb-gift-experience *::before,
.pgb-gift-experience *::after,
.pgb-modal *,
.pgb-modal *::before,
.pgb-modal *::after {
    box-sizing: border-box;
}

:root {
    --pgb-dark:       #1A1410;
    --pgb-dark-2:     #231C16;
    --pgb-dark-3:     #2E2420;
    --pgb-gold:       #C49A50;
    --pgb-gold-light: #E8C882;
    --pgb-cream:      #F5EDE0;
    --pgb-cream-2:    #FFFCF7;
    --pgb-text:       #F0E4CF;
    --pgb-text-muted: rgba(240,228,207,.5);
    --pgb-text-dim:   rgba(240,228,207,.28);
    --pgb-border:     rgba(240,228,207,.1);
    --pgb-border-2:   rgba(240,228,207,.18);
    --pgb-error:      #E05A4A;
    --pgb-font-serif: Georgia, 'Times New Roman', serif;
    --pgb-font-sans:  inherit;
    --pgb-ease:       cubic-bezier(0.2, 0.8, 0.2, 1);
}

html.pgb-scroll-lock { overflow: hidden; }

/* ── Shared typography ──────────────────────────────────────────── */

.pgb-eyebrow {
    display: block;
    font-family: var(--pgb-font-sans);
    font-size: 10px;
    letter-spacing: .3em;
    text-transform: uppercase;
    font-weight: 500;
    color: var(--pgb-gold);
}

.pgb-eyebrow--light { color: var(--pgb-gold-light); }

/* ── Product Panel ──────────────────────────────────────────────── */

.pgb-gift-experience {
    clear: both;
    width: 100%;
    margin: 0;
    background: #f8f9fa;
    color: var(--pgb-dark);
    font-family: var(--pgb-font-sans);
}

.pgb-panel-head__rule {
    width: 100%;
    height: 1px;
    background: linear-gradient(90deg, transparent 0%, var(--pgb-border-2) 20%, var(--pgb-border-2) 80%, transparent 100%);
}

.pgb-panel-head__body {
    max-width: 1200px;
    margin: 0 auto;
    padding: 64px 32px;
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 48px;
    align-items: center;
}

.pgb-panel-head__title {
    font-family: var(--pgb-font-serif);
    font-size: clamp(44px, 6vw, 76px);
    font-weight: 400;
    line-height: 1;
    letter-spacing: -.03em;
    color: var(--pgb-text);
    margin: 16px 0 0;
}

.pgb-panel-head__title em {
    font-style: italic;
    color: var(--pgb-gold-light);
}

.pgb-panel-head__desc {
    margin-top: 20px;
    max-width: 480px;
    font-size: 15px;
    line-height: 1.8;
    color: var(--pgb-text-muted);
    font-weight: 300;
}

.pgb-panel-head__actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: 20px;
    min-width: 220px;
}

/* ── Main CTA button ────────────────────────────────────────────── */

.pgb-panel-cta {
    display: inline-flex;
    align-items: center;
    gap: 12px;
    padding: 14px 24px;
    border: 1px solid var(--pgb-gold);
    border-radius: 2px;
    background: transparent;
    color: var(--pgb-gold);
    font-family: var(--pgb-font-sans);
    font-size: 11px;
    letter-spacing: .22em;
    text-transform: uppercase;
    font-weight: 500;
    cursor: pointer;
    white-space: nowrap;
    transition: background 0.25s ease, color 0.25s ease, letter-spacing 0.25s ease, gap 0.25s ease;
}

.pgb-panel-cta:hover,
.pgb-panel-cta:focus-visible {
    background: rgba(196,154,80,.08);
    color: var(--pgb-gold);
    letter-spacing: .28em;
    gap: 16px;
    outline: none;
}

.pgb-panel-cta:focus-visible {
    box-shadow: 0 0 0 3px rgba(196,154,80,.4);
}

/* ── Feature list ───────────────────────────────────────────────── */

.pgb-panel-features {
    display: flex;
    flex-direction: column;
    gap: 8px;
    align-items: flex-end;
}

.pgb-panel-features span {
    display: flex;
    align-items: center;
    gap: 8px;
    font-size: 11px;
    letter-spacing: .1em;
    text-transform: uppercase;
    color: var(--pgb-text-dim);
}

.pgb-dot {
    display: inline-block;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--pgb-gold);
    opacity: .5;
}

/* ── Preview bar ────────────────────────────────────────────────── */

.pgb-panel-preview {
    max-width: 1200px;
    margin: 0 auto;
    padding: 18px 32px;
    display: flex;
    align-items: center;
    gap: 14px;
    border-top: 1px solid var(--pgb-border);
    color: var(--pgb-text-muted);
}

.pgb-panel-preview svg { flex-shrink: 0; color: var(--pgb-gold); }

.pgb-panel-preview__info {
    flex: 1;
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
    font-size: 13px;
}

.pgb-panel-preview__info strong { color: var(--pgb-text); font-weight: 400; }

.pgb-panel-preview__info em {
    font-style: normal;
    color: var(--pgb-text-dim);
    font-size: 12px;
}

.pgb-panel-preview__info span::before {
    content: '·';
    margin-right: 10px;
    color: var(--pgb-border-2);
}

.pgb-panel-preview__edit {
    border: 0;
    background: transparent;
    color: var(--pgb-gold);
    font-family: var(--pgb-font-sans);
    font-size: 11px;
    letter-spacing: .18em;
    text-transform: uppercase;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-color: rgba(196,154,80,.4);
    transition: text-decoration-color 0.2s ease;
}

.pgb-panel-preview__edit:hover { text-decoration-color: var(--pgb-gold); }

/* ── Modal / Overlay ────────────────────────────────────────────── */

.pgb-modal {
    position: fixed;
    inset: 0;
    z-index: 999999;
    pointer-events: none;
}

.pgb-modal[aria-hidden="false"] { pointer-events: auto; }

.pgb-modal__backdrop {
    position: absolute;
    inset: 0;
    background: rgba(10, 8, 6, .72);
    opacity: 0;
    transition: opacity .3s ease;
    backdrop-filter: blur(6px);
    -webkit-backdrop-filter: blur(6px);
}

.pgb-modal[aria-hidden="false"] .pgb-modal__backdrop { opacity: 1; }

/* ── Drawer ─────────────────────────────────────────────────────── */

.pgb-drawer {
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    width: min(520px, 100%);
    display: flex;
    flex-direction: column;
    transform: translateX(100%);
    transition: transform .38s var(--pgb-ease);
    overflow: hidden;
}

.pgb-modal[aria-hidden="false"] .pgb-drawer { transform: translateX(0); }

/* Drawer header: dark */
.pgb-drawer__header {
    background: var(--pgb-dark);
    padding: 36px 32px 32px;
    position: relative;
    border-bottom: 1px solid var(--pgb-border);
    flex-shrink: 0;
}

.pgb-drawer__header-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin-bottom: 20px;
}

.pgb-drawer__close {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1px solid var(--pgb-border-2);
    background: transparent;
    color: var(--pgb-text-muted);
    cursor: pointer;
    display: grid;
    place-items: center;
    transition: border-color .2s ease, color .2s ease;
}

.pgb-drawer__close:hover { border-color: var(--pgb-text); color: var(--pgb-text); }
.pgb-drawer__close:focus-visible { outline: 2px solid var(--pgb-gold); outline-offset: 2px; }

.pgb-drawer__title {
    font-family: var(--pgb-font-serif);
    font-size: 44px;
    font-weight: 400;
    line-height: 1.02;
    letter-spacing: -.03em;
    color: var(--pgb-text);
}

.pgb-drawer__title em { font-style: italic; color: var(--pgb-gold-light); }

.pgb-drawer__subtitle {
    margin-top: 12px;
    font-size: 13px;
    line-height: 1.7;
    color: var(--pgb-text-muted);
    font-weight: 300;
}

/* Drawer body: cream */
.pgb-drawer__body {
    background: var(--pgb-cream);
    flex: 1;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    padding: 32px;
}

/* ── Form ───────────────────────────────────────────────────────── */

.pgb-form {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px 24px;
}

.pgb-field { display: flex; flex-direction: column; gap: 8px; }
.pgb-field--full { grid-column: 1 / -1; }

.pgb-field__label {
    font-family: var(--pgb-font-sans);
    font-size: 10px;
    letter-spacing: .24em;
    text-transform: uppercase;
    font-weight: 500;
    color: rgba(42, 28, 14, .55);
    display: flex;
    align-items: baseline;
    justify-content: space-between;
}

.pgb-required { color: var(--pgb-gold); }

.pgb-field__input {
    width: 100%;
    background: transparent;
    border: 0;
    border-bottom: 1px solid rgba(42, 28, 14, .2);
    border-radius: 0;
    padding: 10px 0;
    font-family: var(--pgb-font-sans);
    font-size: 16px;
    color: #2A1C0E;
    outline: none;
    transition: border-color .2s ease;
    -webkit-appearance: none;
}

.pgb-field__input::placeholder { color: rgba(42, 28, 14, .28); }

.pgb-field__input:focus { border-bottom-color: #2A1C0E; }

.pgb-field__input[aria-invalid="true"] { border-bottom-color: var(--pgb-error); }

.pgb-field__input--textarea {
    resize: vertical;
    min-height: 100px;
    border: 1px solid rgba(42, 28, 14, .14);
    padding: 12px 14px;
    border-radius: 3px;
    font-size: 15px;
    line-height: 1.65;
    transition: border-color .2s ease;
}

.pgb-field__input--textarea:focus { border-color: rgba(42, 28, 14, .35); }

.pgb-field__error {
    font-size: 12px;
    color: var(--pgb-error);
    letter-spacing: .02em;
}

.pgb-field__hint {
    font-size: 12px;
    color: rgba(42, 28, 14, .4);
    line-height: 1.5;
}

.pgb-char-counter {
    font-size: 11px;
    font-weight: 400;
    letter-spacing: 0;
    text-transform: none;
    color: rgba(42, 28, 14, .35);
}

/* ── Packaging cards ────────────────────────────────────────────── */

.pgb-pkg-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 10px;
}

.pgb-pkg-card { display: block; cursor: pointer; }

.pgb-pkg-card input {
    position: absolute;
    width: 1px; height: 1px;
    opacity: 0; overflow: hidden;
}

.pgb-pkg-card__inner {
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-rows: auto auto;
    column-gap: 0;
    row-gap: 0;
    padding: 16px 14px;
    border: 1px solid rgba(42, 28, 14, .14);
    border-radius: 3px;
    background: var(--pgb-cream-2);
    transition: border-color .2s ease, background .2s ease, box-shadow .2s ease, transform .2s ease;
    position: relative;
}

.pgb-pkg-card__inner:hover {
    border-color: rgba(42, 28, 14, .25);
    transform: translateY(-1px);
}

.pgb-pkg-card input:checked + .pgb-pkg-card__inner {
    border-color: #2A1C0E;
    background: #2A1C0E;
    box-shadow: 0 8px 24px rgba(42, 28, 14, .18);
    transform: translateY(-2px);
}

.pgb-pkg-card input:focus-visible + .pgb-pkg-card__inner {
    outline: 2px solid var(--pgb-gold);
    outline-offset: 2px;
}

.pgb-pkg-card__icon {
    display: block;
    grid-column: 1 / -1;
    color: rgba(42, 28, 14, .45);
    margin-bottom: 10px;
    transition: color .2s ease;
}

.pgb-pkg-card input:checked + .pgb-pkg-card__inner .pgb-pkg-card__icon { color: var(--pgb-gold); }

.pgb-pkg-card__name {
    font-family: var(--pgb-font-sans);
    font-size: 13px;
    font-weight: 500;
    color: #2A1C0E;
    display: block;
    transition: color .2s ease;
}

.pgb-pkg-card input:checked + .pgb-pkg-card__inner .pgb-pkg-card__name { color: var(--pgb-cream); }

.pgb-pkg-card__desc {
    grid-column: 1;
    font-size: 11px;
    color: rgba(42, 28, 14, .45);
    line-height: 1.4;
    display: block;
    margin-top: 3px;
    transition: color .2s ease;
}

.pgb-pkg-card input:checked + .pgb-pkg-card__inner .pgb-pkg-card__desc { color: rgba(245, 237, 224, .55); }

.pgb-pkg-card__check {
    grid-column: 2;
    grid-row: 2;
    text-align: right;
    font-size: 13px;
    color: var(--pgb-gold);
    opacity: 0;
    transition: opacity .2s ease;
    align-self: end;
}

.pgb-pkg-card input:checked + .pgb-pkg-card__inner .pgb-pkg-card__check { opacity: 1; }

/* ── Form actions ───────────────────────────────────────────────── */

.pgb-form__actions {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    gap: 20px;
    padding-top: 4px;
}

.pgb-btn-save {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 15px 28px;
    background: #2A1C0E;
    color: var(--pgb-cream);
    border: 0;
    border-radius: 2px;
    font-family: var(--pgb-font-sans);
    font-size: 11px;
    letter-spacing: .22em;
    text-transform: uppercase;
    font-weight: 500;
    cursor: pointer;
    transition: background .25s ease, gap .25s ease, letter-spacing .25s ease;
}

.pgb-btn-save:hover { background: #3D2A14; gap: 14px; letter-spacing: .26em; }

.pgb-btn-save:focus-visible { outline: 2px solid var(--pgb-gold); outline-offset: 3px; }

.pgb-btn-remove {
    border: 0;
    background: transparent;
    color: rgba(42, 28, 14, .45);
    font-family: var(--pgb-font-sans);
    font-size: 12px;
    cursor: pointer;
    text-decoration: underline;
    text-underline-offset: 4px;
    text-decoration-color: rgba(42, 28, 14, .2);
    transition: color .2s ease, text-decoration-color .2s ease;
    padding: 0;
}

.pgb-btn-remove:hover { color: #2A1C0E; text-decoration-color: rgba(42, 28, 14, .5); }

/* ── Shake animation ────────────────────────────────────────────── */

.pgb-modal.is-shaking .pgb-drawer {
    animation: pgbShake .32s ease;
}

@keyframes pgbShake {
    0%, 100% { transform: translateX(0); }
    20%       { transform: translateX(-9px); }
    40%       { transform: translateX(7px); }
    60%       { transform: translateX(-5px); }
    80%       { transform: translateX(3px); }
}

/* ── Checkout toggle ────────────────────────────────────────────── */

.pgb-checkout-gift-toggle {
    margin: 18px 0;
    padding: 18px 20px;
    border: 1px solid rgba(30, 20, 12, .1);
    border-radius: 3px;
    background: #FAF5EE;
}

.pgb-checkout-gift-toggle label {
    display: grid;
    grid-template-columns: 20px 1fr;
    gap: 12px;
    align-items: start;
    cursor: pointer;
    font-family: var(--pgb-font-sans);
}

.pgb-checkout-gift-toggle input[type="checkbox"] { margin-top: 2px; }

.pgb-checkout-gift-toggle strong { display: block; font-size: 14px; color: #2A1C0E; }

.pgb-checkout-gift-toggle small {
    display: block;
    margin-top: 3px;
    font-size: 12px;
    color: rgba(42, 28, 14, .5);
    line-height: 1.5;
}

/* ── Admin meta box ─────────────────────────────────────────────── */

.pgb-admin-gift-meta {
    margin-top: 8px;
    padding: 12px 14px;
    border: 1px solid #ddd;
    background: #fafafa;
    border-radius: 6px;
    line-height: 1.9;
    font-size: 13px;
}

/* ── Responsive ─────────────────────────────────────────────────── */

@media (max-width: 900px) {
    .pgb-panel-head__body {
        grid-template-columns: 1fr;
        padding: 44px 24px;
        gap: 28px;
    }
    .pgb-panel-head__actions { align-items: flex-start; }
    .pgb-panel-features { align-items: flex-start; }
    .pgb-panel-cta { width: 100%; justify-content: center; }
}

@media (max-width: 640px) {
    .pgb-drawer {
        width: 100%;
        top: auto;
        bottom: 0;
        transform: translateY(100%);
        border-radius: 20px 20px 0 0;
        max-height: 90vh;
    }
    .pgb-modal[aria-hidden="false"] .pgb-drawer { transform: translateY(0); }
    .pgb-drawer__header { padding: 28px 22px 24px; border-radius: 20px 20px 0 0; }
    .pgb-drawer__title { font-size: 36px; }
    .pgb-drawer__body { padding: 24px 22px; }
    .pgb-form { grid-template-columns: 1fr; }
    .pgb-field--full { grid-column: 1; }
    .pgb-pkg-grid { grid-template-columns: 1fr; }
    .pgb-pkg-card__inner { flex-direction: row; align-items: center; }
    .pgb-form__actions { flex-direction: column; align-items: stretch; }
    .pgb-btn-save { justify-content: center; }
    .pgb-btn-remove { text-align: center; }
    .pgb-panel-preview { padding: 16px 22px; }
}

@media (min-width: 641px) and (max-width: 840px) {
    .pgb-pkg-grid { grid-template-columns: 1fr; }
}


/* v1.3.1 light PetGiftBox surface fixes */
.pgb-gift-experience { background:#f8f9fa !important; padding:56px 0; }
.pgb-panel-head { max-width:1200px; margin:0 auto; background:var(--pgb-dark); border-radius:28px; overflow:hidden; box-shadow:0 24px 70px rgba(26,20,16,.08); }
.pgb-panel-preview { max-width:1200px; margin:18px auto 0; background:#fff; border:1px solid rgba(26,20,16,.08); border-radius:18px; }
.pgb-drawer__body { background:#f8f9fa; }
.pgb-field--compact { grid-column:auto; }
.pgb-field--section { grid-column:1/-1; margin-top:4px; padding-top:22px; border-top:1px solid rgba(42,28,14,.10); }
.pgb-section-title { font-size:10px; letter-spacing:.28em; text-transform:uppercase; color:rgba(42,28,14,.45); }
.pgb-field__input--select { cursor:pointer; }
@media (max-width:767px){ .pgb-gift-experience{padding:32px 0;} .pgb-panel-head{border-radius:22px; margin:0 16px;} .pgb-panel-preview{margin:14px 16px 0;} }

/* =============================================================================
   v1.3.2 — Safe Wooma inline portal
   The PHP panel remains outside the Wooma variation wrapper. Only a tiny JS card is
   injected after the Packaging selector, so the product gallery/summary layout is
   not touched by Woo hooks or heavy markup.
   ============================================================================= */

.pgb-gift-experience {
    clear: none !important;
    width: auto !important;
    height: 0 !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
    overflow: visible !important;
    pointer-events: none;
}

.pgb-gift-experience .pgb-panel-head,
.pgb-gift-experience .pgb-panel-preview {
    display: none !important;
}

.pgb-gift-experience .pgb-modal {
    pointer-events: none;
}

.pgb-gift-experience .pgb-modal[aria-hidden="false"] {
    pointer-events: auto;
}

.pgb-gift-inline-card,
.pgb-gift-inline-card *,
.pgb-gift-inline-card *::before,
.pgb-gift-inline-card *::after {
    box-sizing: border-box;
}

.pgb-gift-inline-card {
    width: 100%;
    margin: 28px 0 24px;
    padding: 22px 24px;
    display: flex;
    align-items: center;
    gap: 18px;
    background: #f8f9fa;
    border: 1px solid rgba(26, 20, 16, .10);
    border-radius: 18px;
    color: #1A1410;
    font-family: inherit;
    box-shadow: 0 18px 45px rgba(26, 20, 16, .035);
}

.pgb-gift-inline-card__icon {
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    display: grid;
    place-items: center;
    border-radius: 999px;
    background: #fff;
    color: #1A1410;
    border: 1px solid rgba(26, 20, 16, .10);
}

.pgb-gift-inline-card__body {
    flex: 1 1 auto;
    min-width: 0;
}

.pgb-gift-inline-card__eyebrow {
    display: block;
    margin-bottom: 7px;
    font-size: 10px;
    line-height: 1;
    letter-spacing: .22em;
    text-transform: uppercase;
    font-weight: 600;
    color: rgba(26, 20, 16, .50);
}

.pgb-gift-inline-card strong {
    display: block;
    margin: 0 0 6px;
    font-size: 15px;
    line-height: 1.25;
    font-weight: 700;
    color: #1A1410;
}

.pgb-gift-inline-card p {
    margin: 0;
    max-width: 520px;
    font-size: 13px;
    line-height: 1.6;
    color: rgba(26, 20, 16, .62);
}

.pgb-gift-inline-card__summary {
    margin-top: 10px;
    font-size: 12px;
    line-height: 1.45;
    color: rgba(26, 20, 16, .70);
}

.pgb-gift-inline-card__button {
    flex: 0 0 auto;
    min-height: 46px;
    padding: 0 22px;
    border: 1px solid #1A1410;
    border-radius: 0;
    background: #1A1410;
    color: #fff;
    font-family: inherit;
    font-size: 11px;
    line-height: 1;
    letter-spacing: .14em;
    text-transform: uppercase;
    font-weight: 700;
    cursor: pointer;
    transition: background .2s ease, color .2s ease, transform .2s ease;
}

.pgb-gift-inline-card__button:hover,
.pgb-gift-inline-card__button:focus-visible {
    background: transparent;
    color: #1A1410;
    transform: translateY(-1px);
    outline: none;
}

.pgb-gift-inline-card.is-gift-enabled {
    border-color: rgba(26, 20, 16, .18);
    background: #fff;
}

.pgb-gift-inline-card.is-gift-enabled .pgb-gift-inline-card__icon {
    background: #f8f9fa;
}

.pgb-drawer__body {
    background: #f8f9fa !important;
}

@media (max-width: 767px) {
    .pgb-gift-inline-card {
        margin: 22px 0 20px;
        padding: 20px;
        align-items: flex-start;
        flex-wrap: wrap;
        border-radius: 18px;
    }

    .pgb-gift-inline-card__icon {
        width: 40px;
        height: 40px;
        flex-basis: 40px;
    }

    .pgb-gift-inline-card__body {
        width: calc(100% - 58px);
        flex-basis: calc(100% - 58px);
    }

    .pgb-gift-inline-card__button {
        width: 100%;
        justify-content: center;
        margin-top: 4px;
    }
}

/* =============================================================================
   v1.3.3 — Wooma grid-safe inline card fix
   When the inline Gift card is inserted inside Wooma's variation add-to-cart grid,
   force it to span the full row instead of collapsing into the first 150px column.
   ============================================================================= */

.single-product .woocommerce-variation-add-to-cart > .pgb-gift-inline-card,
.single-product form.cart .woocommerce-variation-add-to-cart > .pgb-gift-inline-card,
.single-product .summary .woocommerce-variation-add-to-cart > .pgb-gift-inline-card {
    grid-column: 1 / -1 !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    align-self: stretch !important;
    justify-self: stretch !important;
    clear: both !important;
}

.single-product .pgb-gift-inline-card {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    flex-wrap: nowrap !important;
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    overflow: visible !important;
}

.single-product .pgb-gift-inline-card__body,
.single-product .pgb-gift-inline-card__body * {
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    white-space: normal !important;
}

.single-product .pgb-gift-inline-card__body {
    min-width: 0 !important;
    flex: 1 1 auto !important;
}

.single-product .pgb-gift-inline-card__button {
    flex: 0 0 auto !important;
    white-space: nowrap !important;
}

@media (max-width: 767px) {
    .single-product .pgb-gift-inline-card {
        flex-wrap: wrap !important;
        align-items: flex-start !important;
    }

    .single-product .pgb-gift-inline-card__button {
        width: 100% !important;
    }
}


/* === v1.3.4 Premium off-canvas polish === */
.pgb-gift-experience,
.pgb-gift-experience * { box-sizing: border-box; }

html.pgb-scroll-lock,
html.pgb-scroll-lock body { overflow: hidden !important; }

.pgb-modal__backdrop {
    background: rgba(12, 10, 8, .64) !important;
    backdrop-filter: blur(10px) saturate(90%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(90%) !important;
}

.pgb-drawer {
    width: min(620px, 100vw) !important;
    background: #f8f9fa !important;
    box-shadow: -32px 0 80px rgba(0,0,0,.24) !important;
}

.pgb-drawer__header {
    background: #1d1510 !important;
    padding: 30px 38px 28px !important;
    min-height: 184px !important;
    border-bottom: 0 !important;
}

.pgb-drawer__header-top { margin-bottom: 18px !important; }

.pgb-drawer__title {
    font-size: clamp(38px, 4vw, 52px) !important;
    line-height: .96 !important;
    max-width: 410px !important;
}

.pgb-drawer__subtitle {
    max-width: 430px !important;
    font-size: 13px !important;
    line-height: 1.65 !important;
    color: rgba(248,249,250,.62) !important;
}

.pgb-drawer__close {
    width: 38px !important;
    height: 38px !important;
    border-radius: 0 !important;
    border-color: rgba(248,249,250,.20) !important;
    color: rgba(248,249,250,.72) !important;
}

.pgb-drawer__close:hover { background: rgba(255,255,255,.06) !important; }

.pgb-drawer__body {
    background: #f8f9fa !important;
    padding: 34px 38px 0 !important;
}

.pgb-form {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 22px 22px !important;
    align-items: start !important;
}

.pgb-field--section {
    grid-column: 1 / -1 !important;
    margin: 4px 0 0 !important;
    padding-top: 24px !important;
    border-top: 1px solid rgba(29,21,16,.10) !important;
}

.pgb-section-title,
.pgb-field__label {
    color: rgba(29,21,16,.52) !important;
    letter-spacing: .24em !important;
    font-size: 10px !important;
}

.pgb-field__input {
    height: 52px !important;
    background: #fff !important;
    border: 1px solid rgba(29,21,16,.10) !important;
    border-radius: 16px !important;
    padding: 0 17px !important;
    box-shadow: inset 0 1px 0 rgba(255,255,255,.65) !important;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease !important;
}

.pgb-field__input:focus {
    border-color: rgba(29,21,16,.34) !important;
    box-shadow: 0 0 0 4px rgba(196,154,80,.10) !important;
}

.pgb-field__input--textarea {
    min-height: 118px !important;
    height: auto !important;
    padding: 16px 17px !important;
    line-height: 1.65 !important;
    resize: vertical !important;
}

.pgb-field__hint,
.pgb-field__error { padding-left: 2px !important; }

/* Drawer packaging is intentionally removed; packaging is selected in the main product flow. */
.pgb-pkg-grid { display: none !important; }

.pgb-form__actions {
    grid-column: 1 / -1 !important;
    position: sticky !important;
    bottom: 0 !important;
    z-index: 2 !important;
    margin: 6px -38px 0 !important;
    padding: 20px 38px 24px !important;
    background: linear-gradient(180deg, rgba(248,249,250,.72), #f8f9fa 36%) !important;
    border-top: 1px solid rgba(29,21,16,.08) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    gap: 18px !important;
}

.pgb-btn-save {
    min-height: 54px !important;
    padding: 0 30px !important;
    border-radius: 0 !important;
    background: #241810 !important;
    color: #fffaf1 !important;
    letter-spacing: .18em !important;
    flex: 1 1 auto !important;
    justify-content: center !important;
}

.pgb-btn-remove {
    white-space: nowrap !important;
    color: rgba(29,21,16,.54) !important;
}

.pgb-gift-inline-card {
    background: #f8f9fa !important;
    border: 1px solid rgba(29,21,16,.10) !important;
    border-radius: 18px !important;
    box-shadow: 0 18px 45px rgba(29,21,16,.035) !important;
}

.pgb-gift-inline-card__button {
    border-radius: 0 !important;
    background: #241810 !important;
}

@media (max-width: 767px) {
    .pgb-drawer {
        width: 100vw !important;
        height: min(92vh, 100vh) !important;
        top: auto !important;
        border-radius: 22px 22px 0 0 !important;
        overflow: hidden !important;
    }
    .pgb-drawer__header {
        min-height: 150px !important;
        padding: 24px 22px 22px !important;
    }
    .pgb-drawer__title { font-size: 34px !important; }
    .pgb-drawer__subtitle { font-size: 12px !important; }
    .pgb-drawer__body { padding: 24px 20px 0 !important; }
    .pgb-form { grid-template-columns: 1fr !important; gap: 18px !important; }
    .pgb-form__actions {
        margin-left: -20px !important;
        margin-right: -20px !important;
        padding: 18px 20px 20px !important;
        flex-direction: column !important;
        align-items: stretch !important;
    }
    .pgb-btn-remove { text-align: center !important; }
}

/* v1.3.5 — PetGiftBox floating-label refinement */
.pgb-gift-experience .pgb-drawer__body {
    background: #f8f9fa !important;
}

.pgb-gift-experience .pgb-field--float {
    position: relative !important;
    gap: 7px !important;
}

.pgb-gift-experience .pgb-field--float:not(.pgb-field--full):not(.pgb-field--date) .pgb-field__label {
    position: absolute !important;
    z-index: 2 !important;
    left: 17px !important;
    top: 17px !important;
    max-width: calc(100% - 34px) !important;
    pointer-events: none !important;
    display: inline-flex !important;
    justify-content: flex-start !important;
    gap: 4px !important;
    padding: 0 5px !important;
    background: #fff !important;
    color: rgba(29, 21, 16, .42) !important;
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    transform-origin: left top !important;
    transition: transform .18s ease, top .18s ease, color .18s ease, background .18s ease !important;
}

.pgb-gift-experience .pgb-field--float:not(.pgb-field--full):not(.pgb-field--date) .pgb-field__input {
    height: 56px !important;
    padding: 18px 17px 8px !important;
    background: #fff !important;
    border: 1px solid rgba(29,21,16,.12) !important;
    border-radius: 18px !important;
}

.pgb-gift-experience .pgb-field--float:not(.pgb-field--full):not(.pgb-field--date) .pgb-field__input::placeholder {
    color: transparent !important;
}

.pgb-gift-experience .pgb-field--float:not(.pgb-field--full):not(.pgb-field--date) .pgb-field__input:focus + .pgb-field__label,
.pgb-gift-experience .pgb-field--float:not(.pgb-field--full):not(.pgb-field--date) .pgb-field__input:not(:placeholder-shown) + .pgb-field__label {
    top: -6px !important;
    color: rgba(29,21,16,.68) !important;
    transform: scale(.78) !important;
    background: linear-gradient(180deg, #f8f9fa 0%, #fff 58%) !important;
}

/* Support current markup order: label before input */
.pgb-gift-experience .pgb-field--float:not(.pgb-field--full):not(.pgb-field--date) .pgb-field__label:has(+ .pgb-field__input:focus),
.pgb-gift-experience .pgb-field--float:not(.pgb-field--full):not(.pgb-field--date) .pgb-field__label:has(+ .pgb-field__input:not(:placeholder-shown)) {
    top: -6px !important;
    color: rgba(29,21,16,.68) !important;
    transform: scale(.78) !important;
    background: linear-gradient(180deg, #f8f9fa 0%, #fff 58%) !important;
}

.pgb-gift-experience .pgb-field--float:not(.pgb-field--full):not(.pgb-field--date) .pgb-field__input:focus {
    border-color: rgba(42, 28, 14, .42) !important;
    box-shadow: 0 0 0 4px rgba(196,154,80,.10) !important;
}

.pgb-gift-experience .pgb-field--full .pgb-field__label,
.pgb-gift-experience .pgb-field--date .pgb-field__label {
    position: static !important;
    background: transparent !important;
    padding: 0 !important;
    font-size: 10px !important;
    line-height: 1.35 !important;
    color: rgba(29,21,16,.52) !important;
}

.pgb-gift-experience .pgb-field--date .pgb-field__input {
    max-width: none !important;
    padding: 0 17px !important;
}

.pgb-gift-experience .pgb-field__hint {
    max-width: 420px !important;
    color: rgba(29,21,16,.48) !important;
    font-size: 12px !important;
    line-height: 1.55 !important;
}

@media (max-width: 767px) {
    .pgb-gift-experience .pgb-field--float:not(.pgb-field--full):not(.pgb-field--date) .pgb-field__label {
        left: 15px !important;
        top: 16px !important;
        max-width: calc(100% - 30px) !important;
        letter-spacing: .10em !important;
    }
    .pgb-gift-experience .pgb-field--float:not(.pgb-field--full):not(.pgb-field--date) .pgb-field__input {
        height: 54px !important;
        border-radius: 16px !important;
        padding-left: 15px !important;
        padding-right: 15px !important;
    }
}

/* =============================================================================
   v1.3.6 — Unified PetGiftBox gift palette + premium icon polish
   ============================================================================= */
:root {
    --pgb-bg: #f8f9fa;
    --pgb-cream: #f7f7f8;
    --pgb-paper: #ffffff;
    --pgb-ink: #2a211b;
    --pgb-brown: #3a2416;
    --pgb-gold: #c9a36a;
    --pgb-muted: #9a8d82;
    --pgb-border-soft: #e4d8ca;
}

.pgb-gift-inline-card {
    background: var(--pgb-bg) !important;
    border-color: rgba(42,33,27,.10) !important;
    color: var(--pgb-ink) !important;
    box-shadow: 0 16px 44px rgba(42,33,27,.035) !important;
}

.pgb-gift-inline-card__icon {
    width: 48px !important;
    height: 48px !important;
    flex-basis: 48px !important;
    background: var(--pgb-paper) !important;
    color: var(--pgb-gold) !important;
    border-color: rgba(201,163,106,.34) !important;
    box-shadow: inset 0 0 0 6px rgba(201,163,106,.06), 0 10px 24px rgba(42,33,27,.04) !important;
}

.pgb-gift-inline-card__eyebrow {
    color: var(--pgb-muted) !important;
    letter-spacing: .26em !important;
}

.pgb-gift-inline-card strong { color: var(--pgb-ink) !important; }
.pgb-gift-inline-card p { color: rgba(42,33,27,.58) !important; }
.pgb-gift-inline-card__summary { color: rgba(42,33,27,.62) !important; }

.pgb-gift-inline-card__button,
.pgb-btn-save {
    background: var(--pgb-ink) !important;
    border-color: var(--pgb-ink) !important;
    color: var(--pgb-paper) !important;
}

.pgb-gift-inline-card__button:hover,
.pgb-gift-inline-card__button:focus-visible,
.pgb-btn-save:hover,
.pgb-btn-save:focus-visible {
    background: var(--pgb-brown) !important;
    border-color: var(--pgb-brown) !important;
    color: var(--pgb-paper) !important;
}

.pgb-drawer {
    background: var(--pgb-bg) !important;
    box-shadow: -24px 0 70px rgba(42,33,27,.18) !important;
}

.pgb-drawer__header {
    background: linear-gradient(135deg, #18110d 0%, var(--pgb-ink) 100%) !important;
    border-bottom: 0 !important;
}

.pgb-drawer__header::after {
    content: '';
    position: absolute;
    left: 32px;
    right: 32px;
    bottom: 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(201,163,106,.45), transparent);
}

.pgb-drawer__title { color: var(--pgb-paper) !important; }
.pgb-drawer__title em { color: #e0c285 !important; }
.pgb-drawer__subtitle { color: rgba(255,250,244,.58) !important; }
.pgb-eyebrow--light { color: rgba(201,163,106,.88) !important; }

.pgb-drawer__close {
    color: rgba(255,250,244,.58) !important;
    border-color: rgba(255,250,244,.16) !important;
    background: rgba(255,250,244,.03) !important;
}
.pgb-drawer__close:hover { color: var(--pgb-paper) !important; border-color: rgba(255,250,244,.36) !important; }

.pgb-gift-experience .pgb-drawer__body,
.pgb-drawer__body { background: var(--pgb-bg) !important; }

.pgb-section-title,
.pgb-gift-experience .pgb-field--full .pgb-field__label,
.pgb-gift-experience .pgb-field--date .pgb-field__label {
    color: rgba(42,33,27,.46) !important;
}

.pgb-gift-experience .pgb-field--float:not(.pgb-field--full):not(.pgb-field--date) .pgb-field__input,
.pgb-gift-experience .pgb-field__input--textarea,
.pgb-gift-experience .pgb-field--date .pgb-field__input {
    background: var(--pgb-paper) !important;
    border-color: rgba(42,33,27,.10) !important;
    color: var(--pgb-ink) !important;
    box-shadow: 0 10px 24px rgba(42,33,27,.025) !important;
}

.pgb-gift-experience .pgb-field--float:not(.pgb-field--full):not(.pgb-field--date) .pgb-field__input:focus,
.pgb-gift-experience .pgb-field__input--textarea:focus,
.pgb-gift-experience .pgb-field--date .pgb-field__input:focus {
    border-color: rgba(201,163,106,.80) !important;
    box-shadow: 0 0 0 4px rgba(201,163,106,.12), 0 12px 30px rgba(42,33,27,.035) !important;
}

.pgb-gift-experience .pgb-field--float:not(.pgb-field--full):not(.pgb-field--date) .pgb-field__label {
    background: var(--pgb-paper) !important;
    color: rgba(42,33,27,.42) !important;
}

.pgb-gift-experience .pgb-field--float:not(.pgb-field--full):not(.pgb-field--date) .pgb-field__label:has(+ .pgb-field__input:focus),
.pgb-gift-experience .pgb-field--float:not(.pgb-field--full):not(.pgb-field--date) .pgb-field__label:has(+ .pgb-field__input:not(:placeholder-shown)) {
    background: linear-gradient(180deg, var(--pgb-bg) 0%, var(--pgb-paper) 62%) !important;
    color: rgba(42,33,27,.72) !important;
}

.pgb-gift-experience .pgb-field__hint {
    color: rgba(42,33,27,.50) !important;
}

.pgb-btn-remove { color: rgba(42,33,27,.48) !important; }
.pgb-btn-remove:hover { color: var(--pgb-ink) !important; }

.pgb-checkout-gift-toggle {
    background: var(--pgb-paper) !important;
    border-color: var(--pgb-border-soft) !important;
    color: var(--pgb-ink) !important;
}

.pgb-checkout-gift-toggle strong { color: var(--pgb-ink) !important; }
.pgb-checkout-gift-toggle small { color: var(--pgb-muted) !important; }

@media (max-width: 767px) {
    .pgb-gift-inline-card__icon {
        width: 44px !important;
        height: 44px !important;
        flex-basis: 44px !important;
    }
    .pgb-drawer__header::after { left: 22px; right: 22px; }
}


/* =============================================================================
   v1.4.1 Mobile Ready — scoped refinements
   ============================================================================= */
.pgb-gift-experience,
.pgb-gift-experience * {
    -webkit-tap-highlight-color: transparent;
}

.pgb-drawer__body {
    overscroll-behavior: contain;
}

.pgb-gift-inline-card {
    max-width: 100% !important;
}

.pgb-gift-inline-card__button {
    white-space: nowrap !important;
}

@media (max-width: 991px) {
    .pgb-gift-inline-card {
        padding: 18px !important;
        gap: 14px !important;
    }

    .pgb-gift-inline-card__button {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

@media (max-width: 767px) {
    .pgb-gift-inline-card {
        display: grid !important;
        grid-template-columns: 44px 1fr !important;
        align-items: start !important;
        padding: 18px !important;
        border-radius: 18px !important;
        background: #fff !important;
    }

    .pgb-gift-inline-card__content {
        min-width: 0 !important;
    }

    .pgb-gift-inline-card__eyebrow {
        font-size: 9px !important;
        letter-spacing: .22em !important;
    }

    .pgb-gift-inline-card strong {
        font-size: 15px !important;
        line-height: 1.25 !important;
    }

    .pgb-gift-inline-card p {
        font-size: 12px !important;
        line-height: 1.5 !important;
        margin-top: 5px !important;
    }

    .pgb-gift-inline-card__summary {
        grid-column: 2 / 3 !important;
        font-size: 11px !important;
        line-height: 1.45 !important;
    }

    .pgb-gift-inline-card__button {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        justify-content: center !important;
        min-height: 48px !important;
        margin-top: 4px !important;
    }

    .pgb-drawer {
        width: 100vw !important;
        max-width: 100vw !important;
        border-radius: 0 !important;
        box-shadow: none !important;
    }

    .pgb-drawer__header {
        position: sticky !important;
        top: 0 !important;
        z-index: 5 !important;
        padding: 26px 22px 24px !important;
    }

    .pgb-drawer__title {
        font-size: 30px !important;
        line-height: 1.04 !important;
        letter-spacing: -.04em !important;
    }

    .pgb-drawer__subtitle {
        font-size: 13px !important;
        line-height: 1.55 !important;
        max-width: 320px !important;
    }

    .pgb-drawer__body {
        padding: 22px 18px 120px !important;
    }

    .pgb-gift-form-grid,
    .pgb-gift-form__grid,
    .pgb-gift-experience .pgb-grid {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 14px !important;
    }

    .pgb-gift-experience .pgb-field__input,
    .pgb-gift-experience .pgb-field__input--textarea {
        min-height: 56px !important;
        font-size: 16px !important;
        border-radius: 18px !important;
    }

    .pgb-gift-experience .pgb-field__input--textarea {
        min-height: 132px !important;
    }

    .pgb-drawer__footer,
    .pgb-actions,
    .pgb-gift-actions {
        position: sticky !important;
        bottom: 0 !important;
        z-index: 8 !important;
        background: linear-gradient(180deg, rgba(247,247,248,0), #f7f7f8 24%, #f7f7f8 100%) !important;
        padding-top: 22px !important;
    }

    .pgb-btn-save {
        width: 100% !important;
        min-height: 52px !important;
        justify-content: center !important;
    }
}


/* v1.4.3 final copy/UX refinements */
.pgb-drawer__title br {
    display: none;
}
.pgb-drawer__title {
    max-width: 100%;
    white-space: normal;
}
.pgb-btn-save {
    letter-spacing: .18em;
}
.pgb-panel-head__desc {
    color: rgba(42,33,27,.62);
}
.pgb-panel-features span {
    color: rgba(42,33,27,.38);
}
@media (max-width: 640px) {
    .pgb-drawer__title br {
        display: none;
    }
    .pgb-drawer__title {
        font-size: clamp(30px, 8vw, 42px);
        line-height: 1.05;
    }
}


/* =============================================================================
   PetGiftBox Experience Card — v1.5.0
   ============================================================================= */
.pgb-gift-card-product,
.pgb-gift-card-product * {
    box-sizing: border-box;
}

.pgb-gift-card-product {
    width: 100%;
    margin: 28px 0 30px;
    padding: 26px;
    background: #f7f7f8;
    border: 1px solid rgba(20,20,20,.08);
    border-radius: 24px;
    color: #161616;
}

.pgb-gift-card-product__eyebrow {
    display:block;
    margin-bottom:8px;
    font-size:10px;
    letter-spacing:.24em;
    text-transform:uppercase;
    color:#9a8d82;
    font-weight:600;
}

.pgb-gift-card-product__head h3 {
    margin:0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(26px, 3vw, 38px);
    line-height:1.08;
    font-weight:400;
    letter-spacing:-.03em;
    color:#161616;
}

.pgb-gift-card-product__head p {
    max-width: 620px;
    margin: 12px 0 0;
    font-size: 14px;
    line-height: 1.65;
    color: #777;
}

.pgb-gift-card-amounts {
    display:grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap:10px;
    margin:22px 0 16px;
}

.pgb-gift-card-amount {
    min-height:54px;
    border:1px solid rgba(20,20,20,.10);
    border-radius:999px;
    background:#fff;
    color:#161616;
    font-size:14px;
    font-weight:600;
    cursor:pointer;
    transition:all .22s ease;
}

.pgb-gift-card-amount:hover,
.pgb-gift-card-amount.is-selected {
    border-color:#2a211b;
    box-shadow:0 10px 28px rgba(20,20,20,.06);
    transform:translateY(-1px);
}

.pgb-gift-card-custom {
    margin: 0 0 18px;
}

.pgb-gift-card-custom label,
.pgb-gift-card-field label {
    display:block;
    margin:0 0 8px;
    font-size:11px;
    letter-spacing:.12em;
    text-transform:uppercase;
    color:#777;
    font-weight:600;
}

.pgb-gift-card-custom input,
.pgb-gift-card-field input,
.pgb-gift-card-field textarea {
    width:100%;
    min-height:56px;
    padding:14px 16px;
    border:1px solid rgba(20,20,20,.10);
    border-radius:18px;
    background:#fff;
    color:#161616;
    font-size:14px;
    outline:none;
    transition:border-color .2s ease, box-shadow .2s ease;
}

.pgb-gift-card-field textarea {
    min-height:120px;
    resize:vertical;
}

.pgb-gift-card-custom input:focus,
.pgb-gift-card-field input:focus,
.pgb-gift-card-field textarea:focus {
    border-color:#161616;
    box-shadow:0 0 0 4px rgba(0,0,0,.04);
}

.pgb-gift-card-fields {
    display:grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap:14px;
    margin-top:18px;
}

.pgb-gift-card-field--full {
    grid-column:1/-1;
}

@media (max-width: 640px) {
    .pgb-gift-card-product {
        padding:22px;
        border-radius:20px;
    }

    .pgb-gift-card-amounts {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }

    .pgb-gift-card-fields {
        grid-template-columns:1fr;
    }
}


/* =============================================================================
   PetGiftBox Experience Card Frontend — v1.5.1
   ============================================================================= */
.single-product .pgb-experience-card-page,
.single-product .pgb-experience-card-page * {
    box-sizing: border-box;
}

.single-product .pgb-experience-card-page {
    width: 100%;
    margin: 54px auto 70px;
    padding: 0 24px;
    color: #161616;
}

.single-product .pgb-experience-card-page__inner {
    width: min(1180px, 100%);
    margin: 0 auto;
    padding: clamp(28px, 4vw, 54px);
    background: #f7f7f8;
    border: 1px solid rgba(20,20,20,.08);
    border-radius: 32px;
    box-shadow: 0 26px 70px rgba(20,20,20,.04);
}

.single-product .pgb-experience-card-eyebrow {
    display: block;
    margin-bottom: 12px;
    font-size: 10px;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: #9a8d82;
    font-weight: 700;
}

.single-product .pgb-experience-card-hero h2 {
    max-width: 760px;
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(34px, 5vw, 66px);
    line-height: .98;
    font-weight: 400;
    letter-spacing: -.055em;
    color: #1e1712;
}

.single-product .pgb-experience-card-hero p {
    max-width: 720px;
    margin: 22px 0 0;
    font-size: 15px;
    line-height: 1.75;
    color: #6f6a66;
}

.single-product .pgb-experience-card-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 360px;
    gap: clamp(24px, 4vw, 54px);
    margin-top: 42px;
    align-items: start;
}

.single-product .pgb-experience-card-section {
    padding: 28px;
    background: #fff;
    border: 1px solid rgba(20,20,20,.07);
    border-radius: 26px;
    box-shadow: 0 18px 54px rgba(20,20,20,.035);
}

.single-product .pgb-experience-card-section + .pgb-experience-card-section {
    margin-top: 18px;
}

.single-product .pgb-experience-card-section__head {
    display: flex;
    align-items: baseline;
    gap: 14px;
    margin-bottom: 18px;
}

.single-product .pgb-experience-card-section__head span {
    font-size: 10px;
    letter-spacing: .22em;
    color: #c9a36a;
    font-weight: 800;
}

.single-product .pgb-experience-card-section__head h3 {
    margin: 0;
    font-size: 16px;
    letter-spacing: .02em;
    color: #1e1712;
}

.single-product .pgb-experience-card-amounts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 10px;
}

.single-product .pgb-experience-card-amount {
    min-height: 58px;
    border: 1px solid rgba(20,20,20,.10);
    border-radius: 999px;
    background: #fff;
    color: #1e1712;
    font-size: 14px;
    font-weight: 700;
    cursor: pointer;
    transition: all .22s ease;
}

.single-product .pgb-experience-card-amount:hover,
.single-product .pgb-experience-card-amount.is-selected {
    border-color: #2a211b;
    background: #2a211b;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 16px 36px rgba(42,33,27,.12);
}

.single-product .pgb-experience-card-custom {
    margin-top: 16px;
}

.single-product .pgb-experience-card-custom label,
.single-product .pgb-experience-card-field label {
    display: block;
    margin: 0 0 8px;
    font-size: 10px;
    letter-spacing: .18em;
    text-transform: uppercase;
    color: #9a8d82;
    font-weight: 700;
}

.single-product .pgb-experience-card-custom input,
.single-product .pgb-experience-card-field input,
.single-product .pgb-experience-card-field textarea {
    width: 100%;
    min-height: 56px;
    padding: 14px 16px;
    border: 1px solid rgba(20,20,20,.09);
    border-radius: 18px;
    background: #f7f7f8;
    color: #161616;
    font-size: 14px;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.single-product .pgb-experience-card-field textarea {
    min-height: 134px;
    resize: vertical;
}

.single-product .pgb-experience-card-custom input:focus,
.single-product .pgb-experience-card-field input:focus,
.single-product .pgb-experience-card-field textarea:focus {
    background: #fff;
    border-color: #2a211b;
    box-shadow: 0 0 0 4px rgba(42,33,27,.045);
}

.single-product .pgb-experience-card-fields {
    display: grid;
    grid-template-columns: repeat(2, minmax(0,1fr));
    gap: 16px;
}

.single-product .pgb-experience-card-field--full {
    grid-column: 1/-1;
}

.single-product .pgb-experience-card-preview {
    position: sticky;
    top: 110px;
}

.single-product .pgb-experience-card-preview__card {
    min-height: 360px;
    padding: 32px 26px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 18px;
    text-align: center;
    background:
        radial-gradient(circle at 50% 30%, rgba(201,163,106,.15), transparent 48%),
        linear-gradient(145deg, #15100d, #2a211b);
    border-radius: 30px;
    color: #fff;
    box-shadow: 0 28px 70px rgba(42,33,27,.18);
}

.single-product .pgb-experience-card-preview__card span {
    font-size: 10px;
    letter-spacing: .28em;
    text-transform: uppercase;
    color: #c9a36a;
    font-weight: 800;
}

.single-product .pgb-experience-card-preview__card img {
    width: 88px;
    height: 88px;
    display: block;
    border-radius: 22px;
}

.single-product .pgb-experience-card-preview__card strong {
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 48px;
    line-height: 1;
    font-weight: 400;
    letter-spacing: -.04em;
}

.single-product .pgb-experience-card-preview__card p {
    max-width: 260px;
    margin: 0;
    color: rgba(255,255,255,.68);
    font-size: 13px;
    line-height: 1.6;
}

.single-product .pgb-experience-card-submit {
    width: 100%;
    min-height: 58px;
    margin-top: 16px;
    border-radius: 999px !important;
    background: #2a211b !important;
    color: #fff !important;
    border: 0 !important;
    font-size: 12px !important;
    letter-spacing: .16em !important;
    text-transform: uppercase;
    font-weight: 800 !important;
    cursor: pointer;
}

.single-product .pgb-experience-card-note {
    margin: 14px 0 0;
    font-size: 12px;
    line-height: 1.65;
    color: #777;
    text-align: center;
}

@media (max-width: 980px) {
    .single-product .pgb-experience-card-grid {
        grid-template-columns: 1fr;
    }
    .single-product .pgb-experience-card-preview {
        position: static;
    }
}

@media (max-width: 640px) {
    .single-product .pgb-experience-card-page {
        padding: 0 14px;
        margin: 34px auto 48px;
    }
    .single-product .pgb-experience-card-page__inner {
        padding: 24px 18px;
        border-radius: 24px;
    }
    .single-product .pgb-experience-card-hero h2 {
        font-size: 36px;
        line-height: 1.05;
    }
    .single-product .pgb-experience-card-section {
        padding: 20px;
        border-radius: 20px;
    }
    .single-product .pgb-experience-card-amounts {
        grid-template-columns: repeat(2, minmax(0,1fr));
    }
    .single-product .pgb-experience-card-fields {
        grid-template-columns: 1fr;
    }
    .single-product .pgb-experience-card-preview__card {
        min-height: 300px;
    }
}


/* =============================================================================
   Gift Card Product Cleanup — v1.5.2
   Hide default WooCommerce buying block only for Gift Card mode products.
   ============================================================================= */
.single-product.pgb-is-gift-card-product .summary form.cart,
.single-product.pgb-is-gift-card-product .summary .price,
.single-product.pgb-is-gift-card-product .summary .woocommerce-variation-add-to-cart,
.single-product.pgb-is-gift-card-product .summary .quantity,
.single-product.pgb-is-gift-card-product .summary .single_add_to_cart_button,
.single-product.pgb-is-gift-card-product .summary .wooma-btn-buynow,
.single-product.pgb-is-gift-card-product .summary .wooma-product-after-cart {
    display: none !important;
}

.single-product.pgb-is-gift-card-product .pgb-experience-card-page {
    margin-top: 34px;
}

.single-product.pgb-is-gift-card-product .pgb-experience-card-page__inner {
    border-color: rgba(201,163,106,.18);
}

.single-product.pgb-is-gift-card-product .pgb-experience-card-preview__card {
    position: relative;
    overflow: hidden;
}

.single-product.pgb-is-gift-card-product .pgb-experience-card-preview__card:before {
    content: "";
    position: absolute;
    inset: -40%;
    background: radial-gradient(circle at 30% 20%, rgba(201,163,106,.18), transparent 34%);
    opacity: .8;
    pointer-events: none;
}

.single-product.pgb-is-gift-card-product .pgb-experience-card-preview__card > * {
    position: relative;
    z-index: 1;
}

.single-product.pgb-is-gift-card-product .pgb-experience-card-submit {
    box-shadow: 0 18px 44px rgba(42,33,27,.14);
    transition: transform .22s ease, box-shadow .22s ease, opacity .22s ease;
}

.single-product.pgb-is-gift-card-product .pgb-experience-card-submit:hover {
    transform: translateY(-1px);
    box-shadow: 0 22px 52px rgba(42,33,27,.18);
    opacity: .96;
}


/* =============================================================================
   Gift Card Position Fix — v1.5.3
   ============================================================================= */
.single-product.pgb-is-gift-card-product .summary > form.cart,
.single-product.pgb-is-gift-card-product .summary .wooma-product-info-top + form.cart,
.single-product.pgb-is-gift-card-product .summary .woocommerce-product-details__short-description + form.cart,
.single-product.pgb-is-gift-card-product .summary .cart:not(.pgb-experience-card-form),
.single-product.pgb-is-gift-card-product .summary .price,
.single-product.pgb-is-gift-card-product .summary .wooma-btn-buynow,
.single-product.pgb-is-gift-card-product .summary .wooma-product-after-cart {
    display: none !important;
}

.single-product.pgb-is-gift-card-product .summary .pgb-experience-card-form.cart {
    display: block !important;
}

.single-product.pgb-is-gift-card-product .summary .pgb-experience-card-page {
    margin: 28px 0 34px !important;
    padding: 0 !important;
}

.single-product.pgb-is-gift-card-product .summary .pgb-experience-card-page__inner {
    width: 100%;
    max-width: 100%;
    margin: 0;
    padding: 26px;
    border-radius: 24px;
}

.single-product.pgb-is-gift-card-product .summary .pgb-experience-card-hero h2 {
    font-size: clamp(30px, 3.2vw, 46px);
    line-height: 1.04;
}

.single-product.pgb-is-gift-card-product .summary .pgb-experience-card-grid {
    grid-template-columns: minmax(0, 1fr);
    gap: 22px;
    margin-top: 28px;
}

.single-product.pgb-is-gift-card-product .summary .pgb-experience-card-preview {
    position: static;
}

.single-product.pgb-is-gift-card-product .summary .pgb-experience-card-preview__card {
    min-height: 260px;
}

@media (min-width: 1280px) {
    .single-product.pgb-is-gift-card-product .summary .pgb-experience-card-grid {
        grid-template-columns: minmax(0, 1fr) 300px;
    }
}


/* =============================================================================
   Gift Card Luxury Creator — v1.5.6
   Full-width product page, unified visual system for Gift Experience + Gift Card.
   ============================================================================= */
.single-product.pgb-is-gift-card-product div.product,
.single-product.pgb-is-gift-card-product .product,
.single-product.pgb-is-gift-card-product .product-type-simple {
    --pgb-lux-ink: #18100c;
    --pgb-lux-brown: #2a1b13;
    --pgb-lux-gold: #c99a52;
    --pgb-lux-cream: #f8efe2;
}

.single-product.pgb-is-gift-card-product div.product .woocommerce-product-gallery,
.single-product.pgb-is-gift-card-product div.product .images,
.single-product.pgb-is-gift-card-product div.product .woocommerce-product-gallery__wrapper,
.single-product.pgb-is-gift-card-product div.product .flex-control-nav,
.single-product.pgb-is-gift-card-product .product-images,
.single-product.pgb-is-gift-card-product .product-gallery,
.single-product.pgb-is-gift-card-product .product-thumbnails,
.single-product.pgb-is-gift-card-product .wooma-product-gallery,
.single-product.pgb-is-gift-card-product .single-product-gallery,
.single-product.pgb-is-gift-card-product .single-product-image,
.single-product.pgb-is-gift-card-product .product > .images {
    display: none !important;
}

.single-product.pgb-is-gift-card-product div.product .summary,
.single-product.pgb-is-gift-card-product .summary,
.single-product.pgb-is-gift-card-product .entry-summary {
    width: 100% !important;
    max-width: 1180px !important;
    float: none !important;
    clear: both !important;
    margin: 0 auto !important;
    padding: 0 24px !important;
}

.single-product.pgb-is-gift-card-product .product_title,
.single-product.pgb-is-gift-card-product .summary > .price,
.single-product.pgb-is-gift-card-product .summary > .woocommerce-product-rating,
.single-product.pgb-is-gift-card-product .summary > .product_meta,
.single-product.pgb-is-gift-card-product .summary > .woocommerce-product-details__short-description {
    display: none !important;
}

.single-product.pgb-is-gift-card-product .summary .pgb-experience-card-form.cart,
.single-product.pgb-is-gift-card-product .summary form.pgb-experience-card-form.cart {
    display: block !important;
}

.single-product.pgb-is-gift-card-product .summary .pgb-experience-card-page,
.single-product.pgb-is-gift-card-product .pgb-experience-card-page--v156 {
    width: 100% !important;
    max-width: 1180px !important;
    margin: 28px auto 70px !important;
    padding: 0 !important;
}

.single-product.pgb-is-gift-card-product .summary .pgb-experience-card-page__inner,
.pgb-experience-card-page--v156 .pgb-experience-card-page__inner {
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
}

.pgb-card-creator,
.pgb-card-creator * {
    box-sizing: border-box;
}

.pgb-card-creator {
    display: grid;
    grid-template-columns: 1fr;
    gap: 0;
    align-items: stretch;
    width: 100%;
}

.pgb-card-creator__preview,
.pgb-card-creator__config {
    min-width: 0;
}

.pgb-card-stage {
    position: sticky;
    top: 96px;
    min-height: 720px;
    overflow: hidden;
    border-radius: 34px;
    color: #f8efe2;
    background:
        radial-gradient(circle at 50% 34%, rgba(225,163,70,.25), transparent 32%),
        radial-gradient(circle at 70% 70%, rgba(255,228,176,.12), transparent 28%),
        linear-gradient(145deg, #070504 0%, #21150f 58%, #080605 100%);
    box-shadow: 0 34px 90px rgba(24,16,12,.16);
    isolation: isolate;
}

.pgb-card-stage:before {
    content: "";
    position: absolute;
    inset: 18px;
    border: 1px solid rgba(248,239,226,.08);
    border-radius: 26px;
    pointer-events: none;
    z-index: 3;
}

.pgb-card-stage:after {
    content: "";
    position: absolute;
    inset: 0;
    background-image: radial-gradient(rgba(255,255,255,.16) 1px, transparent 1px);
    background-size: 4px 4px;
    opacity: .035;
    pointer-events: none;
    z-index: 1;
}

.pgb-card-stage__brand {
    position: absolute;
    top: 34px;
    left: 50%;
    transform: translateX(-50%);
    color: rgba(201,154,82,.92);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: .42em;
    text-transform: uppercase;
    z-index: 5;
}

.pgb-card-stage__copy {
    position: absolute;
    left: 42px;
    right: 42px;
    top: 88px;
    text-align: center;
    z-index: 5;
}

.pgb-card-stage__copy span {
    display: block;
    margin-bottom: 16px;
    color: rgba(248,239,226,.48);
    font-size: 10px;
    font-weight: 700;
    letter-spacing: .32em;
    text-transform: uppercase;
}

.pgb-card-stage__copy h2 {
    max-width: 460px;
    margin: 0 auto;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: clamp(38px, 4vw, 64px);
    line-height: .98;
    font-weight: 400;
    letter-spacing: -.055em;
    color: #f8efe2;
}

.pgb-card-stage__scene {
    position: absolute;
    left: 50%;
    top: 47%;
    width: 460px;
    height: 340px;
    transform: translate(-50%, -50%);
    perspective: 1300px;
    z-index: 4;
}

.pgb-card-stage__glow {
    position: absolute;
    left: 50%;
    bottom: 112px;
    width: 420px;
    height: 230px;
    transform: translateX(-50%);
    border-radius: 50%;
    background: radial-gradient(ellipse, rgba(255,229,166,.95), rgba(232,174,77,.56) 28%, rgba(196,149,74,.18) 58%, transparent 76%);
    filter: blur(18px);
    opacity: .9;
    animation: pgbStageGlow 4s ease-in-out infinite alternate;
}

.pgb-card-stage__lid {
    position: absolute;
    left: 50%;
    top: 54px;
    width: 332px;
    height: 86px;
    transform: translateX(-50%) rotateX(-56deg) rotateZ(-4deg) translateY(-16px);
    transform-origin: 50% 100%;
    border-radius: 10px;
    background:
        linear-gradient(118deg,rgba(255,255,255,.18),transparent 34%,rgba(255,255,255,.055)),
        linear-gradient(158deg,#3b2a20,#14100d 58%,#050403);
    box-shadow: inset 0 1px rgba(255,255,255,.12), 0 26px 54px rgba(0,0,0,.46);
    z-index: 7;
    animation: pgbStageLid 5s ease-in-out infinite alternate;
}

.pgb-card-stage__lid:after {
    content: "";
    position: absolute;
    left: 12px;
    right: 12px;
    bottom: -16px;
    height: 18px;
    border-radius: 0 0 10px 10px;
    transform: rotateX(70deg);
    transform-origin: 50% 0;
    background: linear-gradient(180deg,#241812,#070504 78%);
}

.pgb-card-stage__lid span {
    position: absolute;
    left: 50%;
    top: -42px;
    width: 120px;
    height: 58px;
    transform: translateX(-50%);
}

.pgb-card-stage__lid span:before,
.pgb-card-stage__lid span:after {
    content: "";
    position: absolute;
    top: 14px;
    width: 56px;
    height: 34px;
    border: 7px solid rgba(18,11,7,.92);
    background: linear-gradient(145deg,#6f513b,#0d0806);
    box-shadow: inset 0 1px rgba(255,255,255,.11),0 8px 20px rgba(0,0,0,.38);
}

.pgb-card-stage__lid span:before { left: 0; border-radius: 70% 36% 56% 44%; transform: rotate(-20deg); }
.pgb-card-stage__lid span:after { right: 0; border-radius: 36% 70% 44% 56%; transform: rotate(20deg); }

.pgb-card-stage__tissue {
    position: absolute;
    left: 50%;
    bottom: 114px;
    width: 310px;
    height: 120px;
    transform: translateX(-50%);
    z-index: 5;
    animation: pgbTissueFloat 5s ease-in-out infinite alternate;
}

.pgb-card-stage__tissue b {
    position: absolute;
    bottom: 0;
    width: 118px;
    height: 92px;
    border-radius: 58% 58% 12px 12px;
    background: linear-gradient(145deg, rgba(255,249,240,.96), rgba(229,214,190,.82));
    box-shadow: inset 0 1px rgba(255,255,255,.82), 0 18px 24px rgba(0,0,0,.14);
}
.pgb-card-stage__tissue b:nth-child(1) { left: 0; transform: rotate(-15deg); }
.pgb-card-stage__tissue b:nth-child(2) { left: 94px; height: 116px; transform: rotate(2deg); }
.pgb-card-stage__tissue b:nth-child(3) { right: 0; transform: rotate(15deg); }

.pgb-card-stage__box {
    position: absolute;
    left: 50%;
    bottom: 38px;
    width: 330px;
    height: 176px;
    transform: translateX(-50%) rotateY(-7deg);
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    border-radius: 8px 8px 16px 16px;
    background:
        radial-gradient(ellipse at 50% -20%, rgba(219,185,110,.18), transparent 44%),
        linear-gradient(100deg,rgba(255,255,255,.14),transparent 24%,rgba(255,255,255,.05) 62%,transparent),
        linear-gradient(168deg,#30231c,#15100d 54%,#050403);
    box-shadow: inset 0 1px rgba(255,255,255,.12), inset 0 -26px 44px rgba(0,0,0,.42), 0 34px 70px rgba(0,0,0,.56);
    z-index: 6;
}

.pgb-card-stage__box:after {
    content: "";
    position: absolute;
    top: 10px;
    right: -38px;
    width: 38px;
    height: 156px;
    transform: skewY(-18deg);
    transform-origin: left center;
    border-radius: 0 8px 15px 0;
    background: linear-gradient(160deg,#211812,#070504 72%);
}

.pgb-card-stage__icon {
    width: 28px;
    height: 28px;
    display: grid;
    place-items: center;
    margin-bottom: 10px;
    border: 1px solid rgba(219,185,110,.46);
    color: rgba(219,185,110,.78);
    line-height: 1;
}

.pgb-card-stage__box strong {
    font-family: Georgia, 'Times New Roman', serif;
    color: rgba(219,185,110,.76);
    font-size: 24px;
    font-weight: 400;
    letter-spacing: .2em;
}

.pgb-card-stage__box em {
    margin-top: 6px;
    color: rgba(219,185,110,.42);
    font-size: 7px;
    font-style: normal;
    font-weight: 700;
    letter-spacing: .3em;
    text-transform: uppercase;
}

.pgb-card-stage__sparks i {
    position: absolute;
    left: 50%;
    top: 48%;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: #ffd891;
    box-shadow: 0 0 14px #ffd891, 0 0 32px rgba(255,190,92,.78);
    z-index: 8;
    animation: pgbSpark 3.2s ease-in-out infinite;
}
.pgb-card-stage__sparks i:nth-child(1){--x:-170px;--y:-90px;animation-delay:.1s}
.pgb-card-stage__sparks i:nth-child(2){--x:165px;--y:-100px;animation-delay:.45s}
.pgb-card-stage__sparks i:nth-child(3){--x:-110px;--y:8px;animation-delay:.8s}
.pgb-card-stage__sparks i:nth-child(4){--x:110px;--y:-10px;animation-delay:1.15s}
.pgb-card-stage__sparks i:nth-child(5){--x:-210px;--y:-165px;animation-delay:1.5s}
.pgb-card-stage__sparks i:nth-child(6){--x:210px;--y:-160px;animation-delay:1.85s}

.pgb-card-stage__message {
    position: absolute;
    left: 34px;
    right: 34px;
    bottom: 34px;
    z-index: 8;
    padding: 20px 22px;
    border: 1px solid rgba(201,154,82,.28);
    border-radius: 22px;
    background: rgba(10,8,7,.54);
    backdrop-filter: blur(12px);
    text-align: center;
}

.pgb-card-stage__message small {
    display: block;
    margin-bottom: 8px;
    color: rgba(248,239,226,.46);
    font-size: 9px;
    font-weight: 700;
    letter-spacing: .28em;
    text-transform: uppercase;
}

.pgb-card-stage__message strong {
    display: block;
    color: #f8efe2;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 24px;
    line-height: 1.08;
    font-weight: 400;
}

.pgb-card-stage__message p {
    max-width: 390px;
    margin: 10px auto 0;
    color: rgba(248,239,226,.66);
    font-size: 13px;
    line-height: 1.55;
}

.pgb-card-stage__amount {
    display: inline-flex;
    margin-top: 14px;
    padding: 9px 16px;
    border: 1px solid rgba(201,154,82,.38);
    border-radius: 999px;
    color: #d9b36f;
    font-weight: 800;
    letter-spacing: .04em;
}

.pgb-card-creator__config {
    display: flex;
    flex-direction: column;
    min-height: 720px;
    padding: 34px;
    border: 1px solid rgba(42,33,27,.08);
    border-radius: 34px;
    background: linear-gradient(180deg,#fff,#f8f6f3);
    box-shadow: 0 28px 80px rgba(42,33,27,.08);
}

.pgb-card-creator__eyebrow {
    display: block;
    margin-bottom: 12px;
    color: #9d8057;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .28em;
    text-transform: uppercase;
}

.pgb-card-creator__hero h2 {
    max-width: 620px;
    margin: 0;
    font-family: Georgia, 'Times New Roman', serif;
    color: #201713;
    font-size: clamp(40px, 4.2vw, 66px);
    line-height: .94;
    font-weight: 400;
    letter-spacing: -.06em;
}

.pgb-card-creator__hero p {
    max-width: 640px;
    margin: 18px 0 0;
    color: rgba(32,23,19,.58);
    font-size: 14px;
    line-height: 1.75;
}

.pgb-card-steps {
    display: grid;
    gap: 18px;
    margin-top: 28px;
}

.pgb-card-step {
    padding: 24px;
    border: 1px solid rgba(42,33,27,.07);
    border-radius: 26px;
    background: rgba(255,255,255,.78);
    box-shadow: 0 16px 40px rgba(42,33,27,.045);
}

.pgb-card-step__head {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-bottom: 18px;
}

.pgb-card-step__head span {
    color: #c99a52;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .16em;
}

.pgb-card-step__head h3 {
    margin: 0;
    color: #201713;
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -.02em;
}

.pgb-experience-card-page--v156 .pgb-experience-card-amounts {
    display: grid;
    grid-template-columns: repeat(4, minmax(0,1fr));
    gap: 10px;
    margin: 0;
}

.pgb-experience-card-page--v156 .pgb-experience-card-amount {
    min-height: 50px;
    border: 1px solid rgba(32,23,19,.1);
    border-radius: 999px;
    background: #fff;
    color: #201713;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
    transition: transform .22s ease, border-color .22s ease, background .22s ease, color .22s ease, box-shadow .22s ease;
}

.pgb-experience-card-page--v156 .pgb-experience-card-amount:hover,
.pgb-experience-card-page--v156 .pgb-experience-card-amount.is-selected {
    border-color: #201713;
    background: #201713;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 14px 32px rgba(32,23,19,.12);
}

.pgb-experience-card-page--v156 .pgb-experience-card-custom {
    margin-top: 16px;
}

.pgb-experience-card-page--v156 .pgb-experience-card-custom label,
.pgb-experience-card-page--v156 .pgb-experience-card-field label {
    display: block;
    margin-bottom: 8px;
    color: rgba(32,23,19,.48);
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.pgb-experience-card-page--v156 .pgb-experience-card-custom input,
.pgb-experience-card-page--v156 .pgb-experience-card-field input,
.pgb-experience-card-page--v156 .pgb-experience-card-field textarea {
    width: 100%;
    min-height: 54px;
    padding: 14px 16px;
    border: 1px solid rgba(32,23,19,.1);
    border-radius: 18px;
    background: #f7f5f3;
    color: #201713;
    font-size: 14px;
    outline: none;
    transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.pgb-experience-card-page--v156 .pgb-experience-card-field textarea {
    min-height: 132px;
    resize: vertical;
}

.pgb-experience-card-page--v156 .pgb-experience-card-custom input:focus,
.pgb-experience-card-page--v156 .pgb-experience-card-field input:focus,
.pgb-experience-card-page--v156 .pgb-experience-card-field textarea:focus {
    border-color: rgba(32,23,19,.42);
    background: #fff;
    box-shadow: 0 0 0 4px rgba(201,154,82,.12);
}

.pgb-experience-card-page--v156 .pgb-experience-card-fields {
    display: grid;
    grid-template-columns: repeat(2,minmax(0,1fr));
    gap: 14px;
}

.pgb-experience-card-page--v156 .pgb-experience-card-field--full {
    grid-column: 1/-1;
}

.pgb-card-checkout-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-top: auto;
    padding: 20px;
    border: 1px solid rgba(32,23,19,.08);
    border-radius: 24px;
    background: #201713;
    color: #fff;
    box-shadow: 0 22px 50px rgba(32,23,19,.18);
}

.pgb-card-checkout-bar span,
.pgb-card-checkout-bar em {
    display: block;
    color: rgba(255,255,255,.52);
    font-size: 10px;
    font-style: normal;
    font-weight: 800;
    letter-spacing: .18em;
    text-transform: uppercase;
}

.pgb-card-checkout-bar strong {
    display: block;
    margin: 5px 0 3px;
    color: #d9b36f;
    font-family: Georgia, 'Times New Roman', serif;
    font-size: 32px;
    font-weight: 400;
    letter-spacing: -.03em;
}

.pgb-card-checkout-bar em {
    max-width: 320px;
    letter-spacing: 0;
    text-transform: none;
    font-weight: 500;
    line-height: 1.45;
}

.pgb-experience-card-page--v156 .pgb-experience-card-submit {
    flex: 0 0 auto;
    width: auto !important;
    min-width: 230px;
    min-height: 54px;
    margin: 0 !important;
    padding: 0 24px !important;
    border: 1px solid rgba(217,179,111,.42) !important;
    border-radius: 999px !important;
    background: #d3a257 !important;
    color: #201713 !important;
    box-shadow: none !important;
    font-size: 11px !important;
    font-weight: 900 !important;
    letter-spacing: .14em !important;
    text-transform: uppercase !important;
}

.pgb-experience-card-page--v156 .pgb-experience-card-submit:hover {
    transform: translateY(-1px);
    background: #e1b56d !important;
}

/* Align the normal Gift Experience trigger with the same premium direction. */
.pgb-gift-experience .pgb-panel-head {
    border-radius: 28px;
    background:
        radial-gradient(circle at 88% 16%, rgba(201,154,82,.12), transparent 34%),
        linear-gradient(145deg,#fff,#f7f3ee);
    border: 1px solid rgba(42,33,27,.07);
    box-shadow: 0 20px 54px rgba(42,33,27,.06);
}

.pgb-gift-experience .pgb-panel-cta,
.pgb-gift-experience .pgb-btn-save {
    border-radius: 999px !important;
    background: #201713 !important;
    color: #fff !important;
    box-shadow: 0 16px 36px rgba(32,23,19,.16) !important;
}

@keyframes pgbStageGlow {
    from { opacity: .72; transform: translateX(-50%) scale(.94); }
    to { opacity: 1; transform: translateX(-50%) scale(1.08); }
}

@keyframes pgbStageLid {
    from { transform: translateX(-50%) rotateX(-52deg) rotateZ(-3deg) translateY(-12px); }
    to { transform: translateX(-50%) rotateX(-61deg) rotateZ(-5deg) translateY(-22px); }
}

@keyframes pgbTissueFloat {
    from { transform: translateX(-50%) translateY(0); }
    to { transform: translateX(-50%) translateY(-8px); }
}

@keyframes pgbSpark {
    0% { opacity: 0; transform: translate(-50%, -50%) scale(.35); }
    20% { opacity: 1; }
    100% { opacity: 0; transform: translate(calc(-50% + var(--x)), calc(-50% + var(--y))) scale(1.1); }
}


/* v1.5.9: gift card configurator without the extra dark preview block */
.pgb-card-creator--no-preview {
    grid-template-columns: 1fr !important;
    max-width: 100%;
}

.pgb-card-creator--no-preview .pgb-card-creator__config {
    width: 100%;
    min-height: 720px;
}

.pgb-card-creator--no-preview .pgb-card-steps {
    grid-template-columns: 1fr;
}

.pgb-card-creator--no-preview .pgb-card-checkout-bar {
    margin-top: 24px;
}

@media (max-width: 1180px) {
    .pgb-card-creator {
        grid-template-columns: 1fr;
    }
    .pgb-card-stage {
        position: relative;
        top: auto;
        min-height: 620px;
    }
    .pgb-card-creator__config {
        min-height: 0;
    }
}

@media (max-width: 760px) {
    .single-product.pgb-is-gift-card-product div.product .summary,
    .single-product.pgb-is-gift-card-product .summary,
    .single-product.pgb-is-gift-card-product .entry-summary {
        padding: 0 14px !important;
    }
    .pgb-card-stage {
        min-height: 560px;
        border-radius: 26px;
    }
    .pgb-card-stage__copy {
        left: 24px;
        right: 24px;
        top: 72px;
    }
    .pgb-card-stage__copy h2 {
        font-size: 38px;
    }
    .pgb-card-stage__scene {
        transform: translate(-50%, -48%) scale(.76);
    }
    .pgb-card-stage__message {
        left: 22px;
        right: 22px;
        bottom: 22px;
    }
    .pgb-card-creator__config {
        padding: 22px;
        border-radius: 26px;
    }
    .pgb-card-creator__hero h2 {
        font-size: 38px;
    }
    .pgb-experience-card-page--v156 .pgb-experience-card-amounts,
    .pgb-experience-card-page--v156 .pgb-experience-card-fields {
        grid-template-columns: 1fr;
    }
    .pgb-card-checkout-bar {
        flex-direction: column;
        align-items: stretch;
    }
    .pgb-experience-card-page--v156 .pgb-experience-card-submit {
        width: 100% !important;
        min-width: 0;
    }
}


/* v2.0 luxury gift card UI pass */
.single-product.pgb-is-gift-card-product .woocommerce-product-gallery {
    position: sticky !important;
    top: 72px !important;
    min-height: calc(100vh - 72px) !important;
    border-radius: 0 !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 50% 44%, rgba(226,170,74,.22), transparent 34%),
        linear-gradient(145deg,#070504,#1b120d 48%,#050403) !important;
    isolation: isolate !important;
}
.single-product.pgb-is-gift-card-product .woocommerce-product-gallery:before {
    content: "";
    position: absolute;
    inset: 0;
    background: url('../assets/gift-card-luxury-visual.jpg') center center / cover no-repeat;
    z-index: 1;
}
.single-product.pgb-is-gift-card-product .woocommerce-product-gallery:after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        radial-gradient(circle at 48% 42%, transparent 0 42%, rgba(0,0,0,.1) 58%, rgba(0,0,0,.28) 100%),
        linear-gradient(90deg, rgba(0,0,0,.1), transparent 40%, rgba(0,0,0,.08));
    z-index: 2;
    pointer-events: none;
}
.single-product.pgb-is-gift-card-product .woocommerce-product-gallery .woocommerce-product-gallery__wrapper,
.single-product.pgb-is-gift-card-product .woocommerce-product-gallery .flex-control-nav,
.single-product.pgb-is-gift-card-product .woocommerce-product-gallery .woocommerce-product-gallery__trigger {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.pgb-experience-card-page--v156 .pgb-card-creator__hero h2 {
    max-width: 760px;
    font-size: clamp(40px, 5.8vw, 4px);
    line-height: .9;
    letter-spacing: -.06em;
}

.pgb-experience-card-page--v156 .pgb-card-creator__hero p {
    max-width: 620px;
    font-size: 15px;
    line-height: 1.72;
    color: rgba(32,23,19,.62);
}

.pgb-card-checkout-bar {
    position: static !important;
    bottom: auto !important;
    z-index: 5;
    margin-top: 28px !important;
    padding: 20px 24px !important;
    border: 1px solid rgba(217,179,111,.20) !important;
    border-radius: 22px !important;
    background:
        radial-gradient(circle at 80% 0%, rgba(217,179,111,.18), transparent 36%),
        linear-gradient(145deg,#241813,#120d0b) !important;
    box-shadow: 0 24px 58px rgba(32,23,19,.18), inset 0 1px rgba(255,255,255,.06) !important;
}

.pgb-card-checkout-total {
    min-width: 190px;
}

.pgb-card-checkout-trust {
    display: flex;
    align-items: center;
    gap: 16px;
    margin-left: auto;
    padding: 0 18px;
    border-left: 1px solid rgba(255,255,255,.12);
    border-right: 1px solid rgba(255,255,255,.12);
}

.pgb-card-checkout-trust span {
    color: rgba(255,255,255,.74) !important;
    font-size: 11px !important;
    letter-spacing: .02em !important;
    text-transform: none !important;
    white-space: nowrap;
}

.pgb-experience-card-page--v156 .pgb-experience-card-submit {
    position: relative;
    overflow: hidden;
    min-width: 280px !important;
    min-height: 62px !important;
    border-radius: 14px !important;
    border-color: rgba(255,220,150,.45) !important;
    background:
        linear-gradient(135deg,#b77a29 0%,#e0b150 48%,#b77a29 100%) !important;
    color: #fff8e8 !important;
    box-shadow: 0 14px 34px rgba(196,149,74,.28), inset 0 1px rgba(255,255,255,.28) !important;
    font-size: 14px !important;
    letter-spacing: 0 !important;
    text-transform: none !important;
}

.pgb-experience-card-page--v156 .pgb-experience-card-submit:before {
    content: "✉";
    display: inline-flex;
    margin-right: 10px;
    font-size: 16px;
    vertical-align: middle;
}

.pgb-experience-card-page--v156 .pgb-experience-card-submit:after {
    content: "";
    position: absolute;
    inset: -80px;
    background: linear-gradient(120deg, transparent 38%, rgba(255,255,255,.32), transparent 62%);
    transform: translateX(-80%) rotate(8deg);
    transition: transform .8s ease;
}

.pgb-experience-card-page--v156 .pgb-experience-card-submit:hover:after {
    transform: translateX(80%) rotate(8deg);
}

.pgb-experience-card-page--v156 .pgb-experience-card-submit:hover {
    transform: translateY(-2px);
    background: linear-gradient(135deg,#c78931 0%,#ebbf63 48%,#bd8130 100%) !important;
}

@media (max-width: 1180px) {
    .single-product.pgb-is-gift-card-product .woocommerce-product-gallery {
        position: relative !important;
        top: auto !important;
        min-height: 560px !important;
        border-radius: 0 0 32px 32px !important;
    }
}

@media (max-width: 760px) {
    .single-product.pgb-is-gift-card-product .woocommerce-product-gallery {
        min-height: 420px !important;
    }
    .pgb-card-checkout-bar {
        position: static;
        display: grid !important;
        gap: 16px !important;
    }
    .pgb-card-checkout-trust {
        justify-content: space-between;
        margin-left: 0;
        padding: 12px 0;
        border-left: 0;
        border-right: 0;
        border-top: 1px solid rgba(255,255,255,.12);
        border-bottom: 1px solid rgba(255,255,255,.12);
    }
    .pgb-experience-card-page--v156 .pgb-experience-card-submit {
        width: 100% !important;
        min-width: 0 !important;
    }
}


/* v2.1 gift card requested refinements */
.pgb-card-checkout-total em {
    display: none !important;
}

.pgb-card-checkout-total strong {
    display: block !important;
    margin-top: 8px !important;
    color: #fff7e9 !important;
    font-size: 24px !important;
    line-height: 1 !important;
}

.pgb-card-checkout-total span {
    display: block !important;
    color: rgba(255,255,255,.62) !important;
    font-size: 10px !important;
    font-weight: 800 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
}

.pgb-experience-card-page--v156 .pgb-experience-card-submit {
    border-radius: 16px !important;
    min-height: 60px !important;
    background:
        linear-gradient(135deg,#b77a29 0%,#e8b84f 45%,#c99133 100%) !important;
    box-shadow:
        0 18px 36px rgba(196,149,74,.26),
        inset 0 1px rgba(255,255,255,.35),
        inset 0 -1px rgba(0,0,0,.16) !important;
    font-size: 15px !important;
    font-weight: 800 !important;
    color: #fff6e5 !important;
}

.pgb-experience-card-page--v156 .pgb-experience-card-submit span {
    position: relative;
    z-index: 2;
}

.pgb-experience-card-page--v156 .pgb-experience-card-submit:before {
    position: relative;
    z-index: 2;
    content: "✉";
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 22px;
    height: 22px;
    margin-right: 10px;
    border: 1px solid rgba(255,255,255,.38);
    border-radius: 999px;
    font-size: 13px;
    line-height: 1;
}

.pgb-experience-card-page--v156 .pgb-experience-card-submit:hover {
    transform: translateY(-1px);
    box-shadow:
        0 20px 42px rgba(196,149,74,.34),
        inset 0 1px rgba(255,255,255,.42) !important;
}

@media (min-width: 761px) {
    .pgb-card-checkout-bar {
        display: grid !important;
        grid-template-columns: minmax(150px, 220px) 1fr minmax(280px, 360px) !important;
        align-items: center !important;
        gap: 24px !important;
    }
}


/* v2.1.5 responsive CTA/modal fixes
   - checkout CTA no longer sticks while scrolling
   - prevents desktop/mobile overflow
   - modal action button scrolls naturally with the form */
.pgb-card-checkout-bar,
.pgb-experience-card-page--v156 .pgb-card-checkout-bar {
    position: static !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

@media (min-width: 761px) {
    .pgb-card-checkout-bar,
    .pgb-experience-card-page--v156 .pgb-card-checkout-bar {
        display: grid !important;
        grid-template-columns: minmax(125px, 170px) minmax(0, 1fr) minmax(220px, 310px) !important;
        gap: 18px !important;
        align-items: center !important;
    }
}

.pgb-card-checkout-total,
.pgb-card-checkout-trust,
.pgb-experience-card-page--v156 .pgb-experience-card-submit {
    min-width: 0 !important;
    max-width: 100% !important;
}

.pgb-card-checkout-trust {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 14px !important;
    flex-wrap: wrap !important;
    overflow: hidden !important;
}

.pgb-card-checkout-trust span {
    white-space: normal !important;
    line-height: 1.35 !important;
}

.pgb-experience-card-page--v156 .pgb-experience-card-submit {
    width: 100% !important;
    min-width: 0 !important;
    white-space: nowrap !important;
    padding-left: 18px !important;
    padding-right: 18px !important;
}

@media (max-width: 900px) {
    .pgb-card-checkout-bar,
    .pgb-experience-card-page--v156 .pgb-card-checkout-bar {
        display: grid !important;
        grid-template-columns: 1fr !important;
        gap: 16px !important;
        padding: 22px !important;
        border-radius: 24px !important;
    }

    .pgb-card-checkout-total {
        text-align: left !important;
    }

    .pgb-card-checkout-trust {
        justify-content: flex-start !important;
        padding: 14px 0 !important;
        border-top: 1px solid rgba(255,255,255,.12) !important;
        border-bottom: 1px solid rgba(255,255,255,.12) !important;
    }
}

/* Gift details drawer: no sticky submit/action area */
.pgb-form__actions,
.pgb-drawer__footer,
.pgb-actions,
.pgb-gift-actions {
    position: static !important;
    bottom: auto !important;
    z-index: auto !important;
}

.pgb-form__actions {
    margin: 24px 0 0 !important;
    padding: 0 !important;
    background: transparent !important;
    border-top: 0 !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 16px !important;
}

.pgb-form__actions .pgb-btn-save,
.pgb-form__actions .pgb-btn-remove {
    width: 100% !important;
    margin: 0 !important;
}

.pgb-form__actions .pgb-btn-remove {
    text-align: center !important;
    justify-content: center !important;
}

.pgb-modal,
.pgb-drawer {
    max-width: 100vw !important;
    overflow-x: hidden !important;
}

@media (max-width: 760px) {
    .pgb-drawer {
        width: 100vw !important;
        max-width: 100vw !important;
    }

    .pgb-drawer__header {
        padding: 24px 20px 22px !important;
    }

    .pgb-drawer__header-top {
        gap: 16px !important;
    }

    .pgb-drawer__close {
        flex: 0 0 42px !important;
        width: 42px !important;
        height: 42px !important;
        border-radius: 0 !important;
    }

    .pgb-drawer__body {
        padding-bottom: 32px !important;
    }

    .pgb-btn-save {
        min-height: 54px !important;
        border-radius: 999px !important;
    }
}

/* v2.1.6: fix 992-1023px product column squeeze on gift card page
   Wooma/WooCommerce keeps the desktop two-column product layout until ~1024px,
   leaving the configurator too narrow. Force a clean single-column layout there. */
@media (min-width: 901px) and (max-width: 1023px) {
    body.single-product.pgb-is-gift-card-product div.product,
    body.single-product.pgb-is-gift-card-product .product,
    body.single-product.pgb-is-gift-card-product .single-product-content,
    body.single-product.pgb-is-gift-card-product .product-content,
    body.single-product.pgb-is-gift-card-product .product-summary-wrap {
        display: block !important;
        grid-template-columns: 1fr !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    body.single-product.pgb-is-gift-card-product div.product .woocommerce-product-gallery,
    body.single-product.pgb-is-gift-card-product div.product .summary,
    body.single-product.pgb-is-gift-card-product .woocommerce-product-gallery,
    body.single-product.pgb-is-gift-card-product .summary,
    body.single-product.pgb-is-gift-card-product .entry-summary {
        float: none !important;
        clear: both !important;
        width: 100% !important;
        max-width: 100% !important;
        flex: 0 0 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
    }

    body.single-product.pgb-is-gift-card-product .summary,
    body.single-product.pgb-is-gift-card-product .entry-summary {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    body.single-product.pgb-is-gift-card-product .pgb-experience-card-page--v156,
    body.single-product.pgb-is-gift-card-product .summary .pgb-experience-card-page {
        max-width: 920px !important;
        margin-left: auto !important;
        margin-right: auto !important;
    }

    body.single-product.pgb-is-gift-card-product .pgb-card-creator__config {
        min-height: 0 !important;
        padding: 30px !important;
    }

    body.single-product.pgb-is-gift-card-product .pgb-experience-card-amounts {
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    }

    body.single-product.pgb-is-gift-card-product .pgb-experience-card-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    }

    body.single-product.pgb-is-gift-card-product .pgb-card-checkout-bar,
    body.single-product.pgb-is-gift-card-product .pgb-experience-card-page--v156 .pgb-card-checkout-bar {
        display: grid !important;
        grid-template-columns: minmax(130px, 170px) minmax(0, 1fr) minmax(240px, 310px) !important;
        gap: 18px !important;
        align-items: center !important;
        overflow: hidden !important;
    }
}

/* v2.1.7: hard fix for 993-1024px Wooma desktop/tablet squeeze.
   At this exact range Wooma can keep a 2-column product row, leaving the gift-card configurator in a narrow right column.
   Force the product area to stack and allow the configurator to use the full content width. */
@media (min-width: 901px) and (max-width: 1180px) {
    body.single-product.pgb-is-gift-card-product #primary,
    body.single-product.pgb-is-gift-card-product #main,
    body.single-product.pgb-is-gift-card-product .site-main,
    body.single-product.pgb-is-gift-card-product .content-area,
    body.single-product.pgb-is-gift-card-product .container,
    body.single-product.pgb-is-gift-card-product .container-fluid,
    body.single-product.pgb-is-gift-card-product .single-product,
    body.single-product.pgb-is-gift-card-product div.product {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
    }

    body.single-product.pgb-is-gift-card-product div.product > .row,
    body.single-product.pgb-is-gift-card-product .single-product-content,
    body.single-product.pgb-is-gift-card-product .product-content,
    body.single-product.pgb-is-gift-card-product .product-summary-wrap,
    body.single-product.pgb-is-gift-card-product .product-wrapper,
    body.single-product.pgb-is-gift-card-product .summary-wrapper,
    body.single-product.pgb-is-gift-card-product .row {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.single-product.pgb-is-gift-card-product div.product > .row > [class*="col-"],
    body.single-product.pgb-is-gift-card-product .woocommerce-product-gallery,
    body.single-product.pgb-is-gift-card-product .product-images,
    body.single-product.pgb-is-gift-card-product .images,
    body.single-product.pgb-is-gift-card-product div.product .summary,
    body.single-product.pgb-is-gift-card-product .summary,
    body.single-product.pgb-is-gift-card-product .entry-summary {
        display: block !important;
        float: none !important;
        clear: both !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: 0 0 100% !important;
        flex-basis: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        transform: none !important;
    }

    body.single-product.pgb-is-gift-card-product .summary,
    body.single-product.pgb-is-gift-card-product .entry-summary {
        padding-left: 24px !important;
        padding-right: 24px !important;
    }

    body.single-product.pgb-is-gift-card-product .pgb-experience-card-page--v156,
    body.single-product.pgb-is-gift-card-product .summary .pgb-experience-card-page {
        width: 100% !important;
        max-width: 960px !important;
        min-width: 0 !important;
        margin: 28px auto 70px !important;
    }

    body.single-product.pgb-is-gift-card-product .pgb-card-creator,
    body.single-product.pgb-is-gift-card-product .pgb-card-creator--no-preview,
    body.single-product.pgb-is-gift-card-product .pgb-card-creator__config,
    body.single-product.pgb-is-gift-card-product .pgb-card-steps {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.single-product.pgb-is-gift-card-product .pgb-card-creator__config {
        padding: 30px !important;
        min-height: 0 !important;
    }

    body.single-product.pgb-is-gift-card-product .pgb-experience-card-amounts {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    body.single-product.pgb-is-gift-card-product .pgb-experience-card-fields {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px !important;
    }

    body.single-product.pgb-is-gift-card-product .pgb-experience-card-field--full {
        grid-column: 1 / -1 !important;
    }

    body.single-product.pgb-is-gift-card-product .pgb-card-checkout-bar,
    body.single-product.pgb-is-gift-card-product .pgb-experience-card-page--v156 .pgb-card-checkout-bar {
        display: grid !important;
        grid-template-columns: minmax(140px, 180px) minmax(0, 1fr) minmax(260px, 340px) !important;
        gap: 18px !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }
}

@media (min-width: 901px) and (max-width: 1024px) {
    body.single-product.pgb-is-gift-card-product .pgb-card-creator__hero h2 {
        font-size: clamp(34px, 5vw, 46px) !important;
    }
}

/* v2.1.8: fallback responsive fix for 993-1024px when body class/theme columns do not collapse reliably.
   Uses :has() because the gift-card configurator is the reliable marker inside the product page. */
@media (min-width: 900px) and (max-width: 1199px) {
    body.single-product:has(.pgb-experience-card-page--v156),
    body.single-product:has(.pgb-experience-card-page--v156) #page,
    body.single-product:has(.pgb-experience-card-page--v156) #content,
    body.single-product:has(.pgb-experience-card-page--v156) #primary,
    body.single-product:has(.pgb-experience-card-page--v156) #main,
    body.single-product:has(.pgb-experience-card-page--v156) .site-main,
    body.single-product:has(.pgb-experience-card-page--v156) .content-area,
    body.single-product:has(.pgb-experience-card-page--v156) .container,
    body.single-product:has(.pgb-experience-card-page--v156) .container-fluid,
    body.single-product:has(.pgb-experience-card-page--v156) div.product {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        overflow-x: hidden !important;
    }

    body.single-product:has(.pgb-experience-card-page--v156) div.product > .row,
    body.single-product:has(.pgb-experience-card-page--v156) .single-product-content,
    body.single-product:has(.pgb-experience-card-page--v156) .product-content,
    body.single-product:has(.pgb-experience-card-page--v156) .product-summary-wrap,
    body.single-product:has(.pgb-experience-card-page--v156) .summary-wrapper,
    body.single-product:has(.pgb-experience-card-page--v156) .row {
        display: flex !important;
        flex-direction: column !important;
        flex-wrap: nowrap !important;
        align-items: stretch !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.single-product:has(.pgb-experience-card-page--v156) div.product > .row > [class*="col-"],
    body.single-product:has(.pgb-experience-card-page--v156) .row > [class*="col-"],
    body.single-product:has(.pgb-experience-card-page--v156) [class*="col-lg-"],
    body.single-product:has(.pgb-experience-card-page--v156) [class*="col-md-"],
    body.single-product:has(.pgb-experience-card-page--v156) .woocommerce-product-gallery,
    body.single-product:has(.pgb-experience-card-page--v156) .images,
    body.single-product:has(.pgb-experience-card-page--v156) .summary,
    body.single-product:has(.pgb-experience-card-page--v156) .entry-summary {
        display: block !important;
        float: none !important;
        clear: both !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        flex: 0 0 100% !important;
        flex-basis: 100% !important;
        margin-left: 0 !important;
        margin-right: 0 !important;
        transform: none !important;
    }

    body.single-product:has(.pgb-experience-card-page--v156) .woocommerce-product-gallery {
        position: relative !important;
        top: auto !important;
        min-height: 520px !important;
        max-height: none !important;
        border-radius: 0 0 32px 32px !important;
    }

    body.single-product:has(.pgb-experience-card-page--v156) .summary,
    body.single-product:has(.pgb-experience-card-page--v156) .entry-summary {
        padding: 28px 24px 0 !important;
    }

    body.single-product:has(.pgb-experience-card-page--v156) .pgb-experience-card-page--v156,
    body.single-product:has(.pgb-experience-card-page--v156) .summary .pgb-experience-card-page {
        width: 100% !important;
        max-width: 960px !important;
        min-width: 0 !important;
        margin: 0 auto 70px !important;
    }

    body.single-product:has(.pgb-experience-card-page--v156) .pgb-card-creator,
    body.single-product:has(.pgb-experience-card-page--v156) .pgb-card-creator--no-preview,
    body.single-product:has(.pgb-experience-card-page--v156) .pgb-card-creator__config,
    body.single-product:has(.pgb-experience-card-page--v156) .pgb-card-steps {
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
    }

    body.single-product:has(.pgb-experience-card-page--v156) .pgb-card-creator__config {
        padding: 30px !important;
        min-height: 0 !important;
    }

    body.single-product:has(.pgb-experience-card-page--v156) .pgb-experience-card-amounts {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        gap: 14px !important;
    }

    body.single-product:has(.pgb-experience-card-page--v156) .pgb-experience-card-fields {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 18px !important;
    }

    body.single-product:has(.pgb-experience-card-page--v156) .pgb-experience-card-field--full {
        grid-column: 1 / -1 !important;
    }

    body.single-product:has(.pgb-experience-card-page--v156) .pgb-card-checkout-bar {
        display: grid !important;
        grid-template-columns: minmax(140px, 180px) minmax(0, 1fr) minmax(260px, 340px) !important;
        gap: 18px !important;
        align-items: center !important;
        width: 100% !important;
        max-width: 100% !important;
        overflow: hidden !important;
    }
}

@media (min-width: 900px) and (max-width: 1024px) {
    body.single-product:has(.pgb-experience-card-page--v156) .pgb-card-creator__hero h2 {
        font-size: clamp(34px, 5vw, 46px) !important;
    }
}


/* =============================================================================
   v2.2.1 — Safe integrated gift-ready state + mobile drawer corner fix
   Replaces the separate polish plugin. Scoped only to Gift Experience elements.
   ============================================================================= */

.single-product .pgb-gift-inline-card.is-gift-enabled {
    background: #fcf7f1 !important;
    border: 1px solid #eadbc8 !important;
    border-left: 4px solid #b98245 !important;
    box-shadow: 0 10px 28px rgba(42, 33, 27, .055) !important;
}

.single-product .pgb-gift-inline-card.is-gift-enabled .pgb-gift-inline-card__icon {
    background: #fff !important;
    color: #b98245 !important;
    border-color: #eadbc8 !important;
    box-shadow: inset 0 0 0 6px rgba(185, 130, 69, .07), 0 10px 22px rgba(42, 33, 27, .045) !important;
}

.single-product .pgb-gift-inline-card.is-gift-enabled .pgb-gift-inline-card__eyebrow {
    display: inline-flex !important;
    width: fit-content !important;
    max-width: 100% !important;
    margin-bottom: 9px !important;
    padding: 5px 10px !important;
    border-radius: 999px !important;
    background: #eef6ef !important;
    color: #2f6b3f !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .12em !important;
    text-transform: uppercase !important;
}

.single-product .pgb-gift-inline-card.is-gift-enabled .pgb-gift-inline-card__title {
    margin-bottom: 7px !important;
    color: #1b120e !important;
    font-size: 18px !important;
    line-height: 1.25 !important;
    font-weight: 750 !important;
}

.single-product .pgb-gift-inline-card.is-gift-enabled .pgb-gift-inline-card__desc {
    max-width: 760px !important;
    color: #4f4741 !important;
    font-size: 14.5px !important;
    line-height: 1.6 !important;
}

.single-product .pgb-gift-inline-card.is-gift-enabled .pgb-gift-inline-card__summary {
    max-width: 760px !important;
    margin-top: 8px !important;
    color: #8a7f75 !important;
    font-size: 13px !important;
    line-height: 1.55 !important;
}

@media (max-width: 767px) {
    .single-product .pgb-gift-inline-card.is-gift-enabled {
        border-radius: 16px !important;
        padding: 16px 14px !important;
    }

    .single-product .pgb-gift-inline-card.is-gift-enabled .pgb-gift-inline-card__title {
        font-size: 17px !important;
    }

    .single-product .pgb-gift-inline-card.is-gift-enabled .pgb-gift-inline-card__desc {
        font-size: 14px !important;
        line-height: 1.55 !important;
    }

    .single-product .pgb-gift-inline-card.is-gift-enabled .pgb-gift-inline-card__summary {
        font-size: 12.5px !important;
    }

    .single-product .pgb-modal .pgb-drawer,
    .single-product .pgb-modal .pgb-drawer__header,
    .single-product .pgb-modal .pgb-drawer__body {
        border-radius: 0 !important;
    }
}

/* =============================================================================
   v2.2.2 — Envelope CTA inspired interaction
   Scoped only to PetGiftBox Gift Experience inline card.
   ============================================================================= */

.pgb-gift-inline-card.pgb-gift-inline-card--envelope {
    position: relative !important;
    align-items: center !important;
    gap: 24px !important;
    padding: 28px 32px !important;
    background: linear-gradient(135deg, #ffffff 0%, #ffffff 56%, #f8f9fa 100%) !important;
    border: 1px solid rgba(185, 130, 69, .24) !important;
    box-shadow: 0 18px 54px rgba(26,20,16,.055) !important;
    overflow: hidden !important;
}

.pgb-gift-inline-card.pgb-gift-inline-card--envelope::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 auto 0 0 !important;
    width: 5px !important;
    background: linear-gradient(180deg, #b98245, rgba(185,130,69,.34)) !important;
    pointer-events: none !important;
}

.pgb-gift-inline-card.pgb-gift-inline-card--envelope .pgb-gift-inline-card__icon {
    width: 52px !important;
    height: 52px !important;
    flex: 0 0 52px !important;
    border-radius: 18px !important;
    background: #fff !important;
    color: #b98245 !important;
    border: 1px solid rgba(185,130,69,.18) !important;
    box-shadow: 0 12px 28px rgba(185,130,69,.10) !important;
}

.pgb-gift-inline-card.pgb-gift-inline-card--envelope .pgb-gift-inline-card__eyebrow {
    color: #1f7a50 !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
}

.pgb-gift-inline-card.pgb-gift-inline-card--envelope .pgb-gift-inline-card__title {
    font-size: 18px !important;
    line-height: 1.25 !important;
    letter-spacing: -.02em !important;
}

.pgb-gift-inline-card.pgb-gift-inline-card--envelope .pgb-gift-inline-card__desc {
    max-width: 640px !important;
    font-size: 14px !important;
    color: rgba(26,20,16,.66) !important;
}

.pgb-gift-inline-card.pgb-gift-inline-card--envelope .pgb-gift-inline-card__summary {
    max-width: 720px !important;
    padding: 10px 12px !important;
    border-radius: 14px !important;
    background: rgba(185,130,69,.07) !important;
    color: rgba(26,20,16,.72) !important;
}

.pgb-gift-inline-card.pgb-gift-inline-card--envelope .pgb-gift-inline-card__button.pgb-gift-envelope-cta {
    position: relative !important;
    isolation: isolate !important;
    flex: 0 0 190px !important;
    width: 190px !important;
    height: 96px !important;
    min-height: 96px !important;
    margin: 0 !important;
    padding: 0 !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    overflow: visible !important;
    border: 1px solid rgba(185,130,69,.24) !important;
    border-radius: 4px !important;
    background: #ffffff !important;
    color: #1a1410 !important;
    box-shadow:
        0 1px 2px rgba(26,20,16,.08),
        inset 0 0 18px rgba(185,130,69,.08),
        0 18px 36px rgba(26,20,16,.08) !important;
    transform: scale(.96) !important;
    transition: transform .28s ease, box-shadow .28s ease, background .28s ease !important;
}

.pgb-gift-inline-card.pgb-gift-inline-card--envelope .pgb-gift-inline-card__button.pgb-gift-envelope-cta::before,
.pgb-gift-inline-card.pgb-gift-inline-card--envelope .pgb-gift-inline-card__button.pgb-gift-envelope-cta::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    width: 0 !important;
    height: 0 !important;
    pointer-events: none !important;
}

/* Top flap */
.pgb-gift-inline-card.pgb-gift-inline-card--envelope .pgb-gift-inline-card__button.pgb-gift-envelope-cta::before {
    top: 0 !important;
    z-index: 3 !important;
    border-left: 95px solid transparent !important;
    border-right: 95px solid transparent !important;
    border-top: 58px solid #e9e1d6 !important;
    opacity: .78 !important;
    transform-origin: top center !important;
    transition: top .28s ease, transform .28s ease, opacity .28s ease !important;
}

/* Bottom flap */
.pgb-gift-inline-card.pgb-gift-inline-card--envelope .pgb-gift-inline-card__button.pgb-gift-envelope-cta::after {
    bottom: 0 !important;
    z-index: 1 !important;
    border-left: 95px solid transparent !important;
    border-right: 95px solid transparent !important;
    border-bottom: 58px solid #f0e7dc !important;
    opacity: .58 !important;
}

.pgb-gift-inline-card.pgb-gift-inline-card--envelope .pgb-gift-envelope-cta__text {
    position: relative !important;
    z-index: 4 !important;
    display: inline-block !important;
    max-width: 142px !important;
    font-family: Arial, sans-serif !important;
    font-size: 11px !important;
    line-height: 1.35 !important;
    font-weight: 800 !important;
    letter-spacing: .13em !important;
    text-transform: uppercase !important;
    color: #1a1410 !important;
    opacity: .78 !important;
    text-align: center !important;
    transition: opacity .22s ease, transform .22s ease !important;
}

.pgb-gift-inline-card.pgb-gift-inline-card--envelope .pgb-gift-inline-card__button.pgb-gift-envelope-cta:hover,
.pgb-gift-inline-card.pgb-gift-inline-card--envelope .pgb-gift-inline-card__button.pgb-gift-envelope-cta:focus-visible {
    background: #ffffff !important;
    color: #1a1410 !important;
    transform: scale(1) translateY(-2px) !important;
    box-shadow:
        0 1px 2px rgba(26,20,16,.08),
        inset 0 22px 36px rgba(185,130,69,.08),
        0 24px 46px rgba(26,20,16,.12) !important;
    outline: none !important;
}

.pgb-gift-inline-card.pgb-gift-inline-card--envelope .pgb-gift-inline-card__button.pgb-gift-envelope-cta:hover::before,
.pgb-gift-inline-card.pgb-gift-inline-card--envelope .pgb-gift-inline-card__button.pgb-gift-envelope-cta:focus-visible::before {
    top: -58px !important;
    transform: scaleY(-1) !important;
    opacity: 1 !important;
}

.pgb-gift-inline-card.pgb-gift-inline-card--envelope .pgb-gift-inline-card__button.pgb-gift-envelope-cta:hover .pgb-gift-envelope-cta__text,
.pgb-gift-inline-card.pgb-gift-inline-card--envelope .pgb-gift-inline-card__button.pgb-gift-envelope-cta:focus-visible .pgb-gift-envelope-cta__text {
    opacity: 1 !important;
    transform: translateY(4px) !important;
}

.pgb-gift-inline-card.pgb-gift-inline-card--envelope.is-gift-enabled {
    background: linear-gradient(135deg, #ffffff 0%, #ffffff 54%, #f8f9fa 100%) !important;
    border-color: rgba(185,130,69,.42) !important;
}

.pgb-gift-inline-card.pgb-gift-inline-card--envelope.is-gift-enabled .pgb-gift-inline-card__eyebrow {
    display: inline-flex !important;
    width: auto !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    background: rgba(31,122,80,.10) !important;
    color: #1f7a50 !important;
}

@media (max-width: 767px) {
    .pgb-gift-inline-card.pgb-gift-inline-card--envelope {
        padding: 20px 18px !important;
        gap: 14px !important;
        border-radius: 0 !important;
    }

    .pgb-gift-inline-card.pgb-gift-inline-card--envelope .pgb-gift-inline-card__icon {
        border-radius: 14px !important;
    }

    .pgb-gift-inline-card.pgb-gift-inline-card--envelope .pgb-gift-inline-card__button.pgb-gift-envelope-cta {
        width: 168px !important;
        max-width: 100% !important;
        height: 84px !important;
        min-height: 84px !important;
        flex: 0 0 168px !important;
        margin: 12px auto 0 !important;
        border-radius: 0 !important;
    }

    .pgb-gift-inline-card.pgb-gift-inline-card--envelope .pgb-gift-inline-card__button.pgb-gift-envelope-cta::before {
        border-left-width: 84px !important;
        border-right-width: 84px !important;
        border-top-width: 50px !important;
    }

    .pgb-gift-inline-card.pgb-gift-inline-card--envelope .pgb-gift-inline-card__button.pgb-gift-envelope-cta::after {
        border-left-width: 84px !important;
        border-right-width: 84px !important;
        border-bottom-width: 50px !important;
    }

    .pgb-gift-inline-card.pgb-gift-inline-card--envelope .pgb-gift-inline-card__button.pgb-gift-envelope-cta:hover::before,
    .pgb-gift-inline-card.pgb-gift-inline-card--envelope .pgb-gift-inline-card__button.pgb-gift-envelope-cta:focus-visible::before {
        top: -50px !important;
    }

    .pgb-gift-inline-card.pgb-gift-inline-card--envelope .pgb-gift-envelope-cta__text {
        max-width: 126px !important;
        font-size: 10px !important;
    }
}


/* =============================================================================
   v2.2.3 — PetGiftBox Premium Gift CTA
   Replaces envelope CTA with a branded premium card.
   Brand-safe palette / no restricted cream color.
   ============================================================================= */

.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium {
    --pgb-ink: #171310;
    --pgb-muted: #6f665f;
    --pgb-gold: #b98245;
    --pgb-line: #ededee;
    --pgb-soft: #f7f7f8;
    --pgb-white: #ffffff;

    position: relative !important;
    display: grid !important;
    grid-template-columns: 118px minmax(0, 1fr) auto !important;
    gap: 26px !important;
    align-items: center !important;

    width: 100% !important;
    max-width: 100% !important;
    margin: 28px 0 24px !important;
    padding: 30px 32px !important;

    background:
        radial-gradient(circle at 10% 12%, rgba(185,130,69,.12), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f7f7f8 100%) !important;
    border: 1px solid rgba(237,237,238,1) !important;
    border-radius: 30px !important;
    box-shadow:
        0 1px 2px rgba(23,19,16,.025),
        0 24px 70px rgba(23,19,16,.055) !important;
    overflow: hidden !important;
    color: var(--pgb-ink) !important;
    isolation: isolate !important;
}

.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium::before {
    content: "" !important;
    position: absolute !important;
    right: -92px !important;
    top: -110px !important;
    width: 260px !important;
    height: 260px !important;
    border-radius: 999px !important;
    background: rgba(185,130,69,.10) !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium::after {
    content: "" !important;
    position: absolute !important;
    left: 0 !important;
    top: 26px !important;
    bottom: 26px !important;
    width: 4px !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, transparent, var(--pgb-gold), transparent) !important;
    opacity: .86 !important;
    pointer-events: none !important;
    z-index: 1 !important;
}

.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium > * {
    position: relative !important;
    z-index: 2 !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__visual {
    position: relative !important;
    width: 118px !important;
    height: 118px !important;
    display: grid !important;
    place-items: center !important;
    flex: none !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-orb {
    position: absolute !important;
    display: block !important;
    border-radius: 999px !important;
    background: rgba(185,130,69,.12) !important;
    pointer-events: none !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-orb--one {
    width: 112px !important;
    height: 112px !important;
    inset: 3px auto auto 2px !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-orb--two {
    width: 54px !important;
    height: 54px !important;
    right: 4px !important;
    bottom: 5px !important;
    background: rgba(23,19,16,.045) !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-mini-card {
    position: absolute !important;
    left: 0 !important;
    bottom: 12px !important;
    width: 62px !important;
    height: 44px !important;
    padding: 10px 9px !important;
    border-radius: 14px !important;
    background: #ffffff !important;
    border: 1px solid rgba(237,237,238,1) !important;
    box-shadow: 0 12px 30px rgba(23,19,16,.075) !important;
    transform: rotate(-7deg) !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-mini-card span {
    display: block !important;
    height: 2px !important;
    margin: 0 0 5px !important;
    border-radius: 999px !important;
    background: rgba(111,102,95,.28) !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-mini-card span:first-child {
    width: 70% !important;
    background: rgba(185,130,69,.38) !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-mini-card span:nth-child(2) { width: 92% !important; }
.single-product .pgb-gift-inline-card--premium .pgb-gift-mini-card span:nth-child(3) { width: 52% !important; }

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__icon {
    position: relative !important;
    width: 72px !important;
    height: 72px !important;
    min-width: 72px !important;
    display: grid !important;
    place-items: center !important;
    border-radius: 22px !important;
    background: #ffffff !important;
    color: var(--pgb-gold) !important;
    border: 1px solid rgba(185,130,69,.20) !important;
    box-shadow:
        inset 0 1px 0 rgba(255,255,255,.90),
        0 16px 34px rgba(23,19,16,.075) !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__body {
    min-width: 0 !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__eyebrow {
    display: inline-flex !important;
    width: fit-content !important;
    margin: 0 0 12px !important;
    padding: 6px 10px !important;
    border-radius: 999px !important;
    background: rgba(185,130,69,.10) !important;
    color: #8f642f !important;
    font-family: Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__title {
    display: block !important;
    margin: 0 0 10px !important;
    font-family: Georgia, "Times New Roman", serif !important;
    font-size: clamp(25px, 2.05vw, 34px) !important;
    line-height: 1.08 !important;
    font-weight: 400 !important;
    letter-spacing: -.045em !important;
    color: var(--pgb-ink) !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__desc,
.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__summary {
    max-width: 680px !important;
    margin: 0 !important;
    font-family: Arial, sans-serif !important;
    font-size: 14.5px !important;
    line-height: 1.72 !important;
    color: var(--pgb-muted) !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__summary {
    margin-top: 12px !important;
    padding: 12px 14px !important;
    border-radius: 16px !important;
    background: rgba(255,255,255,.68) !important;
    border: 1px solid rgba(237,237,238,.95) !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__button,
.single-product .pgb-gift-inline-card--premium .pgb-gift-premium-cta {
    position: relative !important;
    min-height: 52px !important;
    padding: 0 28px !important;
    border: 1px solid var(--pgb-ink) !important;
    border-radius: 999px !important;
    background: var(--pgb-ink) !important;
    color: #ffffff !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, sans-serif !important;
    font-size: 12px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .11em !important;
    text-transform: uppercase !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    box-shadow: 0 12px 28px rgba(23,19,16,.14) !important;
    transition: transform .22s ease, box-shadow .22s ease, background .22s ease, color .22s ease !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__button:hover,
.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__button:focus-visible,
.single-product .pgb-gift-inline-card--premium .pgb-gift-premium-cta:hover,
.single-product .pgb-gift-inline-card--premium .pgb-gift-premium-cta:focus-visible {
    transform: translateY(-2px) !important;
    background: #ffffff !important;
    color: var(--pgb-ink) !important;
    box-shadow: 0 18px 42px rgba(23,19,16,.16) !important;
    outline: none !important;
}

.single-product .pgb-gift-inline-card--premium.is-gift-enabled {
    border-color: rgba(185,130,69,.42) !important;
    background:
        radial-gradient(circle at 10% 16%, rgba(185,130,69,.16), transparent 36%),
        linear-gradient(135deg, #ffffff 0%, #f7f7f8 100%) !important;
}

.single-product .pgb-gift-inline-card--premium.is-gift-enabled .pgb-gift-inline-card__eyebrow {
    background: rgba(185,130,69,.12) !important;
    color: #8f642f !important;
}

.single-product .pgb-gift-inline-card--premium.is-gift-enabled .pgb-gift-inline-card__title {
    color: var(--pgb-ink) !important;
}

@media (max-width: 767px) {
    .single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium {
        grid-template-columns: 58px minmax(0, 1fr) !important;
        gap: 16px !important;
        padding: 22px !important;
        border-radius: 24px !important;
        margin: 22px 0 20px !important;
    }

    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__visual {
        width: 58px !important;
        height: 58px !important;
    }

    .single-product .pgb-gift-inline-card--premium .pgb-gift-orb,
    .single-product .pgb-gift-inline-card--premium .pgb-gift-mini-card {
        display: none !important;
    }

    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__icon {
        width: 54px !important;
        height: 54px !important;
        min-width: 54px !important;
        border-radius: 18px !important;
    }

    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__title {
        font-size: 24px !important;
    }

    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__desc,
    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__summary {
        font-size: 13.5px !important;
        line-height: 1.6 !important;
    }

    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__button,
    .single-product .pgb-gift-inline-card--premium .pgb-gift-premium-cta {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        margin-top: 6px !important;
    }

    .single-product .pgb-modal .pgb-drawer,
    .single-product .pgb-modal .pgb-drawer__header,
    .single-product .pgb-modal .pgb-drawer__body {
        border-radius: 0 !important;
    }
}


/* =============================================================================
   v2.2.7 — Compact premium gift CTA + click safety
   Keeps the gift module discreet inside the product buying area.
   ============================================================================= */
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium {
    grid-template-columns: 54px minmax(0, 1fr) auto !important;
    gap: 18px !important;
    margin: 20px 0 18px !important;
    padding: 20px 24px !important;
    min-height: 118px !important;
    border-radius: 22px !important;
    box-shadow: 0 12px 34px rgba(23,19,16,.045) !important;
}
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium::before {
    right: -88px !important;
    top: -96px !important;
    width: 210px !important;
    height: 210px !important;
    opacity: .72 !important;
}
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium::after {
    top: 18px !important;
    bottom: 18px !important;
    width: 2px !important;
}
.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__visual {
    width: 54px !important;
    height: 54px !important;
}
.single-product .pgb-gift-inline-card--premium .pgb-gift-orb,
.single-product .pgb-gift-inline-card--premium .pgb-gift-mini-card {
    display: none !important;
}
.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__icon {
    width: 52px !important;
    height: 52px !important;
    min-width: 52px !important;
    border-radius: 16px !important;
    box-shadow: 0 10px 22px rgba(23,19,16,.055) !important;
}
.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__icon svg {
    width: 22px !important;
    height: 22px !important;
}
.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__eyebrow {
    margin-bottom: 7px !important;
    padding: 5px 8px !important;
    font-size: 9px !important;
    letter-spacing: .14em !important;
}
.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__title {
    margin-bottom: 7px !important;
    font-size: clamp(20px, 1.45vw, 25px) !important;
    line-height: 1.1 !important;
}
.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__desc,
.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__summary {
    max-width: 540px !important;
    font-size: 13.2px !important;
    line-height: 1.55 !important;
}
.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__summary {
    margin-top: 8px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    color: rgba(111,102,95,.86) !important;
}
.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__button,
.single-product .pgb-gift-inline-card--premium .pgb-gift-premium-cta {
    min-height: 44px !important;
    padding: 0 22px !important;
    font-size: 11px !important;
    letter-spacing: .10em !important;
    position: relative !important;
    z-index: 10 !important;
    pointer-events: auto !important;
}
.single-product .pgb-gift-inline-card--premium.is-gift-enabled {
    background:
        radial-gradient(circle at 10% 16%, rgba(185,130,69,.10), transparent 34%),
        linear-gradient(135deg, #ffffff 0%, #f7f7f8 100%) !important;
}

@media (max-width: 767px) {
    .single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium {
        grid-template-columns: 46px minmax(0, 1fr) !important;
        gap: 12px !important;
        margin: 16px 0 !important;
        padding: 16px !important;
        min-height: 0 !important;
        border-radius: 18px !important;
    }
    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__visual {
        width: 46px !important;
        height: 46px !important;
    }
    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__icon {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        border-radius: 14px !important;
    }
    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__eyebrow {
        margin-bottom: 6px !important;
        font-size: 8.5px !important;
    }
    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__title {
        margin-bottom: 6px !important;
        font-size: 19px !important;
        line-height: 1.12 !important;
    }
    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__desc,
    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__summary {
        font-size: 12.8px !important;
        line-height: 1.48 !important;
    }
    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__button,
    .single-product .pgb-gift-inline-card--premium .pgb-gift-premium-cta {
        grid-column: 1 / -1 !important;
        width: 100% !important;
        min-height: 42px !important;
        margin-top: 4px !important;
    }
}


/* =============================================================================
   v2.2.7 — Final safe compact CTA override
   Only affects the product-page inline gift card. No separate hotfix layer needed.
   ============================================================================= */
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium {
    grid-template-columns: 44px minmax(0, 1fr) auto !important;
    gap: 14px !important;
    margin: 18px 0 16px !important;
    padding: 14px 20px !important;
    min-height: 88px !important;
    border-radius: 18px !important;
}
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium::before {
    width: 170px !important;
    height: 170px !important;
    right: -78px !important;
    top: -82px !important;
    opacity: .58 !important;
}
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium::after {
    top: 14px !important;
    bottom: 14px !important;
}
.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__visual {
    width: 44px !important;
    height: 44px !important;
}
.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__icon {
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    border-radius: 13px !important;
}
.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__icon svg {
    width: 19px !important;
    height: 19px !important;
}
.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__eyebrow {
    margin-bottom: 5px !important;
    padding: 4px 7px !important;
    font-size: 8.5px !important;
    letter-spacing: .13em !important;
}
.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__title {
    margin-bottom: 5px !important;
    font-size: clamp(18px, 1.2vw, 22px) !important;
    line-height: 1.12 !important;
}
.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__desc,
.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__summary {
    max-width: 620px !important;
    font-size: 12.8px !important;
    line-height: 1.45 !important;
}
.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__summary {
    margin-top: 6px !important;
}
.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__button,
.single-product .pgb-gift-inline-card--premium .pgb-gift-premium-cta {
    min-height: 38px !important;
    padding: 0 18px !important;
    font-size: 10.5px !important;
    letter-spacing: .09em !important;
}

@media (max-width: 767px) {
    .single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium {
        grid-template-columns: 40px minmax(0, 1fr) !important;
        gap: 10px !important;
        margin: 14px 0 !important;
        padding: 13px 14px !important;
        border-radius: 16px !important;
    }
    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__visual {
        width: 40px !important;
        height: 40px !important;
    }
    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__icon {
        width: 38px !important;
        height: 38px !important;
        min-width: 38px !important;
        border-radius: 12px !important;
    }
    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__title {
        font-size: 17px !important;
        line-height: 1.12 !important;
    }
    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__desc,
    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__summary {
        font-size: 12.4px !important;
        line-height: 1.42 !important;
    }
    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__button,
    .single-product .pgb-gift-inline-card--premium .pgb-gift-premium-cta {
        min-height: 38px !important;
        margin-top: 2px !important;
    }
    .single-product .pgb-modal .pgb-drawer,
    .single-product .pgb-modal .pgb-drawer__header,
    .single-product .pgb-modal .pgb-drawer__body {
        border-radius: 0 !important;
    }
}


/* =========================================================
   PetGiftBox Gift Experience v2.2.9
   Gift Card checkout bar polish
   - Larger total price
   - Stable dark CTA color on hover/focus
   ========================================================= */
.single-product.pgb-is-gift-card-product .pgb-card-checkout-total strong,
.pgb-experience-card-page--v156 .pgb-card-checkout-total strong,
.pgb-card-checkout-total strong {
    margin-top: 9px !important;
    font-size: clamp(28px, 2.2vw, 38px) !important;
    line-height: .95 !important;
    letter-spacing: -.035em !important;
    font-weight: 800 !important;
    color: #fff7e9 !important;
}

.single-product.pgb-is-gift-card-product .pgb-card-checkout-total span,
.pgb-experience-card-page--v156 .pgb-card-checkout-total span,
.pgb-card-checkout-total span {
    margin-bottom: 2px !important;
    color: rgba(255,255,255,.68) !important;
}

.single-product.pgb-is-gift-card-product .pgb-experience-card-submit,
.pgb-experience-card-page--v156 .pgb-experience-card-submit {
    background: #201713 !important;
    border-color: rgba(255,255,255,.16) !important;
    color: #ffffff !important;
    box-shadow:
        0 14px 32px rgba(32,23,19,.28),
        inset 0 1px rgba(255,255,255,.10) !important;
}

.single-product.pgb-is-gift-card-product .pgb-experience-card-submit span,
.pgb-experience-card-page--v156 .pgb-experience-card-submit span,
.single-product.pgb-is-gift-card-product .pgb-experience-card-submit:before,
.pgb-experience-card-page--v156 .pgb-experience-card-submit:before {
    color: #ffffff !important;
}

.single-product.pgb-is-gift-card-product .pgb-experience-card-submit:hover,
.single-product.pgb-is-gift-card-product .pgb-experience-card-submit:focus,
.single-product.pgb-is-gift-card-product .pgb-experience-card-submit:focus-visible,
.pgb-experience-card-page--v156 .pgb-experience-card-submit:hover,
.pgb-experience-card-page--v156 .pgb-experience-card-submit:focus,
.pgb-experience-card-page--v156 .pgb-experience-card-submit:focus-visible {
    background: #2a1c0e !important;
    border-color: rgba(217,179,111,.42) !important;
    color: #ffffff !important;
    transform: translateY(-1px) !important;
    box-shadow:
        0 18px 40px rgba(32,23,19,.34),
        inset 0 1px rgba(255,255,255,.14) !important;
}

.single-product.pgb-is-gift-card-product .pgb-experience-card-submit:hover span,
.single-product.pgb-is-gift-card-product .pgb-experience-card-submit:focus span,
.single-product.pgb-is-gift-card-product .pgb-experience-card-submit:focus-visible span,
.pgb-experience-card-page--v156 .pgb-experience-card-submit:hover span,
.pgb-experience-card-page--v156 .pgb-experience-card-submit:focus span,
.pgb-experience-card-page--v156 .pgb-experience-card-submit:focus-visible span {
    color: #ffffff !important;
}

@media (max-width: 900px) {
    .single-product.pgb-is-gift-card-product .pgb-card-checkout-total strong,
    .pgb-experience-card-page--v156 .pgb-card-checkout-total strong,
    .pgb-card-checkout-total strong {
        font-size: 30px !important;
    }
}

/* =========================================================
   PetGiftBox Gift Experience v2.2.10
   Hard override for gift card total + CTA hover/focus
   Fixes theme/Wooma button hover overrides.
   ========================================================= */
html body.single-product .pgb-experience-card-page--v156 .pgb-card-checkout-bar .pgb-card-checkout-total strong,
html body .pgb-experience-card-page--v156 .pgb-card-checkout-bar .pgb-card-checkout-total strong,
html body .pgb-card-checkout-bar .pgb-card-checkout-total strong[data-pgb-preview-total] {
    display: block !important;
    margin-top: 8px !important;
    font-size: clamp(32px, 2.7vw, 48px) !important;
    line-height: .9 !important;
    letter-spacing: -.045em !important;
    font-weight: 850 !important;
    color: #fff7e9 !important;
}

html body.single-product .pgb-experience-card-page--v156 .pgb-card-checkout-bar .pgb-card-checkout-total span,
html body .pgb-experience-card-page--v156 .pgb-card-checkout-bar .pgb-card-checkout-total span {
    color: rgba(255,255,255,.72) !important;
}

html body.single-product .pgb-experience-card-page--v156 .pgb-card-checkout-bar button.single_add_to_cart_button.button.alt.pgb-experience-card-submit,
html body .pgb-experience-card-page--v156 .pgb-card-checkout-bar button.single_add_to_cart_button.button.alt.pgb-experience-card-submit,
html body .pgb-card-checkout-bar button.pgb-experience-card-submit {
    background: #201713 !important;
    background-image: none !important;
    border: 1px solid rgba(255,255,255,.18) !important;
    color: #ffffff !important;
    box-shadow: 0 14px 32px rgba(32,23,19,.28), inset 0 1px rgba(255,255,255,.10) !important;
    transform: none !important;
}

html body.single-product .pgb-experience-card-page--v156 .pgb-card-checkout-bar button.single_add_to_cart_button.button.alt.pgb-experience-card-submit:hover,
html body.single-product .pgb-experience-card-page--v156 .pgb-card-checkout-bar button.single_add_to_cart_button.button.alt.pgb-experience-card-submit:focus,
html body.single-product .pgb-experience-card-page--v156 .pgb-card-checkout-bar button.single_add_to_cart_button.button.alt.pgb-experience-card-submit:focus-visible,
html body.single-product .pgb-experience-card-page--v156 .pgb-card-checkout-bar button.single_add_to_cart_button.button.alt.pgb-experience-card-submit:active,
html body .pgb-experience-card-page--v156 .pgb-card-checkout-bar button.single_add_to_cart_button.button.alt.pgb-experience-card-submit:hover,
html body .pgb-experience-card-page--v156 .pgb-card-checkout-bar button.single_add_to_cart_button.button.alt.pgb-experience-card-submit:focus,
html body .pgb-experience-card-page--v156 .pgb-card-checkout-bar button.single_add_to_cart_button.button.alt.pgb-experience-card-submit:focus-visible,
html body .pgb-experience-card-page--v156 .pgb-card-checkout-bar button.single_add_to_cart_button.button.alt.pgb-experience-card-submit:active,
html body .pgb-card-checkout-bar button.pgb-experience-card-submit:hover,
html body .pgb-card-checkout-bar button.pgb-experience-card-submit:focus,
html body .pgb-card-checkout-bar button.pgb-experience-card-submit:focus-visible,
html body .pgb-card-checkout-bar button.pgb-experience-card-submit:active {
    background: #2a1c0e !important;
    background-image: none !important;
    border-color: rgba(217,179,111,.44) !important;
    color: #ffffff !important;
    box-shadow: 0 18px 40px rgba(32,23,19,.34), inset 0 1px rgba(255,255,255,.14) !important;
    transform: translateY(-1px) !important;
}

html body .pgb-experience-card-page--v156 .pgb-card-checkout-bar button.pgb-experience-card-submit span,
html body .pgb-experience-card-page--v156 .pgb-card-checkout-bar button.pgb-experience-card-submit:hover span,
html body .pgb-experience-card-page--v156 .pgb-card-checkout-bar button.pgb-experience-card-submit:focus span,
html body .pgb-experience-card-page--v156 .pgb-card-checkout-bar button.pgb-experience-card-submit:active span {
    color: #ffffff !important;
}

html body .pgb-experience-card-page--v156 .pgb-card-checkout-bar button.pgb-experience-card-submit:before {
    color: #ffffff !important;
}

html body .pgb-experience-card-page--v156 .pgb-card-checkout-bar button.pgb-experience-card-submit:after {
    display: none !important;
    content: none !important;
    background: none !important;
    opacity: 0 !important;
}

@media (max-width: 900px) {
    html body .pgb-experience-card-page--v156 .pgb-card-checkout-bar .pgb-card-checkout-total strong,
    html body .pgb-card-checkout-bar .pgb-card-checkout-total strong[data-pgb-preview-total] {
        font-size: 34px !important;
    }
}


/* =========================================================
   PetGiftBox Gift Experience v2.2.11
   Desktop price containment fix
   Keeps total price readable on one line without breaking bar.
   ========================================================= */
@media (min-width: 901px) {
  html body.single-product .pgb-experience-card-page--v156 .pgb-card-checkout-bar,
  html body .pgb-experience-card-page--v156 .pgb-card-checkout-bar {
    grid-template-columns: minmax(116px, 148px) minmax(0, 1fr) minmax(220px, 310px) !important;
    gap: 16px !important;
    padding: 18px 22px !important;
  }

  html body.single-product .pgb-experience-card-page--v156 .pgb-card-checkout-bar .pgb-card-checkout-total,
  html body .pgb-experience-card-page--v156 .pgb-card-checkout-bar .pgb-card-checkout-total {
    min-width: 0 !important;
    max-width: 148px !important;
    overflow: visible !important;
  }

  html body.single-product .pgb-experience-card-page--v156 .pgb-card-checkout-bar .pgb-card-checkout-total strong,
  html body .pgb-experience-card-page--v156 .pgb-card-checkout-bar .pgb-card-checkout-total strong,
  html body .pgb-card-checkout-bar .pgb-card-checkout-total strong[data-pgb-preview-total] {
    display: inline-flex !important;
    align-items: baseline !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    margin-top: 6px !important;
    font-size: clamp(24px, 1.65vw, 30px) !important;
    line-height: 1 !important;
    letter-spacing: -.025em !important;
  }

  html body.single-product .pgb-experience-card-page--v156 .pgb-card-checkout-bar .pgb-card-checkout-total span,
  html body .pgb-experience-card-page--v156 .pgb-card-checkout-bar .pgb-card-checkout-total span {
    display: block !important;
    white-space: nowrap !important;
    font-size: 9px !important;
    letter-spacing: .12em !important;
  }
}

@media (min-width: 901px) and (max-width: 1200px) {
  html body.single-product .pgb-experience-card-page--v156 .pgb-card-checkout-bar .pgb-card-checkout-total strong,
  html body .pgb-experience-card-page--v156 .pgb-card-checkout-bar .pgb-card-checkout-total strong,
  html body .pgb-card-checkout-bar .pgb-card-checkout-total strong[data-pgb-preview-total] {
    font-size: 24px !important;
  }
}

/* =============================================================================
   v2.2.18 — Gift Concierge inline card
   Clean background-image architecture, no description text.
   ============================================================================= */

.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium,
.pgb-gift-inline-card.pgb-gift-inline-card--premium {
    --pgb-gift-card-h: 148px;
    position: relative !important;
    display: grid !important;
    grid-template-columns: minmax(210px, 30%) minmax(0, 1fr) auto !important;
    align-items: center !important;
    gap: clamp(22px, 3vw, 48px) !important;
    min-height: var(--pgb-gift-card-h) !important;
    height: auto !important;
    margin: 18px 0 16px !important;
    padding: 0 clamp(22px, 3vw, 38px) 0 0 !important;
    overflow: hidden !important;
    border-radius: 18px !important;
    border: 1px solid rgba(185,130,69,.22) !important;
    background: linear-gradient(90deg, #fffaf5 0%, #fffdfb 70%, #fbf6ef 100%) !important;
    box-shadow: none !important;
}

/* Subtle top-right decorative glow only */
.pgb-gift-inline-card.pgb-gift-inline-card--premium::after {
    content: '' !important;
    position: absolute !important;
    top: -70px !important;
    right: -44px !important;
    width: 154px !important;
    height: 154px !important;
    border-radius: 50% !important;
    background: rgba(185,130,69,.055) !important;
    pointer-events: none !important;
}

/* Left column = real background container. No nested image-box effect. */
.pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__visual {
    position: relative !important;
    align-self: stretch !important;
    width: 100% !important;
    min-height: var(--pgb-gift-card-h) !important;
    height: 100% !important;
    display: block !important;
    overflow: hidden !important;
    border-radius: 0 !important;
    background-image: url('gift-concierge-pets.jpg') !important;
    background-size: cover !important;
    background-position: center !important;
    background-repeat: no-repeat !important;
}

/* Keep image span only as a harmless fallback layer; no dimensions, no beige box */
.pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__image {
    display: none !important;
}

/* Remove old organic/curve overlays */
.pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__visual::before,
.pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__visual::after,
.pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__image::before,
.pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__image::after {
    display: none !important;
    content: none !important;
}

/* Hide legacy icon/orb elements */
.pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__icon,
.pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-orb,
.pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-mini-card {
    display: none !important;
}

.pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__body {
    position: relative !important;
    z-index: 3 !important;
    min-width: 0 !important;
    padding: 0 !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
}

.pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    width: fit-content !important;
    margin: 0 0 10px !important;
    padding: 5px 13px !important;
    border-radius: 999px !important;
    background: rgba(185,130,69,.12) !important;
    color: #9b6a38 !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
}

.pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__title {
    display: block !important;
    max-width: 410px !important;
    margin: 0 !important;
    color: #1b120e !important;
    font-family: Georgia, 'Times New Roman', serif !important;
    font-size: clamp(28px, 2.45vw, 42px) !important;
    line-height: .98 !important;
    letter-spacing: -.045em !important;
    font-weight: 700 !important;
}

.pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__desc {
    display: none !important;
}

.pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__button {
    position: relative !important;
    z-index: 4 !important;
    justify-self: end !important;
    min-height: 42px !important;
    padding: 0 28px !important;
    border-radius: 999px !important;
    background: #15100d !important;
    border: 1px solid #15100d !important;
    color: #fff !important;
    box-shadow: none !important;
    font-size: 13px !important;
    letter-spacing: .03em !important;
    font-weight: 800 !important;
    text-transform: none !important;
    white-space: nowrap !important;
}

.pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__button:hover,
.pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__button:focus-visible {
    background: #2a211b !important;
    border-color: #2a211b !important;
    color: #fff !important;
    transform: translateY(-1px) !important;
}

@media (max-width: 1024px) and (min-width: 768px) {
    .single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium,
    .pgb-gift-inline-card.pgb-gift-inline-card--premium {
        grid-template-columns: minmax(190px, 32%) minmax(0, 1fr) !important;
        padding-right: 26px !important;
        gap: 28px !important;
    }

    .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__button {
        grid-column: 2 !important;
        justify-self: start !important;
        margin-top: 14px !important;
    }
}

@media (max-width: 767px) {
    .single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium,
    .pgb-gift-inline-card.pgb-gift-inline-card--premium {
        --pgb-gift-card-h: 138px;
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        min-height: 0 !important;
        padding: 0 !important;
        border-radius: 18px !important;
    }

    .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__visual {
        min-height: var(--pgb-gift-card-h) !important;
        height: var(--pgb-gift-card-h) !important;
        background-position: center !important;
    }

    .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__body {
        padding: 20px 22px 8px !important;
    }

    .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__title {
        max-width: none !important;
        font-size: 28px !important;
    }

    .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__button {
        width: calc(100% - 44px) !important;
        margin: 10px 22px 22px !important;
        grid-column: auto !important;
        justify-self: stretch !important;
        text-align: center !important;
    }
}

@media (max-width: 520px) {
    .single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium,
    .pgb-gift-inline-card.pgb-gift-inline-card--premium {
        --pgb-gift-card-h: 120px;
    }
}

/* =============================================================================
   v2.2.19 — Roboto typography polish
   ============================================================================= */

/* Force gift inline banner typography to Roboto / site sans */
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium,
.pgb-gift-inline-card.pgb-gift-inline-card--premium {
    font-family: Roboto, Arial, sans-serif !important;
}

/* Title: Roboto, not serif */
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__title,
.pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__title {
    font-family: Roboto, Arial, sans-serif !important;
    font-size: clamp(24px, 2.35vw, 38px) !important;
    line-height: 1.04 !important;
    letter-spacing: -0.035em !important;
    font-weight: 800 !important;
}

/* Eyebrow */
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__eyebrow,
.pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__eyebrow {
    font-family: Roboto, Arial, sans-serif !important;
    font-weight: 800 !important;
}

/* Button */
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__button,
.pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__button {
    font-family: Roboto, Arial, sans-serif !important;
    font-weight: 800 !important;
}

/* Extra safety for current/new class names seen in frontend */
.single-product .pgb-gift-inline-card__title,
.single-product .pgb-gift-inline-card__eyebrow,
.single-product .pgb-gift-inline-card__button {
    font-family: Roboto, Arial, sans-serif !important;
}

@media (max-width: 767px) {
    .single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__title,
    .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__title {
        font-size: 26px !important;
        line-height: 1.06 !important;
    }
}

/* =============================================================================
   v2.2.20 — CSS tweaks from frontend inspection
   ============================================================================= */

/* Inline gift card proportions */
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium,
.pgb-gift-inline-card.pgb-gift-inline-card--premium {
    max-width: 100% !important;
}

/* Title exact frontend tuning */
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__title,
.pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__title {
    max-width: 410px !important;
    font-family: Roboto, Arial, sans-serif !important;
    font-size: clamp(28px, 2.45vw, 32px) !important;
    line-height: .98 !important;
    letter-spacing: -0.045em !important;
    font-weight: 600 !important;
    color: #1b120e !important;
}

/* Body alignment after smaller title */
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__body,
.pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__body {
    justify-content: center !important;
}

/* CTA compact tuning */
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__button,
.pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__button {
    min-height: 40px !important;
    padding: 0 26px !important;
    font-family: Roboto, Arial, sans-serif !important;
    font-size: 13px !important;
    font-weight: 700 !important;
}

/* Eyebrow remains Roboto and compact */
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__eyebrow,
.pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__eyebrow {
    font-family: Roboto, Arial, sans-serif !important;
    font-size: 10px !important;
    font-weight: 800 !important;
}

/* Mobile safe scaling */
@media (max-width: 767px) {
    .single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__title,
    .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__title {
        max-width: none !important;
        font-size: 26px !important;
        line-height: 1.06 !important;
    }
}


/* =============================================================================
   v2.2.21 — PetGiftBox compact white Gift Concierge card
   Final product-page idea: white card, full-height photo, subtle gift watermark,
   no vertical divider, discreet text CTA.
   ============================================================================= */
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium {
    --pgb-gift-ink: #1b120e;
    --pgb-gift-muted: #625850;
    --pgb-gift-soft: #9b8d82;
    --pgb-gift-gold: #C99810;

    position: relative !important;
    display: grid !important;
    grid-template-columns: 160px minmax(0, 1fr) !important;
    gap: 24px !important;
    align-items: stretch !important;

    width: 100% !important;
    max-width: 100% !important;
    margin: 20px 0 22px !important;
    min-height: 148px !important;
    padding: 0 130px 0 0 !important;

    background: #fff !important;
    border: 1px solid rgba(201, 152, 16, .55) !important;
    border-radius: 18px !important;
    box-shadow: 0 16px 38px rgba(27, 18, 14, .04) !important;
    overflow: hidden !important;
    color: var(--pgb-gift-ink) !important;
    isolation: isolate !important;
}

.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium::before {
    content: "" !important;
    position: absolute !important;
    right: 32px !important;
    top: 50% !important;
    width: 72px !important;
    height: 72px !important;
    transform: translateY(-50%) !important;
    border-radius: 0 !important;
    background-color: transparent !important;
    background-image: url("https://petgiftbox.gr/wp-content/uploads/2026/06/gift.webp") !important;
    background-size: contain !important;
    background-repeat: no-repeat !important;
    background-position: center !important;
    opacity: .18 !important;
    pointer-events: none !important;
    z-index: 0 !important;
}

.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium::after {
    content: none !important;
    display: none !important;
}

.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium > * {
    position: relative !important;
    z-index: 2 !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__visual {
    width: 160px !important;
    height: 100% !important;
    min-height: 148px !important;
    display: block !important;
    overflow: hidden !important;
    background: #fff !important;
    border-radius: 0 !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__photo,
.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__visual img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 148px !important;
    object-fit: cover !important;
    object-position: center center !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__image,
.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__icon,
.single-product .pgb-gift-inline-card--premium .pgb-gift-orb,
.single-product .pgb-gift-inline-card--premium .pgb-gift-mini-card {
    display: none !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__body {
    min-width: 0 !important;
    align-self: center !important;
    padding: 22px 0 24px !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    width: auto !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--pgb-gift-gold) !important;
    font-family: Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__eyebrow::before {
    content: "✦" !important;
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__title {
    display: block !important;
    margin: 0 0 7px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 22px !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
    font-weight: 800 !important;
    color: var(--pgb-gift-ink) !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__desc {
    display: block !important;
    margin: 0 !important;
    max-width: 430px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.55 !important;
    color: var(--pgb-gift-muted) !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__summary {
    display: block !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    color: var(--pgb-gift-soft) !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__button,
.single-product .pgb-gift-inline-card--premium .pgb-gift-premium-cta {
    position: absolute !important;
    right: 22px !important;
    bottom: 18px !important;
    z-index: 3 !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    padding: 0 !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(201, 152, 16, .70) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--pgb-gift-ink) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 11px !important;
    line-height: 1.4 !important;
    font-weight: 800 !important;
    letter-spacing: .02em !important;
    text-transform: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transform: none !important;
    transition: color .2s ease, border-color .2s ease !important;
    pointer-events: auto !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__button:hover,
.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__button:focus-visible,
.single-product .pgb-gift-inline-card--premium .pgb-gift-premium-cta:hover,
.single-product .pgb-gift-inline-card--premium .pgb-gift-premium-cta:focus-visible {
    color: var(--pgb-gift-gold) !important;
    border-color: var(--pgb-gift-gold) !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    outline: none !important;
}

.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium.is-gift-enabled {
    background: #fff !important;
    border-color: rgba(201, 152, 16, .68) !important;
}

.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium.is-gift-enabled .pgb-gift-inline-card__title {
    color: var(--pgb-gift-ink) !important;
}

.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium.is-gift-enabled .pgb-gift-inline-card__summary {
    color: var(--pgb-gift-muted) !important;
}

@media (max-width: 767px) {
    .single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        margin: 16px 0 18px !important;
        padding: 0 0 46px !important;
        min-height: 0 !important;
        border-radius: 18px !important;
    }

    .single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium::before {
        right: 18px !important;
        bottom: 16px !important;
        top: auto !important;
        width: 58px !important;
        height: 58px !important;
        transform: none !important;
        opacity: .14 !important;
    }

    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__visual {
        width: 100% !important;
        height: 180px !important;
        min-height: 180px !important;
    }

    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__photo,
    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__visual img {
        min-height: 180px !important;
    }

    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__body {
        padding: 20px 20px 14px !important;
    }

    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__title {
        font-size: 20px !important;
        line-height: 1.12 !important;
    }

    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__desc {
        font-size: 13px !important;
        line-height: 1.55 !important;
    }

    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__summary {
        font-size: 11.5px !important;
    }

    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__button,
    .single-product .pgb-gift-inline-card--premium .pgb-gift-premium-cta {
        left: 20px !important;
        right: auto !important;
        bottom: 18px !important;
        width: auto !important;
        margin: 0 !important;
    }
}


/* =============================================================================
   v2.2.22 — PetGiftBox compact Gift Concierge card refinement
   Compact centered card, full-height left image, no watermark, text CTA under copy.
   ============================================================================= */
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium {
    --pgb-gift-ink: #1b120e;
    --pgb-gift-muted: #625850;
    --pgb-gift-soft: #9b8d82;
    --pgb-gift-gold: #C99810;

    position: relative !important;
    display: grid !important;
    grid-template-columns: 200px minmax(0, 1fr) !important;
    gap: 26px !important;
    align-items: stretch !important;

    width: 100% !important;
    max-width: 860px !important;
    margin: 20px auto 22px !important;
    min-height: 150px !important;
    padding: 0 !important;

    background: #fff !important;
    border: 1px solid rgba(201, 152, 16, .55) !important;
    border-radius: 18px !important;
    box-shadow: 0 14px 34px rgba(27, 18, 14, .035) !important;
    overflow: hidden !important;
    color: var(--pgb-gift-ink) !important;
    isolation: isolate !important;
}

/* Remove decorative watermark and old right-side action area completely. */
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium::before,
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium::after {
    content: none !important;
    display: none !important;
}

.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium > * {
    position: relative !important;
    z-index: 2 !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__visual {
    width: 200px !important;
    height: 100% !important;
    min-height: 150px !important;
    align-self: stretch !important;
    display: block !important;
    overflow: hidden !important;
    background: #fff !important;
    border-radius: 0 !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__photo,
.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__visual img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__image,
.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__icon,
.single-product .pgb-gift-inline-card--premium .pgb-gift-orb,
.single-product .pgb-gift-inline-card--premium .pgb-gift-mini-card {
    display: none !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__body {
    min-width: 0 !important;
    align-self: center !important;
    padding: 24px 28px 22px 0 !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__eyebrow {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    width: auto !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--pgb-gift-gold) !important;
    font-family: Arial, sans-serif !important;
    font-size: 10px !important;
    line-height: 1 !important;
    font-weight: 800 !important;
    letter-spacing: .16em !important;
    text-transform: uppercase !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__eyebrow::before {
    content: "✦" !important;
    font-size: 11px !important;
    line-height: 1 !important;
    letter-spacing: 0 !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__title {
    display: block !important;
    margin: 0 0 8px !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 24px !important;
    line-height: 1.08 !important;
    letter-spacing: -.035em !important;
    font-weight: 800 !important;
    color: var(--pgb-gift-ink) !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__desc {
    display: block !important;
    margin: 0 !important;
    max-width: 520px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 14px !important;
    line-height: 1.58 !important;
    color: var(--pgb-gift-muted) !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__summary {
    display: block !important;
    margin: 10px 0 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    background: transparent !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.4 !important;
    color: var(--pgb-gift-soft) !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__button,
.single-product .pgb-gift-inline-card--premium .pgb-gift-premium-cta {
    position: static !important;
    z-index: 3 !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 13px 0 0 !important;
    padding: 0 0 2px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(201, 152, 16, .72) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: var(--pgb-gift-ink) !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: .02em !important;
    text-transform: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transform: none !important;
    transition: color .2s ease, border-color .2s ease !important;
    pointer-events: auto !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__button::after,
.single-product .pgb-gift-inline-card--premium .pgb-gift-premium-cta::after {
    content: " →" !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__button:hover,
.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__button:focus-visible,
.single-product .pgb-gift-inline-card--premium .pgb-gift-premium-cta:hover,
.single-product .pgb-gift-inline-card--premium .pgb-gift-premium-cta:focus-visible {
    color: var(--pgb-gift-gold) !important;
    border-color: var(--pgb-gift-gold) !important;
    background: transparent !important;
    box-shadow: none !important;
    transform: none !important;
    outline: none !important;
}

.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium.is-gift-enabled {
    background: #fff !important;
    border-color: rgba(201, 152, 16, .68) !important;
}

.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium.is-gift-enabled .pgb-gift-inline-card__title {
    color: var(--pgb-gift-ink) !important;
}

.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium.is-gift-enabled .pgb-gift-inline-card__summary {
    color: var(--pgb-gift-muted) !important;
}

@media (max-width: 767px) {
    .single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium {
        grid-template-columns: 1fr !important;
        gap: 0 !important;
        max-width: 100% !important;
        margin: 16px 0 18px !important;
        padding: 0 !important;
        min-height: 0 !important;
        border-radius: 18px !important;
    }

    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__visual {
        width: 100% !important;
        height: 180px !important;
        min-height: 180px !important;
    }

    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__photo,
    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__visual img {
        min-height: 180px !important;
    }

    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__body {
        padding: 20px !important;
    }

    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__title {
        font-size: 22px !important;
        line-height: 1.12 !important;
    }

    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__desc {
        font-size: 13px !important;
        line-height: 1.55 !important;
    }

    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__summary {
        font-size: 11.5px !important;
    }

    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__button,
    .single-product .pgb-gift-inline-card--premium .pgb-gift-premium-cta {
        margin-top: 13px !important;
        width: auto !important;
    }
}


/* =============================================================================
   v2.2.23 — Final live fix: link under text, image full height, no dead row
   ============================================================================= */
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium {
    grid-template-columns: 200px minmax(0, 1fr) !important;
    grid-template-rows: auto auto !important;
    column-gap: 26px !important;
    row-gap: 0 !important;
    max-width: 860px !important;
    min-height: 150px !important;
    padding: 0 !important;
    align-items: stretch !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__visual {
    grid-column: 1 !important;
    grid-row: 1 / span 2 !important;
    width: 200px !important;
    height: 100% !important;
    min-height: 150px !important;
    align-self: stretch !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__body {
    grid-column: 2 !important;
    grid-row: 1 !important;
    padding: 24px 28px 4px 0 !important;
    align-self: end !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__button,
.single-product .pgb-gift-inline-card--premium .pgb-gift-premium-cta {
    grid-column: 2 !important;
    grid-row: 2 !important;
    justify-self: start !important;
    align-self: start !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    bottom: auto !important;
    margin: 10px 0 24px !important;
    padding: 0 0 2px !important;
    width: auto !important;
    display: inline-flex !important;
}

@media (max-width: 767px) {
    .single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto auto !important;
        row-gap: 0 !important;
        padding: 0 !important;
        min-height: 0 !important;
    }

    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__visual {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 100% !important;
        height: 180px !important;
        min-height: 180px !important;
    }

    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__body {
        grid-column: 1 !important;
        grid-row: 2 !important;
        padding: 20px 20px 4px !important;
        align-self: auto !important;
    }

    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__button,
    .single-product .pgb-gift-inline-card--premium .pgb-gift-premium-cta {
        grid-column: 1 !important;
        grid-row: 3 !important;
        margin: 10px 20px 20px !important;
        left: auto !important;
        right: auto !important;
        bottom: auto !important;
    }
}


/* =============================================================================
   v2.2.24 — Final production card: full-width, full-height image, CTA inside text
   ============================================================================= */
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium {
    position: relative !important;
    display: grid !important;
    grid-template-columns: 200px minmax(0, 1fr) !important;
    grid-template-rows: auto !important;
    column-gap: 26px !important;
    row-gap: 0 !important;
    align-items: stretch !important;

    width: 100% !important;
    max-width: none !important;
    margin: 20px 0 22px !important;
    min-height: 150px !important;
    padding: 0 !important;

    background: #fff !important;
    border: 1px solid rgba(201, 152, 16, .55) !important;
    border-radius: 18px !important;
    overflow: hidden !important;
    box-shadow: 0 14px 34px rgba(27, 18, 14, .035) !important;
}

.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium::before,
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium::after {
    content: none !important;
    display: none !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__visual {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 200px !important;
    height: auto !important;
    min-height: 100% !important;
    align-self: stretch !important;
    display: block !important;
    overflow: hidden !important;
    background: #fff !important;
    border-radius: 0 !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__photo,
.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__visual img {
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    object-fit: cover !important;
    object-position: center center !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__body {
    grid-column: 2 !important;
    grid-row: 1 !important;
    min-width: 0 !important;
    align-self: center !important;
    padding: 24px 34px 22px 0 !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__button,
.single-product .pgb-gift-inline-card--premium .pgb-gift-premium-cta {
    position: static !important;
    z-index: 3 !important;
    width: auto !important;
    min-width: 0 !important;
    min-height: 0 !important;
    height: auto !important;
    margin: 13px 0 0 !important;
    padding: 0 0 2px !important;
    border: 0 !important;
    border-bottom: 1px solid rgba(201, 152, 16, .72) !important;
    border-radius: 0 !important;
    background: transparent !important;
    color: #1b120e !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: flex-start !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 12px !important;
    line-height: 1.2 !important;
    font-weight: 800 !important;
    letter-spacing: .02em !important;
    text-transform: none !important;
    white-space: nowrap !important;
    cursor: pointer !important;
    box-shadow: none !important;
    transform: none !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__button::after,
.single-product .pgb-gift-inline-card--premium .pgb-gift-premium-cta::after {
    content: " →" !important;
}

@media (max-width: 767px) {
    .single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium {
        grid-template-columns: 1fr !important;
        grid-template-rows: auto auto !important;
        width: 100% !important;
        max-width: 100% !important;
        margin: 16px 0 18px !important;
        min-height: 0 !important;
    }

    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__visual {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 100% !important;
        height: 180px !important;
        min-height: 180px !important;
    }

    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__photo,
    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__visual img {
        min-height: 180px !important;
    }

    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__body {
        grid-column: 1 !important;
        grid-row: 2 !important;
        padding: 20px !important;
    }

    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__button,
    .single-product .pgb-gift-inline-card--premium .pgb-gift-premium-cta {
        margin-top: 13px !important;
    }
}


/* =============================================================================
   v2.2.25 — Final image stretch fix
   Force the left gift photo to fill the full card height without creating a second row.
   ============================================================================= */
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium {
    grid-template-columns: 200px minmax(0, 1fr) !important;
    align-items: stretch !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__visual {
    position: relative !important;
    grid-column: 1 !important;
    grid-row: 1 !important;
    align-self: stretch !important;
    width: 200px !important;
    height: 100% !important;
    min-height: 100% !important;
    overflow: hidden !important;
    background: #fff !important;
    border-radius: 0 !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__photo,
.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__visual img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
}

.single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__body {
    grid-column: 2 !important;
    grid-row: 1 !important;
}

@media (max-width: 767px) {
    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__visual {
        width: 100% !important;
        height: 180px !important;
        min-height: 180px !important;
    }

    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__photo,
    .single-product .pgb-gift-inline-card--premium .pgb-gift-inline-card__visual img {
        position: absolute !important;
        inset: 0 !important;
        height: 100% !important;
        min-height: 100% !important;
    }
}

/* =============================================================================
   v2.2.26 — Zero-spacing hard reset for the left Gift Concierge image
   Removes inherited theme/plugin spacing, radius and borders from the image stack.
   ============================================================================= */
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__visual,
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__photo,
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__image,
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__icon,
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__visual img,
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__photo img,
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium img {
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__visual {
    position: relative !important;
    width: 200px !important;
    min-width: 200px !important;
    max-width: 200px !important;
    height: auto !important;
    min-height: 100% !important;
    align-self: stretch !important;
    overflow: hidden !important;
    display: block !important;
    background: transparent !important;
}

.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__photo,
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__visual img,
.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__photo img {
    position: absolute !important;
    inset: 0 !important;
    display: block !important;
    width: 100% !important;
    height: 100% !important;
    min-width: 100% !important;
    min-height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center center !important;
}

@media (max-width: 767px) {
    .single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__visual {
        width: 100% !important;
        min-width: 100% !important;
        max-width: 100% !important;
        height: 180px !important;
        min-height: 180px !important;
    }
}


/* v2.2.27 — Gift Card live polish: redemption note + hide unrelated recommendations */
.pgb-is-gift-card-product .related.products,
.pgb-is-gift-card-product section.related,
.pgb-is-gift-card-product .upsells.products,
.pgb-is-gift-card-product section.upsells,
.pgb-is-gift-card-product .cross-sells,
.pgb-is-gift-card-product .woobt-products,
.pgb-is-gift-card-product .woobt-wrap,
.pgb-is-gift-card-product .product-extra,
.pgb-is-gift-card-product .product-related,
.pgb-is-gift-card-product .related-product,
.pgb-is-gift-card-product .products-related,
.pgb-is-gift-card-product .woocommerce-related-products,
.pgb-is-gift-card-product .wd-related-products,
.pgb-is-gift-card-product .wpc-related-products,
.pgb-is-gift-card-product .elementor-widget-woocommerce-product-related {
  display: none !important;
}

.pgb-card-redemption-note {
  margin-top: 24px;
  padding: 18px 20px;
  border: 1px solid rgba(42, 33, 27, .12);
  border-radius: 18px;
  background: rgba(239, 235, 230, .68);
  color: #2a211b;
}

.pgb-card-redemption-note span {
  display: block;
  margin-bottom: 7px;
  font-size: 11px;
  line-height: 1.2;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-weight: 800;
  opacity: .58;
}

.pgb-card-redemption-note p {
  margin: 0 !important;
  max-width: 680px;
  font-size: 14px !important;
  line-height: 1.62 !important;
  letter-spacing: -0.015em;
  opacity: .72 !important;
}

.pgb-gift-card-product__redeem-note {
  margin-top: 12px !important;
  padding: 12px 14px;
  border-radius: 14px;
  background: rgba(239, 235, 230, .68);
  font-size: 13px !important;
  line-height: 1.55 !important;
}


/* v2.2.29: Gift card submit feedback */
.pgb-experience-card-submit.is-loading,
.pgb-experience-card-submit:disabled {
  opacity: .72;
  cursor: wait !important;
  pointer-events: none;
}

/* v2.2.30 — Checkout payment note for digital gift cards */
.pgb-gift-card-payment-note {
  margin: 0 0 18px;
  padding: 14px 16px;
  border: 1px solid rgba(201, 152, 16, .28);
  border-radius: 14px;
  background: rgba(201, 152, 16, .07);
  color: #241913;
  font-size: 13px;
  line-height: 1.55;
  letter-spacing: -0.01em;
}

/* =============================================================================
   v2.2.32 — Final mobile Gift Concierge stack guard
   A later desktop production override in v2.2.25 reintroduced a 200px + content
   two-column grid after the earlier mobile rules. Keep this final guard at the
   end of the stylesheet so phones always render image, copy and CTA in one
   full-width column.
   ============================================================================= */
@media (max-width: 767px) {
    html body.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium {
        display: grid !important;
        grid-template-columns: minmax(0, 1fr) !important;
        grid-template-rows: auto auto !important;
        width: 100% !important;
        max-width: 100% !important;
        min-width: 0 !important;
        gap: 0 !important;
        overflow: hidden !important;
    }

    html body.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__visual {
        grid-column: 1 !important;
        grid-row: 1 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        height: 180px !important;
        min-height: 180px !important;
        align-self: auto !important;
    }

    html body.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__body {
        grid-column: 1 !important;
        grid-row: 2 !important;
        width: 100% !important;
        min-width: 0 !important;
        max-width: 100% !important;
        padding: 20px !important;
        align-self: auto !important;
    }

    html body.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__eyebrow,
    html body.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__title,
    html body.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__desc,
    html body.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__summary {
        max-width: 100% !important;
        min-width: 0 !important;
        white-space: normal !important;
        word-break: normal !important;
        overflow-wrap: normal !important;
    }

    html body.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__button,
    html body.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-premium-cta {
        width: auto !important;
        max-width: 100% !important;
        white-space: normal !important;
    }
}

/* =============================================================================
   v2.2.37 — Mobile Gift Concierge measured form-width breakout
   Keep the proven mobile card stack intact. The JavaScript now measures the
   outer WooCommerce cart box and gives only the Gift Concierge card that exact
   width. This avoids viewport math and preserves the quantity/button layout.
   ============================================================================= */
@media (max-width: 767px) {
    html body.single-product div.product .summary,
    html body.single-product .summary,
    html body.single-product .entry-summary,
    html body.single-product .wooma-product-summary,
    html body.single-product form.cart,
    html body.single-product form.cart .variations_button,
    html body.single-product form.cart .woocommerce-variation-add-to-cart {
        overflow: visible !important;
    }

    html body.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium {
        position: relative !important;
        left: auto !important;
        right: auto !important;
        transform: none !important;
        box-sizing: border-box !important;
    }
}


/* =============================================================================
   v2.2.40 — Mobile Gift Concierge compact-height restore
   The full-width breakout is correct, but the final mobile stack guard kept the
   legacy 180px media height. On a full-width phone card that makes the visual
   dominate the viewport. Restore the proven compact 120px mobile visual while
   leaving width-sync and flicker protections untouched.
   ============================================================================= */
@media (max-width: 767px) {
    html body.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__visual {
        height: 120px !important;
        min-height: 120px !important;
        max-height: 120px !important;
    }

    html body.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__photo,
    html body.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__visual img {
        height: 100% !important;
        min-height: 100% !important;
        max-height: none !important;
        object-fit: cover !important;
    }
}


/* =============================================================================
   v2.2.41 — Mobile Gift Concierge proportional visual restore
   The 120px fixed height made the full-width card visibly too short. Keep the
   stable full-width and anti-flicker behavior, but let the visual scale with the
   card width at a balanced 2:1 ratio.
   ============================================================================= */
@media (max-width: 767px) {
    html body.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__visual {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: 2 / 1 !important;
    }

    html body.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__photo,
    html body.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__visual img {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        object-fit: cover !important;
        object-position: center center !important;
    }
}


/* =============================================================================
   v2.2.42 — Mobile Gift Concierge portrait-focused visual
   The 2:1 crop remained too shallow and centered too low, hiding the faces.
   Keep the stable full-width and anti-flicker behavior, but give the mobile
   visual more vertical room and bias the crop upward toward the people.
   ============================================================================= */
@media (max-width: 767px) {
    html body.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__visual {
        width: 100% !important;
        height: auto !important;
        min-height: 0 !important;
        max-height: none !important;
        aspect-ratio: 16 / 9 !important;
    }

    html body.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__photo,
    html body.single-product .pgb-gift-inline-card.pgb-gift-inline-card--premium .pgb-gift-inline-card__visual img {
        position: absolute !important;
        inset: 0 !important;
        width: 100% !important;
        height: 100% !important;
        min-height: 0 !important;
        max-height: none !important;
        object-fit: cover !important;
        object-position: center 28% !important;
    }
}
