/* AOSARS Store 1.0.0. Reskins native WooCommerce markup under body.aosst; never replaces it.
   Tokens and type scale from the approved AOSARS design system. */
body.aosst{
  --cyan:#00AEFE;--cyan-deep:#00AEFE;--cyanband:#e8f8ff;
  --indigo:#393464;--indigo-deep:#1f1c3a;
  --ink:#20233a;--ink-soft:#4a4f6a;--ink-faded:#8a8fa6;
  --tint:#f4f7fb;--rule:rgba(57,52,100,.14);
  /* 1.9.0: the coaching card's own tokens, so the box and the reviews read the same as there */
  --cyan-soft:#e6f6fe;--cyan-mist:#f5fbff;--indigo-soft:#eae8f4;--rule-soft:#eceaf4;
  --sh-sm:0 4px 16px rgba(57,52,100,.08);--sh-md:0 14px 38px rgba(57,52,100,.14);--sh-lg:0 30px 70px rgba(57,52,100,.2);
}
body.aosst .woocommerce,body.aosst .woocommerce-page,body.aosst .aosst-shell,body.aosst .aosst-band{font-family:'Montserrat',-apple-system,sans-serif;color:var(--ink)}
body.aosst .aosst-band,body.aosst .aosst-band *{font-family:'Montserrat',-apple-system,sans-serif}

/* ---- Head band ---- */
body.aosst .aosst-band{position:relative;background:#0b0a18;color:#fff;overflow:hidden;margin:0 0 34px}
body.aosst .aosst-bg{position:absolute;inset:0;background-size:cover;background-position:center 30%;background-attachment:fixed;filter:brightness(1.05)}
body.aosst .aosst-bg::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(11,10,24,.84) 0%,rgba(11,10,24,.56) 46%,rgba(11,10,24,.2) 74%,transparent 100%),linear-gradient(0deg,rgba(0,0,0,.3),transparent 55%)}
@media(max-width:960px){body.aosst .aosst-bg{background-attachment:scroll}}
body.aosst .aosst-band-in{position:relative;z-index:1;max-width:1200px;margin-inline:auto;padding:clamp(38px,5vw,66px) clamp(18px,4vw,44px)}
body.aosst .aosst-eyebrow{display:inline-flex;font-size:13px;font-weight:800;letter-spacing:.2em;text-transform:uppercase;color:var(--cyan);margin-bottom:12px}
body.aosst .aosst-h1{font-size:clamp(30px,3.8vw,46px);font-weight:900;line-height:1.08;letter-spacing:-.02em;color:#fff;margin:0}
body.aosst .aosst-lede{font-size:clamp(15px,1.4vw,17.5px);line-height:1.62;color:rgba(255,255,255,.9);max-width:64ch;margin:12px 0 0}

/* ---- Journey rail ---- */
body.aosst .jrail{display:flex;align-items:center;gap:0;margin:26px 0 4px}
body.aosst .jr-step{display:flex;align-items:center;gap:10px}
body.aosst .jr-dot{width:40px;height:40px;border-radius:999px;background:rgba(255,255,255,.12);border:3px solid rgba(255,255,255,.35);display:grid;place-items:center;font-weight:900;font-size:14px;color:#fff}
body.aosst .jr-step.done .jr-dot,body.aosst .jr-step.now .jr-dot{background:var(--cyan);border-color:var(--cyan);color:var(--indigo)}
body.aosst .jr-step.now .jr-dot{transform:scale(1.08)}
body.aosst .jr-t{font-size:13.5px;font-weight:800;color:rgba(255,255,255,.75)}
body.aosst .jr-step.now .jr-t,body.aosst .jr-step.done .jr-t{color:#fff}
body.aosst .jr-line{width:clamp(28px,6vw,84px);height:3px;border-radius:3px;background:rgba(255,255,255,.25);margin:0 12px}
body.aosst .jr-line.done{background:var(--cyan)}
@media(max-width:560px){body.aosst .jr-t{display:none}body.aosst .jr-line{margin:0 6px}}

/* ---- Shell and pay strip ---- */
body.aosst .aosst-wrap{max-width:1200px;margin-inline:auto}
body.aosst .aosst-paystrip{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 22px}
body.aosst .aosst-pay-label{font-size:12px;font-weight:800;letter-spacing:.14em;text-transform:uppercase;color:var(--cyan-deep);margin-right:4px}
body.aosst .aosst-chip{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:800;color:var(--indigo);background:#fff;border:1.5px solid var(--rule);border-radius:999px;padding:7px 13px}
body.aosst .aosst-chip i{width:7px;height:7px;border-radius:50%;background:var(--cyan);font-style:normal}

/* ---- Native title and breadcrumbs on skinned pages ---- */
body.aosst .woocommerce-products-header__title,body.aosst .woocommerce-breadcrumb{display:none}
body.aosst.woocommerce-cart .entry-title,body.aosst.woocommerce-checkout .entry-title,body.aosst.woocommerce-account .entry-title{display:none}

/* ---- Buttons: every native WooCommerce button becomes the AOSARS pill ---- */
body.aosst .woocommerce a.button,body.aosst .woocommerce button.button,body.aosst .woocommerce input.button,
body.aosst .woocommerce #respond input#submit,body.aosst .woocommerce a.button.alt,body.aosst .woocommerce button.button.alt,
body.aosst .woocommerce input.button.alt,body.aosst .woocommerce #place_order,body.aosst .wc-block-components-button{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:inherit;font-weight:800;font-size:13.5px;
  letter-spacing:.04em;text-transform:uppercase;padding:11px 24px;border-radius:999px;cursor:pointer;border:1.5px solid transparent;
  background:var(--cyan);color:var(--indigo);box-shadow:0 6px 18px rgba(0,174,254,.28);transition:transform .15s,box-shadow .15s;line-height:1.2;text-decoration:none}
body.aosst .woocommerce a.button:hover,body.aosst .woocommerce button.button:hover,body.aosst .woocommerce input.button:hover,
body.aosst .woocommerce #place_order:hover{transform:translateY(-1px);box-shadow:0 10px 26px rgba(0,174,254,.4);background:var(--cyan);color:var(--indigo)}
body.aosst .woocommerce #place_order{width:100%;font-size:14px;padding:14px 30px}
body.aosst .woocommerce a.checkout-button{background:var(--indigo);color:#fff}
body.aosst .woocommerce a.checkout-button:hover{background:var(--indigo-deep);color:#fff}

/* ---- Product grid ---- */
body.aosst .woocommerce ul.products{margin:0 0 20px}
body.aosst .woocommerce ul.products li.product{background:#fff;border:2px solid var(--rule);border-radius:16px;overflow:hidden;box-shadow:var(--sh-sm);transition:transform .18s,box-shadow .18s,border-color .18s;padding:0 0 18px;text-align:left}
body.aosst .woocommerce ul.products li.product:hover{transform:translateY(-4px);box-shadow:var(--sh-md);border-color:var(--cyan)}
body.aosst .woocommerce ul.products li.product a img{margin:0 0 14px;border-radius:0}
body.aosst .woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:16.5px;font-weight:800;color:var(--indigo);line-height:1.3;padding:0 16px}
body.aosst .woocommerce ul.products li.product .price{font-size:19px;font-weight:900;color:var(--indigo);padding:0 16px}
body.aosst .woocommerce ul.products li.product .price del{color:var(--ink-faded);font-weight:600;font-size:14px}
body.aosst .woocommerce ul.products li.product .button{margin:10px 16px 0}
body.aosst .woocommerce span.onsale{background:var(--indigo);color:#fff;font-size:11.5px;font-weight:900;letter-spacing:.05em;text-transform:uppercase;padding:6px 12px;border-radius:999px;min-height:0;min-width:0;line-height:1.3}
body.aosst .woocommerce .woocommerce-result-count{font-size:14.5px;font-weight:700;color:var(--ink-faded)}
body.aosst .woocommerce .woocommerce-ordering select{font-family:inherit;font-size:14px;font-weight:700;color:var(--indigo);border:1.5px solid var(--rule);background:#fff;border-radius:999px;padding:9px 15px}
body.aosst .woocommerce nav.woocommerce-pagination ul{border:0;display:flex;gap:7px;justify-content:center}
body.aosst .woocommerce nav.woocommerce-pagination ul li{border:0}
body.aosst .woocommerce nav.woocommerce-pagination ul li a,body.aosst .woocommerce nav.woocommerce-pagination ul li span{min-width:42px;height:42px;border-radius:11px;display:inline-flex;align-items:center;justify-content:center;font-weight:800;font-size:13.5px;color:var(--indigo);background:#fff;border:2px solid var(--rule);padding:0 8px}
body.aosst .woocommerce nav.woocommerce-pagination ul li span.current{background:var(--indigo);color:#fff;border-color:var(--indigo)}
body.aosst .woocommerce nav.woocommerce-pagination ul li a:hover{border-color:var(--cyan);color:var(--cyan-deep);background:#fff}

/* ---- Single product ---- */
body.aosst .woocommerce div.product .product_title{font-size:clamp(24px,3vw,34px);font-weight:900;color:var(--indigo);letter-spacing:-.02em}
body.aosst .woocommerce div.product p.price{font-size:30px;font-weight:900;color:var(--indigo)}
body.aosst .woocommerce div.product p.price del{font-size:19px;color:var(--ink-faded)}
body.aosst .woocommerce div.product .woocommerce-product-details__short-description{font-size:16px;color:var(--ink-soft);line-height:1.62}
body.aosst .woocommerce div.product div.images img{border-radius:18px;border:2px solid var(--rule)}
body.aosst .woocommerce div.product form.cart .quantity .qty{height:46px;border:1.5px solid var(--rule);border-radius:999px;font-family:inherit;font-weight:800;color:var(--indigo);font-size:15px}
body.aosst .woocommerce div.product .woocommerce-tabs ul.tabs{padding:0;margin:0 0 18px;border-bottom:2px solid var(--rule);list-style:none;display:flex;gap:4px}
body.aosst .woocommerce div.product .woocommerce-tabs ul.tabs::before{border:0}
body.aosst .woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:0;border-radius:0;margin:0 8px 0 0;padding:0}
body.aosst .woocommerce div.product .woocommerce-tabs ul.tabs li a{font-weight:800;font-size:14px;color:var(--ink-faded);padding:12px 16px;display:inline-block;border-bottom:3px solid transparent}
body.aosst .woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--indigo);border-bottom-color:var(--cyan)}
body.aosst .woocommerce div.product .woocommerce-tabs .panel{font-size:15.5px;line-height:1.65;color:var(--ink-soft)}
body.aosst .woocommerce .related.products h2,body.aosst .woocommerce .upsells.products h2{font-size:clamp(22px,2.6vw,30px);font-weight:800;color:var(--indigo);letter-spacing:-.02em}

/* ---- Tables: cart, totals, orders ---- */
body.aosst .woocommerce table.shop_table{border:2px solid var(--rule);border-radius:16px;border-collapse:separate;border-spacing:0;overflow:hidden;background:#fff;box-shadow:var(--sh-sm)}
body.aosst .woocommerce table.shop_table th{background:var(--indigo);color:#fff;font-size:12.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;padding:14px 16px;border:0}
body.aosst .woocommerce table.shop_table td{padding:14px 16px;border-top:1px solid var(--rule);font-size:15px;color:var(--ink)}
body.aosst .woocommerce table.shop_table td.product-name a{font-weight:800;color:var(--indigo)}
body.aosst .woocommerce table.shop_table td .amount{font-weight:900;color:var(--indigo)}
body.aosst .woocommerce a.remove{color:var(--indigo)!important;background:var(--cyanband);width:26px;height:26px;line-height:26px;border-radius:999px;font-size:16px}
body.aosst .woocommerce a.remove:hover{background:var(--indigo);color:#fff!important}
body.aosst .woocommerce td.product-quantity .qty{height:42px;border:1.5px solid var(--rule);border-radius:999px;font-family:inherit;font-weight:800;color:var(--indigo);font-size:15px}
body.aosst .woocommerce .coupon .input-text{height:44px;border:1.5px solid var(--rule);border-radius:999px;padding:0 16px;font-family:inherit;font-size:15px}
body.aosst .woocommerce .cart_totals h2,body.aosst .woocommerce .cross-sells h2{font-size:clamp(20px,2.2vw,26px);font-weight:800;color:var(--indigo)}

/* ---- Forms: checkout, account, login ---- */
body.aosst .woocommerce form .form-row label{font-size:13.5px;font-weight:800;color:var(--indigo)}
body.aosst .woocommerce form .form-row input.input-text,body.aosst .woocommerce form .form-row textarea,
body.aosst .woocommerce form .form-row select,body.aosst .woocommerce .select2-container .select2-selection--single{
  font-family:inherit;font-size:15px;color:var(--ink);border:1.5px solid var(--rule);border-radius:12px;padding:12px 14px;background:#fff;height:auto}
body.aosst .woocommerce form .form-row input.input-text:focus,body.aosst .woocommerce form .form-row textarea:focus{border-color:var(--cyan);outline:none}
body.aosst .woocommerce .select2-container .select2-selection--single .select2-selection__rendered{line-height:1.4;color:var(--ink);padding-left:0}
body.aosst .woocommerce form.checkout h3,body.aosst .woocommerce-account h2,body.aosst .woocommerce-order h2{font-size:clamp(19px,2vw,24px);font-weight:800;color:var(--indigo)}
body.aosst .woocommerce form.login,body.aosst .woocommerce form.register{border:2px solid var(--rule);border-radius:16px;box-shadow:var(--sh-sm);padding:24px}

/* ---- Checkout payment methods as cards ---- */
body.aosst .woocommerce-checkout #payment{background:var(--tint);border-radius:16px;border:2px solid var(--rule)}
body.aosst .woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--rule);padding:18px}
body.aosst .woocommerce-checkout #payment ul.payment_methods li{background:#fff;border:2px solid var(--rule);border-radius:12px;padding:12px 14px;margin-bottom:10px}
body.aosst .woocommerce-checkout #payment ul.payment_methods li label{font-weight:800;color:var(--indigo);font-size:15px}
body.aosst .woocommerce-checkout #payment div.payment_box{background:var(--cyanband);color:var(--ink-soft);border-radius:10px;font-size:14px}
body.aosst .woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--cyanband)}

/* ---- Notices in the palette ---- */
body.aosst .woocommerce-message,body.aosst .woocommerce-info{border-top-color:var(--cyan);background:var(--cyanband);color:var(--indigo);font-weight:600;border-radius:0 0 12px 12px}
body.aosst .woocommerce-message::before,body.aosst .woocommerce-info::before{color:var(--cyan-deep)}
body.aosst .woocommerce-error{border-top-color:var(--indigo);background:var(--tint);color:var(--indigo);font-weight:600;border-radius:0 0 12px 12px}

/* ---- My account ---- */
body.aosst .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:10px;background:#fff;border:2px solid var(--rule);border-top:3px solid var(--cyan);border-radius:16px;box-shadow:var(--sh-sm)}
body.aosst .woocommerce-MyAccount-navigation ul li{margin:0}
body.aosst .woocommerce-MyAccount-navigation ul li a{display:block;padding:11px 13px;border-radius:9px;font-size:15px;font-weight:700;color:var(--ink-soft);text-decoration:none}
body.aosst .woocommerce-MyAccount-navigation ul li.is-active a,body.aosst .woocommerce-MyAccount-navigation ul li a:hover{background:var(--cyanband);color:var(--cyan-deep)}
body.aosst .woocommerce-MyAccount-content{background:#fff;border:2px solid var(--rule);border-radius:16px;box-shadow:var(--sh-sm);padding:26px;font-size:15.5px;color:var(--ink-soft)}

/* ---- Order received ---- */
body.aosst .woocommerce-order .woocommerce-thankyou-order-received{font-size:clamp(20px,2.4vw,28px);font-weight:800;color:var(--indigo)}
body.aosst .woocommerce-order ul.order_details{background:#fff;border:2px solid var(--rule);border-radius:16px;box-shadow:var(--sh-sm);padding:20px;display:flex;flex-wrap:wrap;gap:0}
body.aosst .woocommerce-order ul.order_details li{font-size:12.5px;font-weight:800;letter-spacing:.06em;color:var(--ink-faded);border-right:1px dashed var(--rule);padding:4px 18px 4px 0;margin-right:18px}
body.aosst .woocommerce-order ul.order_details li strong{font-size:16px;color:var(--indigo);margin-top:4px}

/* ---- Quantity plus and minus buttons added by the script ---- */
body.aosst .aosst-qty{display:inline-flex;align-items:center;border:1.5px solid var(--rule);border-radius:999px;overflow:hidden;background:#fff}
body.aosst .aosst-qty .qty{border:0!important;text-align:center;width:52px}
body.aosst .aosst-qty button{border:0;background:#fff;width:40px;height:44px;font-size:18px;font-weight:800;color:var(--indigo);cursor:pointer}
body.aosst .aosst-qty button:hover{background:var(--cyanband)}

/* ---- Phone width safety ---- */
body.aosst{overflow-x:clip}
@media(max-width:600px){body.aosst .woocommerce table.shop_table{display:block;overflow-x:auto;-webkit-overflow-scrolling:touch}}

/* ==================================================================
   1.1.0 ENFORCEMENT LAYER. The live theme and page builder rebuild the
   store pages with their own widgets, fonts and author coloured text,
   so these rules enforce the brand regardless of whose markup renders.
   Scoped to body.aosst only; forms and behaviour are never touched.
   ================================================================== */

/* The brand font on everything, icon fonts excluded so glyphs survive. */
body.aosst,
body.aosst *:not(i):not([class*="fa-"]):not([class*="eicon"]):not([class*="dashicons"]):not([class*="icon-"]){
  font-family:'Montserrat',-apple-system,BlinkMacSystemFont,sans-serif!important}

/* Heading discipline: the system scale, indigo, normal case, tight tracking.
   The plugin's own dark band keeps its white heading. */
body.aosst h1:not(.aosst-h1){font-size:clamp(26px,3vw,38px)!important;font-weight:900!important;letter-spacing:-.02em!important;text-transform:none!important;color:var(--indigo)!important;line-height:1.15!important}
body.aosst .aosst-band .aosst-h1{color:#fff!important}
body.aosst h2:not(.aosst-h1){font-size:clamp(20px,2.4vw,30px)!important;font-weight:800!important;letter-spacing:-.02em!important;color:var(--indigo)!important;line-height:1.2!important}
body.aosst h3{font-size:clamp(17px,2vw,22px)!important;font-weight:800!important;color:var(--indigo)!important}

/* Body text discipline on store content: the site's reading size, never oversized. */
body.aosst .woocommerce p,body.aosst .woocommerce li,body.aosst .woocommerce td,
body.aosst .woocommerce-Tabs-panel,body.aosst .woocommerce-Tabs-panel p,body.aosst .woocommerce-Tabs-panel li,
body.aosst .woocommerce-product-details__short-description,body.aosst .woocommerce-product-details__short-description p{
  font-size:16px!important;line-height:1.62!important}

/* Author coloured description text returns to the palette; links stay cyan. */
body.aosst .woocommerce-Tabs-panel p,body.aosst .woocommerce-Tabs-panel li,body.aosst .woocommerce-Tabs-panel span,
body.aosst .woocommerce-Tabs-panel strong,body.aosst .woocommerce-Tabs-panel em,
body.aosst .woocommerce-product-details__short-description p,body.aosst .woocommerce-product-details__short-description span{
  color:var(--ink-soft)!important}
body.aosst .woocommerce-Tabs-panel h1,body.aosst .woocommerce-Tabs-panel h2,body.aosst .woocommerce-Tabs-panel h3,
body.aosst .woocommerce-Tabs-panel h4{color:var(--indigo)!important}
body.aosst .woocommerce-Tabs-panel a{color:var(--cyan-deep)!important}

/* Prices: indigo, weighted, sized to the system wherever the theme prints them. */
body.aosst .woocommerce .amount,body.aosst .woocommerce .price{color:var(--indigo)!important;font-weight:900!important}
body.aosst .woocommerce td .amount,body.aosst .woocommerce .price .amount{font-size:clamp(15px,1.6vw,19px)!important}
body.aosst .woocommerce div.product p.price .amount{font-size:clamp(24px,2.6vw,30px)!important}
body.aosst .woocommerce .order-total .amount,body.aosst .woocommerce .cart_totals .order-total .amount{font-size:clamp(18px,2vw,22px)!important}
body.aosst .woocommerce .price del,body.aosst .woocommerce .price del .amount{color:var(--ink-faded)!important;font-weight:600!important}

/* Every submit and call to action becomes the AOSARS pill, whoever rendered it. */
body.aosst .woocommerce input[type="submit"],body.aosst .woocommerce button[type="submit"],
body.aosst .woocommerce .single_add_to_cart_button,body.aosst .woocommerce .checkout-button,
body.aosst .woocommerce [name="apply_coupon"],body.aosst .woocommerce [name="update_cart"]{
  font-family:inherit!important;font-weight:800!important;font-size:13.5px!important;letter-spacing:.04em!important;
  text-transform:uppercase!important;padding:11px 24px!important;border-radius:999px!important;border:1.5px solid transparent!important;
  background:var(--cyan)!important;color:var(--indigo)!important;box-shadow:0 6px 18px rgba(0,174,254,.28)!important;line-height:1.2!important}
body.aosst .woocommerce .checkout-button{background:var(--indigo)!important;color:#fff!important}

/* Theme decorated boxes soften into the system card. */
body.aosst .woocommerce-cart-form,body.aosst .cart_totals,body.aosst .woocommerce .coupon{border-radius:16px}
body.aosst .woocommerce form .form-row label{font-size:13.5px!important;color:var(--indigo)!important;font-weight:800!important}
body.aosst .woocommerce form .form-row input.input-text,body.aosst .woocommerce form .form-row textarea,
body.aosst .woocommerce form .form-row select{font-size:15px!important;color:var(--ink)!important}

/* ==================================================================
   1.2.0 THE APPROVED DESIGNS. The Includes Card product page and the
   refined Split Checkout cart, built as chrome and CSS over the native
   WooCommerce markup; forms and behaviour untouched.
   ================================================================== */

/* ---- Product page: the title band, then two columns ---- */
/* 1. The title band: full width, the title alone, no rule beside it. */
body.aosst .aosst-titleband{background:var(--tint);border-bottom:1px solid var(--rule)}
body.aosst .aosst-titleband-in{max-width:1200px;margin-inline:auto;padding:clamp(30px,4vw,50px) clamp(18px,4vw,44px)}
body.aosst .aosst-titleband .aosst-eyebrow{margin-bottom:10px}
body.aosst .aosst-ptitle{margin:0;font-size:clamp(24px,3vw,38px)!important;font-weight:900;color:var(--indigo)!important;line-height:1.15;letter-spacing:-.02em;max-width:34ch;border:0!important;padding:0!important}
body.aosst .aosst-titleband .aosst-meta{margin:12px 0 0;font-size:13.5px;font-weight:700;color:var(--ink-faded)}
body.aosst .aosst-titleband *{border-left:0!important;border-right:0!important}
/* Every other rendering of the title on this page steps aside, with its decoration. */
body.aosst.single-product div.product .product_title,
body.aosst.single-product div.product h1.entry-title,
body.aosst.single-product div.product .summary h1,
body.aosst.single-product div.product .summary h2:first-child{display:none!important}

/* 2. The two columns beneath, held in the plugin's own grid.
   The theme container is no longer styled at all; the script moves the cover, the buy action
   and the description into this grid, so a theme can never add a third column again. */
body.aosst.single-product div.product{display:block!important;float:none;width:auto;padding:0;margin:0}
body.aosst .aosst-grid{display:grid;grid-template-columns:minmax(280px,34fr) 66fr;gap:32px;align-items:start;max-width:1200px;margin:34px auto 0;padding-inline:clamp(18px,4vw,44px)}
@media(max-width:900px){body.aosst .aosst-grid{grid-template-columns:1fr}}
/* The soft tint buy column: cover, price, quantity, the pill, then the assurance list. */
body.aosst .aosst-left{background:var(--tint);border-radius:24px;padding:24px;min-width:0}
body.aosst .aosst-left div.images,body.aosst .aosst-left .woocommerce-product-gallery{width:100%!important;float:none;margin:0;position:relative;overflow:hidden;border-radius:16px;background:#fff;opacity:1!important}
body.aosst .aosst-left div.images img{width:100%;border:0;border-radius:0}
body.aosst .aosst-left div.summary{width:100%!important;float:none;margin:18px 0 0;padding:0;background:transparent;box-shadow:none;border:0}
body.aosst .aosst-left div.summary p.price{margin:0 0 14px}
body.aosst .aosst-left div.summary form.cart{margin:0 0 4px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
body.aosst .aosst-left div.summary form.cart .quantity{flex:0 0 auto}
body.aosst .aosst-left div.summary form.cart .quantity .qty{width:86px;text-align:center}
body.aosst .aosst-left div.summary form.cart .single_add_to_cart_button{flex:1;min-width:150px}
body.aosst .aosst-left div.summary .woocommerce-product-details__short-description{font-size:13.5px;color:var(--ink-faded);font-weight:700;margin-top:12px}
body.aosst .aosst-left div.summary .product_meta{font-size:12.5px;color:var(--ink-faded);border-top:1px solid var(--rule);padding-top:12px;margin-top:14px}
body.aosst .aosst-assure{list-style:none;margin:16px 0 0;padding:16px 0 0;border-top:1px solid var(--rule);display:grid;gap:11px}
body.aosst .aosst-assure li{position:relative;padding-left:28px;line-height:1.35}
body.aosst .aosst-assure li::before{content:'\2713';position:absolute;left:0;top:1px;width:20px;height:20px;border-radius:50%;background:var(--cyan);color:var(--indigo);font-size:11px;font-weight:800;display:grid;place-items:center}
body.aosst .aosst-assure b{display:block;font-size:13.5px;font-weight:800;color:var(--indigo)}
body.aosst .aosst-assure span{display:block;font-size:12.5px;color:var(--ink-faded);font-weight:600}
/* The cyan halo description column. */
body.aosst .aosst-right{background:#fff;border:2px solid var(--cyan);border-radius:24px;padding:16px;min-width:0}
body.aosst .aosst-right .woocommerce-tabs{border:0;box-shadow:none;background:transparent;padding:16px 26px 22px;margin:0;width:auto;float:none}
body.aosst .aosst-right .woocommerce-tabs ul.tabs{border-bottom:0;margin:0 0 16px;padding:0;list-style:none;display:flex;gap:8px;flex-wrap:wrap}
body.aosst .aosst-right .woocommerce-tabs ul.tabs::before,body.aosst .aosst-right .woocommerce-tabs ul.tabs::after{display:none}
body.aosst .aosst-right .woocommerce-tabs ul.tabs li{background:var(--tint);border:0;border-radius:999px;margin:0;padding:0;border-bottom:3px solid transparent;box-shadow:none}
body.aosst .aosst-right .woocommerce-tabs ul.tabs li::before,body.aosst .aosst-right .woocommerce-tabs ul.tabs li::after{display:none}
body.aosst .aosst-right .woocommerce-tabs ul.tabs li a{display:inline-block;padding:9px 18px;font-size:12.5px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--ink-faded);border:0}
body.aosst .aosst-right .woocommerce-tabs ul.tabs li.active{background:var(--cyanband);border-bottom-color:var(--cyan)}
body.aosst .aosst-right .woocommerce-tabs ul.tabs li.active a{color:var(--indigo)}
body.aosst .aosst-right .woocommerce-tabs .panel{padding:0;margin:0;font-size:16px;line-height:1.7;color:var(--ink-soft)}
body.aosst .aosst-right .woocommerce-tabs .panel h2{font-size:clamp(17px,1.9vw,21px)!important;margin:0 0 12px}
/* Related products keep their own full width band below the grid. */
body.aosst.single-product .related.products,body.aosst.single-product .upsells.products{max-width:1200px;margin:40px auto 0;padding-inline:clamp(18px,4vw,44px);clear:both}

/* ---- Cart: the refined Split Checkout ---- */
body.aosst .aosst-cartsec{position:relative;overflow:hidden;padding:48px 0 60px}
body.aosst .aosst-shellbg{position:absolute;inset:0;background-size:cover;background-position:center;background-attachment:fixed}
body.aosst .aosst-shellbg::after{content:'';position:absolute;inset:0;background:rgba(244,247,251,.72)}
@media(max-width:960px){body.aosst .aosst-shellbg{background-attachment:scroll}}
body.aosst .aosst-cartsec .aosst-wrap{position:relative;z-index:1;padding-inline:clamp(18px,4vw,44px)}
body.aosst.woocommerce-cart .aosst-cartsec .woocommerce{display:grid;grid-template-columns:1.25fr .75fr;gap:30px;align-items:center}
body.aosst.woocommerce-cart .aosst-cartsec .woocommerce-notices-wrapper{grid-column:1/-1}
body.aosst.woocommerce-cart .aosst-cartsec form.woocommerce-cart-form{background:#fff;border:2px solid var(--rule);border-radius:18px;box-shadow:var(--sh-md);padding:10px 24px}
body.aosst.woocommerce-cart .aosst-cartsec form.woocommerce-cart-form table.shop_table{border:0;box-shadow:none;background:transparent}
body.aosst.woocommerce-cart .aosst-cartsec form.woocommerce-cart-form table.shop_table thead{display:none}
body.aosst.woocommerce-cart .aosst-cartsec form.woocommerce-cart-form table.shop_table td{border-top:1px solid var(--rule);font-size:15px}
body.aosst.woocommerce-cart .aosst-cartsec form.woocommerce-cart-form table.shop_table tr:first-child td{border-top:0}
body.aosst.woocommerce-cart .aosst-cartsec .cart-collaterals{width:100%}
body.aosst.woocommerce-cart .aosst-cartsec .cart_totals{width:100%!important;float:none;background:linear-gradient(160deg,var(--indigo),var(--indigo-deep));color:#fff;border-radius:18px;box-shadow:var(--sh-lg);padding:26px}
body.aosst.woocommerce-cart .aosst-cartsec .cart_totals h2{color:#fff!important;font-size:17px!important;margin:0 0 14px}
body.aosst.woocommerce-cart .aosst-cartsec .cart_totals table.shop_table{border:0;background:transparent;box-shadow:none}
body.aosst.woocommerce-cart .aosst-cartsec .cart_totals table.shop_table th{background:transparent;color:rgba(255,255,255,.85);text-transform:none;letter-spacing:0;font-size:14px;padding:9px 0}
body.aosst.woocommerce-cart .aosst-cartsec .cart_totals table.shop_table td{border-top:1px solid rgba(255,255,255,.16);color:rgba(255,255,255,.85);padding:9px 0}
body.aosst.woocommerce-cart .aosst-cartsec .cart_totals .amount{color:#fff!important}
body.aosst.woocommerce-cart .aosst-cartsec .cart_totals .order-total .amount{color:var(--cyan)!important}
body.aosst.woocommerce-cart .aosst-cartsec .cart_totals .checkout-button{width:100%;background:#fff!important;color:var(--indigo)!important}
@media(max-width:900px){body.aosst.woocommerce-cart .aosst-cartsec .woocommerce{grid-template-columns:1fr}}

/* 1.3.0: the payment strip carries marks, and stays one neat line. */
body.aosst .aosst-paystrip{display:flex;flex-wrap:wrap;align-items:center;gap:9px;margin:0 0 22px}
body.aosst .aosst-chip{display:inline-flex;align-items:center;gap:8px;font-size:13px;font-weight:800;color:var(--indigo);background:#fff;border:1.5px solid var(--rule);border-radius:999px;padding:8px 15px;transition:border-color .18s,transform .18s}
body.aosst .aosst-chip:hover{border-color:var(--cyan);transform:translateY(-1px)}
body.aosst .aosst-chip svg{width:16px;height:16px;color:var(--cyan);flex:0 0 auto}
body.aosst .aosst-chip img{height:16px;width:auto;flex:0 0 auto}

/* 1.3.0 polish: WooCommerce prints the sale price inside ins, which the browser underlines. */
body.aosst .woocommerce .price ins,body.aosst .woocommerce .amount ins{text-decoration:none}
body.aosst .aosst-left div.summary form.cart .quantity{flex:0 0 auto}
body.aosst .aosst-left div.summary form.cart .quantity .qty{width:86px;text-align:center}

/* ==================================================================
   1.6.0 REFINEMENT. The structure is settled, so this pass modernises
   it: a sheen on the title band, a gradient edge and stickiness on the
   buy column, a glow on the halo, a guaranteed pill, and the removal of
   any thin rule a theme draws above the price.
   ================================================================== */

/* Title band: soft dotted texture and a gradient hairline instead of a hard rule. */
body.aosst .aosst-titleband{position:relative;overflow:hidden;border-bottom:0;
  background:linear-gradient(160deg,var(--tint) 0%,var(--tint) 100%)}
body.aosst .aosst-titleband::before{content:'';position:absolute;top:-60px;right:-40px;width:280px;height:280px;
  background-image:radial-gradient(var(--cyan) 1.4px,transparent 1.5px);background-size:16px 16px;opacity:.16;pointer-events:none}
body.aosst .aosst-titleband::after{content:'';position:absolute;left:0;right:0;bottom:0;height:2px;
  background:linear-gradient(90deg,var(--cyan) 0%,rgba(0,174,254,0) 60%)}
body.aosst .aosst-titleband-in{position:relative;z-index:1}

/* Buy column: a gradient edge along the top, and it follows the reader on desktop. */
body.aosst .aosst-left{position:relative;overflow:hidden;box-shadow:0 10px 34px rgba(57,52,100,.07)}
@media(min-width:901px){body.aosst .aosst-left{position:sticky;top:24px}}
/* Cover: white mount, the image easing up on hover under the cyan glow line. */
body.aosst .aosst-left div.images{box-shadow:0 6px 20px rgba(57,52,100,.10)}
body.aosst .aosst-left div.images img{transition:transform .35s ease}
body.aosst .aosst-left div.images:hover img{transform:scale(1.03)}
/* Price, sized and weighted for the moment of decision. */
body.aosst .aosst-left div.summary p.price{font-size:clamp(24px,2.6vw,30px)!important;border:0!important;padding-top:0!important;margin-top:2px}
body.aosst .aosst-left div.summary p.price del,body.aosst .aosst-left div.summary p.price del .amount{font-size:17px!important}
/* Any thin rule a theme draws above the price steps aside. */
body.aosst .aosst-left div.summary p.price::before,body.aosst .aosst-left div.summary p.price::after{content:none!important;display:none!important}
body.aosst .aosst-left div.summary hr,body.aosst .aosst-left div.summary .aosst-strip-out{display:none!important}
body.aosst .aosst-left div.summary > *:first-child{margin-top:0!important;border-top:0!important}

/* The Add to cart action is a pill, whatever the theme intends. */
body.aosst .aosst-left div.summary form.cart button.single_add_to_cart_button,
body.aosst .aosst-left div.summary form.cart .single_add_to_cart_button,
body.aosst div.product .single_add_to_cart_button,
body.aosst .aosst-grid .single_add_to_cart_button{
  border-radius:999px!important;padding:14px 28px!important;width:auto!important;height:auto!important;min-height:0!important;
  min-width:0!important;max-width:none!important;aspect-ratio:auto!important;line-height:1.2!important;font-size:13.5px!important;
  font-weight:800!important;letter-spacing:.05em!important;text-transform:uppercase!important;border:0!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important;
  background:linear-gradient(135deg,var(--cyan) 0%,#0a9fe0 100%)!important;color:var(--indigo)!important;
  box-shadow:0 10px 26px rgba(0,174,254,.32)!important;transform:none!important;transition:transform .16s,box-shadow .16s!important}
body.aosst .aosst-left div.summary form.cart .single_add_to_cart_button{flex:1;min-width:150px!important}
body.aosst .single_add_to_cart_button::before,body.aosst .single_add_to_cart_button::after{content:none!important;display:none!important}
body.aosst .single_add_to_cart_button:hover{transform:translateY(-2px)!important;box-shadow:0 14px 34px rgba(0,174,254,.44)!important}
/* The quantity control reads as one object with it. */
body.aosst .aosst-left .aosst-qty{border-color:var(--rule);box-shadow:0 4px 14px rgba(57,52,100,.06)}

/* Halo column: a cyan glow and a sheen along its top edge. */
body.aosst .aosst-right{position:relative;box-shadow:0 20px 50px rgba(0,174,254,.10)}
body.aosst .aosst-right::before{content:'';position:absolute;left:24px;right:24px;top:-2px;height:2px;border-radius:2px;
  background:linear-gradient(90deg,rgba(0,174,254,0),var(--cyan),rgba(0,174,254,0))}
body.aosst .aosst-right .woocommerce-tabs ul.tabs li{transition:background .18s,border-color .18s}
body.aosst .aosst-right .woocommerce-tabs ul.tabs li:hover{background:var(--cyanband)}
body.aosst .aosst-right .woocommerce-tabs .panel p:first-of-type{font-size:16.5px}

/* Assurance list, tightened. */
body.aosst .aosst-assure li::before{box-shadow:0 4px 10px rgba(0,174,254,.35)}

/* ==================================================================
   1.7.0. The description column becomes the module card from the
   coaching pages, and every cyan hairline in the buy column goes.
   ================================================================== */

/* The description column, in the language of What we coach, module by module:
   white, deeply shadowed, no outline at rest, the cyan border arriving on hover. */
body.aosst .aosst-right{background:#fff!important;border:2px solid transparent!important;border-radius:24px!important;
  box-shadow:0 30px 70px rgba(57,52,100,.2)!important;overflow:hidden;padding:0!important;
  transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s,border-color .3s}
body.aosst .aosst-right:hover,body.aosst .aosst-right:focus-within{border-color:var(--cyan)!important;
  transform:translateY(-4px);box-shadow:0 26px 54px rgba(57,52,100,.20)!important}
body.aosst .aosst-right::before{content:none}
body.aosst .aosst-right .woocommerce-tabs{padding:34px 42px 42px}
@media(max-width:760px){body.aosst .aosst-right .woocommerce-tabs{padding:26px 20px 28px}}
/* Card typography, matched to the module card. */
body.aosst .aosst-right .woocommerce-tabs .panel h2{font-size:clamp(20px,2.2vw,27px)!important;font-weight:800!important;
  color:var(--indigo)!important;letter-spacing:-.015em;line-height:1.25;margin:0 0 20px!important}
body.aosst .aosst-right .woocommerce-tabs .panel p{font-size:16.5px!important;line-height:1.8!important;
  color:var(--ink-soft)!important;text-align:justify;margin:0 0 24px}
body.aosst .aosst-right .woocommerce-tabs .panel ul:not(.tabs){list-style:none;display:grid;gap:13px;margin:0 0 26px;padding:0}
body.aosst .aosst-right .woocommerce-tabs .panel ul:not(.tabs) li{position:relative;padding-left:34px;font-size:16px;
  line-height:1.6;color:var(--ink)}
body.aosst .aosst-right .woocommerce-tabs .panel ul:not(.tabs) li::before{content:'\2713';position:absolute;left:0;top:1px;
  width:23px;height:23px;background:var(--cyan);color:var(--indigo);border-radius:50%;font-size:12px;font-weight:800;
  display:grid;place-items:center}
body.aosst .aosst-right .woocommerce-tabs ul.tabs{margin:0 0 22px}

/* Every cyan hairline in the buy column steps aside, whichever way it is drawn. */
body.aosst .aosst-left div.summary > *:not(.aosst-assure)::before,
body.aosst .aosst-left div.summary > *:not(.aosst-assure)::after{content:none!important;display:none!important}
body.aosst .aosst-left div.summary > *:not(.aosst-assure){border-top:0!important;border-bottom:0!important}
body.aosst .aosst-left div.summary .elementor-divider,
body.aosst .aosst-left div.summary .elementor-divider-separator,
body.aosst .aosst-left div.summary [class*="separator"],
body.aosst .aosst-left div.summary [class*="divider"]{display:none!important}

/* ==================================================================
   1.9.0 THE PRODUCT COLUMN THAT HOLDS STILL, THE PRODUCT'S OWN
   GALLERY, THE CENTRED BUYING MOMENT, AND THE NATIVE REVIEWS.
   The journey rail is withdrawn: a description is not a path, and the
   tabs must be WooCommerce's own so that Reviews actually opens.
   ================================================================== */

/* The buy column holds its place while the reading panel travels past it. */
@media(min-width:1001px){
  body.aosst .aosst-left{position:sticky;top:24px;align-self:start}
}

/* The gallery: the product's own images, in a taller frame. */
body.aosst .aosst-left .woocommerce-product-gallery,
body.aosst .aosst-left div.images{position:relative;width:100%!important;float:none!important;margin:0!important;opacity:1!important}
body.aosst .aosst-left .woocommerce-product-gallery__wrapper{margin:0!important}
body.aosst .aosst-left .flex-viewport,
body.aosst .aosst-left.aosst-left .woocommerce-product-gallery.aosst-gal-manual .woocommerce-product-gallery__image,
body.aosst .aosst-left .woocommerce-product-gallery:not(.aosst-gal) .woocommerce-product-gallery__image:first-child{
  aspect-ratio:3/4;height:auto!important;border-radius:16px;overflow:hidden;background:#fff;
  box-shadow:0 6px 20px rgba(57,52,100,.10)}
body.aosst .aosst-left .woocommerce-product-gallery__image{margin:0!important;border-radius:16px;overflow:hidden}
body.aosst .aosst-left .woocommerce-product-gallery__image img,
body.aosst .aosst-left div.images img{width:100%!important;height:100%!important;object-fit:contain!important;display:block;
  border-radius:16px;transition:transform .35s ease}
body.aosst .aosst-left .woocommerce-product-gallery:hover img{transform:scale(1.03)}
/* WooCommerce's own zoom and lightbox triggers stay where they are, just in the palette. */
body.aosst .aosst-left .woocommerce-product-gallery__trigger{z-index:5;top:12px;left:12px;right:auto}

/* Arrows, counter and thumbnails, added beside the native images, never replacing them. */
body.aosst .aosst-gal-nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;
  border:0;background:rgba(255,255,255,.94);box-shadow:0 14px 40px rgba(57,52,100,.10);color:var(--indigo);
  display:grid;place-items:center;cursor:pointer;opacity:0;transition:opacity .2s,background .2s,color .2s;z-index:6;padding:0}
body.aosst .aosst-gal:hover .aosst-gal-nav,body.aosst .aosst-gal-nav:focus-visible{opacity:1}
body.aosst .aosst-gal-nav:hover{background:var(--cyan);color:#fff}
body.aosst .aosst-gal-nav svg{width:18px;height:18px}
body.aosst .aosst-gal-prev{left:10px}
body.aosst .aosst-gal-next{right:10px}
body.aosst .aosst-gal-count{position:absolute;right:12px;top:12px;z-index:6;background:rgba(57,52,100,.82);color:#fff;
  font-size:11.5px;font-weight:800;letter-spacing:.06em;border-radius:999px;padding:5px 11px}
body.aosst .aosst-gal-thumbs,body.aosst .aosst-left .flex-control-thumbs{display:flex;gap:10px;margin:12px 0 0;padding:2px;
  overflow-x:auto;list-style:none}
body.aosst .aosst-gal-thumb,body.aosst .aosst-left .flex-control-thumbs li{flex:0 0 62px;width:62px;height:78px;
  border-radius:10px;overflow:hidden;border:2px solid transparent;background:#fff;padding:0;cursor:pointer;margin:0;
  box-shadow:0 4px 12px rgba(57,52,100,.08);transition:border-color .2s,transform .2s}
body.aosst .aosst-gal-thumb img,body.aosst .aosst-left .flex-control-thumbs li img{width:100%;height:100%;object-fit:contain;
  display:block;opacity:1;border-radius:0}
body.aosst .aosst-gal-thumb:hover,body.aosst .aosst-left .flex-control-thumbs li:hover{transform:translateY(-2px)}
body.aosst .aosst-gal-thumb[aria-current="true"],
body.aosst .aosst-left .flex-control-thumbs li img.flex-active{border-color:var(--cyan)}
body.aosst .aosst-left .flex-control-thumbs li img.flex-active{outline:2px solid var(--cyan);outline-offset:-2px}

/* The buying moment, centred on the column's own axis. */
body.aosst .aosst-left div.summary p.price,
body.aosst .aosst-left div.summary .price{text-align:center!important}
body.aosst .aosst-left div.summary .stock,
body.aosst .aosst-left div.summary .woocommerce-product-rating{text-align:center!important;float:none!important;display:block}
body.aosst .aosst-left form.cart:not(.variations_form){display:flex!important;justify-content:center;align-items:center;
  gap:10px;flex-wrap:wrap;margin-top:16px!important}
body.aosst .aosst-left form.cart:not(.variations_form) .quantity,
body.aosst .aosst-left form.cart:not(.variations_form) .aosst-qty{margin:0!important;float:none!important}
body.aosst .aosst-left form.cart:not(.variations_form) button.single_add_to_cart_button{margin:0!important;float:none!important}
body.aosst .aosst-left form.variations_form .woocommerce-variation-add-to-cart{display:flex;justify-content:center;
  align-items:center;gap:10px;flex-wrap:wrap}

/* The reading panel is the card again, with WooCommerce's own tabs inside it, so Reviews opens. */
body.aosst .aosst-right .woocommerce-tabs .panel#tab-reviews,
body.aosst .aosst-right .woocommerce-tabs .panel{animation:aosstFade .28s ease}
@keyframes aosstFade{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

/* Reviews, dressed in the house vocabulary. Native markup, stylesheet only. */
body.aosst .aosst-right #reviews #comments h2{font-size:clamp(20px,2.2vw,27px)!important;font-weight:800!important;
  color:var(--indigo)!important;letter-spacing:-.015em;margin:0 0 20px!important}
body.aosst .aosst-right #reviews .woocommerce-noreviews{font-size:16.5px;line-height:1.7;color:var(--ink-soft);
  background:var(--indigo-soft);border-radius:10px;padding:17px 20px;margin:0 0 28px}
body.aosst .aosst-right #reviews ol.commentlist{list-style:none;margin:0 0 28px!important;padding:0!important;display:grid;gap:16px}
body.aosst .aosst-right #reviews ol.commentlist li{border:1px solid var(--rule-soft);border-radius:16px;padding:20px 22px;
  background:#fff;margin:0!important;transition:border-color .2s,box-shadow .2s}
body.aosst .aosst-right #reviews ol.commentlist li:hover{border-color:var(--cyan);box-shadow:0 14px 40px rgba(57,52,100,.10)}
body.aosst .aosst-right #reviews ol.commentlist li .comment_container{display:flex;gap:14px;align-items:flex-start;
  background:transparent;border:0;padding:0}
body.aosst .aosst-right #reviews ol.commentlist li img.avatar{position:static!important;width:44px!important;height:44px!important;
  border-radius:50%!important;border:0!important;padding:0!important;background:transparent!important;margin:0!important;float:none!important}
body.aosst .aosst-right #reviews ol.commentlist li .comment-text{margin:0!important;border:0!important;padding:0!important;min-width:0}
body.aosst .aosst-right #reviews .woocommerce-review__author{font-size:15.5px;font-weight:800;color:var(--indigo)}
body.aosst .aosst-right #reviews .woocommerce-review__published-date,
body.aosst .aosst-right #reviews .woocommerce-review__dash{font-size:12.5px;font-weight:700;color:var(--ink-faded)}
body.aosst .aosst-right #reviews .comment-text p{font-size:16px!important;line-height:1.7!important;color:var(--ink-soft)!important;
  text-align:justify;margin:8px 0 0!important}
body.aosst .aosst-right .star-rating,body.aosst .aosst-right p.stars a{color:var(--cyan)!important}
body.aosst .aosst-right #review_form_wrapper #reply-title{font-size:clamp(20px,2.2vw,27px)!important;font-weight:800!important;
  color:var(--indigo)!important;display:block;margin:0 0 16px}
body.aosst .aosst-right #review_form .comment-form{display:grid;gap:14px}
body.aosst .aosst-right #review_form .comment-form label{display:block;font-size:12px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;color:var(--ink-faded);margin:0 0 6px}
body.aosst .aosst-right #review_form .comment-form input[type="text"],
body.aosst .aosst-right #review_form .comment-form input[type="email"],
body.aosst .aosst-right #review_form .comment-form textarea{width:100%;font-family:inherit;font-size:15px;color:var(--ink);
  background:#fff;border:1.5px solid var(--rule);border-radius:14px;padding:12px 15px;transition:border-color .2s,box-shadow .2s}
body.aosst .aosst-right #review_form .comment-form textarea{min-height:120px;line-height:1.6}
body.aosst .aosst-right #review_form .comment-form input:focus,
body.aosst .aosst-right #review_form .comment-form textarea:focus{outline:0;border-color:var(--cyan);
  box-shadow:0 0 0 4px rgba(0,174,254,.16)}
body.aosst .aosst-right #review_form .comment-form-cookies-consent{display:flex;align-items:center;gap:10px;
  font-size:12.5px;color:var(--ink-faded);font-weight:600}
body.aosst .aosst-right #review_form .form-submit input[type="submit"]{display:inline-flex;align-items:center;justify-content:center;
  height:44px;padding:0 26px;border:0;border-radius:999px;font-family:inherit;font-weight:800;font-size:13.5px;letter-spacing:.05em;
  text-transform:uppercase;color:var(--indigo);background:linear-gradient(135deg,var(--cyan) 0%,#0a9fe0 100%);
  box-shadow:0 10px 26px rgba(0,174,254,.32);cursor:pointer;transition:transform .16s,box-shadow .16s}
body.aosst .aosst-right #review_form .form-submit input[type="submit"]:hover{transform:translateY(-2px);
  box-shadow:0 14px 34px rgba(0,174,254,.44)}

@media(max-width:1000px){
  body.aosst .aosst-left{position:static}
}
@media(max-width:480px){
  body.aosst .aosst-gal-nav{opacity:1}
}

/* The grid stands clear of whatever the theme was floating around it. */
body.aosst .aosst-grid{clear:both;float:none;width:100%;max-width:100%;box-sizing:border-box}

/* The action sits to its content in the centred row, so its words never break across two lines. */
body.aosst .aosst-left form.cart:not(.variations_form) button.single_add_to_cart_button,
body.aosst .aosst-left form.cart:not(.variations_form) .single_add_to_cart_button{
  flex:0 0 auto!important;min-width:0!important;white-space:nowrap!important}

/* The struck original stands away from the price it was reduced to. */
body.aosst .aosst-left div.summary p.price del{margin-right:10px;font-size:.62em;font-weight:700;
  color:var(--ink-faded);text-decoration:line-through;opacity:1}
body.aosst .aosst-left div.summary p.price ins{text-decoration:none}

/* A probe the script can read to prove this stylesheet actually loaded, and the debug panel. */
.aosst-css-probe{outline:1px dotted transparent}
.aosst-diag{position:fixed;right:16px;bottom:16px;z-index:99999;background:#393464;color:#fff;font:600 12.5px/1.7 Montserrat,sans-serif;
  padding:14px 18px;border-radius:14px;box-shadow:0 20px 50px rgba(0,0,0,.35);max-width:340px}
.aosst-diag b{display:block;color:#00AEFE;font-size:13px;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px}
.aosst-diag i{display:block;margin-top:8px;color:rgba(255,255,255,.65);font-style:normal;font-size:11.5px;word-break:break-all}
.aosst-diag .y{color:#00AEFE;font-weight:800}
.aosst-diag .n{color:#fff;font-weight:800}

/* ==================================================================
   1.9.2 THE CARD IS THE PANEL. WooCommerce's tab script looks for the
   tab list inside the tabs wrapper; move it and the script hides every
   panel and shows none, which is how the description vanished. The
   list stays put, the wrapper is plain, and each panel is the card, so
   the box still lifts on hover while the tabs above it stay still.
   ================================================================== */
body.aosst .aosst-right{background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;padding:0!important;transform:none!important;min-width:0}
body.aosst .aosst-right:hover,body.aosst .aosst-right:focus-within{transform:none!important;box-shadow:none!important;
  border-color:transparent!important}
body.aosst .aosst-right .woocommerce-tabs{background:transparent!important;border:0!important;border-radius:0!important;
  box-shadow:none!important;padding:0!important;margin:0!important;transform:none!important;width:auto;float:none}
body.aosst .aosst-right .woocommerce-tabs:hover{transform:none!important;box-shadow:none!important}
body.aosst .aosst-right .woocommerce-tabs ul.tabs{display:flex!important;gap:8px;flex-wrap:wrap;list-style:none;
  margin:0 0 20px!important;padding:0!important;border:0!important;position:static}
body.aosst .aosst-right .woocommerce-tabs ul.tabs::before,
body.aosst .aosst-right .woocommerce-tabs ul.tabs::after{display:none!important;border:0!important;content:none!important}
body.aosst .aosst-right .woocommerce-tabs ul.tabs li{background:var(--tint)!important;border:0!important;
  border-bottom:3px solid transparent!important;border-radius:999px!important;margin:0!important;padding:0!important;
  box-shadow:none!important;transition:background .18s,border-color .18s}
body.aosst .aosst-right .woocommerce-tabs ul.tabs li::before,
body.aosst .aosst-right .woocommerce-tabs ul.tabs li::after{display:none!important;content:none!important}
body.aosst .aosst-right .woocommerce-tabs ul.tabs li a{display:inline-block!important;padding:9px 18px!important;
  font-size:12.5px!important;font-weight:800!important;letter-spacing:.05em!important;text-transform:uppercase!important;
  color:var(--ink-faded)!important;border:0!important;text-decoration:none!important}
body.aosst .aosst-right .woocommerce-tabs ul.tabs li:hover{background:var(--cyan-soft)!important}
body.aosst .aosst-right .woocommerce-tabs ul.tabs li.active{background:var(--cyanband)!important;
  border-bottom-color:var(--cyan)!important}
body.aosst .aosst-right .woocommerce-tabs ul.tabs li.active a{color:var(--indigo)!important}
/* the card */
body.aosst .aosst-right .woocommerce-tabs .panel,
body.aosst .aosst-right .woocommerce-tabs .wc-tab{background:#fff!important;border:2px solid transparent!important;
  border-radius:24px!important;box-shadow:0 30px 60px rgba(57,52,100,.16)!important;padding:34px 42px 42px!important;
  margin:0!important;position:relative;z-index:1;transform-origin:center;
  transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s,border-color .3s}
body.aosst .aosst-right .woocommerce-tabs .panel:hover,
body.aosst .aosst-right .woocommerce-tabs .panel:focus-within{border-color:var(--cyan)!important;
  transform:translateY(-4px) scale(1.03);box-shadow:0 26px 54px rgba(57,52,100,.20)!important;z-index:30}
@media(max-width:760px){
  body.aosst .aosst-right .woocommerce-tabs .panel{padding:26px 20px 28px!important}
  body.aosst .aosst-right .woocommerce-tabs .panel:hover{transform:translateY(-3px) scale(1.02)}
}
@media(prefers-reduced-motion:reduce){
  body.aosst .aosst-right .woocommerce-tabs .panel{transition:none}
  body.aosst .aosst-right .woocommerce-tabs .panel:hover{transform:none}
}

/* ==================================================================
   1.9.3 FIDELITY PASS. Every value below was measured against the
   approved sample and set to what the sample actually renders, not to
   what looked close: the column measure and gap, the tint padding, the
   price size, the action height, the card's own heading, body and list
   metrics, and the tab in its resting and active state.
   ================================================================== */
body.aosst .aosst-grid{grid-template-columns:minmax(280px,360px) 1fr!important;gap:48px!important}
@media(max-width:900px){body.aosst .aosst-grid{grid-template-columns:1fr!important;gap:30px!important}}
body.aosst .aosst-left{padding:22px!important}
body.aosst .aosst-left div.summary p.price{font-size:28px!important;line-height:1.2!important}
body.aosst .aosst-grid .aosst-left div.summary form.cart button.single_add_to_cart_button,
body.aosst .aosst-grid .aosst-left div.summary form.cart .single_add_to_cart_button,
body.aosst .aosst-grid .aosst-left div.summary form.cart input.single_add_to_cart_button,
body.aosst .aosst-left form.cart button.single_add_to_cart_button{height:44px!important;min-height:44px!important;
  padding:0 26px!important;line-height:1!important}
/* the card, to the sample's own metrics */
body.aosst .aosst-right .woocommerce-tabs .panel h2,
body.aosst .aosst-right .woocommerce-tabs .panel h3{line-height:1.25!important;letter-spacing:-.015em!important}
body.aosst .aosst-right .woocommerce-tabs .panel p{color:#33323f!important}
body.aosst .aosst-right .woocommerce-tabs .panel ul:not(.tabs) li{line-height:1.6!important;color:#111}
body.aosst .aosst-right .woocommerce-tabs ul.tabs li.active{background:var(--cyan-soft)!important}
body.aosst .aosst-right .woocommerce-tabs ul.tabs li:hover{background:var(--cyan-soft)!important}
/* an empty box is not a card: a panel carrying nothing does not draw one */
body.aosst .aosst-right .woocommerce-tabs .panel:empty{display:none!important}

/* Related products, three across, in the house card vocabulary. */
body.aosst .related.products ul.products,
body.aosst .up-sells.products ul.products{display:grid!important;grid-template-columns:repeat(3,1fr)!important;
  gap:26px!important;margin:0!important;padding:0!important;list-style:none!important;float:none!important}
body.aosst .related.products ul.products::before,body.aosst .related.products ul.products::after{display:none!important;content:none!important}
body.aosst .related.products ul.products li.product,
body.aosst .up-sells.products ul.products li.product{width:auto!important;margin:0!important;float:none!important;clear:none!important}
@media(max-width:900px){
  body.aosst .related.products ul.products,body.aosst .up-sells.products ul.products{grid-template-columns:repeat(2,1fr)!important}
}
@media(max-width:560px){
  body.aosst .related.products ul.products,body.aosst .up-sells.products ul.products{grid-template-columns:1fr!important}
}
body.aosst .related.products>h2,body.aosst .up-sells.products>h2{font-size:clamp(20px,2.2vw,27px)!important;font-weight:800!important;
  color:var(--indigo)!important;letter-spacing:-.015em;margin:0 0 22px!important}
body.aosst .related.products,body.aosst .up-sells.products{max-width:1200px;margin:10px auto 60px!important;float:none!important;
  width:auto!important;padding-inline:clamp(18px,4vw,44px)}

/* ==================================================================
   1.9.4 ONE CARD BEHAVIOUR EVERYWHERE. A card states itself with the
   outline arriving on all four sides, with the lift and the shadow.
   No bar along an edge, no colour fading across one. The edge bars on
   the buy column and the glow lines under the image are deleted above.
   ================================================================== */
body.aosst .aosst-left{border:2px solid transparent!important;box-shadow:0 30px 60px rgba(57,52,100,.16)!important;
  overflow:visible!important;transform-origin:center;
  transition:transform .3s cubic-bezier(.2,.7,.3,1),box-shadow .3s,border-color .3s}
body.aosst .aosst-left::before,body.aosst .aosst-left::after,
body.aosst .aosst-left div.images::before,body.aosst .aosst-left div.images::after,
body.aosst .aosst-left .woocommerce-product-gallery::before,
body.aosst .aosst-left .woocommerce-product-gallery::after{content:none!important;display:none!important}
body.aosst .aosst-left:hover,body.aosst .aosst-left:focus-within{border-color:var(--cyan)!important;
  transform:translateY(-4px) scale(1.01);box-shadow:0 26px 54px rgba(57,52,100,.20)!important;z-index:20}
/* the open tab is shown by its filled pill, not by a line above the card */
body.aosst .aosst-right .woocommerce-tabs ul.tabs li,
body.aosst .aosst-right .woocommerce-tabs ul.tabs li.active{border-bottom-color:transparent!important;border-bottom-width:0!important}
body.aosst .aosst-right .woocommerce-tabs .panel::before,
body.aosst .aosst-right .woocommerce-tabs .panel::after{content:none!important}
/* no wrapper draws a box around nothing */
body.aosst .aosst-left .quantity:empty,body.aosst .aosst-qty:empty{display:none!important}
body.aosst .aosst-qty.aosst-qty-hidden{display:none!important}

/* Related products, three at a time and moving. WooCommerce's own cards are moved into the
   track, never rebuilt, so every Add to cart on them keeps working. */
body.aosst .aosst-rel{position:relative}
body.aosst .aosst-rel-view{overflow:hidden;padding:6px 2px 10px}
body.aosst .related.products.aosst-rel ul.products,body.aosst .up-sells.products.aosst-rel ul.products,body.aosst .aosst-rel .products{display:flex!important;grid-template-columns:none!important;gap:26px!important;
  margin:0!important;padding:0!important;list-style:none!important;
  transition:transform .5s cubic-bezier(.2,.7,.3,1);will-change:transform}
body.aosst .related.products.aosst-rel ul.products li.product,body.aosst .up-sells.products.aosst-rel ul.products li.product,body.aosst .aosst-rel .products li.product{flex:0 0 calc((100% - 52px)/3)!important;width:auto!important;margin:0!important;
  float:none!important;max-width:none!important}
@media(max-width:900px){body.aosst .related.products.aosst-rel ul.products li.product,body.aosst .aosst-rel .products li.product{flex-basis:calc((100% - 26px)/2)!important}}
@media(max-width:560px){body.aosst .related.products.aosst-rel ul.products li.product,body.aosst .aosst-rel .products li.product{flex-basis:100%!important}}
body.aosst .aosst-rel-nav{position:absolute;top:38%;width:44px;height:44px;border-radius:50%;border:0;padding:0;
  background:#fff;box-shadow:0 14px 40px rgba(57,52,100,.16);color:var(--indigo);display:grid;place-items:center;
  cursor:pointer;z-index:6;transition:background .2s,color .2s,transform .2s}
body.aosst .aosst-rel-nav:hover{background:var(--cyan);color:#fff;transform:scale(1.06)}
body.aosst .aosst-rel-nav[disabled]{opacity:.35;cursor:not-allowed}
body.aosst .aosst-rel-nav svg{width:19px;height:19px}
body.aosst .aosst-rel-prev{left:-14px}
body.aosst .aosst-rel-next{right:-14px}
body.aosst .aosst-rel-foot{display:flex;align-items:center;justify-content:center;gap:14px;margin:6px 0 0}
body.aosst .aosst-rel-dots{display:flex;gap:7px;list-style:none;margin:0;padding:0}
body.aosst .aosst-rel-dot{width:8px;height:8px;border-radius:50%;border:0;padding:0;background:var(--rule);cursor:pointer;
  transition:background .2s,width .2s}
body.aosst .aosst-rel-dot[aria-current="true"]{background:var(--cyan);width:22px;border-radius:999px}
body.aosst .aosst-rel-count{font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-faded)}
@media(max-width:1000px){body.aosst .aosst-rel-prev{left:-6px}body.aosst .aosst-rel-next{right:-6px}}

/* A column can only hold its place if no ancestor is a scroll box. Themes clear their floats
   with overflow hidden on the product wrapper, which quietly makes sticky positioning inert,
   so those wrappers are returned to visible. The grid clears its own floats already. */
body.aosst div.product,body.aosst .woocommerce,body.aosst .woocommerce-page,
body.aosst .aosst-grid,body.aosst .aosst-left div.summary,body.aosst .aosst-left .entry-summary{overflow:visible!important}
body.aosst .aosst-left{overflow:visible!important}

/* Cards in the carousel are measured whole, borders included, so three sit exactly across. */
body.aosst .aosst-rel li.product,body.aosst .aosst-rel .products{box-sizing:border-box!important}

/* ==================================================================
   1.9.5 THE TITLE BAND JOINS THE REST OF THE SITE, THE PILLS TAKE THE
   BRAND COLOUR, THE CARD OUTLINE IS VISIBLE ON ALL FOUR SIDES, AND
   NOTHING DRAWS A BOX AROUND NOTHING.
   ================================================================== */
/* The product head band is now the band every other store page wears: the dark ground, the
   photograph behind it, the cyan kicker and the title in white. No line, no fade, no dots. */
body.aosst .aosst-titleband{background:#0b0a18!important;border-bottom:0!important;position:relative;overflow:hidden;
  margin:0 0 6px}
body.aosst .aosst-titleband::before,body.aosst .aosst-titleband::after{content:none!important;display:none!important}
body.aosst .aosst-titleband .aosst-bg{position:absolute;inset:0;background-size:cover;background-position:center 30%}
body.aosst .aosst-titleband .aosst-bg::after{content:'';position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(11,10,24,.86) 0%,rgba(11,10,24,.6) 48%,rgba(11,10,24,.28) 76%,rgba(11,10,24,.16) 100%)}
body.aosst .aosst-titleband-in{position:relative;z-index:1}
body.aosst .aosst-titleband .aosst-ptitle{color:#fff!important}
body.aosst .aosst-titleband .aosst-meta{color:rgba(255,255,255,.8)!important}
body.aosst .aosst-titleband .aosst-eyebrow{color:var(--cyan)!important}

/* The tabs carry the brand: the open one filled cyan, the closed one in the cyan mist behind a
   cyan hairline, both in indigo type. */
body.aosst .aosst-right .woocommerce-tabs ul.tabs li{background:var(--cyan-mist)!important;
  border:1.5px solid rgba(0,174,254,.45)!important;border-radius:999px!important}
body.aosst .aosst-right .woocommerce-tabs ul.tabs li a{color:var(--indigo)!important}
body.aosst .aosst-right .woocommerce-tabs ul.tabs li:hover{background:rgba(0,174,254,.18)!important;
  border-color:var(--cyan)!important}
body.aosst .aosst-right .woocommerce-tabs ul.tabs li.active{background:var(--cyan)!important;
  border-color:var(--cyan)!important;box-shadow:0 8px 22px rgba(0,174,254,.32)!important}
body.aosst .aosst-right .woocommerce-tabs ul.tabs li.active a{color:var(--indigo)!important}

/* An outline is only an outline if all four sides can be seen, so nothing around the card clips. */
body.aosst .aosst-right,body.aosst .aosst-right .woocommerce-tabs,
body.aosst .aosst-right .woocommerce-tabs .panel,body.aosst .aosst-grid,
body.aosst .aosst-right .woocommerce-tabs .wc-tab{overflow:visible!important}
body.aosst .aosst-right .woocommerce-tabs .panel{border-width:2px!important;border-style:solid!important}
body.aosst .aosst-right .woocommerce-tabs .panel:hover,
body.aosst .aosst-right .woocommerce-tabs .panel:focus-within{border-color:var(--cyan)!important}

/* The product meta line, SKU and category, is not repeated under the description: the category
   already stands as the kicker in the head band. */
body.aosst div.product .product_meta,body.aosst .aosst-right .product_meta{display:none!important}

/* A carousel that repeats: the cards rotate, so the three places are always filled. */
body.aosst .aosst-rel .products{transition:transform .5s cubic-bezier(.2,.7,.3,1)}
body.aosst .aosst-rel-count{white-space:nowrap}

/* Only Description and Reviews are product sections here. The Additional information tab and its
   panel, empty for a book, never draw, by stylesheet as well as by script. */
body.aosst .woocommerce-tabs .woocommerce-Tabs-panel--additional_information,
body.aosst .woocommerce-tabs #tab-additional_information,
body.aosst .woocommerce-tabs ul.tabs li.additional_information_tab{display:none!important}
