/* BrollyPod: WordPress and WooCommerce additions. theme.css is the Shopify stylesheet,
   unchanged; this file only styles markup that WordPress or WooCommerce generate.
   Same tokens, spacing (0 2 4 8 12 16 24 32 40 48 64 80 96), radii and motion. */

/* ---------- WordPress ---------- */
.admin-bar .site-header{top:44px}
@media (max-width:782px){.admin-bar .site-header{top:58px}}
.custom-logo-link{display:flex;align-items:center}
img.logo{height:28px;width:auto}
.alignleft{float:left;margin:0 24px 16px 0}
.alignright{float:right;margin:0 0 16px 24px}
.aligncenter{display:block;margin-inline:auto}
.wp-caption-text,.gallery-caption{color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-sm)}
.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
.rte table{width:100%;border-collapse:collapse;font-size:var(--text-sm);line-height:var(--leading-sm)}
.rte th,.rte td{padding:12px;border:1px solid var(--line);text-align:left;vertical-align:top}
.rte th{background:var(--mist);font-weight:600}
.rte code{padding:2px 4px;border-radius:4px;background:var(--mist);font-size:.875em}
.rte blockquote{padding:16px 24px;border-radius:16px;background:var(--mist)}

/* ---------- WooCommerce page shell ---------- */
.woo-page__title{margin-bottom:32px;letter-spacing:-0.02em}
.checkout-page__proof{margin:-16px 0 32px}
.woocommerce .clear{clear:both}

/* ---------- Notices ---------- */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-notices-wrapper{display:grid;gap:8px;margin-bottom:24px}
.woocommerce-message,.woocommerce-info,.woocommerce-error,.wc-block-components-notice-banner{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 16px;margin:0 0 16px;padding:12px 16px;border-radius:12px;list-style:none;font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:500}
.woocommerce-message{background:#E7F6EE;color:var(--success-ink)}
.woocommerce-info{background:var(--sky);color:var(--ink-2)}
.woocommerce-error{display:grid;background:#FDECEA;color:var(--danger)}
.woocommerce-error li+li{margin-top:4px}
.woocommerce-message a,.woocommerce-info a,.woocommerce-error a{text-decoration:underline;text-underline-offset:4px}
.woocommerce-message .button,.woocommerce-info .button{order:2;text-decoration:none}

/* ---------- Buttons ---------- */
.woocommerce .button,.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,#place_order{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:8px 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-base);font-weight:600;cursor:pointer;transition:background-color 300ms var(--ease),border-color 300ms var(--ease),transform 500ms var(--ease)}
.woocommerce .button:hover{background:var(--mist)}
.woocommerce .button:active,#place_order:active{transform:scale(var(--press-scale))}
.woocommerce .button.alt,#place_order{border-color:transparent;background:var(--accent);color:var(--accent-ink)}
.woocommerce .button.alt:hover,#place_order:hover{background:var(--accent-hover)}
.woocommerce .button:disabled,.woocommerce .button.disabled{opacity:.48;cursor:not-allowed}
#place_order{width:100%;padding-block:12px;font-size:var(--text-lg);line-height:var(--leading-lg)}

/* ---------- Forms (checkout, account) ---------- */
.woocommerce form .form-row{display:grid;gap:8px;margin:0 0 16px;padding:0}
.woocommerce form .form-row label{font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:500;color:var(--ink)}
.woocommerce form .form-row .required{color:var(--danger);text-decoration:none}
.woocommerce form .form-row .optional{color:var(--muted);font-weight:400}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce .input-text,.woocommerce select{width:100%;min-height:48px;padding:12px 16px;border:1px solid var(--input-line);border-radius:12px;background:var(--surface);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-base);transition:border-color 300ms var(--ease)}
.woocommerce form .form-row textarea{min-height:96px;resize:vertical}
.woocommerce form .form-row input.input-text:hover,.woocommerce form .form-row select:hover{border-color:var(--ink-2)}
.woocommerce form .form-row input.input-text:focus-visible,.woocommerce form .form-row textarea:focus-visible,.woocommerce form .form-row select:focus-visible{border-color:var(--accent)}
.woocommerce form .form-row.woocommerce-invalid input.input-text,.woocommerce form .form-row.woocommerce-invalid select{border-color:var(--danger)}
.woocommerce form .form-row .input-checkbox,.woocommerce form .form-row input[type=checkbox],.woocommerce form .form-row input[type=radio]{width:20px;height:20px;margin:0 8px 0 0;accent-color:var(--accent);vertical-align:middle}
.woocommerce form .form-row label.checkbox,.woocommerce form .form-row .woocommerce-form__label-for-checkbox{display:flex;align-items:center;gap:8px;cursor:pointer}
.woocommerce form .form-row .description{color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-sm)}
.woocommerce form .form-row .woocommerce-input-wrapper{display:block}
.woocommerce .col2-set{display:grid;gap:24px}
@media (min-width:768px){
.woocommerce form .form-row-first,.woocommerce form .form-row-last{display:inline-grid;width:calc(50% - 8px);vertical-align:top}
.woocommerce form .form-row-first{margin-right:12px}
.woocommerce .col2-set{grid-template-columns:repeat(2,minmax(0,1fr))}}
.woocommerce h3:not([class]),.woocommerce h2:not([class]),.woocommerce-column__title,.woocommerce-order-details__title{font-size:var(--text-xl);line-height:var(--leading-xl);font-weight:600;letter-spacing:-0.01em;margin-bottom:16px}
.woocommerce fieldset:not(.picker){margin:0 0 24px;padding:24px;border:1px solid var(--line);border-radius:16px}
.woocommerce fieldset:not(.picker) legend{padding:0 8px;font-weight:600}

/* Country and county pickers (only shown when selling to more than one country). */
.select2-container .select2-selection--single{height:48px;border:1px solid var(--input-line);border-radius:12px}
.select2-container .select2-selection--single .select2-selection__rendered{padding:12px 16px;line-height:var(--leading-base)}
.select2-container .select2-selection--single .select2-selection__arrow{height:46px}
.select2-dropdown{border-color:var(--line);border-radius:12px;overflow:hidden}

/* ---------- Checkout ---------- */
.woocommerce-checkout .woocommerce-form-coupon-toggle .woocommerce-info,.woocommerce-checkout .woocommerce-form-login-toggle .woocommerce-info{background:var(--mist)}
.woocommerce form.checkout_coupon,.woocommerce form.login,.woocommerce form.register,.woocommerce form.lost_reset_password{margin:0 0 24px;padding:24px;border:1px solid var(--line);border-radius:24px}
.woocommerce form.checkout_coupon{display:flex;flex-wrap:wrap;align-items:flex-end;gap:12px}
.woocommerce form.checkout_coupon p{margin:0}
.woocommerce form.checkout_coupon .form-row{margin:0}
form.woocommerce-checkout{display:grid;gap:32px}
@media (min-width:1024px){
form.woocommerce-checkout{grid-template-columns:minmax(0,7fr) minmax(0,5fr);align-items:start;column-gap:48px}
form.woocommerce-checkout>.woocommerce-NoticeGroup{grid-column:1/-1}
form.woocommerce-checkout #customer_details{grid-column:1;grid-row:span 3}
form.woocommerce-checkout #order_review_heading,form.woocommerce-checkout #order_review{grid-column:2}
form.woocommerce-checkout #order_review{position:sticky;top:96px}}
form.woocommerce-checkout #customer_details.col2-set{grid-template-columns:minmax(0,1fr)}
#order_review_heading{margin:0}
#order_review{padding:24px;border-radius:24px;background:var(--mist);--muted:var(--muted-strong)}
.woocommerce table.shop_table{width:100%;border-collapse:collapse;font-size:var(--text-sm);line-height:var(--leading-sm)}
.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:12px 0;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.woocommerce table.shop_table td:last-child,.woocommerce table.shop_table th:last-child{text-align:right}
.woocommerce table.shop_table tfoot .order-total th,.woocommerce table.shop_table tfoot .order-total td{border-bottom:0;font-size:var(--text-lg);line-height:var(--leading-lg);font-weight:600}
.woocommerce table.shop_table .fee td{color:var(--success-ink)}
.woocommerce table.shop_table .product-quantity{color:var(--muted);font-weight:500}
.woocommerce table.shop_table .variation{display:grid;grid-template-columns:auto 1fr;gap:2px 4px;margin:4px 0 0;color:var(--muted)}
.woocommerce table.shop_table .variation dd,.woocommerce table.shop_table .variation p{margin:0}
.woocommerce-checkout-review-order-table ul#shipping_method{margin:0;padding:0;list-style:none}
#payment{margin-top:24px}
#payment ul.payment_methods{display:grid;gap:8px;margin:0 0 16px;padding:0;list-style:none}
#payment ul.payment_methods li{padding:12px 16px;border:1px solid var(--line);border-radius:12px;background:var(--surface)}
#payment ul.payment_methods li label{font-weight:600;cursor:pointer}
#payment ul.payment_methods li img{display:inline-block;max-height:24px;margin-left:8px;vertical-align:middle}
#payment .payment_box{margin-top:12px;padding:12px 16px;border-radius:12px;background:var(--mist);color:var(--ink-2);font-size:var(--text-sm);line-height:var(--leading-sm)}
#payment .payment_box p{margin:0}
#payment .place-order{display:grid;gap:16px;margin:0;padding:0}
.woocommerce-terms-and-conditions-wrapper,.woocommerce-privacy-policy-text{color:var(--ink-2);font-size:var(--text-sm);line-height:var(--leading-sm)}
.woocommerce-privacy-policy-text a,.woocommerce-terms-and-conditions-link{color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.woocommerce .blockUI.blockOverlay{background:rgba(255,255,255,.6)!important;opacity:1!important}

/* ---------- Order received and account ---------- */
.woocommerce-order{display:grid;gap:24px}
.woocommerce-thankyou-order-received{padding:16px 24px;border-radius:16px;background:#E7F6EE;color:var(--success-ink);font-weight:600}
ul.woocommerce-order-overview{display:grid;gap:12px;margin:0;padding:24px;border-radius:24px;background:var(--mist);list-style:none}
@media (min-width:768px){ul.woocommerce-order-overview{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}
ul.woocommerce-order-overview li{display:grid;gap:4px;color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-sm)}
ul.woocommerce-order-overview li strong{color:var(--ink);font-size:var(--text-base);line-height:var(--leading-base)}
.thankyou{gap:32px}
.thankyou__lead{display:flex;align-items:flex-start;gap:16px}
.thankyou__tick{display:inline-flex;flex:none;align-items:center;justify-content:center;width:48px;height:48px;border-radius:var(--radius-full);background:#E7F6EE;color:var(--success-ink)}
.thankyou__headline{margin:0;color:var(--ink);text-wrap:balance}
.thankyou__sub{margin:8px 0 0;color:var(--ink-2);text-wrap:pretty}
.thankyou__sub strong{color:var(--ink);font-weight:600;overflow-wrap:anywhere}
.thankyou__next{padding:24px;border-radius:24px;background:var(--sky)}
@media (min-width:768px){.thankyou__next{padding:32px}}
.thankyou__next-title{margin:0 0 20px;color:var(--ink)}
.thankyou__steps{display:grid;gap:12px;margin:0;padding:0;list-style:none;counter-reset:step}
@media (min-width:768px){.thankyou__steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}}
.thankyou__step{display:grid;gap:4px;align-content:start;padding:20px;border-radius:16px;background:var(--surface)}
.thankyou__step p{margin:0}
.thankyou__step .title-4{color:var(--ink);text-wrap:balance}
.thankyou__step .body-5{color:var(--ink-2);text-wrap:pretty}
.thankyou__step-icon{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;margin-bottom:8px;border-radius:12px;background:var(--sky);color:var(--accent)}
.thankyou__help{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:24px;border-top:1px solid var(--line)}
.thankyou__help p{margin:0;max-width:60ch;color:var(--ink-2)}
.thankyou .woocommerce-order-details,.thankyou .woocommerce-customer-details{margin:0}
.woocommerce-customer-details address{padding:24px;border:1px solid var(--line);border-radius:16px;font-style:normal}
.woocommerce-account .woocommerce{display:grid;gap:32px}
@media (min-width:1024px){.woocommerce-account.logged-in .woocommerce{grid-template-columns:240px minmax(0,1fr);align-items:start}}
.woocommerce-MyAccount-navigation ul{display:grid;gap:4px;margin:0;padding:0;list-style:none}
.woocommerce-MyAccount-navigation a{display:flex;align-items:center;min-height:44px;padding:8px 16px;border-radius:12px;color:var(--ink-2);font-weight:500;transition:background-color 300ms var(--ease),color 300ms var(--ease)}
.woocommerce-MyAccount-navigation a:hover{background:var(--mist);color:var(--ink)}
.woocommerce-MyAccount-navigation .is-active a{background:var(--sky);color:var(--ink)}
.woocommerce-MyAccount-content{display:grid;gap:16px;color:var(--ink-2)}
.woocommerce-MyAccount-content a:not(.button){color:var(--accent);text-decoration:underline;text-underline-offset:4px}
.woocommerce-account .u-columns{display:grid;gap:24px}
@media (min-width:768px){.woocommerce-account .u-columns{grid-template-columns:repeat(2,minmax(0,1fr))}}
.woocommerce-Addresses{display:grid;gap:24px}
@media (min-width:768px){.woocommerce-Addresses{grid-template-columns:repeat(2,minmax(0,1fr))}}
.woocommerce-password-strength{margin-top:8px;padding:8px 12px;border-radius:8px;background:var(--mist);font-size:var(--text-sm)}
.show-password-input{display:none}

/* ---------- Cart page (WooCommerce form inside the theme layout) ---------- */
.cart-page .cart-line__remove{text-decoration:none}
.cart-page .quantity{display:inline-flex}
/* The cart qty input carries WooCommerce's input-text class; keep the pill's borderless input, not a boxed field. */
.woocommerce .qty .qty__input{width:40px;min-height:0;padding:0;border:0;border-radius:0;background:none;text-align:center}
.cart-summary .checkout-button{text-decoration:none}
.cart-summary__express:empty{display:none}
.woocommerce-cart .cross-sells{display:none}

/* Bundles of 1, 3 or 5 (single pre-order product). */
.buybox__spec{color:var(--ink-2)}
.bundle-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.bundle-card{justify-content:flex-start;gap:4px;padding:16px 12px;min-width:0}
.bundle-card__total{font-variant-numeric:tabular-nums}
.bundle-card__save{color:var(--success-ink)}
.bundle-card__each{color:var(--muted)}
.buybox__preorder{display:flex;align-items:flex-start;gap:8px;margin-top:12px;color:var(--ink-2);text-wrap:pretty}
.buybox__preorder .icon{flex:none;margin-top:2px}
.cart-line__qty{color:var(--ink)}
.cart-line__change{display:inline-flex;align-items:center;gap:4px;min-height:32px;color:var(--accent);transition:color 300ms var(--ease)}
.cart-line__change:hover{color:var(--accent-hover);text-decoration:underline;text-underline-offset:4px}
.bundle-warning{display:flex;align-items:flex-start;gap:12px;margin-top:16px;padding:12px 16px;border-radius:16px;background:var(--sky);color:var(--ink-2)}
.bundle-warning .icon{flex:none;margin-top:2px;color:var(--accent)}
.sizer__options--one{max-width:420px;margin-inline:auto;grid-template-columns:1fr}
@media (max-width:420px){.bundle-card{padding:12px 8px}}
