/**
 * Stone Soup — WooCommerce Overrides
 * Minimal cart design: centered, classical typography, paper-on-linen.
 * Matches cart-concept-a-minimal.html (rev 2).
 *
 * @package StoneSoup
 * @version 5.5.2
 */


/* ==========================================================================
   CART PAGE — Header treatment
   WooCommerce uses .woocommerce-cart body class.
   The page title "Cart" is rendered by WP; we replace visually.
   ========================================================================== */

.woocommerce-cart .stonesoup-page-header,
.woocommerce-cart .entry-title,
.woocommerce-cart .page-hero {
    display: none;
}

/* Hide "added to cart" / "removed" notices — the cart contents speak for themselves */
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-error {
    display: none;
}

/* Hide "Return to shop" on empty cart — nav bar has "Get Member Access" */
.woocommerce-cart .return-to-shop {
    display: none;
}

/* "Thank You" header + colorful StoneSoup.com injected via functions.php hook */
.stonesoup-cart-header {
    text-align: center;
    padding-top: 1rem;
    margin-bottom: 0;
}
.stonesoup-cart-header .cart-title {
    font-family: var(--stonesoup-font-display);
    font-weight: 300;
    font-size: 2.8rem;
    color: var(--stonesoup-color-poetry);
    line-height: 1.15;
    letter-spacing: 0.01em;
    margin-bottom: 0.15rem;
}
.stonesoup-cart-header .cart-site {
    font-family: var(--stonesoup-font-ui);
    font-weight: 600;
    font-size: 0.85rem;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}
.stonesoup-cart-header .cart-rule {
    width: 3em;
    height: 0.5px;
    background: var(--stonesoup-text-rule);
    border: none;
    margin: 1em auto 3rem;
}


/* ==========================================================================
   CART TABLE — Simplify WooCommerce's default table layout
   ========================================================================== */

.woocommerce-cart .woocommerce {
    max-width: 32rem;
    margin: 0 auto;
}

.woocommerce-cart .shop_table .product-thumbnail,
.woocommerce-cart .shop_table .product-quantity {
    display: none;
}

.woocommerce-cart .shop_table {
    border: none;
    border-collapse: collapse;
    width: 100%;
}
.woocommerce-cart .shop_table th,
.woocommerce-cart .shop_table td {
    border: none;
    padding: 0.5rem 0;
    font-family: var(--stonesoup-font-reading);
    font-size: 1.05rem;
    color: var(--stonesoup-text-dark);
    text-align: center;
}
.woocommerce-cart .shop_table thead {
    display: none;
}

.woocommerce-cart .shop_table .product-name {
    font-family: var(--stonesoup-font-display);
    font-weight: 400;
    font-size: 1.6rem;
    text-align: center;
}
.woocommerce-cart .shop_table .product-name a {
    color: var(--stonesoup-text-dark);
    text-decoration: none;
}

.woocommerce-cart .shop_table .product-price,
.woocommerce-cart .shop_table .product-subtotal {
    font-family: var(--stonesoup-font-reading);
    font-size: 1.3rem;
    color: var(--stonesoup-text-medium);
    text-align: center;
}

.woocommerce-cart .shop_table .product-remove a {
    font-family: var(--stonesoup-font-ui);
    font-size: 0.8rem;
    color: var(--stonesoup-text-light);
    text-decoration: none;
}
.woocommerce-cart .shop_table .product-remove a:hover {
    color: var(--stonesoup-text-dark);
    text-decoration: underline;
}
.woocommerce-cart .shop_table .product-remove a:focus-visible {
    outline: 3px solid var(--stonesoup-focus-color);
    outline-offset: 2px;
}


/* ==========================================================================
   CART TOTALS
   ========================================================================== */

.woocommerce-cart .cart_totals {
    width: 100%;
    max-width: 32rem;
    margin: 0 auto;
    float: none;
}
.woocommerce-cart .cart_totals h2 {
    display: none;
}
.woocommerce-cart .cart_totals table {
    border: none;
    border-collapse: collapse;
    width: 100%;
}
.woocommerce-cart .cart_totals table::before {
    content: '';
    display: block;
    height: 0.5px;
    background: var(--stonesoup-text-rule);
    margin-bottom: 1.5rem;
}
.woocommerce-cart .cart_totals th,
.woocommerce-cart .cart_totals td {
    border: none;
    padding: 0.4rem 0;
}
.woocommerce-cart .cart_totals th {
    font-family: var(--stonesoup-font-ui);
    font-weight: 600;
    font-size: 0.95rem;
    color: var(--stonesoup-text-dark);
    text-transform: uppercase;
    letter-spacing: 0.04em;
    text-align: left;
}
.woocommerce-cart .cart_totals td {
    font-family: var(--stonesoup-font-reading);
    font-size: 1.4rem;
    color: var(--stonesoup-text-dark);
    text-align: right;
}

/* Recurring totals (WooCommerce Subscriptions) */
.woocommerce-cart .cart_totals .recurring-totals td,
.woocommerce-cart .cart_totals .recurring-totals th {
    font-size: 0.85rem;
    color: var(--stonesoup-text-light);
    font-family: var(--stonesoup-font-ui);
    font-weight: 400;
    text-transform: none;
    letter-spacing: 0;
}


/* ==========================================================================
   COUPON FIELD — keep visible, style to match
   ========================================================================== */

.woocommerce-cart .coupon {
    max-width: 32rem;
    margin: 1.5rem auto 0;
    display: flex;
    gap: 0.5rem;
    align-items: center;
}
/* Visually hide label but keep it in the accessibility tree */
.woocommerce-cart .coupon label {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}
.woocommerce-cart .coupon #coupon_code {
    flex: 1;
    padding: 0.55rem 0.8rem;
    border: 1px solid var(--stonesoup-border);
    border-radius: 4px;
    font-family: var(--stonesoup-font-ui);
    font-size: 0.85rem;
    color: var(--stonesoup-text-dark);
    background: var(--stonesoup-cream);
}
.woocommerce-cart .coupon #coupon_code::placeholder {
    color: var(--stonesoup-text-rule);
}
.woocommerce-cart .coupon #coupon_code:focus {
    outline: none;
    border-color: var(--stonesoup-focus-color);
    box-shadow: 0 0 0 2px var(--stonesoup-focus-ring);
}
.woocommerce-cart .coupon .button {
    padding: 0.55rem 1.2rem;
    border: 1px solid var(--stonesoup-border);
    border-radius: 4px;
    background: var(--stonesoup-page);
    font-family: var(--stonesoup-font-ui);
    font-weight: 600;
    font-size: 0.78rem;
    color: var(--stonesoup-text-medium);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    cursor: pointer;
    transition: border-color 0.2s ease, color 0.2s ease;
}
.woocommerce-cart .coupon .button:hover {
    border-color: var(--stonesoup-text-dark);
    color: var(--stonesoup-text-dark);
}

/* Hide "Update cart" button — not needed with qty hidden */
.woocommerce-cart .shop_table .actions > .button[name="update_cart"] {
    display: none;
}


/* ==========================================================================
   CHECKOUT BUTTON — Vermillion
   ========================================================================== */

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    display: block;
    max-width: 32rem;
    margin: 1.5rem auto 1.5rem;
    padding: 1rem 2rem;
    background: var(--stonesoup-vermillion);
    color: var(--stonesoup-page);
    border: none;
    border-radius: 4px;
    font-family: var(--stonesoup-font-ui);
    font-weight: 700;
    font-size: 0.9rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    text-decoration: none;
    text-align: center;
    transition: background 0.2s ease;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
    background: var(--stonesoup-color-story);
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:focus-visible {
    outline: 3px solid var(--stonesoup-focus-color);
    outline-offset: 2px;
}


/* ==========================================================================
   RENEWAL NOTICE — below totals
   ========================================================================== */

.stonesoup-cart-renewal {
    max-width: 32rem;
    margin: 1rem auto 0;
    text-align: center;
    font-family: var(--stonesoup-font-ui);
    font-size: 0.85rem;
    color: var(--stonesoup-text-light);
    line-height: 1.6;
}

.stonesoup-cart-nonprofit {
    max-width: 32rem;
    margin: 2.5rem auto 0;
    text-align: center;
    font-style: italic;
    font-family: var(--stonesoup-font-reading);
    font-size: 0.85rem;
    color: var(--stonesoup-text-rule);
    line-height: 1.6;
}


/* ==========================================================================
   CART-COLLATERALS — remove default float layout
   ========================================================================== */

.woocommerce-cart .cart-collaterals {
    width: 100%;
    float: none;
    clear: both;
}
.woocommerce-cart .cart-collaterals::after {
    content: '';
    display: table;
    clear: both;
}

.woocommerce-cart .cross-sells {
    display: none;
}


/* ==========================================================================
   MY ACCOUNT PAGE — Login form + Dashboard
   Stone Soup fonts and colors, centered layout, functional.
   Customers can view subscriptions and cancel from here.
   ========================================================================== */

/* ── Login form (logged out state) ── */

.woocommerce-account .woocommerce {
    max-width: 28rem;
    margin: 0 auto;
}

.woocommerce-account .woocommerce-form-login {
    border: none;
    padding: 0;
    margin: 0;
}

.woocommerce-account .woocommerce-form-login label {
    font-family: var(--stonesoup-font-ui);
    font-weight: 600;
    font-size: 0.85rem;
    letter-spacing: 0.04em;
    color: var(--stonesoup-text-dark);
    text-transform: uppercase;
}

.woocommerce-account .woocommerce-form-login .input-text {
    width: 100%;
    padding: 0.65rem 0.8rem;
    border: 1px solid var(--stonesoup-border);
    border-radius: 4px;
    font-family: var(--stonesoup-font-reading);
    font-size: 1.05rem;
    color: var(--stonesoup-text-dark);
    background: var(--stonesoup-cream);
}
.woocommerce-account .woocommerce-form-login .input-text:focus {
    outline: none;
    border-color: var(--stonesoup-focus-color);
    box-shadow: 0 0 0 2px var(--stonesoup-focus-ring);
}

.woocommerce-account .woocommerce-form-login .woocommerce-button {
    display: block;
    width: 100%;
    padding: 0.9rem 2rem;
    background: var(--stonesoup-vermillion);
    color: #fff;
    border: none;
    border-radius: 4px;
    font-family: var(--stonesoup-font-ui);
    font-weight: 700;
    font-size: 0.9rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
    transition: background 0.2s ease;
}
.woocommerce-account .woocommerce-form-login .woocommerce-button:hover {
    background: var(--stonesoup-color-story);
}

.woocommerce-account .woocommerce-form-login .woocommerce-form-login__rememberme {
    font-family: var(--stonesoup-font-ui);
    font-size: 0.85rem;
    color: var(--stonesoup-text-medium);
}

.woocommerce-account .woocommerce-LostPassword a {
    font-family: var(--stonesoup-font-ui);
    font-size: 0.85rem;
    color: var(--stonesoup-teal);
    text-decoration: none;
}
.woocommerce-account .woocommerce-LostPassword a:hover {
    text-decoration: underline;
}


/* ── Dashboard (logged in state) ── */

/* Widen container for dashboard — nav + content need room */
.woocommerce-account.logged-in .woocommerce {
    max-width: 48rem;
}

/* Navigation — horizontal tabs */
.woocommerce-MyAccount-navigation {
    margin-bottom: 2rem;
    border-bottom: 1px solid var(--stonesoup-border);
}
.woocommerce-MyAccount-navigation ul {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 0;
}
.woocommerce-MyAccount-navigation li {
    margin: 0;
}
.woocommerce-MyAccount-navigation li a {
    display: block;
    padding: 0.6rem 1.2rem;
    font-family: var(--stonesoup-font-ui);
    font-weight: 600;
    font-size: 0.82rem;
    letter-spacing: 0.06em;
    text-transform: uppercase;
    color: var(--stonesoup-text-medium);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    transition: color 0.2s, border-color 0.2s;
}
.woocommerce-MyAccount-navigation li a:hover {
    color: var(--stonesoup-text-dark);
}
.woocommerce-MyAccount-navigation li.is-active a {
    color: var(--stonesoup-teal);
    border-bottom-color: var(--stonesoup-teal);
}

/* Content area */
.woocommerce-MyAccount-content {
    font-family: var(--stonesoup-font-reading);
    font-size: 1.05rem;
    line-height: 1.7;
    color: var(--stonesoup-text-dark);
}
.woocommerce-MyAccount-content p {
    text-indent: 0;
    margin-bottom: 1rem;
}
.woocommerce-MyAccount-content a {
    color: var(--stonesoup-teal);
    text-decoration: none;
}
.woocommerce-MyAccount-content a:hover {
    text-decoration: underline;
}

/* Tables in account (orders, subscriptions) */
.woocommerce-MyAccount-content table {
    width: 100%;
    border-collapse: collapse;
    font-family: var(--stonesoup-font-ui);
    font-size: 0.9rem;
}
.woocommerce-MyAccount-content table th {
    font-weight: 600;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    font-size: 0.78rem;
    color: var(--stonesoup-text-medium);
    border-bottom: 1px solid var(--stonesoup-border);
    padding: 0.6rem 0.8rem;
    text-align: left;
}
.woocommerce-MyAccount-content table td {
    padding: 0.7rem 0.8rem;
    border-bottom: 1px solid var(--stonesoup-border-medium, #e8e4dc);
    color: var(--stonesoup-text-dark);
}

/* Action buttons in tables (View, Cancel, etc.) */
.woocommerce-MyAccount-content table .button,
.woocommerce-MyAccount-content .woocommerce-button {
    display: inline-block;
    padding: 0.4rem 1rem;
    border: 1px solid var(--stonesoup-border);
    border-radius: 4px;
    background: var(--stonesoup-page, #fff);
    font-family: var(--stonesoup-font-ui);
    font-weight: 600;
    font-size: 0.78rem;
    color: var(--stonesoup-text-medium);
    text-transform: uppercase;
    letter-spacing: 0.06em;
    text-decoration: none;
    cursor: pointer;
    transition: border-color 0.2s, color 0.2s;
}
.woocommerce-MyAccount-content table .button:hover,
.woocommerce-MyAccount-content .woocommerce-button:hover {
    border-color: var(--stonesoup-text-dark);
    color: var(--stonesoup-text-dark);
}

/* Cancel button — make it clearly findable */
.woocommerce-MyAccount-content .subscription-actions .button.cancel {
    border-color: var(--stonesoup-color-story);
    color: var(--stonesoup-color-story);
}
.woocommerce-MyAccount-content .subscription-actions .button.cancel:hover {
    background: var(--stonesoup-color-story);
    color: #fff;
}

/* Address blocks */
.woocommerce-MyAccount-content .woocommerce-Address {
    font-family: var(--stonesoup-font-ui);
    font-size: 0.95rem;
    line-height: 1.6;
}

/* Edit account form */
.woocommerce-MyAccount-content .woocommerce-EditAccountForm label {
    font-family: var(--stonesoup-font-ui);
    font-weight: 600;
    font-size: 0.85rem;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    color: var(--stonesoup-text-dark);
}
.woocommerce-MyAccount-content .woocommerce-EditAccountForm .input-text {
    width: 100%;
    padding: 0.55rem 0.8rem;
    border: 1px solid var(--stonesoup-border);
    border-radius: 4px;
    font-family: var(--stonesoup-font-reading);
    font-size: 1rem;
    color: var(--stonesoup-text-dark);
}
.woocommerce-MyAccount-content .woocommerce-EditAccountForm .woocommerce-Button {
    padding: 0.8rem 2rem;
    background: var(--stonesoup-teal);
    color: #fff;
    border: none;
    border-radius: 4px;
    font-family: var(--stonesoup-font-ui);
    font-weight: 700;
    font-size: 0.85rem;
    letter-spacing: 0.08em;
    text-transform: uppercase;
    cursor: pointer;
}
.woocommerce-MyAccount-content .woocommerce-EditAccountForm .woocommerce-Button:hover {
    background: var(--stonesoup-teal-hover);
}


/* ==========================================================================
   MOBILE
   ========================================================================== */

@media (max-width: 768px) {
    .stonesoup-cart-header .cart-title {
        font-size: 2.2rem;
    }
    .woocommerce-cart .shop_table .product-name {
        font-size: 1.4rem;
    }
    .woocommerce-cart .coupon {
        flex-direction: column;
    }
    .woocommerce-cart .coupon #coupon_code,
    .woocommerce-cart .coupon .button {
        width: 100%;
    }

    /* My Account — stack nav on mobile */
    .woocommerce-MyAccount-navigation ul {
        flex-direction: column;
    }
    .woocommerce-MyAccount-navigation li a {
        border-bottom: none;
        border-left: 2px solid transparent;
        padding: 0.5rem 1rem;
    }
    .woocommerce-MyAccount-navigation li.is-active a {
        border-bottom: none;
        border-left-color: var(--stonesoup-teal);
    }
    .woocommerce-account .woocommerce,
    .woocommerce-account.logged-in .woocommerce {
        max-width: none;
        padding: 0 1rem;
    }
}


/* ==========================================================================
   SUBSCRIBE PAGE — animated name wall
   WordPress strips <style> from page content, so all subscribe styling
   lives here. Paste file provides HTML only; inline styles on footer
   override these values intentionally (paste file is source of truth).
   ========================================================================== */

/* Full-bleed landing page — zero all spacing above hero */
body.landing-page .sss-tint-block{background:transparent}
body.landing-page .stonesoup-page-header{display:none}
body.landing-page .stonesoup-page{margin:0;padding:0}
body.landing-page .stonesoup-page-content{margin:0;padding:0}

/* Color bar */
.stonesoup-page-content .ss-order-color-bar{display:flex;height:10px;width:100%;margin:0;padding:0}
.stonesoup-page-content .ss-order-color-bar span{flex:1}
.ss-bar-1{background:#c04a25}.ss-bar-2{background:#2560a0}.ss-bar-3{background:#5c3db8}.ss-bar-4{background:#9a6b1e}.ss-bar-5{background:#1a826a}.ss-bar-6{background:#a03058}

/* Name wall — 600px dark background */
.stonesoup-page-content .ss-name-wall{position:relative;background:#1a1816;overflow:hidden;height:85vh;margin:0!important;padding:0}
.stonesoup-page-content .ss-name-wall > p{display:none}

/* Orphist name colors */
.ss-name-wall .o1{color:#c04a25}.ss-name-wall .o2{color:#2560a0}.ss-name-wall .o3{color:#5c3db8}.ss-name-wall .o4{color:#9a6b1e}.ss-name-wall .o5{color:#1a826a}.ss-name-wall .o6{color:#a03058}

/* Names track — scrolling animation */
.stonesoup-page-content .ss-names-track{padding:2rem 3rem;line-height:1.95;text-align:justify;font-family:'EB Garamond',Georgia,serif!important;font-size:0.82rem;color:rgba(255,255,255,0.22);will-change:transform;animation:ss-scroll-down 80s linear infinite;text-indent:0}
@keyframes ss-scroll-down{0%{transform:translateY(-25%)}100%{transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.stonesoup-page-content .ss-names-track{animation:none}}

/* Hero overlay */
.stonesoup-page-content .ss-hero-overlay{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);z-index:2;text-align:center;width:80%}
.stonesoup-page-content h1.ss-hero-title{font-family:'Cormorant Garamond',Georgia,serif;font-weight:300;font-size:4.9rem;color:#fff;line-height:1.15;margin:0 0 0.3rem;padding:0;border:none;text-align:center;text-indent:0;text-shadow:0 0 40px #1a1816,0 0 80px #1a1816,0 0 120px #1a1816}
.stonesoup-page-content .ss-hero-subtitle{font-family:'EB Garamond',Georgia,serif!important;font-style:italic;font-size:4rem;color:rgba(255,255,255,0.65);margin-bottom:1.5rem;text-shadow:0 0 30px #1a1816,0 0 60px #1a1816;text-indent:0}

/* Buttons */
.stonesoup-page-content .ss-hero-buttons{display:flex;gap:1rem;justify-content:center}
.stonesoup-page-content .ss-btn{display:block;text-align:center;text-decoration:none;font-family:'Source Sans 3',sans-serif!important;font-weight:600;font-size:0.9rem;letter-spacing:0.06em;padding:0.8rem 2rem;border:2px solid rgba(255,255,255,0.5);color:#fff;background:rgba(26,24,22,0.7);cursor:pointer;transition:all 0.2s}
.stonesoup-page-content .ss-btn:hover{background:#fff;color:#1a1816;border-color:#fff}
.stonesoup-page-content .ss-btn .ss-price{display:block;font-size:1.4rem;font-family:'Cormorant Garamond',Georgia,serif;font-weight:400;margin-top:0.15rem}

/* Footer */
.stonesoup-page-content .ss-order-footer{padding:2rem 4rem 2.5rem;text-align:center;font-family:'Source Sans 3',sans-serif!important;font-size:1.8rem;color:#b0a898;line-height:1.9;text-indent:0}
.stonesoup-page-content .ss-order-footer .ss-benefits{display:none}
.stonesoup-page-content .ss-order-footer .ss-nonprofit{margin-bottom:0.5rem;text-indent:0}
.stonesoup-page-content .ss-order-footer a{color:#2560a0;text-decoration:none}
.stonesoup-page-content .ss-order-footer a:hover{text-decoration:underline}

/* Subscribe mobile */
@media(max-width:768px){
.stonesoup-page-content .ss-name-wall{height:80vh}
.stonesoup-page-content .ss-names-track{padding:1.5rem;font-size:0.75rem}
.stonesoup-page-content .ss-hero-overlay{width:90%}
.stonesoup-page-content h1.ss-hero-title{font-size:1.8rem}
.stonesoup-page-content .ss-hero-buttons{flex-direction:column;align-items:center}
.stonesoup-page-content .ss-order-footer{padding:1.5rem 1.5rem 2rem;font-size:1.4rem}
}
