/*
Theme Name: STARWARM
Theme URI: https://starwarm.com.au
Author: STARWARM
Description: Server-rendered WooCommerce theme translated from the existing STARWARM React storefront.
Version: 1.0.0
Text Domain: starwarm
Requires at least: 6.9
Requires PHP: 8.3
*/

:root {
  --sw-cream: oklch(.988 .007 80);
  --sw-cream-deep: oklch(.970 .013 78);
  --sw-sky: oklch(.89 .085 220);
  --sw-sky-mid: oklch(.74 .13 220);
  --sw-sky-deep: oklch(.52 .17 225);
  --sw-blush: oklch(.93 .038 10);
  --sw-blush-mid: oklch(.82 .075 10);
  --sw-blush-deep: oklch(.60 .12 12);
  --sw-ink: oklch(.16 .014 260);
  --sw-ink-light: oklch(.50 .012 260);
  --sw-stone: oklch(.84 .010 80);
}

body.admin-bar .sw-header { top: 32px; }
html,body { overflow-x:clip; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:2px solid var(--sw-sky-deep);outline-offset:3px; }
@media (max-width: 782px) { body.admin-bar .sw-header { top: 46px; } }
.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; }
.sw-header.scrolled { border-bottom: 1px solid color-mix(in oklch, var(--sw-stone), transparent 70%); }
.sw-menu-panel { visibility:hidden; opacity:0; transform:translate(-50%,8px); }
.sw-menu-group:hover .sw-menu-panel, .sw-menu-group:focus-within .sw-menu-panel { visibility:visible; opacity:1; transform:translate(-50%,0); }
.sw-drawer-backdrop { background:rgb(26 27 32 / .25); backdrop-filter:blur(3px); }
.sw-mobile-drawer, .sw-cart-drawer { transform:translateX(100%); transition:transform .35s cubic-bezier(.16,1,.3,1); }
.sw-mobile-drawer.is-open, .sw-cart-drawer.is-open { transform:translateX(0); }
.sw-overlay { visibility:hidden; opacity:0; transition:opacity .2s ease,visibility .2s ease; }
.sw-overlay.is-open { visibility:visible; opacity:1; }
body.sw-lock { overflow:hidden; }
.sw-icon { width:1.15rem;height:1.15rem;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round; }
.sw-header-badge,.sw-cart-count,[data-wishlist-count] { width:auto;min-width:15px;height:auto;min-height:11px;padding:1px 2px;font-size:9px;font-weight:600;line-height:1; }
.sw-care-icon { width:1.75rem;height:1.75rem;stroke-width:2;flex-shrink:0; }
.sw-review-star { width:.875rem;height:.875rem; }
.sw-review-heading-star { width:1.125rem;height:1.125rem; }
.sw-review-star,.sw-review-heading-star { fill:currentColor; }
.sw-about-name-icon { width:1.375rem;height:1.375rem;flex-shrink:0;stroke-width:1.5; }
.sw-perk-icon,.sw-accordion-chevron { width:.9375rem;height:.9375rem;flex-shrink:0; }
.sw-collection-chip-icon { width:.8125rem;height:.8125rem;flex-shrink:0; }
.sw-about-page section span.rounded-full.border { border-width:1.5px; }
p[data-form-status]:empty { display:none; }
form[data-sw-form] > input.hidden + label { margin-top:0; }
form[data-sw-form] > button[type="submit"] { margin-bottom:0; }
[data-accordion-button] .sw-accordion-chevron { transition:transform .2s ease; }
[data-accordion-button][aria-expanded="true"] .sw-accordion-chevron { transform:rotate(180deg); }
.sw-icon.h-3.w-3 { width:.75rem;height:.75rem; }
.sw-icon.h-3\.5.w-3\.5 { width:.875rem;height:.875rem; }
.sw-icon.h-4.w-4 { width:1rem;height:1rem; }
.sw-icon.h-7.w-7 { width:1.75rem;height:1.75rem; }
.sw-icon.h-11.w-11 { width:2.75rem;height:2.75rem; }
.sw-icon.h-12.w-12 { width:3rem;height:3rem; }
.sw-product-card .sw-quick-shop { transform:translateY(100%); transition:transform .3s ease; }
.sw-product-card:hover .sw-quick-shop { transform:translateY(0); }
.sw-product-card img { transition:transform .5s ease; }
.sw-product-card:hover img { transform:scale(1.02); }
.sw-gallery-thumb.is-active { box-shadow:0 0 0 2px var(--sw-sky-mid); }
.sw-tab-panel[hidden], .sw-accordion-panel[hidden] { display:none; }
.sw-heart.is-active { color:var(--sw-blush-deep); fill:currentColor; }
.sw-toast { opacity:0; transform:translateY(8px); pointer-events:none; transition:.2s ease; }
.sw-toast.is-visible { opacity:1; transform:translateY(0); }

/* WooCommerce is deliberately restyled to match the existing storefront. */
.woocommerce .woocommerce-breadcrumb { display:none; }
.woocommerce ul.products { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1.25rem;margin:0; }
.woocommerce ul.products::before,.woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product { width:auto!important;margin:0!important;float:none!important; }
.woocommerce div.product { margin:0; }
.woocommerce div.product div.images,.woocommerce div.product div.summary { float:none;width:auto;margin:0; }
.woocommerce form .form-row { padding:0;margin:0 0 1rem; }
.woocommerce form .form-row label { display:block;margin-bottom:.4rem;font-size:.875rem;font-weight:600;color:var(--sw-ink); }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,
.woocommerce .select2-container .select2-selection--single { width:100%;border:1px solid color-mix(in oklch,var(--sw-stone),transparent 35%);border-radius:1rem;background:var(--sw-cream);padding:.8rem 1rem;min-height:48px;color:var(--sw-ink); }
.woocommerce button.button,.woocommerce a.button,.woocommerce input.button,.woocommerce #respond input#submit {
  border:0;border-radius:9999px;background:var(--sw-ink);color:#fff;padding:.9rem 1.5rem;font:600 .875rem/1.25rem "DM Sans",sans-serif;
}
.woocommerce button.button:hover,.woocommerce a.button:hover,.woocommerce input.button:hover { background:var(--sw-sky-deep);color:#fff; }
.woocommerce .variations_form .single_add_to_cart_button { background:var(--sw-sky-deep);padding:1rem 1.5rem; }
.woocommerce .variations_form.sw-sock-form .single_add_to_cart_button { background:var(--sw-ink);padding:.875rem 0; }
.woocommerce-message,.woocommerce-info,.woocommerce-error { border:1px solid color-mix(in oklch,var(--sw-stone),transparent 35%);border-top:0;border-radius:1rem;background:var(--sw-cream-deep);color:var(--sw-ink);padding:1rem 1.25rem 1rem 3rem; }
.woocommerce-message::before,.woocommerce-info::before { color:var(--sw-sky-deep); }
.woocommerce-error::before { color:var(--sw-blush-deep); }
.woocommerce table.shop_table { border:1px solid color-mix(in oklch,var(--sw-stone),transparent 40%);border-radius:1.5rem;border-collapse:separate;overflow:hidden; }
.woocommerce table.shop_table th,.woocommerce table.shop_table td { padding:1rem;border-color:color-mix(in oklch,var(--sw-stone),transparent 55%); }
.woocommerce .quantity .qty { min-height:42px;border:1px solid var(--sw-stone);border-radius:9999px; }
.sw-cart-page .woocommerce-cart-form { margin:0; }
.sw-cart-page .sw-cart-item img { display:block;width:6.5rem;height:8rem;max-width:none; }
.sw-cart-page .sw-cart-quantity .quantity { margin:0; }
.sw-cart-page .sw-cart-quantity .qty { width:2rem;min-height:2.75rem;padding:0;border:0;background:transparent;text-align:center;appearance:textfield; }
.sw-cart-page .sw-cart-quantity .qty::-webkit-inner-spin-button,.sw-cart-page .sw-cart-quantity .qty::-webkit-outer-spin-button { margin:0;appearance:none; }
.sw-cart-page .woocommerce-Price-amount { white-space:nowrap; }
.sr-only { position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important; }
.woocommerce-account .woocommerce-MyAccount-navigation { float:none;width:100%;margin-bottom:2rem; }
.woocommerce-account .woocommerce-MyAccount-navigation ul { display:flex;flex-wrap:wrap;gap:.5rem;padding:0;list-style:none; }
.woocommerce-account .woocommerce-MyAccount-navigation a { display:block;border:1px solid var(--sw-stone);border-radius:9999px;padding:.55rem 1rem;font-size:.875rem; }
.woocommerce-account .woocommerce-MyAccount-content { float:none;width:100%; }
.sw-checkout .woocommerce-checkout { display:grid;gap:0 2.5rem;align-items:start; }
.sw-checkout #customer_details,.sw-checkout #customer_details .col-1,.sw-checkout #customer_details .col-2 { float:none;width:auto; }
.sw-checkout #customer_details { grid-area:customer; }
.sw-checkout #order_review_heading { grid-area:heading;margin:0;border:1px solid color-mix(in oklch,var(--sw-stone),transparent 40%);border-bottom:0;border-radius:1.5rem 1.5rem 0 0;background:var(--sw-cream-deep);padding:1.5rem 1.5rem .75rem;font-size:1.25rem;font-weight:600; }
.sw-checkout #order_review { grid-area:review;border:1px solid color-mix(in oklch,var(--sw-stone),transparent 40%);border-top:0;border-radius:0 0 1.5rem 1.5rem;background:var(--sw-cream-deep);padding:.25rem 1.5rem 1.5rem; }
.sw-checkout #order_review table { width:100%;border:0;border-radius:0;background:transparent; }
.sw-checkout #order_review table th,.sw-checkout #order_review table td { padding:.75rem 0; }
.sw-checkout #payment { background:transparent; }
.sw-checkout #payment ul.payment_methods { padding:1rem 0;border-bottom-color:color-mix(in oklch,var(--sw-stone),transparent 45%); }
.sw-checkout #payment div.form-row { padding:1rem 0 0; }
.sw-checkout #place_order { width:100%;min-height:48px; }
.sw-checkout .woocommerce-billing-fields h3,.sw-checkout .woocommerce-additional-fields h3 { margin:0 0 1rem;font-size:1.25rem;font-weight:600; }
.sw-checkout .woocommerce-billing-fields__field-wrapper { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 1rem; }
.sw-checkout .form-row-wide,.sw-checkout #billing_email_field,.sw-checkout #billing_address_1_field,.sw-checkout #billing_address_2_field { grid-column:1/-1; }
.sw-checkout #ship-to-different-address { margin:1rem 0;font-size:.875rem; }
.sw-checkout .woocommerce-additional-fields { margin-top:1.5rem; }
@media (min-width:1024px) {
  .woocommerce ul.products { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .sw-checkout .woocommerce-checkout { grid-template-columns:minmax(0,1fr) 380px;grid-template-areas:"customer heading" "customer review";grid-template-rows:auto 1fr; }
  .sw-checkout #order_review_heading { position:sticky;top:6rem;z-index:1; }
  .sw-checkout #order_review { position:sticky;top:10.1rem; }
}
@media (hover:none) { .sw-product-card .sw-quick-shop { display:none; } }
.single-product main section a .sw-icon { width:.875rem;height:.875rem; }
@media (max-width:1023px) { .home main > div > section:nth-of-type(2) { border-bottom:1.5px solid transparent; } }
@media (max-width:639px) {
  .sw-cart-page { padding-top:2rem;padding-bottom:3rem; }
  .sw-cart-page .sw-cart-item img { width:5.25rem;height:6.75rem; }
  .sw-cart-page .sw-cart-item { gap:.75rem; }
  .sw-checkout .woocommerce-billing-fields__field-wrapper { grid-template-columns:1fr; }
  .sw-checkout .woocommerce-billing-fields__field-wrapper > * { grid-column:1; }
}
@media (max-width:1023px) {
  .sw-checkout .woocommerce-checkout { grid-template-areas:"customer" "heading" "review"; }
  .sw-checkout #order_review_heading { margin-top:2rem; }
}
@media (prefers-reduced-motion:reduce) {
  *,*::before,*::after { scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important; }
}
