/* ================================================================
   Artisan Walks Product Detail Premium V1
   Scoped to .awp5-page and .awp5-purchase-box
   ================================================================ */

.awp5-page {
    --awp5-ink: #181715;
    --awp5-muted: #706b63;
    --awp5-line: #e4dfd6;
    --awp5-soft: #f7f4ef;
    --awp5-gold: #a67831;
    --awp5-gold-dark: #76531f;
    --awp5-success: #236a42;
    background: #fff;
    color: var(--awp5-ink);
}

.awp5-page .awp-breadcrumb {
    padding: 14px 0;
    border-bottom: 1px solid var(--awp5-line);
    background: #fbfaf8;
    font-size: 12px;
}

.awp5-page .awp-main-section {
    padding: 34px 0 78px;
}

.awp5-page .awp-sticky-info {
    top: 94px;
}

/* Gallery */
.awp5-page .awp-pro-gallery {
    display: grid;
    grid-template-columns: 78px minmax(0, 1fr);
    gap: 12px;
    width: 100%;
}

.awp5-page .awp-pro-thumbnails {
    display: flex;
    flex-direction: column;
    gap: 9px;
    max-height: 720px;
    overflow: auto;
    padding: 2px;
    scrollbar-width: thin;
}

.awp5-page .awp-pro-thumb {
    width: 74px;
    height: 82px;
    flex: 0 0 82px;
    padding: 0;
    overflow: hidden;
    border: 1px solid var(--awp5-line);
    background: #faf9f7;
    cursor: pointer;
    transition: .18s ease;
}

.awp5-page .awp-pro-thumb:hover,
.awp5-page .awp-pro-thumb.is-active {
    border-color: var(--awp5-ink);
    box-shadow: 0 0 0 1px var(--awp5-ink);
}

.awp5-page .awp-pro-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    padding: 5px;
    object-fit: contain;
}

.awp5-page .awp-pro-stage {
    position: relative;
    min-width: 0;
    aspect-ratio: 1 / 1;
    overflow: hidden;
    border: 1px solid var(--awp5-line);
    background:
        radial-gradient(circle at 50% 40%, #fff 0%, #f7f5f1 72%, #f1eee8 100%);
    cursor: zoom-in;
    isolation: isolate;
}

.awp5-page .awp-pro-main-image {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    padding: 20px;
    object-fit: contain;
    transform: scale(1);
    transform-origin: center center;
    transition: transform .22s ease, opacity .16s ease;
    user-select: none;
    -webkit-user-drag: none;
}

.awp5-page .awp-pro-stage.is-switching .awp-pro-main-image {
    opacity: .3;
}

.awp5-page .awp-pro-stage.is-zooming .awp-pro-main-image {
    transform: scale(1.65);
}

.awp5-page .awp-pro-zoom-cue,
.awp5-page .awp-pro-arrow {
    position: absolute;
    z-index: 5;
    border: 1px solid rgba(0, 0, 0, .12);
    background: rgba(255, 255, 255, .94);
    color: var(--awp5-ink);
    box-shadow: 0 8px 24px rgba(0, 0, 0, .08);
    backdrop-filter: blur(8px);
}

.awp5-page .awp-pro-zoom-cue {
    top: 14px;
    right: 14px;
    display: inline-flex;
    min-width: 78px;
    height: 34px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 11px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.awp5-page .awp-pro-arrow {
    top: 50%;
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    border-radius: 50%;
    transform: translateY(-50%);
}

.awp5-page .awp-pro-arrow-prev {
    left: 14px;
}

.awp5-page .awp-pro-arrow-next {
    right: 14px;
}

.awp5-page .awp-pro-badge {
    position: absolute;
    z-index: 4;
    top: 14px;
    left: 14px;
    padding: 7px 10px;
    background: var(--awp5-ink);
    color: #fff;
    font-size: 9px;
    font-weight: 800;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.awp5-page .awp-pro-counter {
    position: absolute;
    z-index: 5;
    right: 14px;
    bottom: 14px;
    display: flex;
    min-width: 54px;
    height: 28px;
    align-items: center;
    justify-content: center;
    gap: 4px;
    padding: 0 9px;
    background: rgba(24, 23, 21, .82);
    color: #fff;
    font-size: 10px;
    font-weight: 700;
}

/* Product heading */
.awp5-product-head {
    padding: 2px 0 22px;
}

.awp5-head-flags {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-bottom: 13px;
}

.awp5-buying-badge,
.awp5-product-badge {
    display: inline-flex;
    min-height: 27px;
    align-items: center;
    padding: 0 9px;
    border: 1px solid var(--awp5-line);
    background: #fff;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.awp5-buying-badge.is-mto {
    border-color: #cba86d;
    background: #fff9ee;
    color: var(--awp5-gold-dark);
}

.awp5-buying-badge.is-ready {
    border-color: #a8cfb8;
    background: #f2fbf5;
    color: var(--awp5-success);
}

.awp5-product-badge {
    background: var(--awp5-ink);
    border-color: var(--awp5-ink);
    color: #fff;
}

.awp5-product-kicker,
.awp5-section-kicker {
    color: var(--awp5-gold);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .14em;
    text-transform: uppercase;
}

.awp5-product-title {
    margin: 7px 0 0;
    font-family: "Playfair Display", Georgia, serif;
    font-size: clamp(34px, 3.5vw, 50px);
    line-height: 1.06;
}

.awp5-review-line {
    display: flex;
    align-items: center;
    gap: 11px;
    margin-top: 14px;
    min-height: 22px;
}

.awp5-review-stars {
    color: #b68535;
    font-size: 12px;
    letter-spacing: 1px;
}

.awp5-review-link,
.awp5-new-design {
    color: var(--awp5-muted);
    font-size: 11px;
}

.awp5-price-line {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    margin-top: 18px;
}

.awp5-price-prefix {
    display: block;
    margin-bottom: 2px;
    color: var(--awp5-gold-dark);
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.awp5-current-price {
    color: var(--awp5-ink);
    font-size: 29px;
    font-weight: 900;
    line-height: 1;
}

.awp5-old-price {
    color: #99938c;
    font-size: 16px;
}

.awp5-short-description {
    margin: 19px 0 0;
    color: var(--awp5-muted);
    font-size: 14px;
    line-height: 1.75;
}

.awp5-meta-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    margin-top: 20px;
}

.awp5-meta-card {
    min-width: 0;
    padding: 11px 10px;
    border: 1px solid #ebe7e0;
    background: #faf9f7;
}

.awp5-meta-card i {
    margin-bottom: 7px;
    color: var(--awp5-gold);
    font-size: 12px;
}

.awp5-meta-card span,
.awp5-meta-card strong {
    display: block;
}

.awp5-meta-card span {
    color: #8a847c;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .06em;
    text-transform: uppercase;
}

.awp5-meta-card strong {
    overflow: hidden;
    margin-top: 3px;
    font-size: 11px;
    text-overflow: ellipsis;
}

/* Purchase box */
.awp5-purchase-box {
    margin-top: 6px;
    padding: 20px;
    border: 1px solid var(--awp5-line);
    background: #fff;
    box-shadow: 0 16px 42px rgba(24, 23, 21, .055);
}

.awp5-purchase-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.awp5-purchase-head h2 {
    margin: 4px 0 0;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 25px;
    line-height: 1.15;
}

.awp5-purchase-type {
    flex: 0 0 auto;
    padding: 6px 8px;
    border: 1px solid #d9c39e;
    color: var(--awp5-gold-dark);
    font-size: 8px;
    font-weight: 900;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.awp5-purchase-intro {
    margin: 12px 0 17px;
    color: var(--awp5-muted);
    font-size: 12px;
    line-height: 1.6;
}

.awp5-alert {
    display: flex;
    gap: 9px;
    margin-bottom: 14px;
    padding: 11px 12px;
    font-size: 11px;
    line-height: 1.5;
}

.awp5-alert.is-error {
    border: 1px solid #e2b8b8;
    background: #fff5f5;
    color: #8c2a2a;
}

.awp5-option-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 9px;
}

.awp5-option-card {
    min-width: 0;
    padding: 11px;
    border: 1px solid #e7e2da;
    background: #fbfaf8;
}

.awp5-option-label {
    display: flex;
    align-items: center;
    gap: 9px;
    margin-bottom: 8px;
}

.awp5-option-icon {
    display: grid;
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    place-items: center;
    border: 1px solid #e1d9cc;
    border-radius: 50%;
    background: #fff;
    color: var(--awp5-gold-dark);
    font-size: 10px;
}

.awp5-option-label label,
.awp5-option-label small {
    display: block;
}

.awp5-option-label label {
    margin: 0;
    color: var(--awp5-ink);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.awp5-option-label small {
    margin-top: 1px;
    color: #948e86;
    font-size: 8px;
}

.awp5-option-select {
    width: 100%;
    min-height: 42px;
    padding: 0 9px;
    border: 1px solid #d8d2c9;
    border-radius: 0;
    background: #fff;
    color: var(--awp5-ink);
    font-size: 11px;
}

.awp5-option-select:focus {
    border-color: var(--awp5-gold);
    outline: 0;
    box-shadow: 0 0 0 3px rgba(166, 120, 49, .1);
}

/* Size selector */
.awp5-size-section {
    margin-top: 14px;
    padding: 16px;
    border: 1px solid #ded8cd;
    background: #fff;
}

.awp5-size-head {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 13px;
}

.awp5-size-head h3 {
    margin: 4px 0 0;
    font-family: "Playfair Display", Georgia, serif;
    font-size: 21px;
}

.awp5-size-head p {
    margin: 5px 0 0;
    color: var(--awp5-muted);
    font-size: 10px;
    line-height: 1.5;
}

.awp5-size-guide {
    display: inline-flex;
    min-height: 34px;
    flex: 0 0 auto;
    align-items: center;
    gap: 6px;
    padding: 0 9px;
    border: 1px solid #d9d0c2;
    color: var(--awp5-gold-dark);
    font-size: 8px;
    font-weight: 900;
    text-decoration: none;
    text-transform: uppercase;
}

.awp5-size-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 7px;
}

.awp5-size-button {
    position: relative;
    min-width: 0;
    min-height: 58px;
    padding: 7px 4px;
    border: 1px solid #d8d3ca;
    background: #faf9f6;
    color: var(--awp5-ink);
    cursor: pointer;
    transition: .16s ease;
}

.awp5-size-button:hover {
    border-color: var(--awp5-gold);
    background: #fff;
    transform: translateY(-1px);
}

.awp5-size-button.is-selected {
    border-color: var(--awp5-ink);
    background: var(--awp5-ink);
    color: #fff;
    box-shadow: 0 8px 20px rgba(0, 0, 0, .14);
}

.awp5-size-button strong,
.awp5-size-button span,
.awp5-size-button small {
    display: block;
}

.awp5-size-button strong {
    font-size: 13px;
}

.awp5-size-button span {
    overflow: hidden;
    margin-top: 4px;
    color: #898278;
    font-size: 7px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.awp5-size-button small {
    margin-top: 3px;
    color: var(--awp5-gold-dark);
    font-size: 7px;
    font-weight: 800;
}

.awp5-size-button.is-selected span,
.awp5-size-button.is-selected small {
    color: rgba(255, 255, 255, .72);
}

.awp5-size-button.is-custom {
    border-style: dashed;
    border-color: #bc9457;
    background: #fffaf1;
}

.awp5-size-button.is-custom i {
    display: block;
    margin-bottom: 3px;
    font-size: 11px;
}

.awp5-size-button.is-custom.is-selected {
    border-style: solid;
    border-color: var(--awp5-gold);
    background: var(--awp5-gold);
}

.awp5-hidden-select {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.awp5-custom-size-panel {
    margin-top: 11px;
    padding: 12px;
    border: 1px solid #e2d5bd;
    background: #fffaf1;
}

.awp5-custom-size-panel[hidden] {
    display: none !important;
}

.awp5-custom-size-panel label {
    display: block;
    margin-bottom: 6px;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

.awp5-custom-size-panel textarea,
.awp5-note-field textarea,
.awp5-note-field input {
    width: 100%;
    border: 1px solid #d5cec3;
    border-radius: 0;
    background: #fff;
    color: var(--awp5-ink);
}

.awp5-custom-size-panel textarea,
.awp5-note-field textarea {
    min-height: 82px;
    padding: 9px 10px;
    resize: vertical;
}

.awp5-note-field input {
    min-height: 42px;
    padding: 0 10px;
}

.awp5-custom-size-panel p {
    margin: 6px 0 0;
    color: var(--awp5-muted);
    font-size: 9px;
    line-height: 1.45;
}

.awp5-field-error {
    margin: 9px 0 0;
    color: #a12a2a;
    font-size: 10px;
    font-weight: 800;
}

/* Optional notes */
.awp5-notes-grid {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
    margin-top: 12px;
}

.awp5-note-field {
    padding: 11px;
    border: 1px solid #e8e3dc;
    background: #fbfaf8;
}

.awp5-note-field label {
    display: block;
    margin-bottom: 6px;
    font-size: 9px;
    font-weight: 900;
    letter-spacing: .05em;
    text-transform: uppercase;
}

/* Summary + actions */
.awp5-order-summary {
    margin-top: 14px;
    border-top: 1px solid var(--awp5-line);
    border-bottom: 1px solid var(--awp5-line);
}

.awp5-summary-line,
.awp5-summary-total {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.awp5-summary-line {
    padding: 9px 0;
    color: var(--awp5-muted);
    font-size: 10px;
}

.awp5-summary-line + .awp5-summary-line {
    border-top: 1px dashed #e2ddd5;
}

.awp5-summary-total {
    padding: 12px 0;
    border-top: 1px solid var(--awp5-line);
}

.awp5-summary-total span,
.awp5-summary-total small {
    display: block;
}

.awp5-summary-total span {
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
}

.awp5-summary-total small {
    margin-top: 2px;
    color: var(--awp5-muted);
    font-size: 8px;
}

.awp5-summary-total > strong {
    color: var(--awp5-gold-dark);
    font-size: 20px;
}

.awp5-action-row {
    display: grid;
    grid-template-columns: 118px minmax(0, 1fr);
    gap: 9px;
    margin-top: 14px;
}

.awp5-quantity {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) 34px;
    border: 1px solid var(--awp5-ink);
}

.awp5-quantity button,
.awp5-quantity input {
    min-width: 0;
    height: 48px;
    border: 0;
    background: #fff;
    color: var(--awp5-ink);
    text-align: center;
}

.awp5-quantity input {
    width: 100%;
}

.awp5-add-cart {
    min-height: 50px;
    border: 1px solid var(--awp5-ink);
    background: var(--awp5-ink);
    color: #fff;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: .06em;
    text-transform: uppercase;
    transition: .16s ease;
}

.awp5-add-cart:hover:not(:disabled) {
    border-color: var(--awp5-gold);
    background: var(--awp5-gold);
}

.awp5-add-cart:disabled {
    opacity: .5;
    cursor: not-allowed;
}

.awp5-add-cart i {
    margin-right: 7px;
}

.awp5-whatsapp-help {
    display: flex;
    min-height: 43px;
    align-items: center;
    justify-content: center;
    gap: 8px;
    margin-top: 9px;
    border: 1px solid #b9d6c4;
    background: #f4fbf6;
    color: #205d38;
    font-size: 9px;
    font-weight: 800;
    text-decoration: none;
}

.awp5-whatsapp-help i {
    font-size: 15px;
}

.awp5-order-trust {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 6px;
    margin-top: 10px;
}

.awp5-order-trust span {
    min-width: 0;
    padding: 7px 4px;
    background: #faf9f7;
    color: #746f68;
    font-size: 7.5px;
    font-weight: 800;
    text-align: center;
    text-transform: uppercase;
}

.awp5-order-trust i {
    display: block;
    margin-bottom: 4px;
    color: var(--awp5-gold-dark);
}

/* Compare */
.awp5-page .awp-compare-panel {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 8px;
}

.awp5-page .awp-compare-button,
.awp5-page .awp-view-compare {
    display: flex;
    min-height: 43px;
    align-items: center;
    justify-content: center;
    gap: 7px;
    padding: 0 13px;
    border: 1px solid var(--awp5-ink);
    background: #fff;
    color: var(--awp5-ink);
    font-size: 8px;
    font-weight: 900;
    text-decoration: none;
    text-transform: uppercase;
}

.awp5-page .awp-view-compare {
    background: var(--awp5-ink);
    color: #fff;
}

/* Fullscreen */
#awpFullscreen[hidden] {
    display: none !important;
}

#awpFullscreen:not([hidden]) {
    position: fixed;
    inset: 0;
    z-index: 99999;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 34px;
    background: rgba(8, 8, 8, .965);
}

#awpFullscreen img {
    width: auto;
    height: auto;
    max-width: 94vw;
    max-height: 90vh;
    object-fit: contain;
}

#awpFullscreen .awp-fullscreen-close {
    position: absolute;
    top: 18px;
    right: 20px;
    display: grid;
    width: 44px;
    height: 44px;
    place-items: center;
    border: 1px solid rgba(255, 255, 255, .32);
    border-radius: 50%;
    background: rgba(255, 255, 255, .08);
    color: #fff;
}

body.awp-gallery-open {
    overflow: hidden;
}

/* Sticky purchase bar */
.awp5-page + .awp-fullscreen + .awp-sticky-bar,
.awp-sticky-bar {
    border-top: 1px solid var(--awp5-line, #e4dfd6);
}


/* ================================================================
   Product Page Fixed-Control Collision Guard
   ================================================================
   Prevents:
   - sticky Add to Cart bar
   - floating WhatsApp
   - floating cart
   - scroll hammer
   - communication widget
   from covering product configuration fields.
   ================================================================ */

body.awp5-product-page-active {
    --awp5-sticky-height: 74px;
    --awp5-floating-gap: 14px;
}

/*
 * The customer must always be able to scroll the final fields above
 * fixed controls instead of having textareas trapped underneath them.
 */
body.awp5-product-page-active .awp5-page {
    padding-bottom: 118px;
}

/*
 * Product sticky purchase bar.
 */
body.awp5-product-page-active .awp-sticky-bar {
    z-index: 2147481200;
}

body.awp5-product-page-active .awp-sticky-bar:not(.is-visible) {
    pointer-events: none;
}

/*
 * Floating widgets discovered by product-detail-premium-v1.js.
 * Keep movement smooth when the sticky bar enters/leaves.
 */
body.awp5-product-page-active .awp5-float-whatsapp,
body.awp5-product-page-active .awp5-float-cart,
body.awp5-product-page-active #awCreativeScrollHammer,
body.awp5-product-page-active #awcc-widget-root {
    transition:
        right .22s ease,
        bottom .22s ease,
        opacity .18s ease,
        visibility .18s ease !important;
}

/*
 * DESKTOP / TABLET
 * Put the fixed controls in one horizontal safe rail ABOVE the sticky bar.
 * This avoids covering the sticky Add to Cart button itself.
 */
@media (min-width: 768px) {

    body.awp5-product-page-active.awp5-sticky-active
    .awp5-float-whatsapp {
        right: 18px !important;
        bottom: 88px !important;
    }

    body.awp5-product-page-active.awp5-sticky-active
    .awp5-float-cart {
        right: 82px !important;
        bottom: 88px !important;
    }

    body.awp5-product-page-active.awp5-sticky-active
    #awCreativeScrollHammer {
        right: 146px !important;
        bottom: 88px !important;
    }

    body.awp5-product-page-active.awp5-sticky-active
    #awcc-widget-root {
        right: 210px !important;
        bottom: 88px !important;
    }

    /*
     * On narrower desktop/tablet screens the product form occupies most
     * of the viewport width. Give it extra breathing room at the bottom.
     */
    @media (max-width: 1199.98px) {
        body.awp5-product-page-active .awp5-page {
            padding-bottom: 142px;
        }
    }
}

/*
 * MOBILE
 * The site already has a fixed mobile bottom navigation dock.
 * Put the product sticky bar ABOVE that dock, then stack the useful
 * floating controls above the product bar.
 */
@media (max-width: 767.98px) {

    body.awp5-product-page-active {
        --awp5-mobile-dock-height:
            calc(66px + env(safe-area-inset-bottom));
        --awp5-mobile-product-bar-height: 68px;
    }

    body.awp5-product-page-active .awp5-page {
        padding-bottom:
            calc(
                208px +
                env(safe-area-inset-bottom)
            );
    }

    body.awp5-product-page-active .awp-main-section {
        padding-bottom: 88px !important;
    }

    body.awp5-product-page-active .awp-sticky-bar {
        right: 0;
        bottom: var(--awp5-mobile-dock-height);
        left: 0;
        padding: 7px 0;
    }

    body.awp5-product-page-active
    .awp-sticky-bar-inner {
        gap: 8px;
        padding-right: 10px;
        padding-left: 10px;
    }

    body.awp5-product-page-active
    .awp-sticky-product {
        min-width: 0;
        flex: 1 1 auto;
    }

    body.awp5-product-page-active
    .awp-sticky-product strong {
        max-width: 160px;
    }

    body.awp5-product-page-active
    .awp-sticky-cart {
        min-width: 132px;
        min-height: 48px;
        flex: 0 0 auto;
        padding: 0 16px;
    }

    /*
     * Floating cart is redundant on product pages:
     * - mobile dock already has Cart
     * - product sticky bar already has Add to Cart
     * Hiding only this duplicate creates useful room.
     */
    body.awp5-product-page-active.awp5-sticky-active
    .awp5-float-cart {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }

    /*
     * WhatsApp remains available, but it lives ABOVE the purchase bar.
     */
    body.awp5-product-page-active.awp5-sticky-active
    .awp5-float-whatsapp {
        right: 12px !important;
        bottom:
            calc(
                var(--awp5-mobile-dock-height) +
                var(--awp5-mobile-product-bar-height) +
                14px
            ) !important;
    }

    /*
     * Hammer goes above WhatsApp rather than sitting on the form.
     */
    body.awp5-product-page-active.awp5-sticky-active
    #awCreativeScrollHammer {
        right: 12px !important;
        bottom:
            calc(
                var(--awp5-mobile-dock-height) +
                var(--awp5-mobile-product-bar-height) +
                72px
            ) !important;
    }

    /*
     * Communication widget becomes the third item in the vertical rail.
     */
    body.awp5-product-page-active.awp5-sticky-active
    #awcc-widget-root {
        right: 10px !important;
        bottom:
            calc(
                var(--awp5-mobile-dock-height) +
                var(--awp5-mobile-product-bar-height) +
                128px
            ) !important;
    }

    /*
     * Keep all floating widgets out of the fullscreen product image.
     */
    body.awp-gallery-open
    .awp5-float-whatsapp,
    body.awp-gallery-open
    .awp5-float-cart,
    body.awp-gallery-open
    #awCreativeScrollHammer,
    body.awp-gallery-open
    #awcc-widget-root,
    body.awp-gallery-open
    .awp-sticky-bar {
        opacity: 0 !important;
        visibility: hidden !important;
        pointer-events: none !important;
    }
}

@media (max-width: 420px) {

    body.awp5-product-page-active .awp5-page {
        padding-bottom:
            calc(
                224px +
                env(safe-area-inset-bottom)
            );
    }

    body.awp5-product-page-active
    .awp-sticky-product strong {
        max-width: 118px;
        font-size: 11px;
    }

    body.awp5-product-page-active
    .awp-sticky-product span {
        font-size: 10px;
    }

    body.awp5-product-page-active
    .awp-sticky-cart {
        min-width: 116px;
        padding: 0 12px;
        font-size: 9px;
    }
}

@media (max-width: 1199.98px) {
    .awp5-size-grid {
        grid-template-columns: repeat(4, minmax(0, 1fr));
    }
}

@media (max-width: 991.98px) {
    .awp5-page .awp-main-section {
        padding-top: 24px;
    }

    .awp5-page .awp-sticky-info {
        position: static;
    }

    .awp5-page .awp-pro-gallery {
        grid-template-columns: 1fr;
    }

    .awp5-page .awp-pro-thumbnails {
        order: 2;
        flex-direction: row;
        max-height: none;
        overflow-x: auto;
        overflow-y: hidden;
    }

    .awp5-page .awp-pro-stage {
        order: 1;
    }

    .awp5-page .awp-pro-thumb {
        width: 70px;
        height: 74px;
        flex-basis: 70px;
    }
}

@media (max-width: 575.98px) {
    .awp5-page .awp-main-section {
        padding-bottom: 56px;
    }

    .awp5-page .awp-pro-stage {
        aspect-ratio: 4 / 5;
    }

    .awp5-page .awp-pro-main-image {
        padding: 10px;
    }

    .awp5-product-title {
        font-size: 34px;
    }

    .awp5-meta-grid {
        grid-template-columns: 1fr;
    }

    .awp5-purchase-box {
        padding: 15px;
    }

    .awp5-purchase-head {
        flex-direction: column;
    }

    .awp5-option-grid {
        grid-template-columns: 1fr;
    }

    .awp5-size-head {
        flex-direction: column;
    }

    .awp5-size-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .awp5-action-row {
        grid-template-columns: 1fr;
    }

    .awp5-quantity {
        width: 126px;
    }

    .awp5-order-trust {
        grid-template-columns: 1fr 1fr 1fr;
    }

    .awp5-page .awp-compare-panel {
        grid-template-columns: 1fr;
    }

    #awpFullscreen:not([hidden]) {
        padding: 16px;
    }
}

.awp5-page .awp-product-left-rail{display:flex;min-width:86px;flex-direction:column;gap:16px}
.awp5-page .awp-pro-gallery{grid-template-columns:92px minmax(0,1fr)}
.awp5-page .awp-rail-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:7px;color:#777067;font-size:8px;font-weight:900;letter-spacing:.1em}
.awp5-page .awp-rail-heading small{display:grid;width:19px;height:19px;place-items:center;border-radius:50%;background:#f0ede7;color:#675f55;font-size:8px}
.awp5-page .awp-color-rail-list,.awp5-page .awp-pro-thumbnails{display:flex;flex-direction:column;gap:8px}
.awp5-page .awp-color-rail-card{position:relative;display:block;padding:5px;border:1px solid #e2ddd5;border-radius:10px;background:#fff;color:#252321;text-align:center;text-decoration:none;transition:.16s ease}
.awp5-page .awp-color-rail-card:hover{border-color:#a67831;color:#181715;transform:translateY(-1px)}
.awp5-page .awp-color-rail-card.is-selected{border-color:#181715;box-shadow:0 0 0 1px #181715}
.awp5-page .awp-color-rail-media{display:grid;width:100%;aspect-ratio:1/1;place-items:center;overflow:hidden;border-radius:7px;background:#f8f6f2}
.awp5-page .awp-color-rail-media img{display:block;width:100%;height:100%;padding:3px;object-fit:contain}
.awp5-page .awp-color-rail-swatch{display:block;width:34px;height:34px;border:1px solid rgba(0,0,0,.18);border-radius:50%;box-shadow:inset 0 0 0 3px rgba(255,255,255,.5)}
.awp5-page .awp-color-rail-name{display:block;overflow:hidden;margin-top:5px;font-size:8px;font-weight:900;text-overflow:ellipsis;white-space:nowrap}
.awp5-page .awp-color-rail-mode{display:block;margin-top:2px;color:#8b847b;font-size:6.5px;font-weight:800}
.awp5-page .awp-color-rail-check{position:absolute;top:7px;right:7px;display:none;width:16px;height:16px;place-items:center;border-radius:50%;background:#181715;color:#fff;font-size:7px}
.awp5-page .awp-color-rail-card.is-selected .awp-color-rail-check{display:grid}
.awp5-page .awp-view-rail .awp-pro-thumb{width:82px;height:82px;flex-basis:82px;border-radius:9px}
.awp-selected-color-summary,.awpb-selected-upper{display:flex;align-items:center;gap:10px;margin:0 0 12px;padding:11px 12px;border:1px solid #e6e1d9;border-radius:12px;background:#fbfaf8}
.awp-selected-color-swatch,.awpb-selected-upper-swatch{display:block;width:34px;height:34px;flex:0 0 34px;border:1px solid rgba(0,0,0,.18);border-radius:50%;box-shadow:inset 0 0 0 2px rgba(255,255,255,.55)}
.awp-selected-color-copy{min-width:0;flex:1}.awp-selected-color-copy small,.awp-selected-color-copy strong,.awp-selected-color-copy span,.awpb-selected-upper small,.awpb-selected-upper strong{display:block}
.awp-selected-color-copy small,.awpb-selected-upper small{color:#8b847b;font-size:7px;font-weight:900;letter-spacing:.08em;text-transform:uppercase}.awp-selected-color-copy strong,.awpb-selected-upper strong{margin-top:2px;font-size:12px}.awp-selected-color-copy span{margin-top:2px;color:#807a72;font-size:8px}
.awp-selected-color-mode{padding:5px 7px;border:1px solid #d8c5a1;color:#76531f;font-size:7px;font-weight:900;text-transform:uppercase}.awp-selected-color-mode.is-ready{border-color:#b8d5c3;color:#236a42;background:#f3faf5}
.awpb-selected-upper-note{margin-left:auto;max-width:130px;color:#8c867e;font-size:8px;line-height:1.35;text-align:right}.awp-selected-color-warning{display:flex;gap:9px;margin:-4px 0 12px;padding:10px;border:1px solid #e1c58f;background:#fff9eb;color:#795a24;font-size:9px}
.awpb-box.awp5-purchase-box{border-radius:14px;box-shadow:0 16px 42px rgba(24,23,21,.055)}.awpb-box.awp5-purchase-box .awpb-field select,.awpb-box.awp5-purchase-box .awpb-field textarea{border-radius:9px}.awpb-box.awp5-purchase-box .awp5-size-section{border-radius:12px}.awpb-box.awp5-purchase-box .awp5-size-button{border-radius:9px}.awpb-box.awp5-purchase-box .awp5-add-cart{border-radius:10px}
@media(max-width:991.98px){.awp5-page .awp-pro-gallery{grid-template-columns:1fr}.awp5-page .awp-product-left-rail{order:2;min-width:0}.awp5-page .awp-color-rail-list,.awp5-page .awp-pro-thumbnails{flex-direction:row;overflow-x:auto;padding-bottom:3px}.awp5-page .awp-color-rail-card{width:76px;flex:0 0 76px}.awp5-page .awp-view-rail .awp-pro-thumb{width:76px;height:76px;flex:0 0 76px}}
@media(max-width:575.98px){.awp5-page .awp-color-rail-card{width:70px;flex-basis:70px}.awpb-selected-upper-note{display:none}}
