/* Spectra — WooCommerce + WordPress layer on top of spectra.css */

/* header extras */
.gnav .logo img{width:150px;height:auto;max-height:44px;object-fit:contain;filter:brightness(0)}
.logo-text{font-weight:600;letter-spacing:.32em;font-size:15px}
.acct{width:30px;height:30px;display:grid;place-items:center;color:rgba(0,0,0,.8)}
.acct-ic{width:14px;height:14px;border:1.3px solid currentColor;border-radius:50%;position:relative;margin-top:-3px}
.acct-ic::after{content:"";position:absolute;left:50%;top:13px;width:20px;height:9px;border:1.3px solid currentColor;border-bottom:0;border-radius:10px 10px 0 0;transform:translateX(-50%)}
.gnav nav .current-menu-item>a,.gnav nav a[aria-current]{color:#000;font-weight:500}
.spectra-ruo-bar{position:sticky!important;top:48px!important;z-index:58!important;background:#1d1d1f;color:#f5f5f7;text-align:center;font-size:13px;line-height:1.35;padding:9px 16px}
.spectra-ruo-bar strong{font-weight:700;text-transform:uppercase;letter-spacing:.04em;margin-right:4px}
body.admin-bar .gnav{top:32px}
body.admin-bar .spectra-ruo-bar{top:80px!important}
.story-pin,.statement .pin{top:84px;height:calc(100vh - 84px)}
.mnav{inset:84px 0 0}
.mnav a{display:block}

/* category chips (shop) */
.cats .cat{width:auto;padding:10px 18px;border-radius:980px;background:var(--tile);font-weight:500}
.cats .cat.on{background:var(--ink);color:#fff}

/* product grid */
ul.products{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:18px}
ul.products::before,ul.products::after{display:none!important}
ul.products li.product{width:auto!important;margin:0!important;float:none!important;display:flex;flex-direction:column}
ul.products li.product a.woocommerce-LoopProduct-link{display:flex;flex-direction:column;color:inherit}
ul.products li.product img{width:100%;aspect-ratio:1/1.08;object-fit:contain;padding:11%;background:var(--tile);border-radius:18px;margin:0 0 14px!important;filter:drop-shadow(0 14px 14px rgba(0,0,0,.13));transition:transform .8s var(--out)}
ul.products li.product:hover img{transform:scale(1.02)}
ul.products li.product .tag{display:block;font-size:12px;color:var(--new);margin:0 4px 2px}
ul.products li.product .woocommerce-loop-product__title{font-size:17px!important;font-weight:600;line-height:1.25;padding:0 4px!important;margin:0}
ul.products li.product .price{display:block;color:var(--ink)!important;font-size:15px!important;margin:6px 4px 10px!important}
ul.products li.product .button{align-self:flex-start;margin:0 4px!important}
.onsale{display:none}

/* buttons -> Apple pills */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,
.woocommerce a.button.alt,.woocommerce button.button.alt,.wc-block-components-button{
  background:var(--blue)!important;color:#fff!important;border-radius:980px!important;font-weight:400!important;
  padding:10px 20px!important;font-size:15px!important;border:0!important;letter-spacing:-.01em;transition:background .2s}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce button.button.alt:hover{background:var(--blue-h)!important}
.woocommerce button.button.disabled,.woocommerce button.button:disabled{background:#d2d2d7!important}
.woocommerce a.added_to_cart{display:inline-block;margin:8px 4px 0;font-size:14px;color:var(--link)}

/* toolbar */
.woocommerce-result-count{margin:0!important;color:var(--muted);font-size:15px}
.woocommerce-ordering{margin:0!important}
.woocommerce-ordering select{-webkit-appearance:none;appearance:none;height:36px;padding:0 34px 0 14px;border-radius:10px;border:1px solid var(--line);background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='M1 1l4 4 4-4' fill='none' stroke='%236e6e73' stroke-width='1.5'/%3E%3C/svg%3E") no-repeat right 14px center;font-size:14px}

/* single product */
.woo-page{padding:clamp(30px,5vw,56px) 0 80px}
.single-product div.product{display:grid;grid-template-columns:1.25fr 1fr;gap:60px;align-items:start}
.single-product div.product .woocommerce-product-gallery{width:auto!important;float:none!important;position:relative!important;top:auto!important;align-self:start}
.single-product div.product .woocommerce-product-gallery__image img{max-height:640px;width:100%;object-fit:contain}
.single-product div.product .woocommerce-product-gallery .flex-viewport{max-height:680px}
.single-product div.product .summary{width:auto!important;float:none!important;margin-top:0;padding:0;border-radius:0;background:none}
.single-product div.product .woocommerce-product-gallery{margin:0!important}
.single-product div.product .woocommerce-product-gallery__wrapper{background:var(--tile);border-radius:22px;overflow:hidden}
.single-product div.product .woocommerce-product-gallery__image img{object-fit:contain;padding:8%;filter:drop-shadow(0 26px 24px rgba(0,0,0,.16))}
.single-product .flex-control-thumbs{display:flex!important;gap:10px;margin-top:12px!important;overflow-x:auto}
.single-product .flex-control-thumbs li{width:76px!important;flex:none;border-radius:12px;overflow:hidden;background:#fff;box-shadow:inset 0 0 0 1px var(--line2)}
.single-product .flex-control-thumbs li img{opacity:1!important;height:96px;object-fit:cover;object-position:top}
.single-product .flex-control-thumbs li img.flex-active{outline:2px solid var(--blue);outline-offset:-2px}
.single-product .product_title{font-size:clamp(34px,4vw,48px);font-weight:600;line-height:1.08;margin-bottom:10px}
.single-product .summary .price{font-size:21px!important;color:var(--ink)!important;margin-bottom:12px}
.single-product .woocommerce-product-details__short-description{color:var(--muted);font-size:15px;margin-bottom:24px}
.single-product table.variations{margin-bottom:12px}
.single-product table.variations th.label{display:block;text-align:left;font-size:21px;font-weight:600;padding:0 0 12px}
.single-product table.variations td{display:block}
.single-product table.variations select{width:100%;height:56px;border-radius:12px;border:1px solid #86868b;padding:0 16px;font-size:17px;background:#fff}
.single-product .reset_variations{font-size:14px;color:var(--link)}
.single-product .single_variation_wrap .price{font-size:24px!important;font-weight:600}
.single-product form.cart{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin:20px 0!important}
.single-product form.cart.variations_form{display:block}
.single-product .quantity input.qty{height:46px;width:70px;border-radius:12px;border:1px solid #86868b;text-align:center;font-size:17px}
.single-product .single_add_to_cart_button{min-height:46px;padding:0 34px!important;font-size:17px!important}
.single-product .woocommerce-tabs{grid-column:1/-1}
.single-product .woocommerce-tabs ul.tabs{display:none}
.single-product .woocommerce-tabs .panel{border-top:1px solid var(--line);padding-top:30px;margin:0}
.single-product .woocommerce-tabs .panel h2{font-size:24px;font-weight:600;margin-bottom:12px}
.single-product .related{grid-column:1/-1;margin-top:60px}
.single-product .related>h2{font-size:clamp(28px,3vw,40px);font-weight:600;margin-bottom:26px}
.coa-block{grid-column:1/-1;border-top:1px solid var(--line);padding-top:34px;margin-top:20px}
.coa-block h2{font-size:clamp(24px,2.4vw,32px);font-weight:600}
.coa-block .muted{margin:4px 0 20px}
.coa-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}
.coa-thumb{display:block;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 2px rgba(0,0,0,.06),0 8px 24px rgba(0,0,0,.06);transition:transform .4s var(--out)}
.coa-thumb:hover{transform:translateY(-4px)}
.coa-thumb img{width:100%;aspect-ratio:1684/2382;object-fit:cover;object-position:top}
.coa-thumb span{display:block;padding:8px 12px;font-size:13px;color:var(--ink2)}
.lrow .docs a{display:block;width:44px;height:60px;border-radius:6px;overflow:hidden;background:#fff;box-shadow:0 0 0 1px var(--line2),0 2px 6px rgba(0,0,0,.05)}
.lrow .docs img{width:100%;height:100%;object-fit:cover;object-position:top}
.lrow img.v{height:80px;width:70px;object-fit:contain}
.coacard{display:block;color:inherit}

/* cart / checkout / account */
.woocommerce-cart .woo-page,.woocommerce-checkout .woo-page{max-width:1100px}
.woocommerce table.shop_table{border-radius:18px;border-color:var(--line2)!important;overflow:hidden}
.woocommerce table.shop_table th{font-weight:600}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container .select2-selection--single{
  height:52px;border-radius:12px!important;border:1px solid #86868b!important;padding:0 14px!important;font-size:16px}
.woocommerce form .form-row textarea{height:110px;padding:12px 14px!important}
.select2-container .select2-selection--single .select2-selection__rendered{line-height:50px!important;padding:0!important}
.select2-container .select2-selection--single .select2-selection__arrow{height:50px!important}
.woocommerce-checkout #payment{background:var(--tile)!important;border-radius:18px!important}
.woocommerce-info,.woocommerce-message,.woocommerce-error{border-top:0!important;border-radius:14px;background:var(--tile)!important;color:var(--ink)!important;padding:16px 20px 16px 50px!important}
.spectra-ruo-ack label{font-size:14px!important;line-height:1.45!important}

/* mini cart drawer */
.drawer .woocommerce-mini-cart{list-style:none;margin:0;padding:0}
.drawer .woocommerce-mini-cart-item{position:relative;min-height:110px;padding:18px 30px 18px 80px!important;border-bottom:1px solid var(--line2);list-style:none}
.drawer .woocommerce-mini-cart-item img{position:absolute;left:0;top:18px;width:64px!important;height:72px!important;object-fit:contain;background:var(--tile);border-radius:10px;padding:4px;margin:0!important;float:none!important}
.drawer .woocommerce-mini-cart-item a:not(.remove){display:block;font-weight:600;font-size:15px;line-height:1.3;color:var(--ink)}
.drawer .woocommerce-mini-cart-item .variation{font-size:13px;color:var(--muted);margin:4px 0 0}
.drawer .woocommerce-mini-cart-item .variation dt,.drawer .woocommerce-mini-cart-item .variation dd{display:inline;margin:0;float:none}
.drawer .woocommerce-mini-cart-item .variation dd p{display:inline;margin:0}
.drawer .woocommerce-mini-cart-item .quantity{display:block;margin-top:6px;font-size:14px;color:var(--muted)}
.drawer .woocommerce-mini-cart-item .remove{position:absolute;right:0;top:16px;width:24px;height:24px;line-height:22px;text-align:center;border-radius:50%;color:var(--muted)!important;font-size:18px}
.drawer .woocommerce-mini-cart-item .remove:hover{background:var(--tile)!important;color:var(--ink)!important}
.drawer .woocommerce-mini-cart__total{display:flex;justify-content:space-between;font-size:18px;font-weight:600;padding:20px 0 10px;margin:0}
.drawer .woocommerce-mini-cart__buttons{display:grid;gap:10px;margin:0}
.drawer .woocommerce-mini-cart__buttons a{text-align:center;width:100%}
.drawer .woocommerce-mini-cart__buttons a:not(.checkout){background:var(--tile)!important;color:var(--ink)!important}
.drawer .woocommerce-mini-cart__empty-message{padding:30px 0;color:var(--muted)}

/* logo reveal with text fallback */
.holo-text{display:grid;place-items:center}
.holo-text>span:first-child{font-size:clamp(56px,12vw,150px);font-weight:600;letter-spacing:.28em;color:#000}

/* editor content */
.entry h2{font-size:24px;font-weight:600;margin:30px 0 10px}
.entry h3{font-size:19px;font-weight:600;margin:24px 0 8px}
.entry p,.entry li{color:var(--ink2);margin-bottom:12px;max-width:72ch}
.entry ul,.entry ol{padding-left:22px}
.entry a{color:var(--link)}

@media (max-width:1068px){
  .single-product div.product{grid-template-columns:1fr;gap:30px}
  .single-product div.product .woocommerce-product-gallery{position:relative!important;top:0}
}
@media (max-width:640px){
  ul.products{grid-template-columns:1fr 1fr;gap:12px}
  ul.products li.product .woocommerce-loop-product__title{font-size:15px!important}
  .spectra-ruo-bar{top:48px!important}
  .story-pin,.statement .pin{top:92px;height:calc(100vh - 92px)}
  .mnav{inset:92px 0 0}
}

/* never allow sideways scroll (drawer / gallery track sit off-canvas) */
html,body{overflow-x:clip}
.woocommerce-product-gallery{overflow:hidden}

/* classic checkout: details left, order summary right */
form.woocommerce-checkout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);grid-template-rows:auto 1fr;gap:0 56px;align-items:start}
form.woocommerce-checkout>.woocommerce-NoticeGroup{grid-column:1/-1}
form.woocommerce-checkout #customer_details{grid-column:1;grid-row:1/span 2}
form.woocommerce-checkout #customer_details .col-1,form.woocommerce-checkout #customer_details .col-2{width:auto;float:none}
form.woocommerce-checkout #order_review_heading{grid-column:2;grid-row:1;font-size:21px;font-weight:600;margin:0 0 14px}
form.woocommerce-checkout #order_review{grid-column:2;grid-row:2;position:sticky;top:110px;align-self:start}
.woocommerce-checkout h3{font-size:21px;font-weight:600;margin:0 0 14px}
.woocommerce form .form-row{margin:0 0 14px}
.woocommerce form .form-row label{font-size:14px;color:var(--ink2);margin-bottom:6px}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--line2)}
.spectra-ruo-ack{margin:6px 0 16px!important}
.spectra-ruo-ack label.checkbox{display:flex!important;gap:10px;align-items:flex-start;color:var(--ink)!important}
.spectra-ruo-ack input[type=checkbox]{width:20px;height:20px;flex:none;margin-top:1px;accent-color:var(--blue)}
.woocommerce-checkout #place_order{width:100%;min-height:50px;font-size:17px!important}
@media (max-width:900px){
  form.woocommerce-checkout{grid-template-columns:1fr}
  form.woocommerce-checkout #customer_details,form.woocommerce-checkout #order_review_heading,form.woocommerce-checkout #order_review{grid-column:1;grid-row:auto;position:static}
}

/* Cart thumbnails: fixed square, never stretched */
.woocommerce table.cart td.product-thumbnail{width:110px}
.woocommerce table.cart td.product-thumbnail img,.woocommerce-cart table.cart img,.woocommerce-checkout table.cart img{width:84px!important;height:84px!important;max-width:none;object-fit:contain;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.woocommerce table.cart td.product-thumbnail a:hover img{transform:scale(1.04)}
.woocommerce-mini-cart-item img,.widget_shopping_cart img{height:auto;object-fit:contain;transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.woocommerce-mini-cart-item:hover img{transform:scale(1.04)}
/* Subtle hover zoom on product imagery */
ul.products li.product img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
ul.products li.product:hover img{transform:scale(1.03)}
.woocommerce-product-gallery__image{overflow:hidden}
.woocommerce-product-gallery__image img{transition:transform .6s cubic-bezier(.2,.7,.2,1)}
.woocommerce-product-gallery__image:hover img{transform:scale(1.03)}
.lib .lrow img.v,.lib .docs img{transition:transform .45s cubic-bezier(.2,.7,.2,1)}
.lib .lrow:hover img.v,.lib .docs a:hover img{transform:scale(1.04)}
@media (prefers-reduced-motion:reduce){img{transition:none!important}}
