/* AWA PDP Final Polish
   Scope: catalog product view only.
   B2B-safe: no overrides to restricted visibility logic.
*/

body.catalog-product-view {
    --awa-pdp-final-surface: #fff;
    --awa-pdp-final-surface-soft: #f8fafc;
    --awa-pdp-final-border: #dbe4ee;
    --awa-pdp-final-border-strong: #c7d4e2;
    --awa-pdp-final-text: #111827;
    --awa-pdp-final-muted: #64748b;
    --awa-pdp-final-shadow-sm: 0 6px 18px rgb(15 23 42 / 4%);
    --awa-pdp-final-shadow-md: 0 14px 32px rgb(15 23 42 / 9%);
    --awa-pdp-final-focus: 0 0 0 3px rgb(183 51 55 / 16%);
    --awa-pdp-transition: 280ms cubic-bezier(0.4, 0, 0.2, 1);
}

body.catalog-product-view .page-main {
    padding-top: clamp(12px, 1.8vw, 20px);
}

body.catalog-product-view .product-info-main {
    display: grid;
    gap: 12px;
}

body.catalog-product-view .product-info-main .page-title-wrapper .page-title {
    color: var(--awa-pdp-final-text);
    line-height: 1.15;
}

body.catalog-product-view .product-info-main .product.attribute.overview,
body.catalog-product-view .product-info-main .short-description,
body.catalog-product-view .product-info-main .product.attribute.description {
    color: #475569;
    line-height: 1.58;
}

body.catalog-product-view .product-info-main .product-info-price {
    border: 1px solid var(--awa-pdp-final-border);
    border-radius: 16px;
    background: var(--awa-pdp-final-surface);
    box-shadow: var(--awa-pdp-final-shadow-sm);
}

body.catalog-product-view .product-info-main .price-box .price,
body.catalog-product-view .product-info-main .special-price .price {
    color: var(--primary-color, #b73337);
    font-weight: 800;
}

body.catalog-product-view .product-info-main .old-price .price {
    color: var(--awa-pdp-final-muted);
}

body.catalog-product-view .product-info-main .b2b-customer-price-info {
    margin-top: 10px;
}

body.catalog-product-view .product-info-main .b2b-price-list-info {
    display: inline-flex;
    align-items: center;
    min-height: 32px;
    padding: 6px 12px;
    border-radius: 999px;
    border: 1px solid rgb(15 23 42 / 12%);
    background: var(--awa-pdp-final-surface-soft);
}

body.catalog-product-view .product-info-main .b2b-list-label {
    color: #334155;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: 0.01em;
}

body.catalog-product-view .product-info-main .stock.available span,
body.catalog-product-view .product-info-main .stock.unavailable span {
    min-height: 28px;
}

body.catalog-product-view .product-info-main .product-add-form,
body.catalog-product-view .product-info-main .box-tocart,
body.catalog-product-view .product-info-main .attr-product {
    border: 1px solid var(--awa-pdp-final-border);
    border-radius: 16px;
    background: var(--awa-pdp-final-surface);
    box-shadow: var(--awa-pdp-final-shadow-sm);
}

body.catalog-product-view .product-info-main .product-add-form {
    padding: 12px;
}

body.catalog-product-view .product-info-main .box-tocart {
    padding: 10px;
}

body.catalog-product-view .product-info-main .attr-product {
    padding: 10px;
}

body.catalog-product-view .product-info-main .box-tocart .action.tocart,
body.catalog-product-view .product-info-main .product-add-form .actions button.tocart {
    min-height: 48px;
    border-radius: 12px;
    font-weight: 700;
    letter-spacing: 0.01em;
    transition: background-color var(--awa-pdp-transition), box-shadow var(--awa-pdp-transition), transform var(--awa-pdp-transition);
}

body.catalog-product-view .product-info-main .box-tocart .action.tocart:hover,
body.catalog-product-view .product-info-main .product-add-form .actions button.tocart:hover {
    box-shadow: 0 8px 24px rgb(183 51 55 / 18%);
    transform: translateY(-1px);
}

body.catalog-product-view .product-info-main .box-tocart .action.tocart:focus-visible,
body.catalog-product-view .product-info-main .product-add-form .actions button.tocart:focus-visible {
    box-shadow: var(--awa-pdp-final-focus);
    outline: 0;
}

body.catalog-product-view .product-info-main .product-add-form .actions .b2b-login-to-buy-btn {
    min-height: 48px;
    border-radius: 12px;
    font-weight: 700;
    letter-spacing: 0.01em;
    text-transform: none;
    box-shadow: var(--awa-pdp-final-shadow-sm);
    transition: box-shadow var(--awa-pdp-transition), transform var(--awa-pdp-transition);
}

body.catalog-product-view .product-info-main .product-add-form .actions .b2b-login-to-buy-btn svg {
    width: 18px;
    height: 18px;
}

body.catalog-product-view .product-info-main .product-add-form .actions .b2b-login-to-buy-btn:hover,
body.catalog-product-view .product-info-main .product-add-form .actions .b2b-login-to-buy-btn:focus-visible {
    box-shadow: var(--awa-pdp-final-shadow-md);
    outline: 0;
}

body.catalog-product-view .product-info-main .product-add-form .actions .b2b-login-to-buy-btn.b2b--disabled {
    box-shadow: none;
}

body.catalog-product-view .product-info-main .attr-product .info-qty {
    display: inline-flex;
    align-items: stretch;
    gap: 8px;
}

body.catalog-product-view .product-info-main .attr-product .info-qty .qty-up,
body.catalog-product-view .product-info-main .attr-product .info-qty .qty-down {
    width: 42px;
    min-width: 42px;
    border-radius: 10px;
    border: 1px solid rgb(15 23 42 / 12%);
    background: #fff;
    color: #334155;
}

body.catalog-product-view .product-info-main .attr-product .info-qty .qty-up:focus-visible,
body.catalog-product-view .product-info-main .attr-product .info-qty .qty-down:focus-visible {
    box-shadow: var(--awa-pdp-final-focus);
    outline: 0;
}

body.catalog-product-view .product-info-main .attr-product .info-qty .input-text.qty,
body.catalog-product-view .product-info-main .attr-product .info-qty input#qty {
    border-radius: 10px;
    border-color: var(--awa-pdp-final-border-strong);
}

body.catalog-product-view .product-info-main .attr-product .info-qty .input-text.qty:focus,
body.catalog-product-view .product-info-main .attr-product .info-qty .input-text.qty:focus-visible,
body.catalog-product-view .product-info-main .attr-product .info-qty input#qty:focus,
body.catalog-product-view .product-info-main .attr-product .info-qty input#qty:focus-visible {
    box-shadow: var(--awa-pdp-final-focus);
    outline: 0;
}

body.catalog-product-view .b2b-tier-pricing {
    border-color: rgb(183 51 55 / 16%);
    box-shadow: var(--awa-pdp-final-shadow-sm);
}

body.catalog-product-view .b2b-tier-table-wrap {
    border-radius: 10px;
    border: 1px solid rgb(15 23 42 / 8%);
    background: #fff;
}

body.catalog-product-view .b2b-tier-table {
    margin: 0;
}

body.catalog-product-view .b2b-tier-table thead th {
    color: #334155;
}

body.catalog-product-view .b2b-tier-table tbody tr:nth-child(even) td {
    background: #fbfdff;
}

body.catalog-product-view .b2b-tier-table tbody tr:hover td {
    background: rgb(183 51 55 / 3%);
}

body.catalog-product-view .product-info-main .product-social-links .action {
    border-radius: 10px;
}

body.catalog-product-view .product.media,
body.catalog-product-view .product.media .fotorama__stage,
body.catalog-product-view .product.media .fotorama__nav-wrap {
    border-radius: 16px;
    overflow: clip;
}

body.catalog-product-view .product.media .fotorama__stage {
    background: linear-gradient(180deg, #fff 0%, #f8fbff 100%);
}

body.catalog-product-view .fotorama__thumb-border {
    border-color: rgb(183 51 55 / 38%) !important;
}

body.catalog-product-view .product.info.detailed {
    margin-top: clamp(16px, 2.2vw, 26px);
    border: 1px solid var(--awa-pdp-final-border);
    border-radius: 16px;
    background: var(--awa-pdp-final-surface);
    box-shadow: var(--awa-pdp-final-shadow-sm);
    overflow: clip;
}

body.catalog-product-view .product.info.detailed .items {
    border-bottom: 1px solid #edf2f7;
    background: linear-gradient(180deg, #fff 0%, #f9fbff 100%);
}

body.catalog-product-view .product.info.detailed .items > .item.title {
    margin: 0;
}

body.catalog-product-view .product.info.detailed .items > .item.title > .switch {
    min-height: 44px;
    padding: 10px 14px;
    border: 0;
}

body.catalog-product-view .product.info.detailed .items > .item.title > .switch:focus-visible {
    box-shadow: var(--awa-pdp-final-focus);
    outline: 0;
}

body.catalog-product-view .product.info.detailed .product.data.items > .item.content {
    border: 0;
    padding: 14px;
}

/* Sticky CTA safety: never force in restricted/B2B auth modes. */
body.b2b-restricted-mode .awa-pdp-sticky-cta,
body.b2b-auth-shell .awa-pdp-sticky-cta,
body.b2b-register-index .awa-pdp-sticky-cta {
    display: none !important;
}

@media (width <= 991px) {
    body.catalog-product-view .product-info-main .product-add-form,
    body.catalog-product-view .product-info-main .box-tocart,
    body.catalog-product-view .product-info-main .attr-product,
    body.catalog-product-view .product-info-main .product-info-price,
    body.catalog-product-view .product.info.detailed,
    body.catalog-product-view .product.media {
        border-radius: 12px;
    }
}

@media (width <= 767px) {
    body.catalog-product-view .page-main {
        padding-bottom: calc(82px + env(safe-area-inset-bottom, 0px));
    }

    body.catalog-product-view .product-info-main .product-add-form {
        padding: 10px;
    }

    body.catalog-product-view .product-info-main .box-tocart,
    body.catalog-product-view .product-info-main .attr-product {
        padding: 9px;
    }

    body.catalog-product-view .product-info-main .box-tocart .action.tocart,
    body.catalog-product-view .product-info-main .product-add-form .actions button.tocart,
    body.catalog-product-view .product-info-main .product-add-form .actions .b2b-login-to-buy-btn {
        min-height: 44px;
    }

    body.catalog-product-view .product.info.detailed .product.data.items > .item.content {
        padding: 12px;
    }
}

@media (prefers-reduced-motion: reduce) {
    body.catalog-product-view .product-info-main .product-add-form .actions .b2b-login-to-buy-btn,
    body.catalog-product-view .product-info-main .attr-product .info-qty .qty-up,
    body.catalog-product-view .product-info-main .attr-product .info-qty .qty-down,
    body.catalog-product-view .awa-pdp-sticky-cta {
        transition: none;
    }
}
