/*
 * BresciaPC Theme - WooCommerce common.css
 *
 * Stili trasversali per pagine WooCommerce.
 *
 * Nota (SSOT): i layout principali vivono nei blocchi in /woo/*.
 * Questo file contiene solo fix comuni e fallback per markup legacy.
 */

/* Fix allineamento titolo archive Woo (header legacy Woo). */
.woocommerce-products-header__title.page-title {
    text-align: center;
}

/* ------------------------------------------------------------------
   Blocchi SEO legacy (fallback)
   ------------------------------------------------------------------
   Alcune installazioni/shortcode o contenuti preesistenti possono ancora
   generare wrapper con questi class name.
   Manteniamo uno stile unico (no duplicazioni) basato sui token globali.
------------------------------------------------------------------ */
.product-seo-text-block,
.dynamic-category-seo-text {
    margin-top: clamp(40px, 6vh, 60px);
    margin-bottom: clamp(40px, 6vh, 60px);
    padding: clamp(25px, 4vw, 35px);
    background-color: var(--bspc-bg-light);
    border: 1px solid var(--bspc-border-light);
    border-radius: var(--bspc-radius-large);
    font-size: 0.95rem;
    line-height: 1.65;
    color: var(--bspc-text-secondary);
    box-shadow: var(--bspc-shadow-light);
    gap: clamp(30px, 5vw, 60px); /* [Audit v6.0 #32] */
}

.product-seo-text-block h2,
.product-seo-text-block h3,
.dynamic-category-seo-text h2,
.dynamic-category-seo-text h3 {
    color: var(--bspc-text-primary);
    font-size: clamp(1.4rem, 4vw, 1.7rem);
    font-weight: 600;
    margin-top: 0;
    margin-bottom: 1em;
    line-height: 1.3;
}

.product-seo-text-block p,
.dynamic-category-seo-text p {
    margin-bottom: 1.2em;
}

.product-seo-text-block p:last-child,
.dynamic-category-seo-text p:last-child {
    margin-bottom: 0;
}

.product-seo-text-block ul,
.dynamic-category-seo-text ul {
    list-style: disc;
    padding-left: 25px;
    margin: 0 0 1.2em;
}

.product-seo-text-block strong,
.dynamic-category-seo-text strong {
    font-weight: 600;
    color: var(--bspc-text-primary);
}

/* =========================================
   FIX CONFLITTI TEMA (Checkout & Thank You Page)
   ========================================= */

/* 1. Forza la dimensione del logo anche qui */
body.woocommerce-checkout .header-logo img,
body.woocommerce-order-received .header-logo img {
    max-height: 30px !important;
    max-width: 150px !important;
    width: auto !important;
    height: auto !important;
    object-fit: contain !important;
}

/* 2. Dai respiro sotto l'header */
body.woocommerce-order-received #main,
body.woocommerce-order-received #primary {
    padding-top: 30px !important;
}

/* 3. Nascondi eventuali titoli doppi sulla Thank You Page */
body.woocommerce-order-received .page-title,
body.woocommerce-order-received .entry-header,
body.woocommerce-checkout .entry-header,
body.woocommerce-checkout .page-title {
    display: none !important;
}

/* -------------------------------------------------------------------------
   WooCommerce: Thank you (ordine ricevuto) - APPLE STYLE
   ------------------------------------------------------------------------- */

/* 1. Thank-you: flusso transazionale compatto e senza duplicazioni */
body.woocommerce-order-received {
    background: var(--bspc-bg-light, #f5f7fb) !important;
}

body.woocommerce-order-received .woocommerce-order {
    display: flex;
    max-width: 920px;
    flex-direction: column;
    gap: 16px;
    margin: clamp(22px, 4vw, 48px) auto 72px;
    padding: 0 20px;
}

body.woocommerce-order-received .woocommerce-notice {
    display: none !important;
}

.bpc-thankyou-unified-card,
body.woocommerce-order-received .woocommerce-order-overview,
body.woocommerce-order-received .bpc-tracking-cta,
body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details {
    margin: 0;
    overflow: hidden;
    background: var(--bspc-bg-white, #fff);
    border: 1px solid rgba(15, 23, 42, .08);
    border-radius: 22px;
    box-shadow: 0 14px 40px rgba(15, 23, 42, .06);
}

body.woocommerce-order-received .bpc-thankyou-unified-card { order: 1; }
body.woocommerce-order-received .woocommerce-order-overview { order: 2; }
body.woocommerce-order-received .bpc-tracking-cta { order: 3; }
body.woocommerce-order-received .woocommerce-order-details { order: 4; }
body.woocommerce-order-received .woocommerce-customer-details { order: 5; }

.bpc-ty-success-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 16px;
    padding: clamp(24px, 4vw, 38px);
    color: #0e3f22;
    background: linear-gradient(135deg, #f0fbf4 0%, #f7fcf8 58%, #eef7ff 100%);
    border-bottom: 1px solid rgba(20, 116, 58, .12);
    text-align: left;
}

.bpc-ty-eyebrow {
    grid-column: 2;
    align-self: end;
    margin-bottom: -12px;
    color: #276641;
    font-size: 11px;
    font-weight: 780;
    letter-spacing: .08em;
    text-transform: uppercase;
}

.bpc-ty-success-header .bpc-ty-icon {
    grid-row: 1 / span 2;
    display: grid;
    width: 52px;
    height: 52px;
    place-items: center;
    margin: 0;
    color: #18743a;
    background: #fff;
    border: 1px solid rgba(24, 116, 58, .16);
    border-radius: 16px;
    box-shadow: 0 8px 24px rgba(24, 116, 58, .1);
}

.bpc-ty-success-header .bpc-ty-icon svg { width: 27px; height: 27px; }
.bpc-ty-success-header h1 {
    margin: 0 0 7px;
    color: #102317;
    font-size: clamp(27px, 4vw, 38px);
    font-weight: 760;
    letter-spacing: -.045em;
    line-height: 1.05;
}
.bpc-ty-success-header p {
    max-width: 620px;
    margin: 0;
    color: #365b45;
    font-size: 14px;
    font-weight: 500;
    line-height: 1.55;
}
.bpc-ty-success-header .bpc-ty-appt-when {
    display: inline-block;
    margin-top: 8px;
    color: #0f5f2f;
    font-size: 14px;
}
.bpc-ty-mode {
    grid-column: 3;
    grid-row: 1 / span 2;
    align-self: center;
    padding: 7px 11px;
    color: #0b5d31;
    background: rgba(255, 255, 255, .84);
    border: 1px solid rgba(24, 116, 58, .16);
    border-radius: 999px;
    font-size: 11px;
    font-weight: 750;
}

.bpc-ty-body { display: grid; gap: 24px; padding: clamp(24px, 4vw, 38px); }
.bpc-ty-next h2,
.bpc-ty-info-card h2 {
    margin: 0;
    color: var(--bspc-text-primary, #1d1d1f);
    font-size: 18px;
    font-weight: 740;
    letter-spacing: -.02em;
}
.bpc-ty-next > ol {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin: 14px 0 0;
    padding: 0;
    list-style: none;
}
.bpc-ty-next li {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 10px;
    align-items: start;
    min-width: 0;
    padding: 15px;
    background: #f7f9fc;
    border: 1px solid rgba(15, 23, 42, .07);
    border-radius: 15px;
}
.bpc-ty-next li > span {
    display: grid;
    width: 32px;
    height: 32px;
    place-items: center;
    color: var(--bspc-blue-primary, #0066cc);
    background: #e8f2ff;
    border-radius: 10px;
    font-size: 12px;
    font-weight: 800;
}
.bpc-ty-next li strong { display: block; margin: 1px 0 4px; color: #1d1d1f; font-size: 13px; }
.bpc-ty-next li p { margin: 0; color: #5f6368; font-size: 12px; line-height: 1.5; }

.bpc-ty-info-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.bpc-ty-info-card {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 12px;
    padding: 16px;
    background: #fff;
    border: 1px solid rgba(0, 102, 204, .13);
    border-radius: 16px;
}
.bpc-ty-info-card__icon {
    display: grid;
    width: 38px;
    height: 38px;
    place-items: center;
    color: #0066cc;
    background: #eef6ff;
    border-radius: 12px;
    font-size: 20px;
    font-weight: 800;
}
.bpc-ty-info-card h2 { font-size: 14px; }
.bpc-ty-info-card p { margin: 5px 0 0; color: #60646b; font-size: 12px; line-height: 1.5; }

.bpc-ty-lab-card {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
    padding: 17px 19px;
    background: #f7f9fc;
    border-radius: 16px;
}
.bpc-ty-lab-card span {
    display: block;
    margin-bottom: 4px;
    color: #747981;
    font-size: 10.5px;
    font-weight: 760;
    letter-spacing: .06em;
    text-transform: uppercase;
}
.bpc-ty-lab-card strong { display: block; margin-bottom: 2px; font-size: 13px; }
.bpc-ty-lab-card p { margin: 0; color: #555b63; font-size: 12px; line-height: 1.45; }

.bpc-ty-actions { display: flex; flex-wrap: wrap; justify-content: flex-start; gap: 10px; }
.bpc-thankyou-print-btn,
.bpc-thankyou-print-btn-outline {
    display: inline-flex;
    min-height: 44px;
    width: auto;
    align-items: center;
    justify-content: center;
    padding: 10px 18px;
    border-radius: 12px;
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}
.bpc-thankyou-print-btn { color: #fff; background: var(--bspc-blue-primary, #0066cc); border: 1px solid var(--bspc-blue-primary, #0066cc); }
.bpc-thankyou-print-btn-outline { color: var(--bspc-blue-primary, #0066cc); background: #fff; border: 1px solid rgba(0, 102, 204, .28); }
.bpc-thankyou-print-btn:hover { color: #fff; background: #0055b3; }
.bpc-thankyou-print-btn-outline:hover { color: #0055b3; background: #f3f8ff; }

.bpc-ty-backup { padding-top: 4px; border-top: 1px solid rgba(15, 23, 42, .08); }
.bpc-ty-backup summary { min-height: 42px; padding: 13px 0 0; color: #34383d; cursor: pointer; font-size: 12.5px; font-weight: 700; }
.bpc-ty-backup p { margin: 8px 0 0; color: #666b72; font-size: 12px; line-height: 1.55; }

body.woocommerce-order-received .woocommerce-order-overview {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(145px, 1fr));
    gap: 0;
    padding: 0;
    list-style: none;
}
body.woocommerce-order-received .woocommerce-order-overview li {
    display: block;
    min-width: 0;
    margin: 0;
    padding: 15px 18px;
    color: #777c84;
    border: 0;
    border-right: 1px solid rgba(15, 23, 42, .07);
    border-radius: 0;
    box-shadow: none;
    font-size: 10px;
    font-weight: 730;
    letter-spacing: .055em;
    line-height: 1.3;
    text-align: left;
    text-transform: uppercase;
}
body.woocommerce-order-received .woocommerce-order-overview li:last-child { border-right: 0; }
body.woocommerce-order-received .woocommerce-order-overview li::before { display: none !important; }
body.woocommerce-order-received .woocommerce-order-overview strong {
    display: block;
    margin-top: 5px;
    color: #222529;
    font-size: 13px;
    font-weight: 720;
    letter-spacing: normal;
    text-transform: none;
}

body.woocommerce-order-received .bpc-tracking-cta {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    gap: 13px;
    padding: 18px 20px;
    border-color: rgba(0, 102, 204, .16);
    box-shadow: 0 10px 28px rgba(0, 68, 136, .06);
}
.bpc-tracking-cta__icon {
    display: grid;
    width: 40px;
    height: 40px;
    place-items: center;
    color: #0066cc;
    background: #eaf4ff;
    border-radius: 12px;
    font-size: 22px;
    font-weight: 800;
}
.bpc-tracking-cta__copy { min-width: 0; }
.bpc-tracking-cta__copy strong { display: block; color: #1d1d1f; font-size: 14px; }
.bpc-tracking-cta__copy span { display: block; margin-top: 3px; color: #666b72; font-size: 12px; line-height: 1.45; }
.bpc-tracking-cta__copy code { padding: 2px 5px; color: #083d70; background: #eef6ff; border-radius: 5px; font-family: ui-monospace, SFMono-Regular, Menlo, monospace; font-size: 11.5px; font-weight: 800; }
.bpc-tracking-cta__button { min-height: 42px; padding: 9px 15px; border-radius: 11px; font-size: 12.5px; white-space: nowrap; }

body.woocommerce-order-received .woocommerce-order-details,
body.woocommerce-order-received .woocommerce-customer-details { padding: clamp(22px, 4vw, 32px); }
.woocommerce-order-details__title,
.woocommerce-column__title { margin: 0 0 18px; color: #1d1d1f; font-size: 19px; font-weight: 740; letter-spacing: -.02em; }
body.woocommerce-order-received .woocommerce-order-details table { width: 100%; margin: 0; border-collapse: collapse; }
body.woocommerce-order-received .woocommerce-order-details th,
body.woocommerce-order-received .woocommerce-order-details td { padding: 13px 0; border-bottom: 1px solid #edf0f4; text-align: left; }
body.woocommerce-order-received .woocommerce-order-details thead th { color: #777c84; font-size: 10.5px; font-weight: 740; letter-spacing: .055em; text-transform: uppercase; }
body.woocommerce-order-received .woocommerce-order-details tbody td,
body.woocommerce-order-received .woocommerce-order-details tfoot { color: #2b2e33; font-size: 12.5px; }
body.woocommerce-order-received .woocommerce-order-details a { color: #0066cc; font-weight: 650; text-decoration: none; }
body.woocommerce-order-received .woocommerce-customer-details address { padding: 0; color: #555b63; border: 0; font-size: 13px; font-style: normal; line-height: 1.6; }

@media (max-width: 767.98px) {
    body.woocommerce-order-received #main,
    body.woocommerce-order-received #primary { padding-top: 12px !important; }
    body.woocommerce-order-received .woocommerce-order { gap: 12px; margin: 14px auto 48px; padding: 0 14px; }
    .bpc-ty-success-header { grid-template-columns: auto minmax(0, 1fr); gap: 12px; padding: 22px 18px; }
    .bpc-ty-eyebrow { grid-column: 2; margin-bottom: -9px; }
    .bpc-ty-success-header .bpc-ty-icon { width: 44px; height: 44px; border-radius: 14px; }
    .bpc-ty-success-header h1 { font-size: 27px; }
    .bpc-ty-mode { grid-column: 2; grid-row: auto; justify-self: start; margin-top: 3px; }
    .bpc-ty-body { gap: 19px; padding: 20px 17px; }
    .bpc-ty-next > ol,
    .bpc-ty-info-grid,
    .bpc-ty-lab-card { grid-template-columns: 1fr; }
    .bpc-ty-next > ol { gap: 8px; }
    .bpc-ty-next li { padding: 13px; }
    .bpc-ty-actions { display: grid; grid-template-columns: 1fr; }
    .bpc-thankyou-print-btn,
    .bpc-thankyou-print-btn-outline { width: 100%; }
    body.woocommerce-order-received .woocommerce-order-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body.woocommerce-order-received .woocommerce-order-overview li { border-right: 0; border-bottom: 1px solid rgba(15, 23, 42, .07); }
    body.woocommerce-order-received .woocommerce-order-overview li:nth-child(odd) { border-right: 1px solid rgba(15, 23, 42, .07); }
    body.woocommerce-order-received .bpc-tracking-cta { grid-template-columns: auto minmax(0, 1fr); padding: 16px; }
    .bpc-tracking-cta__button { grid-column: 1 / -1; width: 100%; }
    body.woocommerce-order-received .woocommerce-order-details,
    body.woocommerce-order-received .woocommerce-customer-details { padding: 20px 17px; }
}

/* CTA in My Account → Ordini → Dettaglio */
.woocommerce-account .bpc-order-shipping-info {
    margin: 18px 0;
}

.woocommerce-account .bpc-order-shipping-info__card {
    padding: 18px;
}

.bpc-order-shipping-info__title {
    margin: 0 0 10px;
    font-size: var(--bspc-font-lg);
    line-height: 1.3;
}

.bpc-order-shipping-info__text {
    margin: 0 0 12px;
    color: var(--bspc-text-secondary);
}

.bpc-order-shipping-info__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

/* [Audit v6.0 #graphic-3f] Use shadow token for shipping box */
/* Shipping box riutilizzabile (account). */
.bspc-shipping-box {
    margin: 16px 0;
    padding: 32px;
    border: 1px solid rgba(0,0,0,0.04);
    border-radius: var(--bspc-radius-large, 22px);
    background: var(--bspc-bg-white);
    box-shadow: var(--bspc-shadow-xl);
}

.bspc-shipping-box__title {
    margin: 0 0 8px 0;
    font-size: clamp(1.3rem, 3.5vw, 1.6rem);
    font-weight: 700;
    letter-spacing: -0.02em;
    color: var(--bspc-text-primary);
}

.bspc-shipping-box__lead {
    font-size: 0.95rem;
    color: var(--bspc-text-light);
    margin-bottom: 24px;
    line-height: 1.55;
}

.bspc-shipping-box__address-card {
    background: var(--bspc-bg-light);
    border-radius: var(--bspc-radius-medium);
    padding: 20px;
    margin-bottom: 24px;
    border: 1px solid rgba(0,0,0,0.04);
}
.bspc-shipping-box__address-card span {
    display: block;
    font-size: 1rem;
    color: var(--bspc-text-primary);
    line-height: 1.45;
}
.bspc-shipping-box__address-card .address-name {
    font-weight: 700;
    font-size: 1.15rem;
    margin-bottom: 2px;
}

.bspc-shipping-box__hours-label {
    font-size: var(--bspc-font-xs);
    text-transform: uppercase;
    letter-spacing: 0.05em;
    font-weight: 700;
    color: var(--bspc-text-light);
    margin: 0 0 8px 0;
}
.bspc-shipping-box__hours-list {
    list-style: none;
    padding: 0;
    margin: 0 0 24px 0;
    font-size: var(--bspc-font-base);
    color: var(--bspc-text-primary);
}

.bspc-shipping-box__notes-wrapper {
    background: #eff6ff;
    padding: 16px;
    border-radius: var(--bspc-radius-small);
    border: 1px solid rgba(0, 102, 204, 0.08);
}
/* [7.11.9] Il box note spedizione (Consiglio / Spedizione di ritorno) era
   #eff6ff chiaro e non si adattava al dark: controparte scura + testo leggibile. */
[data-theme="dark"] .bspc-shipping-box__notes-wrapper { background: rgba(41, 151, 255, 0.10); border-color: rgba(41, 151, 255, 0.22); }
[data-theme="dark"] .bspc-shipping-box__note { color: #a9cdff; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .bspc-shipping-box__notes-wrapper { background: rgba(41, 151, 255, 0.10); border-color: rgba(41, 151, 255, 0.22); }
  :root:not([data-theme="light"]) .bspc-shipping-box__note { color: #a9cdff; }
}
.bspc-shipping-box__note {
    margin: 0 0 8px 0;
    font-size: var(--bspc-font-base-sm);
    color: var(--bspc-blue-primary-hover);
    line-height: 1.5;
    display: flex;
    align-items: flex-start;
    gap: 8px;
}
.bspc-shipping-box__note svg {
    flex-shrink: 0;
    margin-top: 2px;
}
.bspc-shipping-box__note:last-child { margin: 0; }

@media (max-width: 767.98px) {
    .bspc-shipping-box {
        padding: 24px 20px;
    }
}
