/*
Theme Name: STUSSYS Taiwan Select
Author: STUSSYS Taiwan Project
Description: Taiwan localization preserving the source storefront layout and navigation.
Version: 1.3.8
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: stussys-tw
*/
html{box-sizing:border-box}*,*:before,*:after{box-sizing:inherit}html,body{margin:0;padding:0}body{font-family:Arial,Helvetica,sans-serif;color:#0a0a0a;background:#fff;font-size:10px;line-height:1.18}a{color:inherit;text-decoration:none}img{max-width:100%;height:auto;display:block}button,input,select,textarea{font:inherit;color:inherit}.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}.saj-shell{min-height:100vh}.saj-sidebar{position:fixed;left:0;top:0;bottom:0;width:25vw;min-width:260px;padding:17px 0 17px 24px;background:#fff;z-index:100;display:flex;flex-direction:column}.saj-logo{display:inline-block;width:max-content;margin-bottom:18px;font-weight:900;font-size:28px;letter-spacing:-2px;line-height:1}.saj-logo img{width:auto;max-width:105px;max-height:58px;object-fit:contain}.saj-nav{width:155px;overflow:auto;scrollbar-width:none}.saj-nav::-webkit-scrollbar{display:none}.saj-nav ul{list-style:none;margin:0;padding:0}.saj-nav li{margin:0 0 5px}.saj-nav-row{display:flex;align-items:center;gap:5px}.saj-nav a,.saj-nav span,.saj-nav button{font-size:8px;line-height:1.1;font-weight:700;text-transform:uppercase;letter-spacing:-.01em}.saj-nav button{background:none;border:0;padding:0;cursor:pointer;text-align:left}.saj-sub-toggle{width:12px}.saj-nav .children{display:none;padding:5px 0 2px 9px}.saj-nav .children li{margin-bottom:4px}.saj-nav .children a{font-weight:400}.saj-nav li.is-open>.children{display:block}.saj-nav-divider{font-size:8px;font-weight:700;line-height:1;margin:4px 0 6px}.saj-sidebar-copyright{margin-top:auto;font-size:7px;font-weight:700;text-transform:uppercase}.saj-main{margin-left:25vw;min-height:100vh}.saj-desktop-topbar{position:fixed;top:0;left:25vw;right:0;height:38px;z-index:90;pointer-events:none}.saj-shipping-note{position:absolute;top:15px;left:25vw;transform:translateX(-50%);white-space:nowrap;font-size:7px;font-weight:700;text-transform:uppercase;pointer-events:auto}.saj-shipping-note button,.saj-top-actions button{appearance:none;border:0;background:none;padding:0;margin:0;cursor:pointer;font-size:inherit;font-weight:inherit;text-transform:uppercase}.saj-top-actions{position:absolute;top:15px;right:23px;display:flex;gap:17px;font-size:7px;font-weight:700;text-transform:uppercase;pointer-events:auto}.saj-bag-count{font-size:7px;margin-left:2px}.saj-home-showcase{width:50vw;background:#fff}.saj-home-panel{width:50vw;height:100vh;min-height:620px;overflow:hidden;background:#efefef}.saj-home-panel-link{display:block;width:100%;height:100%}.saj-home-panel img{width:100%;height:100%;object-fit:cover}.saj-home-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:#efefef;color:#888;font-size:9px;letter-spacing:.08em}.saj-top-mobile{display:none}.saj-footer{padding:44px 28px 28px;border-top:1px solid #eee;display:grid;grid-template-columns:repeat(4,1fr);gap:20px;font-size:10px;text-transform:uppercase}.saj-footer h4{font-size:10px;margin:0 0 12px}.saj-footer ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}.saj-archive{padding:40px 24px 60px}.saj-archive-title{font-size:10px;font-weight:700;text-transform:uppercase;margin:0 0 22px}.saj-toolbar{display:flex;justify-content:flex-end;gap:18px;margin-bottom:18px;text-transform:uppercase}.saj-toolbar select{border:0;border-bottom:1px solid #111;background:#fff;border-radius:0}.woocommerce-result-count{display:none}.woocommerce-ordering{margin:0!important}.woocommerce-ordering select{border:0;border-bottom:1px solid #111;padding:3px 2px}.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:26px 14px;margin:0!important}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none!important}.woocommerce ul.products li.product{width:auto!important;margin:0!important;float:none!important}.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:9px!important;padding:8px 0 0!important;text-transform:uppercase;font-weight:700}.woocommerce ul.products li.product .price{font-size:9px!important;color:#111!important;margin-top:2px}.woocommerce ul.products li.product a img{margin:0!important;aspect-ratio:4/5;object-fit:cover;background:#f5f5f5}.woocommerce span.onsale{display:none}.saj-product{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(320px,.8fr);gap:0}.saj-gallery{background:#f6f6f6}.saj-gallery figure{margin:0}.saj-gallery img{width:100%;height:auto}.saj-summary{position:relative}.saj-summary-inner{position:sticky;top:0;padding:50px 34px 40px;min-height:100vh;display:flex;flex-direction:column}.saj-summary h1{font-size:12px;font-weight:700;text-transform:uppercase;margin:0 0 5px}.saj-summary .price{font-size:9px;margin:0 0 22px}.saj-summary .woocommerce-product-details__short-description{font-size:9px;margin-bottom:18px}.saj-summary form.cart{margin-top:5px}.saj-summary .variations{width:100%;border-collapse:collapse}.saj-summary .variations th,.saj-summary .variations td{display:block;text-align:left;padding:0}.saj-summary .variations th{font-size:8px;text-transform:uppercase;margin:12px 0 6px}.saj-summary .variations select{width:100%;border:1px solid #ddd;border-radius:0;padding:10px;background:#fff}.saj-summary .single_add_to_cart_button,.saj-summary .button{width:100%;border:0!important;border-radius:0!important;background:#111!important;color:#fff!important;padding:14px!important;text-transform:uppercase;font-weight:400!important;margin-top:12px!important}.saj-summary .quantity{display:none!important}.saj-accordion{margin-top:24px;border-top:1px solid #ddd}.saj-accordion details{border-bottom:1px solid #ddd;padding:12px 0}.saj-accordion summary{text-transform:uppercase;cursor:pointer;list-style:none;display:flex;justify-content:space-between}.saj-accordion summary::-webkit-details-marker{display:none}.saj-accordion .content{padding-top:10px;color:#333}.saj-related{padding:34px 28px}.saj-related h2{font-size:9px;text-transform:uppercase;font-weight:700}.saj-cart-drawer{position:fixed;top:0;right:0;width:min(430px,100vw);height:100vh;background:#fff;z-index:120;transform:translateX(105%);transition:transform .25s ease;box-shadow:-8px 0 24px rgba(0,0,0,.08);padding:20px;overflow:auto}.saj-cart-drawer.is-open{transform:translateX(0)}.saj-drawer-head{display:flex;justify-content:space-between;align-items:center;text-transform:uppercase;margin-bottom:18px}.saj-drawer-close{border:0;background:none;font-size:20px;cursor:pointer}.saj-drawer-overlay{position:fixed;inset:0;background:rgba(0,0,0,.25);z-index:110;display:none}.saj-drawer-overlay.is-open{display:block}.saj-search-panel{position:fixed;inset:0;background:#fff;z-index:130;display:none;padding:26px 30px}.saj-search-panel.is-open{display:block}.saj-search-panel input{width:100%;font-size:28px;border:0;border-bottom:1px solid #111;padding:10px 0;outline:0}.saj-search-results{margin-top:24px;display:grid;grid-template-columns:repeat(4,1fr);gap:14px}.saj-search-result{text-transform:uppercase;font-size:9px}.saj-search-close{position:absolute;right:24px;top:16px;border:0;background:none;font-size:22px;cursor:pointer}.saj-mobile-menu{position:fixed;inset:0;background:#fff;z-index:150;display:none;padding:20px;overflow:auto}.saj-mobile-menu.is-open{display:block}.saj-mobile-menu ul{list-style:none;margin:0;padding:0}.saj-mobile-menu li{margin:0 0 12px}.saj-mobile-menu a,.saj-mobile-menu button{font-size:18px;text-transform:uppercase;border:0;background:none;padding:0}.saj-mobile-close{position:absolute;top:14px;right:18px;border:0;background:none;font-size:24px}.woocommerce-message,.woocommerce-info,.woocommerce-error{border:0!important;background:#f5f5f5!important;color:#111!important;font-size:9px}.woocommerce-message:before,.woocommerce-info:before,.woocommerce-error:before{display:none!important}
@media(max-width:900px){
body{font-size:10px;overflow-x:hidden}.saj-sidebar,.saj-desktop-topbar{display:none}.saj-main{margin-left:0;padding-top:48px}.saj-top-mobile{display:flex;position:fixed;top:0;left:0;right:0;height:48px;background:#fff;z-index:100;align-items:center;justify-content:space-between;padding:0 12px;border:0}.saj-top-mobile .brand{display:flex;align-items:center;font-weight:900;font-size:18px;line-height:1;letter-spacing:-1px;max-width:110px}.saj-top-mobile .brand img{width:auto;max-width:82px;max-height:36px;object-fit:contain}.saj-top-mobile .actions{display:flex;align-items:center;gap:13px;text-transform:uppercase;font-size:7px;font-weight:700;white-space:nowrap}.saj-top-mobile button{appearance:none;border:0;background:none;padding:0;margin:0;cursor:pointer;font-size:inherit;font-weight:inherit;text-transform:uppercase}.saj-top-mobile .saj-bag-count{font-size:7px}.saj-home-showcase,.saj-home-panel{width:100%}.saj-home-panel{height:calc(100svh - 48px);min-height:520px;overflow:hidden;background:#efefef}.saj-home-panel-link{width:100%;height:100%;display:block}.saj-home-panel picture{display:block;width:100%;height:100%}.saj-home-panel img{width:100%;height:100%;min-height:100%;object-fit:cover;object-position:center center}.saj-home-placeholder{height:100%;min-height:520px;font-size:8px}.saj-footer{grid-template-columns:1fr 1fr;padding:34px 14px}.saj-archive{padding:18px 10px 40px}.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px 8px}.saj-product{grid-template-columns:1fr}.saj-summary-inner{position:static;min-height:auto;padding:22px 14px}.saj-related{padding:28px 10px}.saj-search-panel{padding:56px 14px 20px}.saj-search-panel input{font-size:22px}.saj-search-results{grid-template-columns:1fr 1fr;gap:10px}.saj-mobile-menu{display:block;visibility:hidden;opacity:0;pointer-events:none;transform:translateX(-100%);transition:transform .28s ease,opacity .18s ease,visibility .28s;position:fixed;inset:0;background:#fff;z-index:150;padding:16px 18px 24px;overflow:auto}.saj-mobile-menu.is-open{visibility:visible;opacity:1;pointer-events:auto;transform:translateX(0)}.saj-mobile-menu-head{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:34px}.saj-mobile-menu-logo{display:block;max-width:90px;font-size:20px;font-weight:900;letter-spacing:-1px}.saj-mobile-menu-logo img{max-width:82px;max-height:38px;object-fit:contain}.saj-mobile-close{position:static;border:0;background:none;padding:0;font-size:18px;line-height:1;cursor:pointer}.saj-mobile-menu ul{list-style:none;margin:0;padding:0}.saj-mobile-menu>ul>li{margin:0 0 9px}.saj-mobile-menu a,.saj-mobile-menu button,.saj-mobile-menu span{font-size:11px;line-height:1.15;font-weight:700;text-transform:uppercase;border:0;background:none;padding:0;color:#111}.saj-mobile-menu-row{display:flex;align-items:center;justify-content:flex-start;gap:8px}.saj-mobile-menu .saj-mobile-sub-toggle{font-size:13px;width:16px;text-align:center}.saj-mobile-menu .children{display:none;padding:7px 0 3px 12px}.saj-mobile-menu li.is-open>.children{display:block}.saj-mobile-menu .children li{margin:0 0 8px}.saj-mobile-menu .children a{font-size:10px;font-weight:400}.saj-mobile-divider{height:1px;background:#111;width:18px;margin:15px 0}.saj-mobile-utility li{margin:0 0 9px}.saj-mobile-menu-bottom{margin-top:34px;padding-top:16px;font-size:8px;font-weight:700;text-transform:uppercase}.saj-search-panel{z-index:170}.saj-cart-drawer{z-index:180}.saj-drawer-overlay{z-index:175}
}
@media(min-width:901px) and (max-width:1100px){.saj-sidebar{min-width:225px;width:25vw;padding-left:18px}.saj-main{margin-left:25vw}.saj-nav{width:135px}}

/* V1.0.5 — larger navigation typography, regular weight */
@media (min-width:901px){
  .saj-sidebar{padding-left:26px;padding-top:20px}
  .saj-logo{margin-bottom:22px}
  .saj-logo img{max-width:118px;max-height:64px}
  .saj-nav{width:205px}
  .saj-nav li{margin-bottom:7px}
  .saj-nav-row{gap:7px}
  .saj-nav a,.saj-nav span,.saj-nav button{font-size:13px;line-height:1.32;font-weight:400;letter-spacing:0}
  .saj-sub-toggle{width:18px;font-size:13px!important;font-weight:400!important}
  .saj-nav .children{padding:7px 0 3px 13px}
  .saj-nav .children li{margin-bottom:6px}
  .saj-nav .children a{font-size:11px;font-weight:400;line-height:1.35}
  .saj-nav-divider{font-size:12px;font-weight:400;line-height:1.2;margin:7px 0 9px}
  .saj-sidebar-copyright{font-size:10px;font-weight:400;line-height:1.2}
  .saj-shipping-note,.saj-top-actions{font-size:10px;font-weight:400;line-height:1.2}
  .saj-bag-count{font-size:10px;font-weight:400}
  body.admin-bar .saj-sidebar{top:32px}
  body.admin-bar .saj-desktop-topbar{top:32px}
}
@media (min-width:901px) and (max-width:1100px){
  .saj-nav{width:180px}
  .saj-nav a,.saj-nav span,.saj-nav button{font-size:12px;font-weight:400}
  .saj-nav .children a{font-size:10.5px;font-weight:400}
}
@media (max-width:900px){
  .saj-top-mobile .actions{font-size:10px;font-weight:400}
  .saj-top-mobile .saj-bag-count{font-size:10px;font-weight:400}
  .saj-mobile-menu a,.saj-mobile-menu button,.saj-mobile-menu span{font-size:14px;line-height:1.3;font-weight:400}
  .saj-mobile-menu .children a{font-size:12px;font-weight:400}
  body.admin-bar .saj-top-mobile{top:46px}
}
@media (max-width:782px){
  body.admin-bar .saj-top-mobile{top:46px}
}

/* V1.0.6 — product archive cards render the featured image only; no secondary/gallery image output. */
.saj-card-media .saj-primary{display:block;width:100%;}


/* V1.0.8 — archive hover image + current in-stock size row */
.saj-card-media{position:relative;overflow:hidden;background:#f5f5f5;}
.saj-card-media img{display:block;width:100%;height:auto;}
.saj-card-media .saj-primary{position:relative;z-index:1;opacity:1;transition:opacity .18s ease;}
.saj-card-media .saj-secondary{position:absolute;inset:0;z-index:2;width:100%;height:100%;object-fit:cover;opacity:0;pointer-events:none;transition:opacity .18s ease;}
.saj-card-sizes{display:flex;flex-wrap:wrap;gap:3px 8px;margin-top:5px;font-size:9px;line-height:1.25;font-weight:400;text-transform:uppercase;color:#111;}
.saj-card-size{white-space:nowrap;}
@media (hover:hover) and (pointer:fine){
  .woocommerce ul.products li.product .saj-card-media.has-secondary:hover .saj-secondary{opacity:1;}
  .woocommerce ul.products li.product .saj-card-media.has-secondary:hover .saj-primary{opacity:0;}
}
@media (max-width:900px){
  .saj-card-sizes{font-size:10px;gap:3px 7px;margin-top:5px;}
}


/* V1.1.1 — homepage showcase follows each image's intrinsic aspect ratio.
   No fixed viewport height and no cover-cropping: the image itself determines panel height. */
.saj-home-showcase{height:auto;}
.saj-home-panel{
  height:auto;
  min-height:0;
  overflow:visible;
  background:#fff;
}
.saj-home-panel-link{
  display:block;
  width:100%;
  height:auto;
}
.saj-home-panel picture{
  display:block;
  width:100%;
  height:auto;
}
.saj-home-panel img{
  display:block;
  width:100%;
  max-width:100%;
  height:auto;
  min-height:0;
  object-fit:contain;
  object-position:center center;
}
@media (max-width:900px){
  .saj-home-showcase,.saj-home-panel{width:100%;height:auto;min-height:0;}
  .saj-home-panel-link,.saj-home-panel picture{height:auto;}
  .saj-home-panel img{width:100%;height:auto;min-height:0;object-fit:contain;}
}


/* V1.1.2 — keep a clean white seam between the three homepage showcase images.
   Image proportions remain intrinsic; spacing does not crop or resize the artwork. */
.saj-home-panel + .saj-home-panel{margin-top:8px;}
@media (max-width:900px){
  .saj-home-panel + .saj-home-panel{margin-top:6px;}
}

/* V1.1.3 — mixed product-category layouts.
   A = four equal cards. B = one large editorial product tile + four cards in 2x2. */
.saj-catalog-stream{display:flex;flex-direction:column;gap:32px;}
.saj-catalog-block{width:100%;min-width:0;}
.saj-catalog-block ul.products{margin:0!important;}
.saj-catalog-layout-a .saj-catalog-row-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:26px 14px!important;
}
.saj-catalog-layout-b{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  align-items:start;
}
.saj-catalog-feature{min-width:0;margin:0;}
.saj-catalog-feature-link{display:block;}
.saj-catalog-feature-media{width:100%;aspect-ratio:4/5;overflow:hidden;background:#f5f5f5;}
.saj-catalog-feature-image{display:block;width:100%;height:100%!important;object-fit:cover;object-position:center;}
.saj-catalog-feature-meta{padding-top:8px;text-transform:uppercase;}
.saj-catalog-feature-meta h2{font-size:9px;line-height:1.2;font-weight:400;margin:0;padding:0;}
.saj-catalog-feature-meta .price{display:block;font-size:9px;line-height:1.2;color:#111;margin-top:2px;}
.saj-catalog-layout-b .saj-catalog-side-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:26px 14px!important;
  align-items:start;
}
.saj-catalog-layout-b .saj-catalog-side-grid li.product,
.saj-catalog-layout-a .saj-catalog-row-grid li.product{min-width:0;width:auto!important;margin:0!important;}

/* Keep the alternating catalogue stable and editorial on desktop. */
@media (min-width:901px){
  .saj-archive{padding-left:14px;padding-right:24px;}
  .saj-catalog-stream{gap:38px;}
}

/* Mobile: preserve the rhythm, but let the feature tile span full width above a 2-column grid. */
@media (max-width:900px){
  .saj-catalog-stream{gap:24px;}
  .saj-catalog-layout-a .saj-catalog-row-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px 8px!important;}
  .saj-catalog-layout-b{display:block;}
  .saj-catalog-feature{margin-bottom:20px;}
  .saj-catalog-feature-media{aspect-ratio:4/5;}
  .saj-catalog-feature-meta h2,.saj-catalog-feature-meta .price{font-size:10px;}
  .saj-catalog-layout-b .saj-catalog-side-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:20px 8px!important;}
}

/* V1.1.4 — compact catalogue sidebar so product layouts expand left.
   Homepage keeps the original 25vw editorial sidebar. */
@media (min-width:901px){
  body.post-type-archive-product,
  body.tax-product_cat,
  body.tax-product_tag{
    --saj-catalog-sidebar:150px;
  }

  body.post-type-archive-product .saj-sidebar,
  body.tax-product_cat .saj-sidebar,
  body.tax-product_tag .saj-sidebar{
    width:var(--saj-catalog-sidebar);
    min-width:var(--saj-catalog-sidebar);
    max-width:var(--saj-catalog-sidebar);
    padding-left:20px;
    padding-right:8px;
  }

  body.post-type-archive-product .saj-sidebar .saj-nav,
  body.tax-product_cat .saj-sidebar .saj-nav,
  body.tax-product_tag .saj-sidebar .saj-nav{
    width:122px;
  }

  body.post-type-archive-product .saj-main,
  body.tax-product_cat .saj-main,
  body.tax-product_tag .saj-main{
    margin-left:var(--saj-catalog-sidebar);
  }

  body.post-type-archive-product .saj-desktop-topbar,
  body.tax-product_cat .saj-desktop-topbar,
  body.tax-product_tag .saj-desktop-topbar{
    left:var(--saj-catalog-sidebar);
  }

  /* Keep the shipping note visually centered in the full viewport. */
  body.post-type-archive-product .saj-shipping-note,
  body.tax-product_cat .saj-shipping-note,
  body.tax-product_tag .saj-shipping-note{
    left:calc(50vw - var(--saj-catalog-sidebar));
  }

  body.post-type-archive-product .saj-archive,
  body.tax-product_cat .saj-archive,
  body.tax-product_tag .saj-archive{
    padding-left:8px;
    padding-right:20px;
  }
}


/* V1.1.5 — high-resolution catalogue imagery.
   PHP now requests responsive Large/1536 sources instead of WooCommerce thumbnails.
   Keep browser resampling neutral and let srcset choose a sharper file on HiDPI screens. */
.saj-card-media img,
.saj-catalog-feature-image,
.saj-search-result img{
  image-rendering:auto;
  -ms-interpolation-mode:bicubic;
}


/* V1.1.6 — automatic next-page loading on WooCommerce archives.
   Native pagination stays available until JavaScript confirms infinite scroll is active. */
body.saj-infinite-ready .saj-archive .woocommerce-pagination{display:none!important;}
.saj-infinite-scroll{
  width:100%;
  min-height:72px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px 0 8px;
  font-size:9px;
  line-height:1.2;
  font-weight:400;
  text-transform:uppercase;
  color:#555;
}
.saj-infinite-scroll.is-complete{display:none;}
.saj-infinite-loader{display:inline-flex;align-items:center;gap:5px;min-height:20px;}
.saj-infinite-loader::before{
  content:"";
  width:12px;
  height:12px;
  border:1px solid #bbb;
  border-top-color:#111;
  border-radius:50%;
  animation:saj-infinite-spin .7s linear infinite;
}
.saj-infinite-scroll[data-state="idle"] .saj-infinite-loader::before{visibility:hidden;animation:none;}
.saj-infinite-scroll[data-state="error"] .saj-infinite-loader::before{display:none;}
.saj-infinite-retry{
  appearance:none;
  border:0;
  border-bottom:1px solid #111;
  border-radius:0;
  background:transparent;
  padding:2px 0;
  margin-left:8px;
  cursor:pointer;
  font:inherit;
  text-transform:uppercase;
}
@keyframes saj-infinite-spin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.saj-infinite-loader::before{animation:none;}}
@media (max-width:900px){.saj-infinite-scroll{min-height:58px;padding:16px 0 4px;font-size:10px;}}


/* V1.1.7 — fixed New Arrivals navigation structure. */
.saj-main-links li.is-current>a,.saj-mobile-primary li.is-current>a{ text-decoration:underline; text-underline-offset:2px; }


/* V1.1.8 — storefront category hierarchy/order matched to the supplied reference.
   TEES exposes GRAPHICS/BASICS directly, followed by an internal divider. */
.saj-main-links .saj-fixed-submenu{
  display:block;
  list-style:none;
  margin:4px 0 6px;
  padding:0 0 0 9px;
}
.saj-main-links .saj-fixed-submenu li{margin-bottom:6px;}
.saj-main-links .saj-fixed-submenu a{font-size:11px;font-weight:400;line-height:1.3;}
.saj-main-links .saj-catalog-divider{
  margin:4px 0 7px;
  font-size:12px;
  line-height:1;
  font-weight:400;
}
.saj-mobile-primary .saj-mobile-fixed-submenu{
  display:block;
  list-style:none;
  margin:5px 0 7px;
  padding:0 0 0 12px;
}
.saj-mobile-primary .saj-mobile-fixed-submenu li{margin-bottom:5px;}
.saj-mobile-primary .saj-mobile-fixed-submenu a{font-size:12px;font-weight:400;line-height:1.3;}
.saj-mobile-primary .saj-mobile-catalog-divider{
  margin:6px 0 8px;
  font-size:13px;
  line-height:1;
  font-weight:400;
}
@media (min-width:901px) and (max-width:1100px){
  .saj-main-links .saj-fixed-submenu a{font-size:10.5px;}
}

/* V1.1.9 — single-product visual Color / Size selectors + one-open accordion. */
.saj-summary .variations .value{position:relative;}
.saj-summary .variations .value>select{
  position:absolute!important;
  width:1px!important;
  height:1px!important;
  margin:-1px!important;
  padding:0!important;
  border:0!important;
  clip:rect(0 0 0 0)!important;
  clip-path:inset(50%)!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  opacity:0!important;
}
.saj-variation-visual{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  width:100%;
  margin:0 0 4px;
}
.saj-variation-choice{
  appearance:none;
  min-width:42px;
  min-height:34px;
  padding:8px 12px;
  border:1px solid #d8d8d8;
  border-radius:0;
  background:#fff;
  color:#111;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:7px;
  font-size:9px;
  line-height:1;
  font-weight:400;
  text-transform:uppercase;
  cursor:pointer;
}
.saj-variation-choice:hover{border-color:#111;}
.saj-variation-choice.is-selected{border-color:#111;background:#111;color:#fff;}
.saj-variation-choice:disabled,.saj-variation-choice.is-disabled{
  color:#aaa;
  border-color:#e7e7e7;
  background:#fafafa;
  text-decoration:line-through;
  cursor:not-allowed;
}
.saj-color-dot{
  width:13px;
  height:13px;
  flex:0 0 13px;
  border-radius:50%;
  border:1px solid rgba(0,0,0,.2);
  background:var(--saj-swatch,#ddd);
}
.saj-variation-choice.is-selected .saj-color-dot{border-color:rgba(255,255,255,.65);}
.saj-summary .reset_variations{
  display:inline-block!important;
  margin-top:7px;
  font-size:8px;
  line-height:1.2;
  text-decoration:underline;
  text-underline-offset:2px;
}
.saj-accordion details{padding:0;}
.saj-accordion summary{
  min-height:42px;
  padding:12px 0;
  align-items:center;
  font-size:9px;
  font-weight:400;
}
.saj-accordion summary span{font-size:11px;font-weight:400;line-height:1;}
.saj-accordion .content{padding:0 0 13px;font-size:9px;line-height:1.45;}
@media(max-width:900px){
  .saj-variation-visual{gap:8px;}
  .saj-variation-choice{min-width:44px;min-height:40px;font-size:11px;padding:10px 12px;}
  .saj-summary .variations th{font-size:10px;margin-top:14px;}
  .saj-accordion summary,.saj-accordion .content{font-size:10px;}
}

/* V1.2.1 — single-product desktop alignment.
   Reduce the oversized empty area to the right of the fixed navigation and
   preserve a balanced outer gutter on both sides of the product composition. */
@media (min-width:901px){
  body.single-product{
    --saj-single-sidebar:220px;
    --saj-single-nav-width:170px;
    --saj-single-edge-gap:24px;
  }

  body.single-product .saj-sidebar{
    width:var(--saj-single-sidebar);
    min-width:var(--saj-single-sidebar);
    max-width:var(--saj-single-sidebar);
    padding-left:26px;
    padding-right:0;
  }

  body.single-product .saj-sidebar .saj-nav{
    width:var(--saj-single-nav-width);
  }

  body.single-product .saj-main{
    margin-left:var(--saj-single-sidebar);
  }

  body.single-product .saj-desktop-topbar{
    left:var(--saj-single-sidebar);
  }

  /* Keep the shipping notice centered in the viewport after moving the content left. */
  body.single-product .saj-shipping-note{
    left:calc(50vw - var(--saj-single-sidebar));
  }

  /* The blank area after the nav and the right edge gutter are both ~24px. */
  body.single-product .saj-product{
    padding-right:var(--saj-single-edge-gap);
  }

  body.single-product .saj-related{
    padding-right:var(--saj-single-edge-gap);
  }
}

@media (min-width:901px) and (max-width:1100px){
  body.single-product{
    --saj-single-sidebar:205px;
    --saj-single-nav-width:155px;
    --saj-single-edge-gap:18px;
  }
}


/* V1.3.8 — based strictly on V1.2.1.
   Desktop single-product imagery is reduced by 10% only; all surrounding
   layout, sidebar, summary, variations and accordion behavior remain unchanged. */
@media (min-width:901px){
  body.single-product .saj-gallery{
    width:90%;
    justify-self:center;
  }
}


/* V1.3.8 — AJAX single-product cart drawer feedback. */
body.saj-cart-open{overflow:hidden;}
.saj-cart-drawer{will-change:transform;}
.saj-drawer-overlay{cursor:pointer;}
.saj-summary .single_add_to_cart_button.saj-ajax-loading{opacity:.58;cursor:wait;}
.saj-ajax-cart-message{margin-top:8px;font-size:9px;line-height:1.35;color:#111;}
.saj-ajax-cart-message:empty{display:none;}
.saj-ajax-cart-message.is-error{color:#9b1c1c;}
.saj-mini-cart .woocommerce-mini-cart{list-style:none;margin:0;padding:0;}
.saj-mini-cart .woocommerce-mini-cart-item{position:relative;padding:12px 22px 12px 0;border-bottom:1px solid #e5e5e5;min-height:72px;font-size:9px;line-height:1.35;}
.saj-mini-cart .woocommerce-mini-cart-item img{width:58px;height:72px;object-fit:cover;float:left;margin:0 10px 0 0;}
.saj-mini-cart .remove_from_cart_button{position:absolute;right:0;top:10px;font-size:15px;line-height:1;}
.saj-mini-cart .woocommerce-mini-cart__total{display:flex;justify-content:space-between;gap:16px;border-top:1px solid #111;padding-top:14px;margin-top:18px;font-size:10px;text-transform:uppercase;}
.saj-mini-cart .woocommerce-mini-cart__buttons{display:grid;gap:7px;margin-top:12px;}
.saj-mini-cart .woocommerce-mini-cart__buttons .button{display:block;width:100%;padding:12px!important;border-radius:0!important;text-align:center;text-transform:uppercase;font-weight:400!important;font-size:9px!important;}
@media(max-width:900px){
  .saj-ajax-cart-message{font-size:10px;}
  .saj-cart-drawer{width:min(390px,92vw);}
}

/* V1.3.8 — Larger desktop AJAX cart drawer for improved readability. */
@media (min-width:901px){
  .saj-cart-drawer{
    width:min(560px,38vw);
    padding:28px 30px 32px;
  }
  .saj-drawer-head{
    margin-bottom:24px;
    font-size:14px;
    line-height:1.25;
  }
  .saj-drawer-close{
    font-size:28px;
    line-height:1;
    padding:2px 4px;
  }
  .saj-mini-cart .woocommerce-mini-cart-item{
    min-height:132px;
    padding:18px 34px 18px 0;
    font-size:12px;
    line-height:1.45;
    overflow:hidden;
  }
  .saj-mini-cart .woocommerce-mini-cart-item img{
    width:96px;
    height:120px;
    margin:0 18px 0 0;
    object-fit:cover;
  }
  .saj-mini-cart .woocommerce-mini-cart-item > a:not(.remove_from_cart_button){
    display:block;
    font-size:12px;
    line-height:1.4;
    text-transform:uppercase;
  }
  .saj-mini-cart .woocommerce-mini-cart-item .quantity{
    display:block;
    margin-top:8px;
    font-size:12px;
    line-height:1.35;
  }
  .saj-mini-cart .woocommerce-mini-cart-item dl.variation{
    margin:8px 0 0;
    font-size:11px;
    line-height:1.35;
  }
  .saj-mini-cart .woocommerce-mini-cart-item dl.variation dt,
  .saj-mini-cart .woocommerce-mini-cart-item dl.variation dd{
    margin-bottom:3px;
  }
  .saj-mini-cart .remove_from_cart_button{
    top:16px;
    right:2px;
    font-size:22px;
    line-height:1;
  }
  .saj-mini-cart .woocommerce-mini-cart__total{
    margin-top:24px;
    padding-top:18px;
    font-size:13px;
    line-height:1.35;
  }
  .saj-mini-cart .woocommerce-mini-cart__buttons{
    gap:10px;
    margin-top:16px;
  }
  .saj-mini-cart .woocommerce-mini-cart__buttons .button{
    padding:15px 16px!important;
    font-size:12px!important;
    line-height:1.2!important;
  }
  .saj-mini-cart .woocommerce-mini-cart__empty-message{
    font-size:12px;
    line-height:1.45;
  }
}



/* V1.3.8 — Larger desktop mini-cart product imagery. */
@media (min-width:901px){
  .saj-mini-cart .woocommerce-mini-cart-item{
    min-height:212px;
    padding-top:18px;
    padding-bottom:18px;
  }
  .saj-mini-cart .woocommerce-mini-cart-item img{
    width:150px;
    height:180px;
    margin:0 22px 0 0;
    object-fit:contain;
    background:#f6f6f6;
  }
}

/* V1.3.8 — supplied image logo positioned to match the storefront reference. */
@media (min-width:901px){
  .saj-sidebar{
    padding-top:15px;
  }
  .saj-logo{
    display:block;
    width:128px;
    margin:0 0 18px;
    line-height:0;
  }
  .saj-logo img{
    display:block;
    width:128px;
    max-width:128px;
    max-height:82px;
    height:auto;
    object-fit:contain;
    object-position:left top;
  }

  /* The compact catalogue sidebar is narrower, so keep the same visual ratio
     without letting the logo intrude into the product grid. */
  body.post-type-archive-product .saj-logo,
  body.tax-product_cat .saj-logo,
  body.tax-product_tag .saj-logo{
    width:112px;
  }
  body.post-type-archive-product .saj-logo img,
  body.tax-product_cat .saj-logo img,
  body.tax-product_tag .saj-logo img{
    width:112px;
    max-width:112px;
    max-height:72px;
  }
}

@media (max-width:900px){
  .saj-top-mobile .brand{
    line-height:0;
  }
  .saj-top-mobile .brand img{
    width:auto;
    max-width:88px;
    max-height:40px;
    object-fit:contain;
    object-position:left center;
  }
  .saj-mobile-menu-logo{
    line-height:0;
  }
  .saj-mobile-menu-logo img{
    width:auto;
    max-width:104px;
    max-height:58px;
    object-fit:contain;
    object-position:left top;
  }
}

/* V1.3.8 — compact drop-down search instead of a full-screen takeover. */
.saj-search-panel{
  position:fixed;
  top:38px;
  left:25vw;
  right:0;
  bottom:auto;
  z-index:170;
  display:block;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transform:translateY(-8px);
  background:#fff;
  padding:0 22px;
  border-bottom:1px solid #d9d9d9;
  box-shadow:0 8px 18px rgba(0,0,0,.035);
  transition:opacity .12s ease-out,transform .14s ease-out,visibility .14s;
  max-height:min(58vh,520px);
  overflow:auto;
}
.saj-search-panel.is-open{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}
.saj-search-bar{
  min-height:62px;
  display:flex;
  align-items:center;
  gap:18px;
  background:#fff;
}
.saj-search-panel input.saj-search-input{
  flex:1 1 auto;
  width:auto;
  min-width:0;
  margin:0;
  padding:17px 0 14px;
  border:0;
  border-bottom:1px solid #111;
  border-radius:0;
  outline:0;
  background:transparent;
  font-size:16px;
  line-height:1.2;
  font-weight:400;
  text-transform:uppercase;
}
.saj-search-close{
  position:static;
  flex:0 0 auto;
  border:0;
  background:none;
  padding:8px 0;
  margin:0;
  cursor:pointer;
  font-size:10px;
  line-height:1;
  font-weight:400;
  text-transform:uppercase;
}
.saj-search-results{
  display:none;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
  margin:0;
  padding:0 0 18px;
}
.saj-search-panel.has-results .saj-search-results{
  display:grid;
  padding-top:12px;
}
.saj-search-result{
  min-width:0;
  text-transform:uppercase;
  font-size:9px;
  line-height:1.3;
}
.saj-search-result img{
  width:100%;
  aspect-ratio:4/5;
  object-fit:contain;
  background:#f6f6f6;
}
body.admin-bar .saj-search-panel{top:70px;}

/* Catalogue pages use the compact 150px left rail. */
body.post-type-archive-product .saj-search-panel,
body.tax-product_cat .saj-search-panel,
body.tax-product_tag .saj-search-panel{
  left:var(--saj-catalog-sidebar,150px);
}

@media (max-width:900px){
  .saj-search-panel{
    top:48px;
    left:0;
    right:0;
    padding:0 14px;
    max-height:min(62vh,480px);
    transform:translateY(-6px);
  }
  .saj-search-panel.is-open{transform:translateY(0);}
  .saj-search-bar{min-height:58px;gap:14px;}
  .saj-search-panel input.saj-search-input{
    font-size:16px;
    padding:16px 0 13px;
  }
  .saj-search-close{font-size:10px;}
  .saj-search-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
  body.admin-bar .saj-search-panel{top:94px;}
}


/* V1.3.8 — fuzzy live search: five product suggestions + submit/Enter search. */
.saj-search-bar{
  margin:0;
}
.saj-search-submit,
.saj-search-close{
  flex:0 0 auto;
  appearance:none;
  border:0;
  background:transparent;
  padding:8px 0;
  margin:0;
  color:#111;
  cursor:pointer;
  font-size:10px;
  line-height:1;
  font-weight:400;
  text-transform:uppercase;
  white-space:nowrap;
}
.saj-search-submit{
  padding-left:4px;
}
.saj-search-results{
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:12px;
}
.saj-search-result{
  display:block;
  min-width:0;
  color:#111;
  text-decoration:none;
}
.saj-search-result-media{
  display:block;
  width:100%;
  overflow:hidden;
  background:#f6f6f6;
}
.saj-search-result-media img{
  display:block;
  width:100%;
  aspect-ratio:4/5;
  object-fit:contain;
  background:#f6f6f6;
}
.saj-search-result-name,
.saj-search-result-price{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
}
.saj-search-result-name{
  padding-top:7px;
  white-space:nowrap;
}
.saj-search-result-price{
  padding-top:2px;
}
.saj-search-panel.is-searching .saj-search-submit{
  opacity:.45;
}
@media (max-width:900px){
  .saj-search-bar{gap:10px;}
  .saj-search-submit,.saj-search-close{font-size:9px;}
  .saj-search-results{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;}
}

/* V1.3.8 — CHAPTERS page. Store/location information is intentionally non-clickable. */
.saj-chapters-page{padding:54px 28px 80px;max-width:1500px;margin:0 auto;}
.saj-chapters-header{margin:0 0 22px;}
.saj-chapters-header h1{margin:0;font-size:10px;line-height:1;font-weight:400;text-transform:uppercase;letter-spacing:.01em;}
.saj-chapters-featured{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:54px 18px;}
.saj-chapter-card{min-width:0;}
.saj-chapter-media{margin:0 0 13px;background:#f5f5f5;overflow:hidden;}
.saj-chapter-media img{display:block;width:100%;height:auto;}
.saj-chapter-info{font-size:9px;line-height:1.42;text-transform:none;}
.saj-chapter-info h2{margin:0 0 5px;font-size:11px;line-height:1.2;font-weight:400;}
.saj-chapter-address,.saj-chapter-contact{margin:0 0 5px;}
.saj-chapter-email{overflow-wrap:anywhere;}
.saj-chapter-hours{margin-top:16px;}
.saj-chapter-hours h3{margin:0 0 7px;font-size:8px;line-height:1;font-weight:400;text-transform:uppercase;}
.saj-hour-row{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 14px;max-width:300px;}
.saj-chapters-index{margin-top:78px;padding-top:18px;border-top:1px solid #111;}
.saj-chapters-index>h2{margin:0 0 26px;font-size:10px;line-height:1;font-weight:400;text-transform:uppercase;}
.saj-chapters-index-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:34px 24px;}
.saj-index-store{min-width:0;}
.saj-index-store h3{margin:0 0 7px;font-size:10px;line-height:1.15;font-weight:400;}
.saj-index-address{font-size:9px;line-height:1.4;color:#111;}
.saj-chapter-info a,.saj-index-store a{pointer-events:none;text-decoration:none;}

@media(max-width:1200px) and (min-width:901px){
  .saj-chapters-page{padding-left:22px;padding-right:22px;}
  .saj-chapters-index-grid{grid-template-columns:repeat(3,minmax(0,1fr));}
}

@media(max-width:900px){
  .saj-chapters-page{padding:22px 12px 58px;max-width:none;}
  .saj-chapters-header{margin-bottom:16px;}
  .saj-chapters-header h1{font-size:11px;}
  .saj-chapters-featured{grid-template-columns:1fr;gap:42px;}
  .saj-chapter-media{margin-bottom:12px;}
  .saj-chapter-info{font-size:10px;line-height:1.45;}
  .saj-chapter-info h2{font-size:12px;}
  .saj-chapter-hours h3{font-size:9px;}
  .saj-hour-row{max-width:none;}
  .saj-chapters-index{margin-top:54px;}
  .saj-chapters-index>h2{font-size:11px;margin-bottom:22px;}
  .saj-chapters-index-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px;}
  .saj-index-store h3{font-size:10px;}
  .saj-index-address{font-size:9px;}
}

@media(max-width:480px){
  .saj-chapters-index-grid{grid-template-columns:1fr;gap:24px;}
}

/* V1.3.8 — CHAPTERS typography + balanced content gutters.
   Keep the two-column imagery, but make the store information comfortably readable
   and center the chapter composition inside the content area with equal left/right whitespace. */
@media (min-width:901px){
  .saj-chapters-page{
    width:calc(100% - 112px);
    max-width:none;
    margin-left:auto;
    margin-right:auto;
    padding:54px 0 80px;
  }
  .saj-chapters-header{margin-bottom:24px;}
  .saj-chapters-header h1{font-size:12px;line-height:1.1;}
  .saj-chapters-featured{gap:60px 20px;}
  .saj-chapter-media{margin-bottom:16px;}
  .saj-chapter-info{font-size:11px;line-height:1.5;}
  .saj-chapter-info h2{margin-bottom:7px;font-size:13px;line-height:1.25;}
  .saj-chapter-address,.saj-chapter-contact{margin-bottom:6px;}
  .saj-chapter-hours{margin-top:18px;}
  .saj-chapter-hours h3{margin-bottom:8px;font-size:10px;line-height:1.1;}
  .saj-hour-row{max-width:360px;gap:5px 18px;}
  .saj-chapters-index{margin-top:84px;padding-top:20px;}
  .saj-chapters-index>h2{margin-bottom:28px;font-size:12px;line-height:1.1;}
  .saj-chapters-index-grid{gap:38px 28px;}
  .saj-index-store h3{margin-bottom:8px;font-size:12px;line-height:1.25;}
  .saj-index-address{font-size:10.5px;line-height:1.5;}
}

@media (min-width:901px) and (max-width:1200px){
  .saj-chapters-page{
    width:calc(100% - 72px);
    padding-left:0;
    padding-right:0;
  }
  .saj-chapter-info{font-size:10.5px;}
  .saj-chapter-info h2{font-size:12.5px;}
  .saj-index-store h3{font-size:11.5px;}
  .saj-index-address{font-size:10px;}
}

@media (max-width:900px){
  .saj-chapter-info{font-size:11px;line-height:1.5;}
  .saj-chapter-info h2{font-size:13px;}
  .saj-chapter-hours h3{font-size:10px;}
  .saj-index-store h3{font-size:11.5px;}
  .saj-index-address{font-size:10.5px;line-height:1.5;}
}


/* V1.3.9 — CHAPTERS featured-card symmetry + larger readable store/index details. */
@media (min-width:901px){
  .saj-chapters-featured{
    align-items:stretch;
    grid-auto-flow:row;
    gap:68px 24px;
  }
  .saj-chapter-card{
    display:grid;
    grid-template-rows:auto 1fr;
    min-width:0;
  }
  .saj-chapter-card:nth-child(5){
    grid-column:1 / -1;
    width:calc(50% - 12px);
    justify-self:center;
  }
  .saj-chapter-media{
    width:100%;
    margin-bottom:18px;
  }
  .saj-chapter-info{
    display:flex;
    flex-direction:column;
    min-height:230px;
    width:100%;
    padding-right:4px;
    font-size:12.5px;
    line-height:1.55;
  }
  .saj-chapter-info h2{
    margin:0 0 9px;
    font-size:15px;
    line-height:1.25;
    font-weight:400;
  }
  .saj-chapter-address,
  .saj-chapter-contact{
    margin-bottom:7px;
  }
  .saj-chapter-hours{
    margin-top:auto;
    padding-top:20px;
    width:100%;
  }
  .saj-chapter-hours h3{
    margin:0 0 10px;
    font-size:11.5px;
    line-height:1.15;
    font-weight:400;
  }
  .saj-hour-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:start;
    gap:6px 22px;
    width:100%;
    max-width:430px;
  }
  .saj-hour-row span:last-child{
    text-align:right;
    white-space:nowrap;
  }
  .saj-chapters-index{
    margin-top:92px;
  }
  .saj-chapters-index>h2{
    font-size:13px;
  }
  .saj-chapters-index-grid{
    gap:42px 30px;
  }
  .saj-index-store h3{
    margin-bottom:9px;
    font-size:14px;
    line-height:1.3;
    font-weight:400;
  }
  .saj-index-address{
    font-size:12.5px;
    line-height:1.55;
  }
}

@media (min-width:901px) and (max-width:1200px){
  .saj-chapter-card:nth-child(5){
    width:calc(50% - 10px);
  }
  .saj-chapter-info{
    min-height:220px;
    font-size:12px;
  }
  .saj-chapter-info h2{font-size:14px;}
  .saj-chapter-hours h3{font-size:11px;}
  .saj-index-store h3{font-size:13px;}
  .saj-index-address{font-size:11.5px;}
}

@media (max-width:900px){
  .saj-chapter-card{display:block;}
  .saj-chapter-info{
    min-height:0;
    font-size:12.5px;
    line-height:1.55;
  }
  .saj-chapter-info h2{font-size:14.5px;margin-bottom:8px;}
  .saj-chapter-address,.saj-chapter-contact{margin-bottom:7px;}
  .saj-chapter-hours{margin-top:18px;padding-top:0;}
  .saj-chapter-hours h3{font-size:11px;margin-bottom:9px;}
  .saj-hour-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    gap:6px 16px;
    width:100%;
    max-width:none;
  }
  .saj-hour-row span:last-child{text-align:right;white-space:nowrap;}
  .saj-index-store h3{font-size:13px;}
  .saj-index-address{font-size:12px;line-height:1.55;}
}


/* V1.4.0 — CHAPTERS unified media geometry + true balanced page gutters.
   The CHAPTERS page uses its own compact desktop rail so the content no longer
   inherits the homepage's 25vw blank area. Featured store images share one
   4:3 frame; differing source ratios are centered/cropped without distortion. */
@media (min-width:901px){
  body.saj-page-chapters{
    --saj-chapters-sidebar:210px;
    --saj-chapters-gutter:38px;
    --saj-chapters-column-gap:24px;
  }

  body.saj-page-chapters .saj-sidebar{
    width:var(--saj-chapters-sidebar);
    min-width:var(--saj-chapters-sidebar);
    max-width:var(--saj-chapters-sidebar);
    padding-left:26px;
    padding-right:10px;
  }
  body.saj-page-chapters .saj-sidebar .saj-nav{
    width:164px;
  }
  body.saj-page-chapters .saj-main{
    margin-left:var(--saj-chapters-sidebar);
  }
  body.saj-page-chapters .saj-desktop-topbar{
    left:var(--saj-chapters-sidebar);
  }
  body.saj-page-chapters .saj-shipping-note{
    left:calc(50vw - var(--saj-chapters-sidebar));
  }

  body.saj-page-chapters .saj-chapters-page{
    box-sizing:border-box;
    width:100%;
    max-width:none;
    margin:0;
    padding:54px var(--saj-chapters-gutter) 80px;
  }
  body.saj-page-chapters .saj-chapters-featured{
    grid-template-columns:repeat(2,minmax(0,1fr));
    column-gap:var(--saj-chapters-column-gap);
    row-gap:68px;
    align-items:start;
  }
  body.saj-page-chapters .saj-chapter-card{
    width:100%;
    min-width:0;
  }
  body.saj-page-chapters .saj-chapter-card:nth-child(5){
    grid-column:1 / -1;
    width:calc((100% - var(--saj-chapters-column-gap))/2);
    justify-self:center;
  }

  body.saj-page-chapters .saj-chapter-media{
    position:relative;
    width:100%;
    aspect-ratio:4 / 3;
    margin:0 0 18px;
    overflow:hidden;
    background:#f5f5f5;
  }
  body.saj-page-chapters .saj-chapter-media img{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    max-width:none;
    object-fit:cover;
    object-position:center center;
  }

  /* Keep corresponding information blocks aligned beneath equal-height media. */
  body.saj-page-chapters .saj-chapter-info{
    min-height:244px;
  }
}

@media (min-width:901px) and (max-width:1200px){
  body.saj-page-chapters{
    --saj-chapters-sidebar:195px;
    --saj-chapters-gutter:28px;
    --saj-chapters-column-gap:18px;
  }
  body.saj-page-chapters .saj-sidebar{
    padding-left:20px;
    padding-right:8px;
  }
  body.saj-page-chapters .saj-sidebar .saj-nav{
    width:150px;
  }
  body.saj-page-chapters .saj-chapter-info{
    min-height:232px;
  }
}

@media (max-width:900px){
  body.saj-page-chapters .saj-chapter-media{
    aspect-ratio:4 / 3;
    overflow:hidden;
  }
  body.saj-page-chapters .saj-chapter-media img{
    width:100%;
    height:100%;
    object-fit:cover;
    object-position:center center;
  }
}


/* V1.4.1 — remove the visual site footer and fold its destinations into the fixed navigation. */
.saj-footer{display:none!important;}
.saj-utility-group{margin-bottom:7px!important;}
.saj-utility-submenu{
  display:block!important;
  padding:4px 0 1px 10px!important;
  margin:0!important;
}
.saj-utility-submenu li{margin:0 0 4px!important;}
.saj-nav .saj-utility-submenu a{
  font-size:11px;
  line-height:1.28;
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:0;
}
.saj-utility-submenu a:hover{text-decoration:underline;}

@media (min-width:901px) and (max-width:1100px){
  .saj-nav .saj-utility-submenu a{font-size:10px;}
}

@media (max-width:900px){
  .saj-mobile-utility-group{margin-bottom:11px!important;}
  .saj-mobile-utility-submenu{
    display:block!important;
    padding:6px 0 1px 14px!important;
    margin:0!important;
  }
  .saj-mobile-utility-submenu li{margin:0 0 7px!important;}
  .saj-mobile-menu .saj-mobile-utility-submenu a{
    font-size:12px;
    line-height:1.3;
    font-weight:400;
  }
}


/* V1.4.2 — dedicated SUPPORT page */
@media (min-width:901px){
  body.saj-page-support{
    --saj-support-sidebar:210px;
    --saj-support-gutter:38px;
  }
  body.saj-page-support .saj-sidebar{
    width:var(--saj-support-sidebar);
    min-width:var(--saj-support-sidebar);
    max-width:var(--saj-support-sidebar);
  }
  body.saj-page-support .saj-sidebar .saj-nav{width:170px;}
  body.saj-page-support .saj-main{margin-left:var(--saj-support-sidebar);}
  body.saj-page-support .saj-desktop-topbar{left:var(--saj-support-sidebar);}
  body.saj-page-support .saj-shipping-note{left:calc(50vw - var(--saj-support-sidebar)/2);}
}
.saj-support-page{
  width:100%;
  max-width:1480px;
  margin:0 auto;
  padding:58px 38px 90px;
}
.saj-support-page-head{margin-bottom:38px;}
.saj-support-page-head h1,
.saj-support-contact h2,
.saj-support-faq h2{
  margin:0;
  font-size:13px;
  line-height:1.25;
  font-weight:400;
  text-transform:uppercase;
  letter-spacing:0;
}
.saj-support-contact{max-width:1120px;}
.saj-support-contact>h2{margin-bottom:28px;text-transform:none;font-size:18px;}
.saj-support-contact-grid{
  display:grid;
  grid-template-columns:minmax(0,0.8fr) minmax(0,1.2fr);
  gap:72px;
  padding-bottom:32px;
}
.saj-support-contact-block h3{
  margin:0 0 8px;
  font-size:13px;
  line-height:1.35;
  font-weight:400;
}
.saj-support-contact-block p{
  margin:0 0 24px;
  font-size:13px;
  line-height:1.65;
  font-weight:400;
}
.saj-support-chat-label{display:inline-block;border-bottom:1px solid #111;padding-bottom:2px;}
.saj-support-email{text-decoration:underline;text-underline-offset:2px;}
.saj-support-note{max-width:680px;}
.saj-support-social{
  display:flex;
  flex-wrap:wrap;
  gap:12px 28px;
  padding:22px 0 0;
  border-top:1px solid #d9d9d9;
  font-size:12px;
  line-height:1.35;
  font-weight:400;
}
.saj-support-faq{margin-top:78px;max-width:1120px;}
.saj-support-faq>h2{margin-bottom:24px;text-transform:none;font-size:18px;}
.saj-support-faq-list{border-top:1px solid #111;}
.saj-support-faq-item{
  min-height:56px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  border-bottom:1px solid #d8d8d8;
  padding:15px 2px;
}
.saj-support-faq-question{
  font-size:13px;
  line-height:1.5;
  font-weight:400;
}
.saj-support-faq-icon{
  width:20px;
  height:20px;
  flex:0 0 20px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.saj-support-faq-icon svg{width:18px;height:18px;display:block;}
@media (min-width:901px) and (max-width:1200px){
  body.saj-page-support{--saj-support-sidebar:195px;--saj-support-gutter:28px;}
  .saj-support-page{padding-left:28px;padding-right:28px;}
  .saj-support-contact-grid{gap:42px;}
}
@media (max-width:900px){
  .saj-support-page{max-width:none;padding:28px 16px 64px;}
  .saj-support-page-head{margin-bottom:32px;}
  .saj-support-page-head h1{font-size:12px;}
  .saj-support-contact>h2,.saj-support-faq>h2{font-size:17px;}
  .saj-support-contact-grid{grid-template-columns:1fr;gap:8px;padding-bottom:20px;}
  .saj-support-contact-block h3,.saj-support-contact-block p{font-size:14px;}
  .saj-support-social{font-size:12px;gap:10px 22px;}
  .saj-support-faq{margin-top:56px;}
  .saj-support-faq-item{min-height:58px;padding:15px 0;}
  .saj-support-faq-question{font-size:14px;line-height:1.45;}
}


/* V1.4.3 — populated SUPPORT FAQ answers with internal-only storefront links */
.saj-support-faq-item{
  display:block;
  min-height:0;
  padding:0;
  border-bottom:1px solid #d8d8d8;
}
.saj-support-faq-toggle{
  width:100%;
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:16px 2px;
  margin:0;
  border:0;
  background:transparent;
  color:#111;
  text-align:left;
  cursor:pointer;
  font:inherit;
}
.saj-support-faq-toggle:focus-visible{
  outline:1px solid #111;
  outline-offset:3px;
}
.saj-support-faq-toggle[aria-expanded="true"] .saj-support-faq-icon{
  transform:rotate(180deg);
}
.saj-support-faq-icon{
  transition:transform .18s ease;
}
.saj-support-faq-answer{
  padding:0 42px 22px 2px;
}
.saj-support-faq-answer[hidden]{display:none!important;}
.saj-support-faq-answer-inner{
  max-width:900px;
  font-size:13px;
  line-height:1.75;
  font-weight:400;
}
.saj-support-faq-answer-inner p{
  margin:0 0 16px;
}
.saj-support-faq-answer-inner p:last-child{margin-bottom:0;}
.saj-support-faq-answer-inner h4{
  margin:20px 0 7px;
  font-size:13px;
  line-height:1.45;
  font-weight:400;
}
.saj-support-faq-answer-inner a{
  text-decoration:underline;
  text-underline-offset:2px;
}
@media (max-width:900px){
  .saj-support-faq-toggle{min-height:60px;padding:16px 0;gap:16px;}
  .saj-support-faq-answer{padding:0 28px 22px 0;}
  .saj-support-faq-answer-inner{font-size:14px;line-height:1.7;}
  .saj-support-faq-answer-inner h4{font-size:14px;}
}


/* V1.4.5 — SUPPORT utility group is collapsed by default. */
.saj-collapsible-utility>.saj-utility-toggle,
.saj-collapsible-utility>.saj-mobile-utility-toggle{
  display:inline-flex;
  align-items:center;
  gap:6px;
  width:auto;
  color:inherit;
  background:none;
  border:0;
  padding:0;
  margin:0;
  cursor:pointer;
  text-align:left;
}
.saj-collapsible-utility>.saj-utility-toggle::after,
.saj-collapsible-utility>.saj-mobile-utility-toggle::after{
  content:'+';
  font-size:.95em;
  line-height:1;
}
.saj-collapsible-utility>.saj-utility-toggle[aria-expanded="true"]::after,
.saj-collapsible-utility>.saj-mobile-utility-toggle[aria-expanded="true"]::after{content:'−';}
.saj-collapsible-utility>.saj-utility-submenu[hidden],
.saj-collapsible-utility>.saj-mobile-utility-submenu[hidden]{display:none!important;}
.saj-collapsible-utility.is-open>.saj-utility-submenu{margin-top:6px;}
@media(max-width:900px){
  .saj-collapsible-utility.is-open>.saj-mobile-utility-submenu{margin-top:8px;}
}


/* V1.4.6 — NEWSLETTER is powered by WordPress Posts. */
@media (min-width:901px){
  body.saj-page-newsletter{
    --saj-newsletter-sidebar:210px;
  }
  body.saj-page-newsletter .saj-sidebar{
    width:var(--saj-newsletter-sidebar);
    min-width:var(--saj-newsletter-sidebar);
    max-width:var(--saj-newsletter-sidebar);
  }
  body.saj-page-newsletter .saj-sidebar .saj-nav{width:170px;}
  body.saj-page-newsletter .saj-main{margin-left:var(--saj-newsletter-sidebar);}
  body.saj-page-newsletter .saj-desktop-topbar{left:var(--saj-newsletter-sidebar);}
  body.saj-page-newsletter .saj-shipping-note{left:calc(50vw - var(--saj-newsletter-sidebar)/2);}
}
.saj-newsletter-page{
  width:100%;
  padding:58px 38px 90px;
}
.saj-newsletter-head{
  margin:0 0 22px;
}
.saj-newsletter-head h1{
  margin:0;
  font-size:13px;
  line-height:1.25;
  font-weight:400;
  text-transform:uppercase;
}
.saj-newsletter-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:54px 14px;
}
.saj-newsletter-card,
.saj-newsletter-card-link{
  min-width:0;
  display:block;
}
.saj-newsletter-image{
  width:100%;
  aspect-ratio:4/5;
  overflow:hidden;
  background:#f4f4f2;
}
.saj-newsletter-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center;
}
.saj-newsletter-image-placeholder{
  width:100%;
  height:100%;
  background:#f4f4f2;
}
.saj-newsletter-meta{
  padding-top:10px;
  text-transform:uppercase;
}
.saj-newsletter-meta time{
  display:block;
  margin-bottom:5px;
  font-size:10px;
  line-height:1.35;
  font-weight:400;
}
.saj-newsletter-meta h2{
  margin:0;
  font-size:12px;
  line-height:1.4;
  font-weight:400;
}
.saj-newsletter-pagination{
  display:flex;
  align-items:center;
  flex-wrap:wrap;
  gap:7px 14px;
  margin-top:60px;
  font-size:11px;
  line-height:1.3;
  text-transform:uppercase;
}
.saj-newsletter-pagination .current{
  text-decoration:underline;
  text-underline-offset:3px;
}
.saj-newsletter-empty{
  margin:40px 0 0;
  font-size:13px;
  line-height:1.6;
}
@media (min-width:901px) and (max-width:1200px){
  body.saj-page-newsletter{--saj-newsletter-sidebar:195px;}
  .saj-newsletter-page{padding-left:28px;padding-right:28px;}
  .saj-newsletter-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media (max-width:900px){
  .saj-newsletter-page{padding:28px 12px 64px;}
  .saj-newsletter-head{margin-bottom:18px;}
  .saj-newsletter-head h1{font-size:12px;}
  .saj-newsletter-grid{grid-template-columns:1fr;gap:40px;}
  .saj-newsletter-meta{padding-top:9px;}
  .saj-newsletter-meta time{font-size:11px;}
  .saj-newsletter-meta h2{font-size:14px;line-height:1.4;}
  .saj-newsletter-pagination{margin-top:42px;font-size:12px;}
  .saj-newsletter-empty{font-size:14px;}
}


/* V1.4.7 — compact LEGAL group + LOGIN uses primary utility type size. */
.saj-utility-submenu .saj-login-link{
  font-size:13px!important;
  line-height:1.32!important;
  font-weight:400!important;
}
@media (min-width:901px) and (max-width:1100px){
  .saj-utility-submenu .saj-login-link{font-size:12px!important;}
}
@media (max-width:900px){
  .saj-mobile-menu .saj-mobile-utility-submenu .saj-mobile-login-link{
    font-size:14px!important;
    line-height:1.3!important;
    font-weight:400!important;
  }
}

/* V1.4.8 — unified LEGAL page shell; legal copy is populated in the next revision. */
@media (min-width:901px){
  body.saj-page-legal{
    --saj-legal-sidebar:210px;
  }
  body.saj-page-legal .saj-sidebar{
    width:var(--saj-legal-sidebar);
    min-width:var(--saj-legal-sidebar);
    max-width:var(--saj-legal-sidebar);
  }
  body.saj-page-legal .saj-sidebar .saj-nav{width:170px;}
  body.saj-page-legal .saj-main{margin-left:var(--saj-legal-sidebar);}
  body.saj-page-legal .saj-desktop-topbar{left:var(--saj-legal-sidebar);}
  body.saj-page-legal .saj-shipping-note{left:calc(50vw - var(--saj-legal-sidebar)/2);}
}
.saj-legal-page{
  width:100%;
  max-width:1180px;
  margin:0 auto;
  padding:58px 38px 90px;
}
.saj-legal-head{
  margin:0 0 30px;
}
.saj-legal-head h1{
  margin:0;
  font-size:15px;
  line-height:1.45;
  font-weight:400;
}
.saj-legal-list{
  border-top:1px solid #d8d8d8;
}
.saj-legal-item{
  border-bottom:1px solid #d8d8d8;
}
.saj-legal-toggle{
  width:100%;
  min-height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:18px 2px;
  border:0;
  background:transparent;
  color:#111;
  text-align:left;
  cursor:pointer;
  font:inherit;
}
.saj-legal-toggle:focus-visible{
  outline:1px solid #111;
  outline-offset:3px;
}
.saj-legal-title{
  font-size:14px;
  line-height:1.45;
  font-weight:400;
}
.saj-legal-icon{
  width:20px;
  height:20px;
  flex:0 0 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  transition:transform .18s ease;
}
.saj-legal-icon svg{width:18px;height:18px;display:block;}
.saj-legal-toggle[aria-expanded="true"] .saj-legal-icon{transform:rotate(180deg);}
.saj-legal-panel[hidden]{display:none!important;}
.saj-legal-panel{
  padding:0 42px 28px 2px;
}
.saj-legal-panel-inner{
  max-width:900px;
  font-size:13px;
  line-height:1.8;
  font-weight:400;
}
.saj-legal-panel-inner p{margin:0 0 16px;}
.saj-legal-panel-inner p:last-child{margin-bottom:0;}
.saj-legal-panel-inner a{text-decoration:underline;text-underline-offset:2px;}
.saj-legal-content-slot{min-height:0;}
@media (min-width:901px) and (max-width:1200px){
  body.saj-page-legal{--saj-legal-sidebar:195px;}
  .saj-legal-page{padding-left:28px;padding-right:28px;}
}
@media (max-width:900px){
  .saj-legal-page{max-width:none;padding:28px 16px 64px;}
  .saj-legal-head{margin-bottom:24px;}
  .saj-legal-head h1{font-size:15px;}
  .saj-legal-toggle{min-height:62px;padding:17px 0;gap:16px;}
  .saj-legal-title{font-size:15px;}
  .saj-legal-panel{padding:0 28px 24px 0;}
  .saj-legal-panel-inner{font-size:14px;line-height:1.75;}
}

/* V1.4.9 — populated legal copy, internalized URLs, dynamic admin email, 7–15 day delivery, 48-hour return window. */
.saj-legal-panel-inner h3{
  margin:28px 0 10px;
  font-size:13px;
  line-height:1.55;
  font-weight:600;
}
.saj-legal-panel-inner h3:first-child{margin-top:0;}
.saj-legal-panel-inner ul{
  margin:0 0 16px 1.25em;
  padding:0;
}
.saj-legal-panel-inner li{margin:0 0 8px;}
.saj-legal-panel-inner strong{font-weight:600;}
.saj-legal-revision{margin-top:32px!important;}
@media(max-width:900px){
  .saj-legal-panel-inner{font-size:13px;line-height:1.75;}
  .saj-legal-panel-inner h3{font-size:14px;}
}

/* V1.5.5 — ARCHIVE editorial/news feed derived from the supplied Stüssy feed reference. */
@media (min-width:901px){
  body.saj-page-editorial-archive{--saj-archive-sidebar:210px;}
  body.saj-page-editorial-archive .saj-sidebar{
    width:var(--saj-archive-sidebar);min-width:var(--saj-archive-sidebar);max-width:var(--saj-archive-sidebar);
  }
  body.saj-page-editorial-archive .saj-sidebar .saj-nav{width:170px;}
  body.saj-page-editorial-archive .saj-main{margin-left:var(--saj-archive-sidebar);}
  body.saj-page-editorial-archive .saj-desktop-topbar{left:var(--saj-archive-sidebar);}
  body.saj-page-editorial-archive .saj-shipping-note{left:calc(50vw - var(--saj-archive-sidebar)/2);}
}
.saj-editorial-archive{
  width:100%;
  padding:58px 38px 100px;
}
.saj-editorial-archive-head,
.saj-editorial-feed,
.saj-editorial-pagination,
.saj-editorial-empty{
  width:min(600px,100%);
  margin-left:auto;
  margin-right:auto;
}
.saj-editorial-archive-head{margin-bottom:22px;}
.saj-editorial-archive-head h1{
  margin:0;font-size:12px;line-height:1.2;font-weight:400;text-transform:uppercase;
}
.saj-editorial-post{margin:0 0 82px;}
.saj-editorial-post-topline{
  display:flex;align-items:center;gap:15px;margin:0 0 14px;
  font-size:10px;line-height:1.35;font-weight:400;text-transform:uppercase;
}
.saj-editorial-view-article{text-decoration:underline;text-underline-offset:2px;}
.saj-editorial-gallery{position:relative;width:100%;}
.saj-editorial-track{
  position:relative;width:100%;overflow:hidden;background:#fff;
  transition:height .30s cubic-bezier(.22,.61,.36,1);
}
.saj-editorial-slide{
  position:absolute;inset:0;width:100%;display:block;visibility:hidden;opacity:1;
  transform:translate3d(0,0,0);pointer-events:none;z-index:1;
  transition:transform .36s cubic-bezier(.22,.61,.36,1);will-change:transform;
}
.saj-editorial-slide.is-active{
  position:relative;visibility:visible;transform:translate3d(0,0,0);pointer-events:auto;z-index:2;
}
.saj-editorial-slide.is-entering-from-right{visibility:visible;transform:translate3d(100%,0,0);z-index:3;}
.saj-editorial-slide.is-entering-from-left{visibility:visible;transform:translate3d(-100%,0,0);z-index:3;}
.saj-editorial-slide.is-leaving-to-left{visibility:visible;transform:translate3d(-100%,0,0);z-index:2;}
.saj-editorial-slide.is-leaving-to-right{visibility:visible;transform:translate3d(100%,0,0);z-index:2;}
.saj-editorial-slide img,
.saj-editorial-video{display:block;width:100%;height:auto;max-height:none;object-fit:contain;background:#fff;}
.saj-editorial-hit-nav{
  position:absolute;z-index:6;inset:0 0 25px;display:grid;grid-template-columns:1fr 1fr;pointer-events:none;
}
.saj-editorial-hit-nav button{
  position:relative;pointer-events:auto;border:0;background:transparent;padding:0;margin:0;cursor:pointer;
  -webkit-tap-highlight-color:transparent;
}
.saj-editorial-hit-nav button:after{
  content:'';position:absolute;top:50%;width:10px;height:10px;border-top:1px solid #111;border-right:1px solid #111;
  opacity:0;transition:opacity .16s ease,transform .16s ease;pointer-events:none;
}
.saj-editorial-prev:after{left:16px;transform:translateY(-50%) rotate(-135deg);}
.saj-editorial-next:after{right:16px;transform:translateY(-50%) rotate(45deg);}
@media (hover:hover) and (pointer:fine){
  .saj-editorial-hit-nav button:hover:after{opacity:.72;}
  .saj-editorial-prev:hover:after{transform:translate(-2px,-50%) rotate(-135deg);}
  .saj-editorial-next:hover:after{transform:translate(2px,-50%) rotate(45deg);}
}
.saj-editorial-hit-nav button:focus-visible:after{opacity:1;}
.saj-editorial-gallery-tools{
  display:flex;align-items:center;gap:15px;padding-top:7px;font-size:10px;line-height:1.25;text-transform:uppercase;
}
.saj-editorial-gallery-tools button{border:0;background:none;padding:0;margin:0;text-transform:uppercase;font:inherit;cursor:pointer;}
.saj-editorial-gallery-tools button:hover{text-decoration:underline;text-underline-offset:2px;}
.saj-editorial-copy{padding-top:24px;font-size:12px;line-height:1.55;font-weight:400;}
.saj-editorial-copy p{margin:0 0 14px;}
.saj-editorial-copy p:last-child{margin-bottom:0;}
.saj-editorial-copy a{text-decoration:underline;text-underline-offset:2px;}
.saj-editorial-pagination{
  display:flex;align-items:center;flex-wrap:wrap;gap:8px 14px;margin-top:18px;
  font-size:11px;line-height:1.3;text-transform:uppercase;
}
.saj-editorial-pagination .current{text-decoration:underline;text-underline-offset:3px;}
.saj-editorial-empty{font-size:13px;line-height:1.6;}
.saj-archive-lightbox{
  position:fixed;z-index:99998;inset:0;background:rgba(255,255,255,.96);overflow:auto;color:#111;
}
.saj-archive-lightbox[hidden]{display:none!important;}
.saj-archive-lightbox-bar{
  position:sticky;z-index:2;top:0;display:flex;justify-content:flex-end;align-items:center;gap:28px;
  padding:22px 24px;background:rgba(255,255,255,.92);font-size:10px;line-height:1;text-transform:uppercase;
}
.saj-archive-lightbox-bar button{border:0;background:none;padding:0;margin:0;font:inherit;cursor:pointer;}
.saj-archive-lightbox-x{font-size:17px!important;line-height:1!important;}
.saj-archive-lightbox-grid{
  display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:center;gap:25px 10px;padding:28px 24px 60px;
}
.saj-archive-lightbox-grid button{
  width:100px;border:0;background:none;padding:0;margin:0;cursor:pointer;
}
.saj-archive-lightbox-grid img{display:block;width:100%;height:auto;object-fit:contain;}
body.saj-archive-modal-open{overflow:hidden;}
@media (min-width:901px) and (max-width:1200px){
  body.saj-page-editorial-archive{--saj-archive-sidebar:195px;}
  .saj-editorial-archive{padding-left:28px;padding-right:28px;}
}
@media (max-width:900px){
  .saj-editorial-archive{padding:28px 12px 72px;}
  .saj-editorial-archive-head{margin-bottom:18px;}
  .saj-editorial-archive-head h1{font-size:12px;}
  .saj-editorial-post{margin-bottom:72px;}
  .saj-editorial-post-topline{font-size:11px;margin-bottom:12px;}
  .saj-editorial-gallery-tools{font-size:11px;padding-top:8px;}
  .saj-editorial-copy{font-size:14px;line-height:1.55;padding-top:20px;}
  .saj-archive-lightbox-bar{padding:18px 14px;font-size:11px;}
  .saj-archive-lightbox-grid{gap:18px 8px;padding:20px 12px 48px;}
  .saj-archive-lightbox-grid button{width:56px;}
}


/* V1.5.5 — ARCHIVE is a static editorial feed from the supplied reference content. */
.saj-editorial-post-topline-static{justify-content:flex-start;}
.saj-editorial-embed{position:relative;width:100%;aspect-ratio:16 / 9;background:#000;overflow:hidden;}
.saj-editorial-embed iframe{position:absolute;inset:0;width:100%;height:100%;border:0;display:block;}
.saj-editorial-archive-static .saj-editorial-copy a{text-decoration:underline;text-underline-offset:2px;}

/* V1.5.6 — static ARCHIVE loads five supplied editorial entries per scroll batch. */
.saj-archive-infinite{
  width:min(600px,100%);height:1px;min-height:1px;margin:0 auto;position:relative;
  display:flex;align-items:center;justify-content:center;overflow:visible;
}
.saj-archive-infinite-label{
  display:none;font-size:10px;line-height:1;text-transform:uppercase;font-weight:400;white-space:nowrap;
}
.saj-archive-infinite.is-loading{height:42px;min-height:42px;}
.saj-archive-infinite.is-loading .saj-archive-infinite-label{display:inline-block;}
.saj-archive-infinite.is-loading .saj-archive-infinite-label:before{
  content:'';display:inline-block;width:8px;height:8px;margin-right:7px;border:1px solid #aaa;border-top-color:#111;border-radius:50%;vertical-align:-1px;animation:sajArchiveSpin .7s linear infinite;
}
@keyframes sajArchiveSpin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.saj-archive-infinite.is-loading .saj-archive-infinite-label:before{animation:none}}


/* V1.5.7 — smoother ARCHIVE gallery transitions and hidden hover navigation arrows. */
@media (prefers-reduced-motion:reduce){
  .saj-editorial-track,.saj-editorial-slide,.saj-editorial-hit-nav button:after{transition:none!important;}
}
@media (max-width:900px){
  .saj-editorial-prev:after{left:12px;}
  .saj-editorial-next:after{right:12px;}
}


/* V1.5.9 — ARCHIVE image loading performance.
 * Non-active gallery images are hydrated on demand; nearby slides are prefetched by JS. */
.saj-editorial-slide img{content-visibility:auto;}
.saj-editorial-slide img:not([src]){min-height:1px;}

/* V1.6.0 — dedicated SHIPPING & RETURNS page. */
@media (min-width:901px){
  body.saj-page-shipping-returns{--saj-sr-sidebar:210px;}
  body.saj-page-shipping-returns .saj-sidebar{
    width:var(--saj-sr-sidebar);min-width:var(--saj-sr-sidebar);max-width:var(--saj-sr-sidebar);
  }
  body.saj-page-shipping-returns .saj-sidebar .saj-nav{width:170px;}
  body.saj-page-shipping-returns .saj-main{margin-left:var(--saj-sr-sidebar);}
  body.saj-page-shipping-returns .saj-desktop-topbar{left:var(--saj-sr-sidebar);}
  body.saj-page-shipping-returns .saj-shipping-note{left:calc(50vw - var(--saj-sr-sidebar)/2);}
}
.saj-shipping-returns-page{
  width:100%;max-width:1180px;margin:0 auto;padding:58px 38px 100px;
}
.saj-shipping-returns-head{margin:0 0 38px;}
.saj-shipping-returns-head h1{
  margin:0;font-size:15px;line-height:1.4;font-weight:400;text-transform:uppercase;
}
.saj-shipping-returns-content{max-width:920px;}
.saj-sr-section{margin:0 0 74px;}
.saj-sr-section:last-child{margin-bottom:0;}
.saj-sr-section>h2{
  margin:0 0 28px;padding:0 0 14px;border-bottom:1px solid #111;
  font-size:18px;line-height:1.45;font-weight:400;
}
.saj-sr-block{
  padding:0 0 26px;margin:0 0 28px;border-bottom:1px solid #dedede;
}
.saj-sr-block:last-of-type{margin-bottom:0;}
.saj-sr-block h3{
  margin:0 0 11px;font-size:14px;line-height:1.5;font-weight:600;
}
.saj-sr-block p,.saj-sr-contact-box p{
  margin:0 0 11px;font-size:13px;line-height:1.82;font-weight:400;
}
.saj-sr-block p:last-child,.saj-sr-contact-box p:last-child{margin-bottom:0;}
.saj-sr-block ul{
  margin:0 0 14px 1.3em;padding:0;font-size:13px;line-height:1.75;
}
.saj-sr-block li{margin:0 0 7px;}
.saj-sr-block a,.saj-sr-contact-box a{text-decoration:underline;text-underline-offset:2px;}
.saj-sr-block strong,.saj-sr-contact-box strong{font-weight:600;}
.saj-sr-contact-box{
  margin-top:32px;padding:20px 0 0;border-top:1px solid #111;
}
@media (min-width:901px) and (max-width:1200px){
  body.saj-page-shipping-returns{--saj-sr-sidebar:195px;}
  .saj-shipping-returns-page{padding-left:28px;padding-right:28px;}
}
@media (max-width:900px){
  .saj-shipping-returns-page{max-width:none;padding:28px 16px 72px;}
  .saj-shipping-returns-head{margin-bottom:30px;}
  .saj-shipping-returns-head h1{font-size:15px;}
  .saj-shipping-returns-content{max-width:none;}
  .saj-sr-section{margin-bottom:58px;}
  .saj-sr-section>h2{font-size:18px;margin-bottom:24px;padding-bottom:12px;}
  .saj-sr-block{padding-bottom:22px;margin-bottom:24px;}
  .saj-sr-block h3{font-size:14px;}
  .saj-sr-block p,.saj-sr-contact-box p,.saj-sr-block ul{font-size:13px;line-height:1.78;}
}


/* V1.6.1 — dedicated SIZE GUIDE page; support email comes from WP Admin Email. */
@media (min-width:901px){
  body.saj-page-size-guide{--saj-size-sidebar:210px;}
  body.saj-page-size-guide .saj-sidebar{
    width:var(--saj-size-sidebar);min-width:var(--saj-size-sidebar);max-width:var(--saj-size-sidebar);
  }
  body.saj-page-size-guide .saj-sidebar .saj-nav{width:170px;}
  body.saj-page-size-guide .saj-main{margin-left:var(--saj-size-sidebar);}
  body.saj-page-size-guide .saj-desktop-topbar{left:var(--saj-size-sidebar);}
  body.saj-page-size-guide .saj-shipping-note{left:calc(50vw - var(--saj-size-sidebar)/2);}
}
.saj-size-guide-page{width:100%;max-width:1180px;margin:0 auto;padding:58px 38px 100px;}
.saj-size-guide-head{margin:0 0 38px;}
.saj-size-guide-head h1{margin:0;font-size:15px;line-height:1.4;font-weight:400;text-transform:uppercase;}
.saj-size-guide-content{max-width:920px;}
.saj-size-section{margin:0 0 56px;}
.saj-size-section:last-child{margin-bottom:0;}
.saj-size-section>h2{margin:0 0 24px;padding:0 0 13px;border-bottom:1px solid #111;font-size:18px;line-height:1.45;font-weight:400;}
.saj-size-definitions{margin:0;padding:0;}
.saj-size-definitions>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:24px;padding:13px 0;border-bottom:1px solid #dedede;}
.saj-size-definitions dt,.saj-size-definitions dd{margin:0;font-size:13px;line-height:1.75;font-weight:400;}
.saj-size-definitions dt{font-weight:600;}
.saj-size-notes{margin:0 0 20px 1.25em;padding:0;font-size:13px;line-height:1.82;}
.saj-size-notes li{margin:0 0 10px;}
.saj-size-section p{margin:0 0 13px;font-size:13px;line-height:1.82;font-weight:400;}
.saj-size-section p:last-child{margin-bottom:0;}
.saj-size-section a{text-decoration:underline;text-underline-offset:2px;}
.saj-size-caution{margin-top:24px!important;padding-top:20px;border-top:1px solid #dedede;}
@media (min-width:901px) and (max-width:1200px){
  body.saj-page-size-guide{--saj-size-sidebar:195px;}
  .saj-size-guide-page{padding-left:28px;padding-right:28px;}
}
@media (max-width:900px){
  .saj-size-guide-page{max-width:none;padding:28px 16px 72px;}
  .saj-size-guide-head{margin-bottom:30px;}
  .saj-size-guide-content{max-width:none;}
  .saj-size-section{margin-bottom:48px;}
  .saj-size-section>h2{font-size:18px;margin-bottom:20px;padding-bottom:12px;}
  .saj-size-definitions>div{grid-template-columns:86px minmax(0,1fr);gap:14px;padding:12px 0;}
  .saj-size-definitions dt,.saj-size-definitions dd,.saj-size-notes,.saj-size-section p{font-size:13px;line-height:1.78;}
}


/* V1.6.2 — single-product information typography only.
   Deliberately does not alter column widths, spacing, image sizing or positioning. */
@media (min-width:901px){
  body.single-product .saj-summary h1{font-size:14px;}
  body.single-product .saj-summary .price{font-size:11px;}
  body.single-product .saj-summary .woocommerce-product-details__short-description{font-size:10.5px;line-height:1.45;}
  body.single-product .saj-summary .variations th{font-size:10px;}
  body.single-product .saj-summary .saj-variation-choice{font-size:10.5px;}
  body.single-product .saj-summary .reset_variations{font-size:9.5px;}
  body.single-product .saj-summary .single_add_to_cart_button,
  body.single-product .saj-summary .button{font-size:10.5px;}
  body.single-product .saj-summary .saj-accordion summary{font-size:10.5px;}
  body.single-product .saj-summary .saj-accordion summary span{font-size:12px;}
  body.single-product .saj-summary .saj-accordion .content{font-size:10px;line-height:1.55;}
}

/* V1.6.3 — mobile single-product gallery becomes one horizontal swipe row.
   Desktop product imagery and all summary/layout sizing remain unchanged. */
@media (max-width:900px){
  body.single-product .saj-gallery{
    display:flex;
    width:100%;
    max-width:100%;
    overflow-x:auto;
    overflow-y:hidden;
    scroll-snap-type:x mandatory;
    scroll-behavior:smooth;
    -webkit-overflow-scrolling:touch;
    overscroll-behavior-x:contain;
    scrollbar-width:none;
  }
  body.single-product .saj-gallery::-webkit-scrollbar{
    display:none;
    width:0;
    height:0;
  }
  body.single-product .saj-gallery figure{
    flex:0 0 100%;
    width:100%;
    min-width:100%;
    max-width:100%;
    margin:0;
    scroll-snap-align:start;
    scroll-snap-stop:always;
  }
  body.single-product .saj-gallery figure img{
    display:block;
    width:100%;
    max-width:none;
    height:auto;
    object-fit:contain;
  }
}

/* V1.6.4 — imported-content fallback SIZE selector. Reuses native variation buttons. */
.saj-inferred-size-field{margin:12px 0 2px;}
.saj-inferred-size-label{margin:0 0 6px;font-size:10px;line-height:1.2;font-weight:400;text-transform:uppercase;}
@media(max-width:900px){
  .saj-inferred-size-field{margin-top:14px;}
  .saj-inferred-size-label{font-size:10px;margin-bottom:9px;}
}

/* V1.6.6 — homepage newsletter signup: mobile only. */
.saj-mobile-newsletter{display:none;}
@media (max-width:900px){
  .saj-mobile-newsletter{
    display:block;
    width:100%;
    background:#fff;
    border-top:1px solid #d9d9d9;
    padding:30px 16px 34px;
  }
  .saj-mobile-newsletter-inner{width:100%;max-width:560px;margin:0 auto;}
  .saj-mobile-newsletter h2{
    margin:0 0 9px;
    font-size:12px;
    line-height:1.2;
    font-weight:400;
    text-transform:uppercase;
  }
  .saj-mobile-newsletter p{
    margin:0 0 22px;
    font-size:11px;
    line-height:1.5;
    font-weight:400;
  }
  .saj-mobile-newsletter-row{
    display:grid;
    grid-template-columns:minmax(0,1fr) auto;
    align-items:stretch;
    border-bottom:1px solid #111;
  }
  .saj-mobile-newsletter-email{
    width:100%;
    min-width:0;
    height:42px;
    padding:0 8px 0 0;
    border:0;
    border-radius:0;
    outline:0;
    background:transparent;
    font-size:12px;
    line-height:42px;
    appearance:none;
    -webkit-appearance:none;
  }
  .saj-mobile-newsletter-email::placeholder{color:#777;opacity:1;}
  .saj-mobile-newsletter-row button{
    min-width:58px;
    height:42px;
    padding:0 0 0 12px;
    border:0;
    border-radius:0;
    background:transparent;
    font-size:11px;
    font-weight:400;
    cursor:pointer;
  }
  .saj-mobile-newsletter-row button[disabled]{opacity:.45;cursor:default;}
  .saj-mobile-newsletter-message{
    min-height:18px;
    padding-top:9px;
    font-size:10px;
    line-height:1.4;
  }
  .saj-mobile-newsletter-message.is-error{color:#9b1c1c;}
  .saj-newsletter-hp{
    position:absolute!important;
    left:-9999px!important;
    width:1px!important;
    height:1px!important;
    opacity:0!important;
    pointer-events:none!important;
  }
}

/* V1.6.9 — mobile mini-cart visual refinement and sharper typography.
   Cart behavior/data remain unchanged; this block only improves the mobile drawer UI. */
@media (max-width:900px){
  .saj-cart-drawer{
    width:min(420px,calc(100vw - 48px));
    max-width:calc(100vw - 48px);
    height:100dvh;
    padding:0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    background:#fff;
    border-left:1px solid #e8e8e8;
    box-shadow:-10px 0 30px rgba(0,0,0,.10);
    transform:translateX(100%);
    transition:transform .28s cubic-bezier(.22,.61,.36,1);
    font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",Arial,sans-serif;
    font-size:12px;
    line-height:1.45;
    font-weight:400;
    letter-spacing:0;
    -webkit-text-size-adjust:100%;
    text-rendering:optimizeLegibility;
  }
  .saj-cart-drawer.is-open{transform:translateX(0);}
  .saj-drawer-head{
    flex:0 0 56px;
    min-height:56px;
    margin:0;
    padding:0 18px;
    border-bottom:1px solid #e5e5e5;
    background:#fff;
    font-size:12px;
    line-height:1;
    font-weight:600;
    letter-spacing:.02em;
  }
  .saj-drawer-close{
    width:36px;
    height:36px;
    margin-right:-9px;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    border:0;
    border-radius:0;
    background:transparent;
    font-family:Arial,sans-serif;
    font-size:24px;
    line-height:1;
    font-weight:300;
  }
  .saj-mini-cart{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    padding:0 18px max(22px,env(safe-area-inset-bottom));
    scrollbar-width:none;
  }
  .saj-mini-cart::-webkit-scrollbar{display:none;}
  .saj-mini-cart .woocommerce-mini-cart{
    margin:0!important;
    padding:0!important;
  }
  .saj-mini-cart .woocommerce-mini-cart-item{
    min-height:142px;
    margin:0!important;
    padding:16px 28px 16px 0!important;
    border-bottom:1px solid #e5e5e5;
    overflow:hidden;
    font-size:12px!important;
    line-height:1.45!important;
    font-weight:500;
  }
  .saj-mini-cart .woocommerce-mini-cart-item > a:not(.remove_from_cart_button){
    display:block!important;
    min-height:112px;
    padding:0!important;
    font-size:12px!important;
    line-height:1.38!important;
    font-weight:600!important;
    text-transform:none;
    color:#111!important;
  }
  .saj-mini-cart .woocommerce-mini-cart-item img,
  .woocommerce .saj-mini-cart ul.cart_list li img,
  .woocommerce .saj-mini-cart ul.product_list_widget li img{
    float:left!important;
    width:92px!important;
    height:112px!important;
    max-width:92px!important;
    margin:0 14px 0 0!important;
    padding:0!important;
    object-fit:contain!important;
    background:#f6f6f4;
  }
  .saj-mini-cart .woocommerce-mini-cart-item .quantity{
    display:block;
    margin:5px 0 0 106px!important;
    font-size:11px!important;
    line-height:1.35!important;
    font-weight:400!important;
    color:#4a4a4a;
  }
  .saj-mini-cart .woocommerce-mini-cart-item dl.variation{
    margin:5px 0 0 106px!important;
    padding:0!important;
    border:0!important;
    font-size:11px!important;
    line-height:1.4!important;
    font-weight:400!important;
    color:#444;
  }
  .saj-mini-cart .woocommerce-mini-cart-item dl.variation dt,
  .saj-mini-cart .woocommerce-mini-cart-item dl.variation dd{
    display:inline;
    float:none;
    margin:0 4px 0 0!important;
    padding:0!important;
  }
  .saj-mini-cart .woocommerce-mini-cart-item dl.variation p{display:inline;margin:0;}
  .saj-mini-cart .remove_from_cart_button{
    top:13px!important;
    right:0!important;
    width:28px;
    height:28px;
    display:flex!important;
    align-items:center;
    justify-content:center;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:#111!important;
    font-family:Arial,sans-serif!important;
    font-size:20px!important;
    line-height:1!important;
    font-weight:400!important;
  }
  .saj-mini-cart .remove_from_cart_button:hover,
  .saj-mini-cart .remove_from_cart_button:focus{background:transparent!important;color:#111!important;}
  .saj-mini-cart .woocommerce-mini-cart__total{
    margin:22px 0 0!important;
    padding:16px 0 0!important;
    border-top:1px solid #111!important;
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:18px;
    font-size:12px!important;
    line-height:1.4!important;
    font-weight:500!important;
    text-transform:none;
  }
  .saj-mini-cart .woocommerce-mini-cart__total strong{font-weight:600!important;}
  .saj-mini-cart .woocommerce-mini-cart__buttons{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:8px!important;
    margin:15px 0 0!important;
    padding:0!important;
  }
  .saj-mini-cart .woocommerce-mini-cart__buttons .button{
    min-height:44px;
    margin:0!important;
    padding:0 14px!important;
    display:flex!important;
    align-items:center;
    justify-content:center;
    border:1px solid #111!important;
    border-radius:0!important;
    box-shadow:none!important;
    font-size:12px!important;
    line-height:1.2!important;
    font-weight:500!important;
    letter-spacing:.01em;
    text-transform:none;
  }
  .saj-mini-cart .woocommerce-mini-cart__buttons .button:not(.checkout){
    background:#fff!important;
    color:#111!important;
  }
  .saj-mini-cart .woocommerce-mini-cart__buttons .button.checkout{
    background:#111!important;
    color:#fff!important;
  }
  .saj-mini-cart .woocommerce-mini-cart__empty-message{
    margin:0;
    padding:28px 0;
    font-size:12px!important;
    line-height:1.5!important;
    font-weight:400;
  }
  .saj-drawer-overlay{background:rgba(0,0,0,.28);}
}

/* V1.7.0 — slightly larger mobile mini-cart product imagery.
   Uses the existing medium_large source so the larger thumbnails remain crisp. */

/* V1.7.1 — unified desktop + mobile Shopping Bag presentation.
   Desktop receives the same strong WooCommerce overrides used on mobile so
   thumbnails cannot fall back to the tiny right-floated widget style. */
@media (min-width:901px){
  .saj-cart-drawer{
    width:min(560px,38vw);
    height:100vh;
    padding:0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    background:#fff;
    border-left:1px solid #e8e8e8;
    box-shadow:-12px 0 32px rgba(0,0,0,.10);
    font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",Arial,sans-serif;
    font-size:12px;
    line-height:1.45;
    font-weight:400;
    letter-spacing:0;
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
  }
  .saj-drawer-head{
    flex:0 0 62px;
    min-height:62px;
    margin:0;
    padding:0 24px;
    border-bottom:1px solid #e5e5e5;
    background:#fff;
    font-size:13px;
    line-height:1;
    font-weight:600;
    letter-spacing:.02em;
  }
  .saj-drawer-close{
    width:38px;
    height:38px;
    margin-right:-8px;
    padding:0;
    display:flex;
    align-items:center;
    justify-content:center;
    border:0;
    background:transparent;
    font-family:Arial,sans-serif;
    font-size:26px;
    line-height:1;
    font-weight:300;
  }
  .saj-mini-cart{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    overscroll-behavior:contain;
    padding:0 24px 28px;
    scrollbar-width:thin;
  }
  .saj-mini-cart .woocommerce-mini-cart{
    margin:0!important;
    padding:0!important;
  }
  .saj-mini-cart .woocommerce-mini-cart-item{
    min-height:214px!important;
    margin:0!important;
    padding:18px 34px 18px 0!important;
    border-bottom:1px solid #e5e5e5!important;
    overflow:hidden!important;
    font-size:12px!important;
    line-height:1.45!important;
    font-weight:500!important;
  }
  .saj-mini-cart .woocommerce-mini-cart-item > a:not(.remove_from_cart_button){
    display:block!important;
    min-height:180px!important;
    padding:0!important;
    color:#111!important;
    font-size:13px!important;
    line-height:1.4!important;
    font-weight:600!important;
    text-transform:none!important;
  }
  .saj-mini-cart .woocommerce-mini-cart-item img,
  .woocommerce .saj-mini-cart ul.cart_list li img,
  .woocommerce .saj-mini-cart ul.product_list_widget li img{
    float:left!important;
    width:150px!important;
    height:180px!important;
    max-width:150px!important;
    margin:0 20px 0 0!important;
    padding:0!important;
    object-fit:contain!important;
    background:#f6f6f4!important;
  }
  .saj-mini-cart .woocommerce-mini-cart-item .quantity{
    display:block!important;
    margin:7px 0 0 170px!important;
    color:#4a4a4a!important;
    font-size:12px!important;
    line-height:1.4!important;
    font-weight:400!important;
  }
  .saj-mini-cart .woocommerce-mini-cart-item dl.variation{
    margin:7px 0 0 170px!important;
    padding:0!important;
    border:0!important;
    color:#444!important;
    font-size:12px!important;
    line-height:1.4!important;
    font-weight:400!important;
  }
  .saj-mini-cart .woocommerce-mini-cart-item dl.variation dt,
  .saj-mini-cart .woocommerce-mini-cart-item dl.variation dd{
    display:inline!important;
    float:none!important;
    margin:0 5px 0 0!important;
    padding:0!important;
  }
  .saj-mini-cart .woocommerce-mini-cart-item dl.variation p{display:inline!important;margin:0!important;}
  .saj-mini-cart .remove_from_cart_button{
    top:15px!important;
    right:0!important;
    width:30px!important;
    height:30px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:0!important;
    border:0!important;
    background:transparent!important;
    color:#111!important;
    font-family:Arial,sans-serif!important;
    font-size:21px!important;
    line-height:1!important;
    font-weight:400!important;
  }
  .saj-mini-cart .woocommerce-mini-cart__total{
    margin:24px 0 0!important;
    padding:17px 0 0!important;
    border-top:1px solid #111!important;
    display:flex!important;
    align-items:center!important;
    justify-content:space-between!important;
    gap:20px!important;
    font-size:13px!important;
    line-height:1.4!important;
    font-weight:500!important;
    text-transform:none!important;
  }
  .saj-mini-cart .woocommerce-mini-cart__total strong{font-weight:600!important;}
  .saj-mini-cart .woocommerce-mini-cart__buttons{
    display:grid!important;
    grid-template-columns:1fr!important;
    gap:9px!important;
    margin:16px 0 0!important;
    padding:0!important;
  }
  .saj-mini-cart .woocommerce-mini-cart__buttons .button{
    min-height:48px!important;
    margin:0!important;
    padding:0 16px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    border:1px solid #111!important;
    border-radius:0!important;
    box-shadow:none!important;
    font-size:12px!important;
    line-height:1.2!important;
    font-weight:500!important;
    letter-spacing:.01em!important;
    text-transform:none!important;
  }
  .saj-mini-cart .woocommerce-mini-cart__buttons .button:not(.checkout){background:#fff!important;color:#111!important;}
  .saj-mini-cart .woocommerce-mini-cart__buttons .button.checkout{background:#111!important;color:#fff!important;}
  .saj-mini-cart .woocommerce-mini-cart__empty-message{
    margin:0!important;
    padding:30px 0!important;
    font-size:13px!important;
    line-height:1.5!important;
  }
  .saj-drawer-overlay{background:rgba(0,0,0,.28);}
}

/* Keep the refined mobile cart from V1.6.9/V1.7.0 and make its image override
   equally explicit against WooCommerce widget defaults. */
@media (max-width:900px){
  .saj-mini-cart .woocommerce-mini-cart-item img,
  .woocommerce .saj-mini-cart ul.cart_list li img,
  .woocommerce .saj-mini-cart ul.product_list_widget li img{
    float:left!important;
    width:92px!important;
    height:112px!important;
    max-width:92px!important;
    min-width:92px!important;
    margin:0 14px 0 0!important;
    object-fit:contain!important;
    background:#f6f6f4!important;
  }
}

/* V1.7.2 — mobile Shopping Bag drawer aligned to the supplied reference layout.
   Cart/session behavior stays WooCommerce-native; this block is presentation only. */
.saj-mini-cart .woocommerce-mini-cart,
.saj-mini-cart ul.product_list_widget,
.saj-mini-cart ul.cart_list{
  list-style:none;
  margin:0!important;
  padding:0!important;
}
.saj-mini-cart-card{
  position:relative;
  list-style:none;
}
.saj-mini-cart-item-row{
  display:flex;
  align-items:flex-start;
  gap:18px;
}
.saj-mini-cart-item-media{
  flex:0 0 auto;
  display:block;
  text-decoration:none;
}
.saj-mini-cart-item-media img{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
  background:#f6f6f4;
}
.saj-mini-cart-item-content{
  min-width:0;
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
}
.saj-mini-cart-item-title{
  display:block;
  color:#111;
  text-decoration:none;
  text-transform:uppercase;
}
.saj-mini-cart-item-meta-line,
.saj-mini-cart-item-price{
  color:#111;
}
.saj-mini-cart-qty{
  display:inline-flex;
  align-items:center;
  gap:18px;
  margin-top:10px;
}
.saj-mini-cart-qty-btn{
  appearance:none;
  border:0;
  background:transparent;
  color:#111;
  padding:0;
  cursor:pointer;
  line-height:1;
}
.saj-mini-cart-qty-btn[disabled]{opacity:.45;cursor:default;}
.saj-mini-cart-qty-value{
  min-width:14px;
  text-align:center;
}
.saj-mini-cart-shipping-note{
  margin:0;
  color:#444;
}
.saj-mini-cart-meta{
  margin-top:18px;
}

@media (max-width:900px){
  .saj-cart-drawer{
    width:100vw;
    max-width:100vw;
    padding:0;
    overflow:hidden;
    display:flex;
    flex-direction:column;
    background:#fff;
    font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",Arial,sans-serif;
    text-rendering:optimizeLegibility;
    -webkit-font-smoothing:antialiased;
    -moz-osx-font-smoothing:grayscale;
  }
  .saj-drawer-head{
    flex:0 0 54px;
    min-height:54px;
    margin:0;
    padding:0 22px;
    border-bottom:0;
    align-items:center;
    font-size:12px;
    font-weight:600;
    letter-spacing:.01em;
  }
  .saj-drawer-close{
    width:auto;
    height:auto;
    margin:0;
    padding:0;
    font-size:12px;
    font-weight:500;
    letter-spacing:.01em;
    text-transform:uppercase;
  }
  .saj-mini-cart{
    flex:1 1 auto;
    min-height:0;
    overflow-y:auto;
    padding:14px 22px calc(26px + env(safe-area-inset-bottom));
  }
  .saj-mini-cart .woocommerce-mini-cart-item,
  .woocommerce .saj-mini-cart ul.cart_list li,
  .woocommerce .saj-mini-cart ul.product_list_widget li{
    min-height:0!important;
    margin:0!important;
    padding:0 0 18px!important;
    border-bottom:0!important;
    overflow:visible!important;
    font-size:12px!important;
    line-height:1.45!important;
  }
  .saj-mini-cart-card + .saj-mini-cart-card{
    margin-top:16px!important;
  }
  .saj-mini-cart-item-media{
    width:120px;
    height:148px;
  }
  .saj-mini-cart-item-title{
    margin:0 24px 6px 0;
    font-size:13px;
    line-height:1.35;
    font-weight:600;
  }
  .saj-mini-cart-item-meta-line{
    margin:0 24px 8px 0;
    font-size:13px;
    line-height:1.35;
    font-weight:500;
  }
  .saj-mini-cart-item-price{
    margin:0;
    font-size:12px;
    line-height:1.35;
    font-weight:500;
  }
  .saj-mini-cart-qty{
    gap:20px;
    margin-top:10px;
    font-size:13px;
    line-height:1;
  }
  .saj-mini-cart-qty-btn{
    font-size:17px;
    font-weight:400;
  }
  .saj-mini-cart-qty-value{
    font-size:13px;
    font-weight:500;
  }
  .saj-mini-cart .remove_from_cart_button{
    position:absolute!important;
    top:2px!important;
    right:0!important;
    width:22px;
    height:22px;
    display:flex!important;
    align-items:center;
    justify-content:center;
    font-size:17px!important;
    line-height:1!important;
    font-weight:400!important;
    color:#111!important;
    background:transparent!important;
  }
  .saj-mini-cart-meta{
    margin-top:10px;
    padding-top:14px;
    border-top:1px solid #e5e5e5;
  }
  .saj-mini-cart-shipping-note{
    margin:0 0 14px;
    font-size:12px;
    line-height:1.45;
    font-weight:400;
  }
  .saj-mini-cart .woocommerce-mini-cart__total{
    margin:0!important;
    padding:0!important;
    border-top:0!important;
    display:flex!important;
    align-items:center;
    justify-content:space-between;
    gap:16px;
    font-size:12px!important;
    line-height:1.45!important;
    font-weight:500!important;
  }
  .saj-mini-cart .woocommerce-mini-cart__total strong{font-weight:500!important;}
  .saj-mini-cart .woocommerce-mini-cart__buttons{
    position:sticky;
    bottom:0;
    margin:18px 0 0!important;
    padding:18px 0 0!important;
    background:linear-gradient(to bottom, rgba(255,255,255,0), rgba(255,255,255,.96) 22px, #fff 22px);
    display:grid!important;
    grid-template-columns:1fr;
    gap:0!important;
  }
  .saj-mini-cart .woocommerce-mini-cart__buttons .button:not(.checkout){
    display:none!important;
  }
  .saj-mini-cart .woocommerce-mini-cart__buttons .button.checkout{
    min-height:40px;
    width:100%;
    margin:0!important;
    border:0!important;
    border-radius:0!important;
    background:#111!important;
    color:#fff!important;
    display:flex!important;
    align-items:center;
    justify-content:center;
    font-size:12px!important;
    line-height:1.2!important;
    font-weight:600!important;
    letter-spacing:.01em;
    text-transform:none;
  }
  .saj-mini-cart .woocommerce-mini-cart__empty-message{
    margin:8px 0 0;
    padding:0;
    font-size:12px!important;
    line-height:1.5!important;
  }
}
@media (min-width:901px){
  .saj-drawer-close{
    width:auto;
    height:auto;
    margin:0;
    padding:0;
    font-size:12px;
    font-weight:500;
    letter-spacing:.01em;
    text-transform:uppercase;
  }
  .saj-mini-cart-item-row{gap:20px;}
  .saj-mini-cart-item-media{width:150px;height:180px;}
  .saj-mini-cart-item-title{margin:0 28px 6px 0;font-size:14px;line-height:1.32;font-weight:600;}
  .saj-mini-cart-item-meta-line{margin:0 28px 10px 0;font-size:13px;line-height:1.35;font-weight:500;}
  .saj-mini-cart-item-price{font-size:13px;line-height:1.35;font-weight:500;}
  .saj-mini-cart-qty{font-size:13px;line-height:1;margin-top:12px;}
  .saj-mini-cart-qty-btn{font-size:18px;}
  .saj-mini-cart-shipping-note{margin:0 0 14px;font-size:12px;line-height:1.45;}
}
.saj-mini-cart .saj-mini-cart-item-media img{
  float:none!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:contain!important;
  background:#f6f6f4;
}

/* V1.7.5 — slower AJAX Shopping Bag transitions.
   The drawer now combines a gentle slide with opacity, while the overlay and
   refreshed cart fragments fade in/out instead of appearing abruptly. */
.saj-cart-drawer{
  opacity:0;
  transform:translateX(104%);
  transition:
    transform .52s cubic-bezier(.22,.61,.36,1),
    opacity .42s ease;
  will-change:transform,opacity;
}
.saj-cart-drawer.is-open{
  opacity:1;
  transform:translateX(0);
}
.saj-drawer-overlay{
  display:block!important;
  visibility:hidden;
  opacity:0;
  pointer-events:none;
  transition:opacity .42s ease, visibility 0s linear .42s;
}
.saj-drawer-overlay.is-open{
  visibility:visible;
  opacity:1;
  pointer-events:auto;
  transition:opacity .42s ease, visibility 0s linear 0s;
}
.saj-mini-cart.saj-fragment-enter{
  animation:sajCartFragmentFade .46s ease both;
}
@keyframes sajCartFragmentFade{
  from{opacity:.18;transform:translateY(5px);}
  to{opacity:1;transform:translateY(0);}
}
@media (prefers-reduced-motion:reduce){
  .saj-cart-drawer,
  .saj-drawer-overlay{
    transition-duration:.01ms!important;
  }
  .saj-mini-cart.saj-fragment-enter{
    animation:none!important;
  }
}

/* V1.7.6 — dedicated checkout shell and reference-style two-column layout. */
body.saj-checkout-layout{
  background:#fff;
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",Arial,sans-serif;
  color:#111;
  text-rendering:optimizeLegibility;
  -webkit-font-smoothing:antialiased;
  -moz-osx-font-smoothing:grayscale;
}
body.saj-checkout-layout .saj-main{
  margin-left:0!important;
  padding-top:0!important;
  min-height:calc(100vh - 64px);
}
.saj-checkout-header{
  position:relative;
  z-index:105;
  width:100%;
  height:64px;
  background:#fff;
  border-bottom:1px solid #e9e9e9;
}
.saj-checkout-header-inner{
  width:100%;
  height:100%;
  display:grid;
  grid-template-columns:1fr auto 1fr;
  align-items:center;
  padding:0 26px;
}
.saj-checkout-header-spacer{display:block;}
.saj-checkout-logo{
  display:flex;
  align-items:center;
  justify-content:center;
  width:92px;
  max-width:92px;
  line-height:1;
}
.saj-checkout-logo img{
  display:block;
  width:auto;
  max-width:76px;
  max-height:40px;
  object-fit:contain;
}
.saj-checkout-bag{
  justify-self:end;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:4px;
  min-width:28px;
  height:32px;
  color:#111;
}
.saj-checkout-bag svg{width:17px;height:17px;display:block;}
.saj-checkout-bag .saj-bag-count{
  min-width:10px;
  font-size:8px;
  line-height:1;
  font-weight:600;
  text-align:left;
}
.saj-checkout-page{
  width:100%;
  padding:34px 20px 80px;
}
.saj-checkout-container{
  width:min(760px,100%);
  margin:0 auto;
}
.saj-checkout-container > .woocommerce{
  width:100%;
  margin:0;
}
.saj-checkout-container .woocommerce-notices-wrapper,
.saj-checkout-container .woocommerce-form-login-toggle,
.saj-checkout-container .woocommerce-form-coupon-toggle,
.saj-checkout-container form.checkout_coupon,
.saj-checkout-container form.login{
  width:calc(50% - 24px);
  margin:0 0 18px!important;
  font-size:10px;
}
.saj-checkout-container .woocommerce-info,
.saj-checkout-container .woocommerce-message,
.saj-checkout-container .woocommerce-error{
  margin:0 0 12px!important;
  padding:10px 12px!important;
  border:0!important;
  background:#f5f5f5!important;
  color:#111!important;
  font-size:10px!important;
  line-height:1.45!important;
}
.saj-checkout-container form.checkout_coupon{
  padding:0!important;
  border:0!important;
  display:flex;
  gap:7px;
}
.saj-checkout-container form.checkout_coupon .form-row{
  float:none!important;
  width:auto!important;
  margin:0!important;
  padding:0!important;
}
.saj-checkout-container form.checkout_coupon .form-row-first{flex:1 1 auto;}
.saj-checkout-container form.checkout_coupon input{
  width:100%;
  min-height:38px;
  border:1px solid #ddd;
  border-radius:0;
  padding:0 10px;
  background:#fff;
}
.saj-checkout-container form.checkout_coupon button{
  min-height:38px;
  border:1px solid #ddd!important;
  border-radius:0!important;
  background:#f7f7f7!important;
  color:#111!important;
  padding:0 13px!important;
  font-weight:500!important;
}
form.woocommerce-checkout.saj-checkout-form,
body.saj-checkout-layout form.woocommerce-checkout{
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  gap:0;
  width:100%;
  margin:0;
}
body.saj-checkout-layout form.woocommerce-checkout::before{
  content:"";
  position:absolute;
  top:-34px;
  bottom:-80px;
  left:52%;
  width:1px;
  background:#e6e6e6;
  pointer-events:none;
}
.saj-checkout-left-column{
  grid-column:1;
  min-width:0;
  padding-right:34px;
}
.saj-checkout-right-column{
  grid-column:2;
  min-width:0;
  padding-left:34px;
}
body.saj-checkout-layout #order_review{
  display:none!important;
}
body.saj-checkout-layout #customer_details{
  float:none!important;
  width:100%!important;
  margin:0!important;
}
body.saj-checkout-layout #customer_details .col-1,
body.saj-checkout-layout #customer_details .col-2{
  float:none!important;
  width:100%!important;
  margin:0!important;
}
body.saj-checkout-layout #customer_details .col-2{margin-top:24px!important;}
body.saj-checkout-layout .woocommerce-billing-fields > h3,
body.saj-checkout-layout .woocommerce-shipping-fields > h3,
body.saj-checkout-layout #order_review_heading,
body.saj-checkout-layout #payment::before{
  margin:0 0 10px!important;
  padding:0!important;
  font-size:11px!important;
  line-height:1.3!important;
  font-weight:600!important;
  text-transform:none;
  letter-spacing:0;
}
body.saj-checkout-layout #order_review_heading{
  float:none!important;
  width:100%!important;
}
body.saj-checkout-layout .woocommerce-billing-fields__field-wrapper,
body.saj-checkout-layout .woocommerce-shipping-fields__field-wrapper{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px 7px;
}
body.saj-checkout-layout .woocommerce-billing-fields__field-wrapper .form-row,
body.saj-checkout-layout .woocommerce-shipping-fields__field-wrapper .form-row{
  float:none!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
body.saj-checkout-layout .woocommerce-billing-fields__field-wrapper .form-row-wide,
body.saj-checkout-layout .woocommerce-shipping-fields__field-wrapper .form-row-wide,
body.saj-checkout-layout #billing_country_field,
body.saj-checkout-layout #shipping_country_field,
body.saj-checkout-layout #billing_company_field,
body.saj-checkout-layout #shipping_company_field,
body.saj-checkout-layout #billing_city_field,
body.saj-checkout-layout #shipping_city_field,
body.saj-checkout-layout #billing_address_1_field,
body.saj-checkout-layout #shipping_address_1_field,
body.saj-checkout-layout #billing_address_2_field,
body.saj-checkout-layout #shipping_address_2_field,
body.saj-checkout-layout #billing_phone_field,
body.saj-checkout-layout #billing_email_field{
  grid-column:1 / -1;
}
body.saj-checkout-layout #billing_postcode_field,
body.saj-checkout-layout #shipping_postcode_field,
body.saj-checkout-layout #billing_state_field,
body.saj-checkout-layout #shipping_state_field{
  grid-column:auto;
}
body.saj-checkout-layout .form-row label{
  display:none!important;
}
body.saj-checkout-layout .form-row .optional{display:none!important;}
body.saj-checkout-layout .woocommerce-input-wrapper{display:block;width:100%;}
body.saj-checkout-layout .select2-container,
body.saj-checkout-layout .select2-container .selection,
body.saj-checkout-layout .select2-container .select2-selection{
  width:100%!important;
}
body.saj-checkout-layout .input-text,
body.saj-checkout-layout select,
body.saj-checkout-layout .select2-selection--single,
body.saj-checkout-layout textarea{
  width:100%!important;
  min-height:38px!important;
  margin:0!important;
  border:1px solid #d9d9d9!important;
  border-radius:0!important;
  background:#fff!important;
  box-shadow:none!important;
  color:#111!important;
  font-size:10px!important;
  line-height:1.35!important;
}
body.saj-checkout-layout .input-text,
body.saj-checkout-layout textarea{padding:9px 10px!important;}
body.saj-checkout-layout select{padding:0 10px!important;}
body.saj-checkout-layout .select2-selection--single{
  display:flex!important;
  align-items:center;
}
body.saj-checkout-layout .select2-selection__rendered{
  padding:0 28px 0 10px!important;
  color:#111!important;
  font-size:10px!important;
  line-height:36px!important;
}
body.saj-checkout-layout .select2-selection__arrow{height:36px!important;}
body.saj-checkout-layout .woocommerce-shipping-fields #ship-to-different-address{
  margin:0 0 10px!important;
  font-size:10px!important;
  font-weight:500!important;
}
body.saj-checkout-layout .woocommerce-additional-fields{
  margin-top:14px;
}
body.saj-checkout-layout .woocommerce-additional-fields > h3{
  margin:0 0 10px;
  font-size:11px;
  font-weight:600;
}
body.saj-checkout-layout #order_comments{min-height:72px!important;resize:vertical;}

/* Payment stays under the customer/address column, matching the reference. */
body.saj-checkout-layout #payment{
  margin:30px 0 0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:#fff!important;
  color:#111!important;
}
body.saj-checkout-layout #payment::before{
  content:"お支払い";
  display:block;
}
body.saj-checkout-layout #payment .wc_payment_methods{
  margin:0!important;
  padding:0!important;
  border:1px solid #ddd!important;
  list-style:none;
}
body.saj-checkout-layout #payment .wc_payment_method{
  margin:0!important;
  padding:0!important;
  border-bottom:1px solid #ddd;
  background:#fff;
}
body.saj-checkout-layout #payment .wc_payment_method:last-child{border-bottom:0;}
body.saj-checkout-layout #payment .wc_payment_method > input{
  margin:0 7px 0 10px!important;
  vertical-align:middle;
}
body.saj-checkout-layout #payment .wc_payment_method > label{
  display:inline-flex!important;
  min-height:40px;
  align-items:center;
  margin:0!important;
  font-size:10px!important;
  line-height:1.35!important;
  font-weight:600!important;
}
body.saj-checkout-layout #payment .wc_payment_method > label img{
  max-height:18px!important;
  width:auto!important;
  margin-left:8px!important;
}
body.saj-checkout-layout #payment .payment_box{
  margin:0!important;
  padding:10px 12px 12px!important;
  border-top:1px solid #eee;
  background:#f7f7f7!important;
  color:#333!important;
  font-size:9px!important;
  line-height:1.55!important;
}
body.saj-checkout-layout #payment .payment_box::before{display:none!important;}
body.saj-checkout-layout #payment .place-order{
  margin:18px 0 0!important;
  padding:0!important;
}
body.saj-checkout-layout #payment .woocommerce-privacy-policy-text,
body.saj-checkout-layout #payment .woocommerce-terms-and-conditions-wrapper{
  font-size:9px!important;
  line-height:1.5!important;
  color:#555;
}
body.saj-checkout-layout #place_order{
  width:100%!important;
  min-height:42px;
  margin:12px 0 0!important;
  padding:0 14px!important;
  border:0!important;
  border-radius:0!important;
  background:#111!important;
  color:#fff!important;
  box-shadow:none!important;
  font-size:11px!important;
  font-weight:600!important;
}

/* Order summary column. */
body.saj-checkout-layout .woocommerce-checkout-review-order-table{
  width:100%!important;
  margin:0!important;
  border:0!important;
  border-collapse:collapse!important;
  background:#fff;
  font-size:10px!important;
}
body.saj-checkout-layout .woocommerce-checkout-review-order-table thead{display:none;}
body.saj-checkout-layout .woocommerce-checkout-review-order-table th,
body.saj-checkout-layout .woocommerce-checkout-review-order-table td{
  border:0!important;
  padding:8px 0!important;
  background:transparent!important;
  color:#111!important;
  font-size:10px!important;
  line-height:1.4!important;
  vertical-align:middle!important;
}
body.saj-checkout-layout .woocommerce-checkout-review-order-table td.product-name{
  width:72%;
  padding-right:12px!important;
}
body.saj-checkout-layout .woocommerce-checkout-review-order-table td.product-total{
  width:28%;
  text-align:right!important;
  white-space:nowrap;
}
body.saj-checkout-layout .woocommerce-checkout-review-order-table tbody tr{
  border-bottom:1px solid #eee;
}
.saj-checkout-product-thumb{
  position:relative;
  display:inline-flex;
  width:46px;
  height:56px;
  margin-right:10px;
  align-items:center;
  justify-content:center;
  vertical-align:middle;
  background:#f5f5f3;
}
.saj-checkout-product-thumb img{
  width:100%!important;
  height:100%!important;
  object-fit:contain!important;
  margin:0!important;
  float:none!important;
}
.saj-checkout-product-name{
  display:inline;
  font-weight:600;
  text-transform:uppercase;
  vertical-align:middle;
}
body.saj-checkout-layout .product-quantity{
  display:inline-block;
  margin-left:4px;
  font-size:9px;
  font-weight:500;
}
body.saj-checkout-layout .woocommerce-checkout-review-order-table .variation{
  display:block;
  margin:3px 0 0 56px!important;
  font-size:8px!important;
  line-height:1.35;
  color:#666;
}
body.saj-checkout-layout .woocommerce-checkout-review-order-table .variation dt{
  float:none!important;
  display:inline!important;
  margin:0 3px 0 0!important;
  padding:0!important;
  font-weight:500;
}
body.saj-checkout-layout .woocommerce-checkout-review-order-table .variation dd{
  float:none!important;
  display:inline!important;
  margin:0!important;
  padding:0!important;
}
body.saj-checkout-layout .woocommerce-checkout-review-order-table .variation dd::after{
  content:"";
  display:block;
  height:1px;
}
body.saj-checkout-layout .woocommerce-checkout-review-order-table .variation p{display:inline;margin:0;}
body.saj-checkout-layout .woocommerce-checkout-review-order-table tfoot tr{
  border-bottom:0;
  border-top:1px solid #eee;
}
body.saj-checkout-layout .woocommerce-checkout-review-order-table tfoot th{
  text-align:left!important;
  font-weight:500!important;
}
body.saj-checkout-layout .woocommerce-checkout-review-order-table tfoot td{
  text-align:right!important;
  font-weight:500!important;
}
body.saj-checkout-layout .woocommerce-checkout-review-order-table .order-total th,
body.saj-checkout-layout .woocommerce-checkout-review-order-table .order-total td{
  padding-top:12px!important;
  font-size:14px!important;
  font-weight:700!important;
}
body.saj-checkout-layout .woocommerce-checkout-review-order-table .order-total .woocommerce-Price-currencySymbol{
  font-size:9px;
  font-weight:500;
}
body.saj-checkout-layout .woocommerce-checkout-review-order-table ul#shipping_method{
  margin:0!important;
  padding:0!important;
  list-style:none;
  text-align:right;
}
body.saj-checkout-layout .woocommerce-checkout-review-order-table ul#shipping_method li{
  margin:0 0 4px!important;
  font-size:9px;
}

/* WooCommerce Blocks fallback: keep the same dedicated shell and two-column feel. */
body.saj-checkout-layout .wc-block-checkout{
  width:min(760px,100%)!important;
  margin:0 auto!important;
  padding:0!important;
}
body.saj-checkout-layout .wc-block-components-sidebar-layout{
  align-items:flex-start;
  gap:0!important;
}
body.saj-checkout-layout .wc-block-components-main{
  width:52%!important;
  padding-right:34px!important;
}
body.saj-checkout-layout .wc-block-components-sidebar{
  width:48%!important;
  padding-left:34px!important;
  border-left:1px solid #e6e6e6;
}

@media(max-width:900px){
  body.saj-checkout-layout .saj-main{
    margin-left:0!important;
    padding-top:0!important;
  }
  .saj-checkout-header{height:54px;}
  .saj-checkout-header-inner{padding:0 16px;}
  .saj-checkout-logo{width:78px;max-width:78px;}
  .saj-checkout-logo img{max-width:66px;max-height:34px;}
  .saj-checkout-bag svg{width:16px;height:16px;}
  .saj-checkout-page{padding:22px 14px 54px;}
  .saj-checkout-container{width:100%;}
  .saj-checkout-container .woocommerce-notices-wrapper,
  .saj-checkout-container .woocommerce-form-login-toggle,
  .saj-checkout-container .woocommerce-form-coupon-toggle,
  .saj-checkout-container form.checkout_coupon,
  .saj-checkout-container form.login{width:100%;}
  body.saj-checkout-layout form.woocommerce-checkout{
    display:block;
  }
  body.saj-checkout-layout form.woocommerce-checkout::before{display:none;}
  .saj-checkout-left-column,
  .saj-checkout-right-column{
    width:100%;
    padding:0;
  }
  .saj-checkout-right-column{
    margin-top:34px;
    padding-top:26px;
    border-top:1px solid #e5e5e5;
  }
  body.saj-checkout-layout .woocommerce-billing-fields__field-wrapper,
  body.saj-checkout-layout .woocommerce-shipping-fields__field-wrapper{
    gap:8px 7px;
  }
  body.saj-checkout-layout .input-text,
  body.saj-checkout-layout select,
  body.saj-checkout-layout .select2-selection--single,
  body.saj-checkout-layout textarea{
    min-height:42px!important;
    font-size:12px!important;
  }
  body.saj-checkout-layout .select2-selection__rendered{
    font-size:12px!important;
    line-height:40px!important;
  }
  body.saj-checkout-layout .select2-selection__arrow{height:40px!important;}
  body.saj-checkout-layout .woocommerce-billing-fields > h3,
  body.saj-checkout-layout .woocommerce-shipping-fields > h3,
  body.saj-checkout-layout #order_review_heading,
  body.saj-checkout-layout #payment::before{
    font-size:13px!important;
    margin-bottom:12px!important;
  }
  body.saj-checkout-layout #payment{margin-top:28px!important;}
  body.saj-checkout-layout #payment .wc_payment_method > label{font-size:12px!important;min-height:44px;}
  body.saj-checkout-layout .woocommerce-checkout-review-order-table th,
  body.saj-checkout-layout .woocommerce-checkout-review-order-table td{font-size:12px!important;}
  .saj-checkout-product-thumb{width:58px;height:70px;margin-right:11px;}
  body.saj-checkout-layout .woocommerce-checkout-review-order-table .variation{margin-left:69px!important;font-size:10px!important;}
  body.saj-checkout-layout .woocommerce-checkout-review-order-table .order-total th,
  body.saj-checkout-layout .woocommerce-checkout-review-order-table .order-total td{font-size:16px!important;}
  body.saj-checkout-layout .wc-block-components-sidebar-layout{display:block!important;}
  body.saj-checkout-layout .wc-block-components-main,
  body.saj-checkout-layout .wc-block-components-sidebar{
    width:100%!important;
    padding:0!important;
    border-left:0!important;
  }
  body.saj-checkout-layout .wc-block-components-sidebar{
    margin-top:30px!important;
    padding-top:24px!important;
    border-top:1px solid #e5e5e5!important;
  }
}

/* V2.0.1 — desktop checkout scale/layout pass.
   Desktop now uses a genuinely larger two-column composition while the
   existing <=900px mobile checkout remains unchanged. */
@media (min-width:901px){
  body.saj-checkout-layout .saj-main{
    min-height:calc(100vh - 76px);
  }
  .saj-checkout-header{
    height:76px;
  }
  .saj-checkout-header-inner{
    padding:0 40px;
  }
  .saj-checkout-logo{
    width:112px;
    max-width:112px;
  }
  .saj-checkout-logo img{
    max-width:92px;
    max-height:48px;
  }
  .saj-checkout-bag{
    min-width:36px;
    height:38px;
    gap:6px;
  }
  .saj-checkout-bag svg{
    width:20px;
    height:20px;
  }
  .saj-checkout-bag .saj-bag-count{
    font-size:10px;
  }

  .saj-checkout-page{
    padding:48px 32px 96px;
  }
  .saj-checkout-container{
    width:min(1180px,100%);
  }
  .saj-checkout-container .woocommerce-notices-wrapper,
  .saj-checkout-container .woocommerce-form-login-toggle,
  .saj-checkout-container .woocommerce-form-coupon-toggle,
  .saj-checkout-container form.checkout_coupon,
  .saj-checkout-container form.login{
    width:calc(58% - 42px);
    margin-bottom:22px!important;
    font-size:12px;
  }
  .saj-checkout-container .woocommerce-info,
  .saj-checkout-container .woocommerce-message,
  .saj-checkout-container .woocommerce-error{
    padding:13px 15px!important;
    font-size:12px!important;
    line-height:1.55!important;
  }
  .saj-checkout-container form.checkout_coupon{
    gap:9px;
  }
  .saj-checkout-container form.checkout_coupon input,
  .saj-checkout-container form.checkout_coupon button{
    min-height:46px;
    font-size:12px!important;
  }

  form.woocommerce-checkout.saj-checkout-form,
  body.saj-checkout-layout form.woocommerce-checkout{
    grid-template-columns:minmax(0,58fr) minmax(380px,42fr);
    gap:0;
  }
  body.saj-checkout-layout form.woocommerce-checkout::before{
    top:-48px;
    bottom:-96px;
    left:58%;
  }
  .saj-checkout-left-column{
    padding-right:58px;
  }
  .saj-checkout-right-column{
    padding-left:58px;
  }
  body.saj-checkout-layout #customer_details .col-2{
    margin-top:32px!important;
  }
  body.saj-checkout-layout .woocommerce-billing-fields > h3,
  body.saj-checkout-layout .woocommerce-shipping-fields > h3,
  body.saj-checkout-layout #order_review_heading,
  body.saj-checkout-layout #payment::before{
    margin-bottom:16px!important;
    font-size:18px!important;
    line-height:1.25!important;
    font-weight:600!important;
  }

  body.saj-checkout-layout .woocommerce-billing-fields__field-wrapper,
  body.saj-checkout-layout .woocommerce-shipping-fields__field-wrapper{
    gap:12px 10px;
  }
  body.saj-checkout-layout .input-text,
  body.saj-checkout-layout select,
  body.saj-checkout-layout .select2-selection--single,
  body.saj-checkout-layout textarea{
    min-height:48px!important;
    font-size:13px!important;
    line-height:1.4!important;
  }
  body.saj-checkout-layout .input-text,
  body.saj-checkout-layout textarea{
    padding:12px 14px!important;
  }
  body.saj-checkout-layout select{
    padding:0 14px!important;
  }
  body.saj-checkout-layout .select2-selection__rendered{
    padding:0 36px 0 14px!important;
    font-size:13px!important;
    line-height:46px!important;
  }
  body.saj-checkout-layout .select2-selection__arrow{
    height:46px!important;
  }
  body.saj-checkout-layout .woocommerce-shipping-fields #ship-to-different-address{
    margin-bottom:14px!important;
    font-size:13px!important;
  }
  body.saj-checkout-layout .woocommerce-additional-fields{
    margin-top:20px;
  }
  body.saj-checkout-layout .woocommerce-additional-fields > h3{
    margin-bottom:12px;
    font-size:16px;
  }
  body.saj-checkout-layout #order_comments{
    min-height:92px!important;
  }

  body.saj-checkout-layout #payment{
    margin-top:38px!important;
  }
  body.saj-checkout-layout #payment .wc_payment_method > label{
    min-height:50px;
    font-size:13px!important;
  }
  body.saj-checkout-layout #payment .wc_payment_method > input{
    margin-left:14px!important;
    margin-right:9px!important;
  }
  body.saj-checkout-layout #payment .wc_payment_method > label img{
    max-height:22px!important;
    margin-left:10px!important;
  }
  body.saj-checkout-layout #payment .payment_box{
    padding:14px 16px 16px!important;
    font-size:12px!important;
    line-height:1.65!important;
  }
  body.saj-checkout-layout #payment .place-order{
    margin-top:24px!important;
  }
  body.saj-checkout-layout #payment .woocommerce-privacy-policy-text,
  body.saj-checkout-layout #payment .woocommerce-terms-and-conditions-wrapper{
    font-size:11px!important;
    line-height:1.65!important;
  }
  body.saj-checkout-layout #place_order{
    min-height:50px;
    margin-top:16px!important;
    font-size:13px!important;
  }

  .saj-checkout-right-column{
    align-self:start;
  }
  .saj-checkout-right-column > #order_review_heading,
  .saj-checkout-right-column > .woocommerce-checkout-review-order,
  .saj-checkout-right-column > .saj-checkout-review-wrap{
    width:100%;
  }
  body.saj-checkout-layout .woocommerce-checkout-review-order-table{
    font-size:13px!important;
  }
  body.saj-checkout-layout .woocommerce-checkout-review-order-table th,
  body.saj-checkout-layout .woocommerce-checkout-review-order-table td{
    padding:13px 0!important;
    font-size:13px!important;
    line-height:1.5!important;
  }
  body.saj-checkout-layout .woocommerce-checkout-review-order-table td.product-name{
    width:70%;
    padding-right:18px!important;
  }
  body.saj-checkout-layout .woocommerce-checkout-review-order-table td.product-total{
    width:30%;
  }
  .saj-checkout-product-thumb{
    width:72px;
    height:86px;
    margin-right:14px;
  }
  .saj-checkout-product-name{
    font-size:13px;
    line-height:1.35;
  }
  body.saj-checkout-layout .product-quantity{
    margin-left:6px;
    font-size:11px;
  }
  body.saj-checkout-layout .woocommerce-checkout-review-order-table .variation{
    margin:5px 0 0 86px!important;
    font-size:10px!important;
    line-height:1.45;
  }
  body.saj-checkout-layout .woocommerce-checkout-review-order-table .order-total th,
  body.saj-checkout-layout .woocommerce-checkout-review-order-table .order-total td{
    padding-top:18px!important;
    font-size:20px!important;
  }
  body.saj-checkout-layout .woocommerce-checkout-review-order-table .order-total .woocommerce-Price-currencySymbol{
    font-size:12px;
  }
  body.saj-checkout-layout .woocommerce-checkout-review-order-table ul#shipping_method li{
    font-size:11px;
  }

  body.saj-checkout-layout .wc-block-checkout{
    width:min(1180px,100%)!important;
  }
  body.saj-checkout-layout .wc-block-components-main{
    width:58%!important;
    padding-right:58px!important;
  }
  body.saj-checkout-layout .wc-block-components-sidebar{
    width:42%!important;
    padding-left:58px!important;
  }
}

/* V2.0.2 — desktop checkout density refinement.
   Keeps the larger V2.0.1 two-column canvas, but reduces type/control scale and
   prevents Select2 values from wrapping so the form reads cleanly without crowding. */
@media (min-width:901px){
  .saj-checkout-page{
    padding:40px 32px 78px;
  }
  .saj-checkout-container{
    width:min(1160px,100%);
  }
  form.woocommerce-checkout.saj-checkout-form,
  body.saj-checkout-layout form.woocommerce-checkout{
    grid-template-columns:minmax(0,60fr) minmax(360px,40fr);
  }
  body.saj-checkout-layout form.woocommerce-checkout::before{
    top:-40px;
    bottom:-78px;
    left:60%;
  }
  .saj-checkout-left-column{
    padding-right:48px;
  }
  .saj-checkout-right-column{
    padding-left:48px;
  }

  .saj-checkout-container .woocommerce-notices-wrapper,
  .saj-checkout-container .woocommerce-form-login-toggle,
  .saj-checkout-container .woocommerce-form-coupon-toggle,
  .saj-checkout-container form.checkout_coupon,
  .saj-checkout-container form.login{
    width:calc(60% - 38px);
    margin-bottom:16px!important;
    font-size:10.5px;
  }
  .saj-checkout-container .woocommerce-info,
  .saj-checkout-container .woocommerce-message,
  .saj-checkout-container .woocommerce-error{
    padding:10px 12px!important;
    font-size:10.5px!important;
    line-height:1.45!important;
  }

  body.saj-checkout-layout #customer_details .col-2{
    margin-top:24px!important;
  }
  body.saj-checkout-layout .woocommerce-billing-fields > h3,
  body.saj-checkout-layout .woocommerce-shipping-fields > h3,
  body.saj-checkout-layout #order_review_heading,
  body.saj-checkout-layout #payment::before{
    margin-bottom:12px!important;
    font-size:15px!important;
    line-height:1.25!important;
  }

  body.saj-checkout-layout .woocommerce-billing-fields__field-wrapper,
  body.saj-checkout-layout .woocommerce-shipping-fields__field-wrapper{
    gap:9px 8px;
  }
  body.saj-checkout-layout .input-text,
  body.saj-checkout-layout select,
  body.saj-checkout-layout .select2-selection--single,
  body.saj-checkout-layout textarea{
    min-height:42px!important;
    font-size:11px!important;
    line-height:1.35!important;
  }
  body.saj-checkout-layout .input-text,
  body.saj-checkout-layout textarea{
    padding:10px 12px!important;
  }
  body.saj-checkout-layout select{
    padding:0 12px!important;
  }
  body.saj-checkout-layout .select2-selection--single{
    height:42px!important;
    overflow:hidden!important;
  }
  body.saj-checkout-layout .select2-selection__rendered{
    display:block!important;
    width:100%!important;
    height:40px!important;
    padding:0 34px 0 12px!important;
    font-size:11px!important;
    line-height:40px!important;
    white-space:nowrap!important;
    overflow:hidden!important;
    text-overflow:ellipsis!important;
  }
  body.saj-checkout-layout .select2-selection__arrow{
    height:40px!important;
  }
  body.saj-checkout-layout .select2-container .select2-selection__placeholder{
    white-space:nowrap!important;
  }
  body.saj-checkout-layout .woocommerce-shipping-fields #ship-to-different-address{
    margin-bottom:10px!important;
    font-size:11px!important;
  }
  body.saj-checkout-layout .woocommerce-additional-fields{
    margin-top:16px;
  }
  body.saj-checkout-layout .woocommerce-additional-fields > h3{
    margin-bottom:9px;
    font-size:13px;
  }
  body.saj-checkout-layout #order_comments{
    min-height:76px!important;
  }

  body.saj-checkout-layout #payment{
    margin-top:28px!important;
  }
  body.saj-checkout-layout #payment .wc_payment_method > label{
    min-height:44px;
    font-size:11px!important;
  }
  body.saj-checkout-layout #payment .wc_payment_method > input{
    margin-left:12px!important;
    margin-right:7px!important;
  }
  body.saj-checkout-layout #payment .wc_payment_method > label img{
    max-height:19px!important;
    margin-left:8px!important;
  }
  body.saj-checkout-layout #payment .payment_box{
    padding:11px 13px 13px!important;
    font-size:10px!important;
    line-height:1.5!important;
  }
  body.saj-checkout-layout #payment .place-order{
    margin-top:18px!important;
  }
  body.saj-checkout-layout #payment .woocommerce-privacy-policy-text,
  body.saj-checkout-layout #payment .woocommerce-terms-and-conditions-wrapper{
    font-size:9.5px!important;
    line-height:1.5!important;
  }
  body.saj-checkout-layout #place_order{
    min-height:44px;
    margin-top:12px!important;
    font-size:11px!important;
  }

  body.saj-checkout-layout .woocommerce-checkout-review-order-table{
    font-size:11px!important;
  }
  body.saj-checkout-layout .woocommerce-checkout-review-order-table th,
  body.saj-checkout-layout .woocommerce-checkout-review-order-table td{
    padding:10px 0!important;
    font-size:11px!important;
    line-height:1.4!important;
  }
  body.saj-checkout-layout .woocommerce-checkout-review-order-table td.product-name{
    width:72%;
    padding-right:14px!important;
  }
  body.saj-checkout-layout .woocommerce-checkout-review-order-table td.product-total{
    width:28%;
  }
  .saj-checkout-product-thumb{
    width:62px;
    height:74px;
    margin-right:12px;
  }
  .saj-checkout-product-name{
    font-size:11px;
    line-height:1.35;
  }
  body.saj-checkout-layout .product-quantity{
    margin-left:5px;
    font-size:10px;
  }
  body.saj-checkout-layout .woocommerce-checkout-review-order-table .variation{
    margin:4px 0 0 74px!important;
    font-size:9px!important;
    line-height:1.35;
  }
  body.saj-checkout-layout .woocommerce-checkout-review-order-table .order-total th,
  body.saj-checkout-layout .woocommerce-checkout-review-order-table .order-total td{
    padding-top:15px!important;
    font-size:17px!important;
  }
  body.saj-checkout-layout .woocommerce-checkout-review-order-table .order-total .woocommerce-Price-currencySymbol{
    font-size:10px;
  }
  body.saj-checkout-layout .woocommerce-checkout-review-order-table ul#shipping_method li{
    font-size:10px;
  }

  body.saj-checkout-layout .wc-block-checkout{
    width:min(1160px,100%)!important;
  }
  body.saj-checkout-layout .wc-block-components-main{
    width:60%!important;
    padding-right:48px!important;
  }
  body.saj-checkout-layout .wc-block-components-sidebar{
    width:40%!important;
    padding-left:48px!important;
  }
}


/* V2.0.4 — checkout review polish.
   Refines the right-side order summary card and makes product attributes
   more readable with consistent label/value spacing and per-attribute line breaks. */
body.saj-checkout-layout .saj-checkout-right-column{
  align-self:start;
}
body.saj-checkout-layout .saj-checkout-right-column > #order_review_heading{
  margin:0!important;
  padding:16px 20px 0!important;
  border:1px solid #e5e5e5;
  border-bottom:0!important;
  background:#fafafa;
}
body.saj-checkout-layout .saj-checkout-right-column > .woocommerce-checkout-review-order{
  padding:0 20px 14px;
  border:1px solid #e5e5e5;
  border-top:0!important;
  background:#fafafa;
}
body.saj-checkout-layout .woocommerce-checkout-review-order-table tbody tr:first-child td{
  padding-top:15px!important;
}
body.saj-checkout-layout .woocommerce-checkout-review-order-table tbody tr:last-child td{
  padding-bottom:12px!important;
}
body.saj-checkout-layout .woocommerce-checkout-review-order-table tfoot tr:first-child th,
body.saj-checkout-layout .woocommerce-checkout-review-order-table tfoot tr:first-child td{
  padding-top:14px!important;
}
.saj-checkout-product-thumb{
  border:1px solid #ececec;
  background:#fff;
}
.saj-checkout-product-name{
  display:inline-block;
  vertical-align:top;
}
body.saj-checkout-layout .woocommerce-checkout-review-order-table .variation{
  margin-top:6px!important;
  line-height:1.55!important;
}
body.saj-checkout-layout .woocommerce-checkout-review-order-table .variation dt{
  display:inline-block!important;
  min-width:46px;
  margin:0!important;
  padding:0!important;
  font-weight:600!important;
  color:#444;
}
body.saj-checkout-layout .woocommerce-checkout-review-order-table .variation dd{
  display:inline-block!important;
  margin:0!important;
  padding:0!important;
  color:#666;
}
body.saj-checkout-layout .woocommerce-checkout-review-order-table .variation dd::after{
  content:"";
  display:block;
  height:4px;
}
body.saj-checkout-layout .woocommerce-checkout-review-order-table .cart-subtotal th,
body.saj-checkout-layout .woocommerce-checkout-review-order-table .cart-subtotal td,
body.saj-checkout-layout .woocommerce-checkout-review-order-table .shipping th,
body.saj-checkout-layout .woocommerce-checkout-review-order-table .shipping td{
  padding-top:12px!important;
}
@media(max-width:900px){
  body.saj-checkout-layout .saj-checkout-right-column > #order_review_heading{
    padding:14px 16px 0!important;
  }
  body.saj-checkout-layout .saj-checkout-right-column > .woocommerce-checkout-review-order{
    padding:0 16px 12px;
  }
  body.saj-checkout-layout .woocommerce-checkout-review-order-table .variation dt{
    min-width:42px;
  }
  body.saj-checkout-layout .woocommerce-checkout-review-order-table .variation dd::after{
    height:3px;
  }
}
@media (min-width:901px){
  body.saj-checkout-layout .saj-checkout-right-column > #order_review_heading{
    padding:18px 22px 0!important;
  }
  body.saj-checkout-layout .saj-checkout-right-column > .woocommerce-checkout-review-order{
    padding:0 22px 16px;
  }
  body.saj-checkout-layout .woocommerce-checkout-review-order-table .variation{
    margin-top:7px!important;
  }
  body.saj-checkout-layout .woocommerce-checkout-review-order-table .variation dt{
    min-width:52px;
  }
  body.saj-checkout-layout .woocommerce-checkout-review-order-table .variation dd::after{
    height:5px;
  }
}

/* V2.0.5 — checkout country/prefecture single-line Japanese controls. */
body.saj-checkout-layout #billing_country_field,
body.saj-checkout-layout #shipping_country_field{order:20;grid-column:1 / -1;}
body.saj-checkout-layout #billing_last_name_field,
body.saj-checkout-layout #shipping_last_name_field{order:30;}
body.saj-checkout-layout #billing_first_name_field,
body.saj-checkout-layout #shipping_first_name_field{order:40;}
body.saj-checkout-layout #billing_postcode_field,
body.saj-checkout-layout #shipping_postcode_field{order:50;}
body.saj-checkout-layout #billing_state_field,
body.saj-checkout-layout #shipping_state_field{order:60;}
body.saj-checkout-layout #billing_city_field,
body.saj-checkout-layout #shipping_city_field{order:70;grid-column:1 / -1;}
body.saj-checkout-layout #billing_address_1_field,
body.saj-checkout-layout #shipping_address_1_field{order:80;grid-column:1 / -1;}
body.saj-checkout-layout #billing_address_2_field,
body.saj-checkout-layout #shipping_address_2_field{order:90;grid-column:1 / -1;}
body.saj-checkout-layout #billing_phone_field{order:100;grid-column:1 / -1;}

body.saj-checkout-layout #billing_country_field .select2-container,
body.saj-checkout-layout #shipping_country_field .select2-container,
body.saj-checkout-layout #billing_state_field .select2-container,
body.saj-checkout-layout #shipping_state_field .select2-container{
  display:none!important;
}
body.saj-checkout-layout select#billing_country,
body.saj-checkout-layout select#shipping_country,
body.saj-checkout-layout select#billing_state,
body.saj-checkout-layout select#shipping_state,
body.saj-checkout-layout select.saj-native-checkout-select{
  position:static!important;
  clip:auto!important;
  clip-path:none!important;
  width:100%!important;
  height:42px!important;
  min-height:42px!important;
  margin:0!important;
  padding:0 38px 0 12px!important;
  overflow:visible!important;
  opacity:1!important;
  border:1px solid #b8b8b8!important;
  border-radius:0!important;
  background-color:#fff!important;
  color:#111!important;
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",Arial,sans-serif!important;
  font-size:11px!important;
  line-height:40px!important;
  font-weight:400!important;
  white-space:nowrap!important;
  text-overflow:ellipsis;
  appearance:auto!important;
  -webkit-appearance:menulist!important;
}
body.saj-checkout-layout select#billing_country option,
body.saj-checkout-layout select#shipping_country option,
body.saj-checkout-layout select#billing_state option,
body.saj-checkout-layout select#shipping_state option{
  font-size:14px;
  line-height:1.5;
  color:#111;
  background:#fff;
}

body.saj-checkout-layout .woocommerce-checkout-review-order-table .variation dt{
  color:#333!important;
  font-weight:600!important;
}
body.saj-checkout-layout .woocommerce-checkout-review-order-table .variation dd{
  color:#555!important;
}
body.saj-checkout-layout .woocommerce-checkout-review-order-table .variation dd::after{
  height:5px!important;
}

@media(max-width:900px){
  body.saj-checkout-layout select#billing_country,
  body.saj-checkout-layout select#shipping_country,
  body.saj-checkout-layout select#billing_state,
  body.saj-checkout-layout select#shipping_state,
  body.saj-checkout-layout select.saj-native-checkout-select{
    height:42px!important;
    min-height:42px!important;
    font-size:12px!important;
    line-height:40px!important;
  }
}


/* V2.0.6 — Japan-standard checkout address field cleanup. */
body.saj-checkout-layout .saj-checkout-fixed-country{
  width:100%;
  min-height:42px;
  margin:0 0 9px;
  padding:0 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  border:1px solid #b8b8b8;
  background:#f8f8f8;
  color:#111;
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",Arial,sans-serif;
  font-size:11px;
  line-height:1.2;
}
body.saj-checkout-layout .saj-checkout-fixed-country span{
  color:#666;
  font-weight:400;
}
body.saj-checkout-layout .saj-checkout-fixed-country strong{
  font-weight:500;
}
body.saj-checkout-layout #billing_country_field,
body.saj-checkout-layout #shipping_country_field{
  display:none!important;
}
body.saj-checkout-layout #billing_phone_field input{
  font-weight:400!important;
}
@media(max-width:900px){
  body.saj-checkout-layout .saj-checkout-fixed-country{
    min-height:42px;
    margin-bottom:8px;
    padding:0 12px;
    font-size:12px;
  }
}


/* V2.0.8 — order-received / thank-you page layout polish.
   Rebuilds the confirmation-page information flow so desktop and mobile
   display the order summary, detail table, and billing address in a clearer,
   more deliberate reading order without changing WooCommerce data. */
body.saj-order-received .saj-checkout-page{
  padding:48px 22px 68px;
}
body.saj-order-received .saj-checkout-container{
  width:min(1120px,100%);
}
body.saj-order-received .woocommerce-order{
  width:min(100%, 980px);
  margin:0 auto;
  color:#111;
  font-size:14px;
  line-height:1.7;
}
body.saj-order-received .woocommerce-thankyou-order-received,
body.saj-order-received .woocommerce-notice--success{
  margin:0 0 28px!important;
  font-size:29px!important;
  line-height:1.4!important;
  font-weight:500!important;
  letter-spacing:-0.01em;
}
body.saj-order-received .woocommerce-order-overview{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin:0 0 26px!important;
  padding:0!important;
  border:0!important;
  list-style:none!important;
}
body.saj-order-received .woocommerce-order-overview::before,
body.saj-order-received .woocommerce-order-overview::after,
body.saj-order-received .woocommerce-order-overview li::before,
body.saj-order-received .woocommerce-order-overview li::after{
  display:none!important;
  content:none!important;
}
body.saj-order-received .woocommerce-order-overview li{
  float:none!important;
  width:auto!important;
  min-width:0!important;
  min-height:94px;
  margin:0!important;
  padding:16px 18px!important;
  border:1px solid #dddddd!important;
  border-radius:6px;
  background:#fff;
  display:flex!important;
  flex-direction:column;
  justify-content:center;
  text-transform:none!important;
  font-size:11px!important;
  line-height:1.45!important;
  color:#6a6a6a!important;
  box-shadow:none!important;
}
body.saj-order-received .woocommerce-order-overview li strong{
  display:block;
  margin-top:7px;
  font-size:22px!important;
  line-height:1.35!important;
  font-weight:600!important;
  color:#111!important;
  word-break:break-word;
}
body.saj-order-received .woocommerce-order-overview li.method{
  grid-column:1 / -1;
  min-height:auto;
  padding-top:14px!important;
  padding-bottom:14px!important;
}
body.saj-order-received .woocommerce-order-overview li.method strong{
  margin-top:4px;
  font-size:19px!important;
}
body.saj-order-received .woocommerce-order > p:not(.woocommerce-thankyou-order-received){
  margin:0 0 30px;
  padding-top:2px;
  font-size:15px;
  line-height:1.8;
  color:#222;
}
body.saj-order-received .woocommerce-order-details,
body.saj-order-received .woocommerce-customer-details{
  margin:0 0 36px!important;
}
body.saj-order-received .woocommerce-order-details__title,
body.saj-order-received .woocommerce-column__title,
body.saj-order-received .woocommerce-customer-details > h2{
  margin:0 0 14px!important;
  font-size:26px!important;
  line-height:1.3!important;
  font-weight:600!important;
  letter-spacing:-0.01em;
}
body.saj-order-received .woocommerce-table--order-details{
  width:100%!important;
  margin:0!important;
  border:1px solid #d8d8d8!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  border-radius:7px;
  overflow:hidden;
  background:#fff;
  font-size:15px!important;
}
body.saj-order-received .woocommerce-table--order-details th,
body.saj-order-received .woocommerce-table--order-details td{
  padding:16px 18px!important;
  border:0!important;
  border-bottom:1px solid #e1e1e1!important;
  font-size:15px!important;
  line-height:1.7!important;
  vertical-align:top!important;
}
body.saj-order-received .woocommerce-table--order-details thead th{
  font-size:14px!important;
  font-weight:600!important;
  color:#111!important;
}
body.saj-order-received .woocommerce-table--order-details tbody tr:last-child th,
body.saj-order-received .woocommerce-table--order-details tbody tr:last-child td,
body.saj-order-received .woocommerce-table--order-details tfoot tr:last-child th,
body.saj-order-received .woocommerce-table--order-details tfoot tr:last-child td{
  border-bottom:0!important;
}
body.saj-order-received .woocommerce-table--order-details th:last-child,
body.saj-order-received .woocommerce-table--order-details td:last-child{
  text-align:right!important;
  white-space:nowrap;
}
body.saj-order-received .woocommerce-table--order-details .product-name,
body.saj-order-received .woocommerce-table--order-details .product-total{
  padding-top:18px!important;
  padding-bottom:18px!important;
}
body.saj-order-received .woocommerce-table--order-details .product-name a{
  font-weight:500;
}
body.saj-order-received .woocommerce-table--order-details .wc-item-meta,
body.saj-order-received .woocommerce-table--order-details dl.variation{
  margin:8px 0 0!important;
  font-size:13px!important;
  line-height:1.65!important;
  color:#555;
}
body.saj-order-received .woocommerce-table--order-details dl.variation dt,
body.saj-order-received .woocommerce-table--order-details dl.variation dd{
  display:block;
  margin:0;
  padding:0;
}
body.saj-order-received .woocommerce-table--order-details dl.variation dd{
  margin-bottom:4px;
}
body.saj-order-received .woocommerce-customer-details address{
  margin:0!important;
  padding:20px 22px!important;
  border:1px solid #d8d8d8!important;
  border-radius:7px!important;
  background:#fff;
  font-size:15px!important;
  line-height:1.9!important;
  font-style:normal!important;
}
body.saj-order-received .woocommerce-customer-details address p{
  margin:9px 0 0!important;
  font-size:15px!important;
  line-height:1.75!important;
}
body.saj-order-received .woocommerce-columns--addresses{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:20px;
}
body.saj-order-received .woocommerce-columns--addresses .woocommerce-column{
  float:none!important;
  width:100%!important;
  margin:0!important;
}

@media(max-width:900px){
  body.saj-order-received .saj-checkout-page{
    padding:24px 14px 52px;
  }
  body.saj-order-received .saj-checkout-container,
  body.saj-order-received .woocommerce-order{
    width:100%;
  }
  body.saj-order-received .woocommerce-order{
    font-size:14px;
    line-height:1.7;
  }
  body.saj-order-received .woocommerce-thankyou-order-received,
  body.saj-order-received .woocommerce-notice--success{
    margin-bottom:18px!important;
    font-size:19px!important;
    line-height:1.5!important;
  }
  body.saj-order-received .woocommerce-order-overview{
    grid-template-columns:1fr;
    gap:10px;
    margin-bottom:20px!important;
  }
  body.saj-order-received .woocommerce-order-overview li{
    min-height:auto;
    padding:13px 14px!important;
    font-size:11px!important;
    line-height:1.4!important;
  }
  body.saj-order-received .woocommerce-order-overview li strong{
    margin-top:6px;
    font-size:16px!important;
    line-height:1.35!important;
  }
  body.saj-order-received .woocommerce-order-overview li.method{
    grid-column:auto;
  }
  body.saj-order-received .woocommerce-order-overview li.method strong{
    font-size:15px!important;
  }
  body.saj-order-received .woocommerce-order > p:not(.woocommerce-thankyou-order-received){
    margin-bottom:24px;
    font-size:13px;
    line-height:1.75;
  }
  body.saj-order-received .woocommerce-order-details,
  body.saj-order-received .woocommerce-customer-details{
    margin-bottom:28px!important;
  }
  body.saj-order-received .woocommerce-order-details__title,
  body.saj-order-received .woocommerce-column__title,
  body.saj-order-received .woocommerce-customer-details > h2{
    margin-bottom:12px!important;
    font-size:18px!important;
  }
  body.saj-order-received .woocommerce-table--order-details th,
  body.saj-order-received .woocommerce-table--order-details td{
    padding:12px 12px!important;
    font-size:13px!important;
    line-height:1.6!important;
  }
  body.saj-order-received .woocommerce-table--order-details thead th{
    font-size:12px!important;
  }
  body.saj-order-received .woocommerce-table--order-details .wc-item-meta,
  body.saj-order-received .woocommerce-table--order-details dl.variation{
    font-size:12px!important;
    line-height:1.6!important;
  }
  body.saj-order-received .woocommerce-table--order-details th:last-child,
  body.saj-order-received .woocommerce-table--order-details td:last-child{
    white-space:normal;
  }
  body.saj-order-received .woocommerce-columns--addresses{
    grid-template-columns:1fr;
    gap:16px;
  }
  body.saj-order-received .woocommerce-customer-details address{
    padding:16px 14px!important;
    font-size:13px!important;
    line-height:1.75!important;
  }
  body.saj-order-received .woocommerce-customer-details address p{
    font-size:13px!important;
    line-height:1.7!important;
  }
}


/* V2.0.9 — stable dedicated thank-you template layout. */
body.saj-order-received .saj-thankyou{
  width:100%;
  margin:0;
}
body.saj-order-received .saj-thankyou-message{
  margin:0 0 24px!important;
  padding:0!important;
  background:transparent!important;
  color:#111!important;
  font-size:18px!important;
  line-height:1.55!important;
  font-weight:500!important;
}
body.saj-order-received .saj-thankyou-summary{
  margin:0 0 28px;
}
body.saj-order-received .saj-thankyou-summary-grid{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:10px;
}
body.saj-order-received .saj-thankyou-summary-item{
  min-width:0;
  min-height:88px;
  padding:15px 16px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  border:1px solid #dedede;
  border-radius:5px;
  background:#fff;
}
body.saj-order-received .saj-thankyou-summary-payment{
  grid-column:1 / -1;
  min-height:72px;
}
body.saj-order-received .saj-thankyou-summary-label{
  display:block;
  margin-bottom:6px;
  color:#666;
  font-size:11px;
  line-height:1.35;
  font-weight:400;
}
body.saj-order-received .saj-thankyou-summary-item strong{
  display:block;
  color:#111;
  font-size:15px;
  line-height:1.45;
  font-weight:600;
  word-break:break-word;
}
body.saj-order-received .saj-thankyou-summary-item .woocommerce-Price-amount{
  font-size:inherit!important;
  font-weight:inherit!important;
}
body.saj-order-received .woocommerce-order-details,
body.saj-order-received .woocommerce-customer-details{
  margin-top:30px!important;
}
body.saj-order-received .woocommerce-order-details__title,
body.saj-order-received .woocommerce-column__title,
body.saj-order-received .woocommerce-customer-details > h2{
  margin:0 0 12px!important;
  font-size:18px!important;
  line-height:1.35!important;
  font-weight:600!important;
}
body.saj-order-received .woocommerce-table--order-details{
  font-size:13px!important;
}
body.saj-order-received .woocommerce-table--order-details th,
body.saj-order-received .woocommerce-table--order-details td{
  padding:13px 14px!important;
  font-size:13px!important;
  line-height:1.55!important;
}
body.saj-order-received .woocommerce-customer-details address{
  padding:16px 18px!important;
  font-size:13px!important;
  line-height:1.75!important;
}
@media (min-width:901px){
  body.saj-order-received .saj-checkout-container{
    width:min(1040px,100%);
  }
  body.saj-order-received .woocommerce-order{
    width:min(920px,100%);
  }
  body.saj-order-received .saj-thankyou-message{
    font-size:19px!important;
    margin-bottom:26px!important;
  }
  body.saj-order-received .saj-thankyou-summary-grid{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
  body.saj-order-received .saj-thankyou-summary-item{
    min-height:92px;
    padding:16px 18px;
  }
  body.saj-order-received .saj-thankyou-summary-item strong{
    font-size:15px;
  }
}
@media (max-width:900px){
  body.saj-order-received .saj-checkout-page{
    padding:24px 14px 52px;
  }
  body.saj-order-received .saj-thankyou-message{
    font-size:16px!important;
    margin-bottom:18px!important;
  }
  body.saj-order-received .saj-thankyou-summary-grid{
    grid-template-columns:1fr 1fr;
    gap:8px;
  }
  body.saj-order-received .saj-thankyou-summary-item{
    min-height:82px;
    padding:12px 12px;
  }
  body.saj-order-received .saj-thankyou-summary-payment{
    grid-column:1 / -1;
    min-height:64px;
  }
  body.saj-order-received .saj-thankyou-summary-label{
    margin-bottom:5px;
    font-size:10px;
  }
  body.saj-order-received .saj-thankyou-summary-item strong{
    font-size:13px;
    line-height:1.4;
  }
  body.saj-order-received .woocommerce-order-details,
  body.saj-order-received .woocommerce-customer-details{
    margin-top:26px!important;
  }
  body.saj-order-received .woocommerce-order-details__title,
  body.saj-order-received .woocommerce-column__title,
  body.saj-order-received .woocommerce-customer-details > h2{
    font-size:17px!important;
  }
  body.saj-order-received .woocommerce-table--order-details th,
  body.saj-order-received .woocommerce-table--order-details td{
    padding:11px 10px!important;
    font-size:12px!important;
    line-height:1.55!important;
  }
  body.saj-order-received .woocommerce-customer-details address{
    padding:14px 13px!important;
    font-size:12px!important;
    line-height:1.7!important;
  }
}


/* V2.1.0 — mobile checkout duplicate-summary cleanup.
   The visible order review above the place-order button remains untouched.
   JavaScript removes only the compact second summary that appears after it. */
@media (max-width:900px){
  body.saj-checkout-layout [data-saj-duplicate-order-summary="true"]{
    display:none!important;
  }
}


/* V2.1.1 — hard fallback for dynamically injected duplicate mobile order summary. */
@media (max-width:900px){
  body.saj-checkout-layout .saj-force-hide-duplicate-summary{
    display:none!important;
    visibility:hidden!important;
    height:0!important;
    min-height:0!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    overflow:hidden!important;
  }
}


/* V2.1.2 — three-post blog strip shared by product archives and single products. */
.saj-product-blog-strip{
  width:100%;
  margin:58px 0 0;
  padding:30px 0 0;
  border-top:1px solid #e5e5e5;
}
.saj-product-blog-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  margin:0 0 18px;
}
.saj-product-blog-head h2{
  margin:0;
  font-size:12px;
  line-height:1.2;
  font-weight:500;
  letter-spacing:.01em;
  text-transform:uppercase;
}
.saj-product-blog-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.saj-product-blog-card,
.saj-product-blog-link{
  min-width:0;
}
.saj-product-blog-link{
  display:block;
}
.saj-product-blog-media{
  width:100%;
  aspect-ratio:4 / 3;
  overflow:hidden;
  background:#f4f4f2;
}
.saj-product-blog-media img,
.saj-product-blog-placeholder{
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
.saj-product-blog-placeholder{
  background:#f4f4f2;
}
.saj-product-blog-meta{
  padding-top:10px;
}
.saj-product-blog-meta time{
  display:block;
  margin-bottom:5px;
  font-size:9px;
  line-height:1.3;
  color:#666;
}
.saj-product-blog-meta h3{
  margin:0;
  font-size:11px;
  line-height:1.45;
  font-weight:500;
  text-transform:none;
}
.saj-product > + .saj-related + .saj-product-blog-strip,
.single-product .saj-product-blog-strip{
  padding-left:28px;
  padding-right:28px;
  padding-bottom:46px;
}
.saj-archive > .saj-product-blog-strip{
  margin-top:52px;
}
@media(max-width:900px){
  .saj-product-blog-strip{
    margin-top:38px;
    padding-top:22px;
  }
  .saj-product-blog-head{
    margin-bottom:14px;
  }
  .saj-product-blog-head h2{
    font-size:11px;
  }
  .saj-product-blog-grid{
    display:grid;
    grid-auto-flow:column;
    grid-auto-columns:minmax(76vw,76vw);
    grid-template-columns:none;
    gap:9px;
    overflow-x:auto;
    overscroll-behavior-inline:contain;
    scroll-snap-type:x mandatory;
    scrollbar-width:none;
    padding-bottom:2px;
  }
  .saj-product-blog-grid::-webkit-scrollbar{display:none;}
  .saj-product-blog-card{scroll-snap-align:start;}
  .saj-product-blog-meta time{font-size:9px;}
  .saj-product-blog-meta h3{font-size:11px;}
  .single-product .saj-product-blog-strip{
    padding-left:10px;
    padding-right:10px;
    padding-bottom:34px;
  }
}


/* V2.1.3 — BLOG strip proportion/cache correction.
   Desktop is always a true three-card row and blog imagery is deliberately
   shorter so the module reads as a supporting editorial strip, not a hero. */
.saj-product-blog-strip{
  clear:both;
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box;
}
.saj-product-blog-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  grid-auto-flow:row!important;
  align-items:start;
  gap:18px!important;
  width:100%!important;
  max-width:none!important;
  overflow:visible;
}
.saj-product-blog-card{
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  margin:0!important;
}
.saj-product-blog-link{
  display:block!important;
  width:100%!important;
}
.saj-product-blog-media{
  width:100%!important;
  height:clamp(150px,14vw,250px)!important;
  max-height:250px!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
  background:#f4f4f2;
}
.saj-product-blog-media img,
.saj-product-blog-placeholder{
  width:100%!important;
  height:100%!important;
  max-height:none!important;
  object-fit:cover!important;
}
.saj-product-blog-meta{
  padding-top:9px;
}
.saj-product-blog-meta time{
  margin-bottom:4px;
}
.saj-product-blog-meta h3{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  min-height:2.9em;
}
@media (min-width:901px){
  .saj-product-blog-strip{
    margin-top:46px;
    padding-top:24px;
  }
  .saj-product-blog-head{
    margin-bottom:14px;
  }
  .saj-product-blog-grid{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:16px!important;
  }
  .saj-product-blog-media{
    height:clamp(150px,13vw,230px)!important;
    max-height:230px!important;
  }
}
@media (max-width:900px){
  .saj-product-blog-grid{
    display:grid!important;
    grid-template-columns:none!important;
    grid-auto-flow:column!important;
    grid-auto-columns:78vw!important;
    gap:10px!important;
    overflow-x:auto!important;
    scroll-snap-type:x mandatory;
  }
  .saj-product-blog-card{
    scroll-snap-align:start;
  }
  .saj-product-blog-media{
    height:220px!important;
    max-height:220px!important;
  }
}


/* V2.1.4 — dedicated editorial single-post layout.
   The article is centered inside the usable viewport after the fixed navigation,
   and the storefront shipping notice is intentionally removed on article pages. */
@media (min-width:901px){
  body.single-post{
    --saj-post-sidebar:220px;
    --saj-post-nav-width:170px;
    --saj-post-content:960px;
  }
  body.single-post .saj-sidebar{
    width:var(--saj-post-sidebar);
    min-width:var(--saj-post-sidebar);
    max-width:var(--saj-post-sidebar);
    padding-left:26px;
    padding-right:0;
  }
  body.single-post .saj-sidebar .saj-nav{
    width:var(--saj-post-nav-width);
  }
  body.single-post .saj-main{
    margin-left:var(--saj-post-sidebar);
  }
  body.single-post .saj-desktop-topbar{
    left:var(--saj-post-sidebar);
  }
  body.single-post .saj-shipping-note{
    display:none!important;
  }
  body.single-post .saj-blog-single{
    width:100%;
    padding:46px 32px 100px;
  }
  body.single-post .saj-blog-single-article{
    width:min(var(--saj-post-content), calc(100% - 64px));
    margin:0 auto;
  }
}
.saj-blog-single-header{
  margin:0 0 24px;
}
.saj-blog-single-date{
  display:flex;
  align-items:center;
  gap:10px;
  margin:0 0 11px;
  color:#555;
  font-size:12px;
  line-height:1.3;
  font-weight:500;
  letter-spacing:.08em;
  font-variant-numeric:tabular-nums;
}
.saj-blog-single-date::after{
  content:"";
  width:34px;
  height:1px;
  background:#bdbdbd;
}
.saj-blog-single-title{
  max-width:920px;
  margin:0;
  font-size:26px;
  line-height:1.42;
  font-weight:500;
  letter-spacing:.005em;
  text-transform:none;
}
.saj-blog-single-hero{
  width:100%;
  margin:0 0 38px;
  padding:0;
}
.saj-blog-single-hero img{
  display:block;
  width:100%;
  height:auto;
  margin:0;
}
.saj-blog-single-content{
  width:100%;
  color:#222;
  font-size:14px;
  line-height:1.9;
  font-weight:400;
}
.saj-blog-single-content > :first-child{
  margin-top:0!important;
}
.saj-blog-single-content p{
  margin:0 0 19px;
}
.saj-blog-single-content h1,
.saj-blog-single-content h2{
  margin:38px 0 15px;
  font-size:23px;
  line-height:1.45;
  font-weight:600;
  letter-spacing:0;
  text-transform:none;
}
.saj-blog-single-content h3{
  margin:32px 0 13px;
  font-size:18px;
  line-height:1.5;
  font-weight:600;
}
.saj-blog-single-content ul,
.saj-blog-single-content ol{
  margin:0 0 22px;
  padding-left:1.6em;
}
.saj-blog-single-content li{
  margin-bottom:7px;
}
.saj-blog-single-content img{
  margin:32px auto;
}
.saj-blog-single-content figure{
  margin:32px 0;
}
.saj-blog-single-content blockquote{
  margin:30px 0;
  padding:3px 0 3px 20px;
  border-left:1px solid #111;
}

@media (min-width:901px) and (max-width:1100px){
  body.single-post{
    --saj-post-sidebar:205px;
    --saj-post-nav-width:155px;
    --saj-post-content:860px;
  }
  body.single-post .saj-blog-single{
    padding-left:24px;
    padding-right:24px;
  }
  body.single-post .saj-blog-single-article{
    width:min(var(--saj-post-content), calc(100% - 32px));
  }
}

@media(max-width:900px){
  body.single-post .saj-blog-single{
    width:100%;
    padding:24px 14px 56px;
  }
  body.single-post .saj-blog-single-article{
    width:100%;
    margin:0;
  }
  .saj-blog-single-header{
    margin-bottom:18px;
  }
  .saj-blog-single-date{
    margin-bottom:9px;
    font-size:11px;
    letter-spacing:.07em;
  }
  .saj-blog-single-date::after{
    width:26px;
  }
  .saj-blog-single-title{
    font-size:21px;
    line-height:1.45;
  }
  .saj-blog-single-hero{
    margin-bottom:26px;
  }
  .saj-blog-single-content{
    font-size:14px;
    line-height:1.85;
  }
  .saj-blog-single-content p{
    margin-bottom:17px;
  }
  .saj-blog-single-content h1,
  .saj-blog-single-content h2{
    margin:31px 0 12px;
    font-size:20px;
    line-height:1.5;
  }
  .saj-blog-single-content h3{
    margin:27px 0 11px;
    font-size:17px;
  }
  .saj-blog-single-content img,
  .saj-blog-single-content figure{
    margin-top:24px;
    margin-bottom:24px;
  }
}


/* V2.1.5 — BLOG card image proportion correction.
   Keeps the desktop strip locked to three equal columns even with fewer than
   three published posts, and uses a standard 3:2 editorial image frame instead
   of the overly wide/panoramic fixed-height crop. */
.saj-product-blog-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.saj-product-blog-media{
  width:100%!important;
  height:auto!important;
  max-height:none!important;
  aspect-ratio:3 / 2!important;
  overflow:hidden!important;
}
.saj-product-blog-media img,
.saj-product-blog-placeholder{
  width:100%!important;
  height:100%!important;
  object-fit:cover!important;
  object-position:center center;
}
@media (min-width:901px){
  .saj-product-blog-card{
    grid-column:auto!important;
  }
  .saj-product-blog-media{
    height:auto!important;
    max-height:none!important;
    aspect-ratio:3 / 2!important;
  }
}
@media (max-width:900px){
  .saj-product-blog-media{
    height:auto!important;
    max-height:none!important;
    aspect-ratio:3 / 2!important;
  }
}

/* V2.1.6 — COD telephone requirement / Japanese phone format guidance. */
body.saj-checkout-layout #billing_phone_field{
  position:relative;
}
body.saj-checkout-layout #billing_phone_field .saj-phone-format-hint{
  display:block;
  grid-column:1 / -1;
  width:100%;
  margin:6px 0 0;
  color:#666;
  font-size:10px;
  line-height:1.5;
  font-weight:400;
}
body.saj-checkout-layout #billing_phone_field.saj-phone-cod-required .saj-phone-format-hint{
  color:#333;
}
body.saj-checkout-layout #billing_phone_field.saj-phone-invalid .input-text{
  border-color:#b42318!important;
  box-shadow:0 0 0 1px #b42318!important;
}
body.saj-checkout-layout #billing_phone_field.saj-phone-invalid .saj-phone-format-hint{
  color:#b42318;
}
body.saj-checkout-layout #billing_phone_field.woocommerce-validated .input-text{
  border-color:#8c8c8c!important;
}
@media(max-width:900px){
  body.saj-checkout-layout #billing_phone_field .saj-phone-format-hint{
    margin-top:7px;
    font-size:11px;
    line-height:1.55;
  }
}


/* V2.1.7 — thank-you page billing / shipping address symmetry.
   Force WooCommerce's two address columns into one balanced desktop grid and
   neutralize the legacy col-1 / col-2 float rules that can stagger them. */
body.saj-order-received .woocommerce-customer-details{
  width:100%!important;
  clear:both!important;
}
body.saj-order-received .woocommerce-customer-details .woocommerce-columns--addresses,
body.saj-order-received .woocommerce-customer-details .col2-set.addresses{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
  gap:24px!important;
  align-items:stretch!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
body.saj-order-received .woocommerce-customer-details .woocommerce-columns--addresses::before,
body.saj-order-received .woocommerce-customer-details .woocommerce-columns--addresses::after,
body.saj-order-received .woocommerce-customer-details .col2-set.addresses::before,
body.saj-order-received .woocommerce-customer-details .col2-set.addresses::after{
  display:none!important;
  content:none!important;
}
body.saj-order-received .woocommerce-customer-details .woocommerce-column,
body.saj-order-received .woocommerce-customer-details .col-1,
body.saj-order-received .woocommerce-customer-details .col-2{
  float:none!important;
  clear:none!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-self:stretch!important;
}
body.saj-order-received .woocommerce-customer-details .col-1{
  grid-column:1!important;
  grid-row:1!important;
}
body.saj-order-received .woocommerce-customer-details .col-2{
  grid-column:2!important;
  grid-row:1!important;
}
body.saj-order-received .woocommerce-customer-details .woocommerce-column__title,
body.saj-order-received .woocommerce-customer-details .woocommerce-column > h2{
  width:100%!important;
  min-height:30px;
  margin:0 0 12px!important;
  padding:0!important;
  text-align:left!important;
  display:flex!important;
  align-items:flex-end!important;
  font-size:18px!important;
  line-height:1.35!important;
  font-weight:600!important;
}
body.saj-order-received .woocommerce-customer-details .woocommerce-column address{
  flex:1 1 auto!important;
  width:100%!important;
  min-height:150px;
  margin:0!important;
  box-sizing:border-box!important;
}
@media (max-width:900px){
  body.saj-order-received .woocommerce-customer-details .woocommerce-columns--addresses,
  body.saj-order-received .woocommerce-customer-details .col2-set.addresses{
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
  body.saj-order-received .woocommerce-customer-details .col-1,
  body.saj-order-received .woocommerce-customer-details .col-2{
    grid-column:1!important;
    grid-row:auto!important;
  }
  body.saj-order-received .woocommerce-customer-details .woocommerce-column__title,
  body.saj-order-received .woocommerce-customer-details .woocommerce-column > h2{
    min-height:0;
    margin-bottom:10px!important;
    font-size:17px!important;
  }
  body.saj-order-received .woocommerce-customer-details .woocommerce-column address{
    min-height:0;
  }
}


/* V2.1.8 — My Account / Orders layout refinement.
   Centers the account workspace inside the area remaining after the fixed
   storefront navigation and gives the account navigation + order table a
   clearer, larger desktop scale. */
body.woocommerce-account .saj-section{
  width:100%;
  padding:64px 52px 90px;
}
body.woocommerce-account .saj-section > article{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}
body.woocommerce-account .saj-section > article > h1{
  width:min(1180px,100%);
  margin:0 auto 24px!important;
  font-size:24px!important;
  line-height:1.25!important;
  font-weight:500!important;
  letter-spacing:0!important;
  text-transform:none!important;
}
body.woocommerce-account .woocommerce{
  width:min(1180px,100%);
  margin:0 auto!important;
  display:grid;
  grid-template-columns:220px minmax(0,1fr);
  gap:48px;
  align-items:start;
  font-family:-apple-system,BlinkMacSystemFont,"Helvetica Neue","Hiragino Kaku Gothic ProN","Yu Gothic","Meiryo",Arial,sans-serif;
  font-size:13px;
  line-height:1.6;
  color:#111;
}
body.woocommerce-account .woocommerce::before,
body.woocommerce-account .woocommerce::after{
  display:none!important;
  content:none!important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation{
  float:none!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul{
  list-style:none!important;
  margin:0!important;
  padding:0!important;
  border-top:1px solid #ddd;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li{
  margin:0!important;
  padding:0!important;
  border-bottom:1px solid #ddd;
}
body.woocommerce-account .woocommerce-MyAccount-navigation a{
  display:flex;
  align-items:center;
  min-height:48px;
  padding:0 12px;
  font-size:13px!important;
  line-height:1.35!important;
  font-weight:400!important;
  color:#111!important;
  text-decoration:none!important;
}
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{
  font-weight:600!important;
  background:#f6f6f6;
}
body.woocommerce-account .woocommerce-MyAccount-content{
  float:none!important;
  width:100%!important;
  min-width:0;
  margin:0!important;
  padding:0!important;
}
body.woocommerce-account .woocommerce-MyAccount-content > p:first-child,
body.woocommerce-account .woocommerce-info{
  margin:0 0 20px!important;
  padding:14px 16px!important;
  border:0!important;
  background:#f6f6f6!important;
  font-size:13px!important;
  line-height:1.6!important;
}
body.woocommerce-account .woocommerce-MyAccount-content h2,
body.woocommerce-account .woocommerce-MyAccount-content h3{
  margin:0 0 18px!important;
  font-size:20px!important;
  line-height:1.3!important;
  font-weight:500!important;
}
body.woocommerce-account table.woocommerce-orders-table,
body.woocommerce-account .woocommerce-MyAccount-orders{
  width:100%!important;
  margin:0!important;
  border:1px solid #d7d7d7!important;
  border-collapse:separate!important;
  border-spacing:0!important;
  border-radius:4px;
  overflow:hidden;
  background:#fff;
  table-layout:auto;
}
body.woocommerce-account table.woocommerce-orders-table thead th,
body.woocommerce-account .woocommerce-MyAccount-orders thead th{
  padding:13px 15px!important;
  border:0!important;
  border-bottom:1px solid #d7d7d7!important;
  background:#fafafa!important;
  color:#111!important;
  font-size:12px!important;
  line-height:1.35!important;
  font-weight:600!important;
  text-align:left!important;
  white-space:nowrap;
}
body.woocommerce-account table.woocommerce-orders-table tbody td,
body.woocommerce-account .woocommerce-MyAccount-orders tbody td{
  padding:15px!important;
  border:0!important;
  border-bottom:1px solid #e3e3e3!important;
  background:#fff!important;
  color:#111!important;
  font-size:13px!important;
  line-height:1.45!important;
  vertical-align:middle!important;
}
body.woocommerce-account table.woocommerce-orders-table tbody tr:last-child td,
body.woocommerce-account .woocommerce-MyAccount-orders tbody tr:last-child td{
  border-bottom:0!important;
}
body.woocommerce-account .woocommerce-orders-table__cell-order-number a{
  font-weight:600!important;
  text-decoration:none!important;
}
body.woocommerce-account .woocommerce-orders-table__cell-order-total{
  font-weight:500;
  white-space:nowrap;
}
body.woocommerce-account .woocommerce-orders-table__cell-order-actions{
  text-align:right!important;
  white-space:nowrap;
}
body.woocommerce-account .woocommerce-orders-table__cell-order-actions .button{
  min-height:34px;
  margin:0!important;
  padding:0 14px!important;
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  border:1px solid #111!important;
  border-radius:0!important;
  background:#fff!important;
  color:#111!important;
  box-shadow:none!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:500!important;
}
body.woocommerce-account .woocommerce-orders-table__cell-order-actions .button:hover{
  background:#111!important;
  color:#fff!important;
}
body.woocommerce-account .woocommerce-pagination{
  margin-top:22px;
  font-size:13px;
}
body.woocommerce-account .woocommerce-pagination .button{
  min-height:38px;
  padding:0 16px!important;
  display:inline-flex!important;
  align-items:center;
  border:1px solid #111!important;
  border-radius:0!important;
  background:#fff!important;
  color:#111!important;
}

@media (min-width:901px){
  body.woocommerce-account .saj-main{
    width:75vw;
  }
}

@media (max-width:900px){
  body.woocommerce-account .saj-section{
    padding:24px 14px 56px;
  }
  body.woocommerce-account .saj-section > article > h1{
    margin-bottom:18px!important;
    font-size:20px!important;
  }
  body.woocommerce-account .woocommerce{
    display:block;
    width:100%;
    font-size:13px;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation{
    margin-bottom:26px!important;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation ul{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    border-top:1px solid #ddd;
    border-left:1px solid #ddd;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation li{
    border-right:1px solid #ddd;
    border-bottom:1px solid #ddd;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation a{
    min-height:44px;
    padding:0 10px;
    font-size:12px!important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content{
    overflow-x:auto;
  }
  body.woocommerce-account table.woocommerce-orders-table,
  body.woocommerce-account .woocommerce-MyAccount-orders{
    min-width:660px;
  }
  body.woocommerce-account table.woocommerce-orders-table thead th,
  body.woocommerce-account .woocommerce-MyAccount-orders thead th{
    padding:11px 12px!important;
    font-size:11px!important;
  }
  body.woocommerce-account table.woocommerce-orders-table tbody td,
  body.woocommerce-account .woocommerce-MyAccount-orders tbody td{
    padding:13px 12px!important;
    font-size:12px!important;
  }
}


/* V2.1.9 — true My Account centering.
   The global theme uses a 25vw editorial sidebar, which is much wider than the
   visible account navigation. Give My Account its own real sidebar width, then
   center the workspace inside the actual remaining viewport. */
@media (min-width:901px){
  body.woocommerce-account{
    --saj-account-sidebar:220px;
    --saj-account-edge:40px;
  }
  body.woocommerce-account .saj-sidebar{
    width:var(--saj-account-sidebar)!important;
    min-width:var(--saj-account-sidebar)!important;
    max-width:var(--saj-account-sidebar)!important;
    padding-left:26px;
    padding-right:12px;
  }
  body.woocommerce-account .saj-sidebar .saj-nav{
    width:170px;
  }
  body.woocommerce-account .saj-main{
    width:calc(100vw - var(--saj-account-sidebar))!important;
    margin-left:var(--saj-account-sidebar)!important;
  }
  body.woocommerce-account .saj-desktop-topbar{
    left:var(--saj-account-sidebar)!important;
  }
  body.woocommerce-account .saj-shipping-note{
    left:calc((100vw - var(--saj-account-sidebar)) / 2)!important;
  }
  body.woocommerce-account .saj-section{
    width:100%!important;
    padding:58px var(--saj-account-edge) 90px!important;
  }
  body.woocommerce-account .saj-section > article{
    width:100%!important;
    max-width:none!important;
    margin:0!important;
  }
  body.woocommerce-account .saj-section > article > h1,
  body.woocommerce-account .woocommerce{
    width:min(1220px,100%)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  body.woocommerce-account .woocommerce{
    grid-template-columns:210px minmax(0,1fr)!important;
    gap:44px!important;
    font-size:14px!important;
  }
  body.woocommerce-account .woocommerce-MyAccount-navigation a{
    min-height:50px!important;
    font-size:14px!important;
  }
  body.woocommerce-account .woocommerce-MyAccount-content > p:first-child,
  body.woocommerce-account .woocommerce-info{
    font-size:14px!important;
    line-height:1.65!important;
  }
  body.woocommerce-account table.woocommerce-orders-table thead th,
  body.woocommerce-account .woocommerce-MyAccount-orders thead th{
    padding:14px 16px!important;
    font-size:13px!important;
  }
  body.woocommerce-account table.woocommerce-orders-table tbody td,
  body.woocommerce-account .woocommerce-MyAccount-orders tbody td{
    padding:17px 16px!important;
    font-size:14px!important;
    line-height:1.5!important;
  }
  body.woocommerce-account .woocommerce-orders-table__cell-order-actions .button{
    min-height:36px;
    padding:0 16px!important;
    font-size:13px!important;
  }
}

/* Taiwan localization and native WooCommerce content wrappers. */
.saj-top-actions a,.saj-top-mobile .actions a{font:inherit;pointer-events:auto}.saj-sidebar-copyright .stw-independent{display:block;font-size:8px;margin-top:5px}.stw-content{padding:54px 28px;line-height:1.7;font-size:12px}.stw-content h1{font-size:16px;font-weight:400}.stw-content h2{font-size:13px;font-weight:400}.stw-content p{max-width:680px}.stw-content .woocommerce{font-size:12px}.stw-content .woocommerce div.product .product_title{font-size:16px}.stw-content .woocommerce div.product p.price{font-size:12px;color:#111}.stw-content.woocommerce div.product{padding-top:15px}.saj-mini-cart .button{border-radius:0!important}.stw-notice{font-size:11px;line-height:1.8;margin:20px 0}.stw-dialog[hidden]{display:none}.saj-mobile-newsletter input[disabled]{cursor:default}.saj-search-panel .saj-search-bar{width:100%}.saj-mobile-menu [hidden],.saj-sidebar [hidden]{display:none!important}body.stw-drawer-open{overflow:hidden}.stw-newsletter-availability{font-size:10px;color:#777}@media(max-width:900px){.stw-content{padding:72px 14px 35px}.saj-top-mobile .actions{gap:12px}}

/* 1.3.8 — larger, consistent storefront typography. */
body.saj-theme{font-size:16px;line-height:1.55}
body.saj-theme .saj-nav{width:calc(100% - 28px);max-width:260px;min-height:0;overflow:auto;flex:1;margin-bottom:14px}
body.saj-theme .saj-nav a,body.saj-theme .saj-nav span,body.saj-theme .saj-nav button{font-size:16px!important;line-height:1.45!important;letter-spacing:0}
body.saj-theme .saj-nav li{margin-bottom:5px}
body.saj-theme .saj-nav .saj-utility-submenu a{font-size:14px!important;line-height:1.5!important}
body.saj-theme .saj-sidebar-copyright{font-size:12px!important;line-height:1.5;flex-shrink:0}
body.saj-theme .saj-sidebar-copyright .stw-independent{font-size:12px!important;line-height:1.4}
body.saj-theme .saj-shipping-note,body.saj-theme .saj-shipping-note button,body.saj-theme .saj-top-actions,body.saj-theme .saj-top-actions a,body.saj-theme .saj-top-actions button,body.saj-theme .saj-bag-count{font-size:13px!important;line-height:1.4!important}
body.saj-theme .saj-desktop-topbar{height:46px}
body.saj-theme .stw-content,body.saj-theme .stw-content .woocommerce{font-size:16px;line-height:1.65}
body.saj-theme .saj-main :is(p,li,label,td,th,input,select,textarea,button,.button){font-size:16px!important;line-height:1.55!important}
body.saj-theme .saj-main :is(h1,.woocommerce-products-header__title,.saj-archive-title){font-size:26px!important;line-height:1.35!important}
body.saj-theme .saj-main h2{font-size:22px!important;line-height:1.4!important}
body.saj-theme .saj-main h3{font-size:19px!important;line-height:1.4!important}
body.saj-theme .saj-main :is(small,.woocommerce-breadcrumb,.woocommerce-product-details__short-description,.product_meta,.stw-source,.stw-notice){font-size:14px!important;line-height:1.65!important}
body.saj-theme .saj-main.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:16px!important;line-height:1.5!important;font-weight:500;padding-top:10px!important}
body.saj-theme .saj-main.woocommerce ul.products li.product :is(.price,.price span,.price bdi){font-size:16px!important;line-height:1.5!important}
body.saj-theme .saj-main.woocommerce ul.products li.product .button{font-size:14px!important;line-height:1.4!important}
body.saj-theme .saj-main.woocommerce div.product .product_title{font-size:26px!important;line-height:1.4!important}
body.saj-theme .saj-main.woocommerce div.product :is(p.price,p.price span,p.price bdi,.stock){font-size:18px!important;line-height:1.5!important}
body.saj-theme .saj-main .saj-card-sizes,body.saj-theme .saj-main .saj-card-size{font-size:14px!important;line-height:1.4!important}
body.saj-theme .saj-main .woocommerce-ordering select{font-size:15px!important;padding:7px 4px!important}
body.saj-theme .saj-main :is(.woocommerce-message,.woocommerce-info,.woocommerce-error){font-size:15px!important;line-height:1.6!important}
body.saj-theme .saj-drawer-head,body.saj-theme .saj-drawer-head span{font-size:18px!important;line-height:1.4!important}
body.saj-theme :is(.saj-drawer-close,.saj-search-close,.saj-search-submit){font-size:14px!important;line-height:1.4!important}
body.saj-theme .saj-mini-cart :is(p,li,a,span,dl,dt,dd,.quantity){font-size:15px!important;line-height:1.55!important}
body.saj-theme .saj-mini-cart :is(.woocommerce-mini-cart__total,.amount,bdi){font-size:17px!important;line-height:1.5!important}
body.saj-theme .saj-mini-cart .woocommerce-mini-cart__buttons .button{font-size:15px!important;line-height:1.4!important;padding:14px!important}
body.saj-theme .saj-search-panel input.saj-search-input{font-size:18px!important;line-height:1.5!important}
body.saj-theme .saj-mobile-menu :is(a,button,span){font-size:17px!important;line-height:1.5!important}
body.saj-theme .saj-mobile-menu .saj-mobile-utility-submenu a{font-size:15px!important;line-height:1.5!important}
body.saj-theme .saj-mobile-menu-bottom{font-size:12px!important;line-height:1.5!important}
body.saj-theme .saj-mobile-newsletter h2{font-size:20px!important;line-height:1.4!important}
body.saj-theme .saj-mobile-newsletter :is(p,input,button){font-size:16px!important;line-height:1.5!important}
body.saj-theme .saj-mobile-newsletter .stw-newsletter-availability{font-size:14px!important}
@media(max-width:900px){
body.saj-theme .saj-top-mobile .actions,body.saj-theme .saj-top-mobile .actions :is(a,button,span){font-size:13px!important;line-height:1.4!important}
body.saj-theme .saj-top-mobile .actions{gap:12px}
body.saj-theme .saj-main.woocommerce div.product .product_title{font-size:23px!important}
body.saj-theme .saj-main.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:15px!important}
body.saj-theme .saj-main.woocommerce ul.products li.product :is(.price,.price span,.price bdi){font-size:16px!important}
body.saj-theme .saj-main :is(p,li,label,td,th,input,select,textarea,button,.button){font-size:16px!important}
}
@media(max-width:360px){body.saj-theme .saj-top-mobile .actions{gap:9px}body.saj-theme .saj-top-mobile .brand img{max-width:76px}}


/* 1.3.8 — visible sizes, local size charts and a dedicated image viewer. */
.stw-native-size{position:absolute!important;clip:rect(1px,1px,1px,1px)!important;width:1px!important;height:1px!important;overflow:hidden!important;white-space:nowrap!important;padding:0!important;border:0!important}
body.saj-theme .stw-size-options{display:flex;flex-wrap:wrap;gap:8px;padding:5px 0 12px}
body.saj-theme .saj-main button.stw-size-choice{background:#fff;color:#111;border:1px solid #aaa;border-radius:0;min-width:48px;min-height:44px;padding:8px 13px!important;font-size:16px!important;cursor:pointer}
body.saj-theme .saj-main button.stw-size-choice[aria-pressed="true"]{background:#111;color:white;border-color:#111}
body.saj-theme .saj-main button.stw-size-choice:disabled{opacity:.4;cursor:not-allowed;text-decoration:line-through}
body.saj-theme .stw-size-guide{clear:both;margin-top:28px;padding-top:20px;border-top:1px solid #ddd}
body.saj-theme .stw-size-guide h2{font-size:20px!important;margin:0 0 12px}
body.saj-theme .stw-size-guide .stw-size-note{font-size:14px!important;line-height:1.7!important}
.stw-size-table-wrap{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
body.saj-theme .stw-size-table{border-collapse:collapse;width:100%;margin:16px 0;text-align:center;table-layout:auto}
body.saj-theme .saj-main .stw-size-table :is(th,td){font-size:14px!important;line-height:1.4!important;padding:10px 12px;border:1px solid #ddd;white-space:nowrap;background:white}
body.saj-theme .stw-size-table th{font-weight:500;background:#f6f6f6!important}
body.saj-theme .stw-source{display:none!important}
.single-product .woocommerce-message:has(.wc-forward){display:none!important}
.stw-cart-error{color:#a31616;font-size:15px!important;line-height:1.6!important;margin:12px 0}
body.saj-theme .stw-gallery{position:relative;opacity:1!important}
body.saj-theme .stw-gallery-open{position:relative;display:block;width:100%;padding:0!important;border:0;background:#f7f7f7;cursor:zoom-in;line-height:0!important}
body.saj-theme .stw-gallery-main{width:100%;height:auto;display:block}
.stw-zoom-icon{position:absolute;top:14px;right:14px;border-radius:50%;width:38px;height:38px;background:white;color:#111;display:flex;align-items:center;justify-content:center;font-size:25px;line-height:1;box-shadow:0 1px 5px #0002}
.stw-gallery-thumbs{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
body.saj-theme .stw-gallery-thumbs button{padding:0!important;border:1px solid transparent;background:white;cursor:pointer;width:calc(20% - 7px);line-height:0!important}
.stw-gallery-thumbs button.is-selected{border-color:#111!important}.stw-gallery-thumb img{display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover}
html.stw-image-open{overflow:hidden}
body.saj-theme dialog.stw-lightbox{position:fixed;inset:0;margin:auto;width:calc(100vw - 32px);height:calc(100dvh - 32px);max-width:none;max-height:none;border:0;padding:0;background:#fff;color:#111;z-index:100000;overflow:hidden;box-shadow:0 8px 50px #0004}
body.saj-theme dialog.stw-lightbox:not([open]){display:none!important}
.stw-lightbox::backdrop{background:rgba(0,0,0,.72)}
.stw-lightbox-toolbar{height:58px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-size:15px;background:white}
.stw-lightbox-toolbar button{border:0;background:white;padding:10px;font-size:15px;cursor:pointer}
.stw-lightbox-stage{height:calc(100% - 58px);display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:8px;padding:8px 10px 18px;background:white}
.stw-lightbox-stage img{max-width:100%;max-height:100%;height:100%;width:100%;object-fit:contain;display:block;min-height:0}
.stw-lightbox-stage button{border:0;background:white;padding:8px;font-size:38px;line-height:1;cursor:pointer;z-index:1}
.stw-lightbox-stage button[hidden]{visibility:hidden;display:block}
.stw-lightbox-error{position:absolute;bottom:10px;left:60px;right:60px;text-align:center;background:#fff;font-size:14px}
@media(max-width:600px){body.saj-theme dialog.stw-lightbox{width:100vw;height:100dvh}.stw-lightbox-toolbar{height:52px;padding:0 10px}.stw-lightbox-stage{height:calc(100% - 52px);grid-template-columns:30px minmax(0,1fr) 30px;gap:0;padding:4px 0 12px}.stw-lightbox-stage button{font-size:30px;padding:3px}.stw-gallery-thumbs{gap:6px}.stw-size-table-wrap{width:100%}}
body.saj-theme .saj-main .stw-lightbox .stw-lightbox-stage button{font-size:34px!important;line-height:1!important;min-height:48px}
body.saj-theme .stw-cart-error:empty{display:none!important}
@media(max-width:600px){body.saj-theme .saj-main .stw-lightbox .stw-lightbox-stage button{font-size:30px!important}}
body.saj-theme .stw-native-size{min-width:0!important;max-width:1px!important;max-height:1px!important;left:0!important;top:0!important;margin:0!important}
body.saj-theme .saj-main .stw-size-table :is(th,td){padding:9px 4px!important}
body.saj-theme .summary,body.saj-theme .stw-size-table-wrap{min-width:0}

/* Compact product measurement chart. */
body.saj-theme .saj-main .stw-size-guide{margin-top:16px!important;padding-top:12px!important}
body.saj-theme .saj-main .stw-size-guide h2{font-size:16px!important;line-height:1.3!important;margin:0 0 6px!important}
body.saj-theme .saj-main .stw-size-guide .stw-size-note{font-size:12px!important;line-height:1.4!important;margin:0 0 8px!important}
body.saj-theme .saj-main .stw-size-table{width:auto!important;max-width:100%;margin:8px 0 0!important}
body.saj-theme .saj-main .stw-size-table :is(th,td){font-size:12px!important;line-height:1.25!important;padding:5px 6px!important}

/* Stack variation labels above their controls; avoid table auto column spacing. */
body.saj-theme .saj-main form.cart table.variations,body.saj-theme .saj-main form.cart table.variations tbody,body.saj-theme .saj-main form.cart table.variations tr{display:block!important;width:100%!important;border:0!important;margin:0!important}
body.saj-theme .saj-main form.cart table.variations tr{margin-bottom:12px!important}
body.saj-theme .saj-main form.cart table.variations th.label,body.saj-theme .saj-main form.cart table.variations td.value{display:block!important;width:100%!important;padding:0!important;text-align:left!important;border:0!important;float:none!important}
body.saj-theme .saj-main form.cart table.variations th.label{margin:0 0 8px!important}
body.saj-theme .saj-main form.cart table.variations th.label label{display:block!important;margin:0!important;line-height:1.3!important}
body.saj-theme .saj-main form.cart .stw-size-options{display:flex!important;justify-content:flex-start!important;align-items:center;gap:8px!important;padding:0!important;margin:0!important}
body.saj-theme .saj-main form.cart .stw-size-choice{flex:0 0 auto!important;white-space:nowrap;line-height:1.25!important;margin:0!important}
body.saj-theme .saj-main form.cart .reset_variations{display:block;width:max-content;margin:6px 0 0!important}

/* Wider measurement chart and sticky desktop product details. */
body.saj-theme .saj-main .stw-size-guide{width:100%;max-width:540px}
body.saj-theme .saj-main .stw-size-table-wrap{width:100%}
body.saj-theme .saj-main .stw-size-table{width:100%!important}
.stw-product-layout:after{content:'';display:table;clear:both}
@media(min-width:901px){
body.saj-theme .saj-main .stw-product-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:4%;align-items:start}
body.saj-theme .saj-main .stw-product-layout>.images{float:none!important;width:100%!important;min-width:0;margin:0!important}
body.saj-theme .saj-main .stw-product-layout>.summary{position:sticky;top:64px;align-self:start;float:none!important;width:100%!important;margin:0!important;max-height:calc(100dvh - 88px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;padding-right:4px}
}

/* Cart: closer to navigation, balanced totals, and useful product thumbnails. */
body.saj-theme.woocommerce-cart .page-content{width:100%;max-width:1500px;margin:0}
body.saj-theme.woocommerce-cart .wp-block-woocommerce-cart{max-width:none!important;margin:0!important}
body.saj-theme.woocommerce-cart .wc-block-cart-item__image img{width:100%!important;aspect-ratio:4/5;object-fit:cover;background:#f5f5f5;border-radius:0}
body.saj-theme.woocommerce-cart .wc-block-cart-item__wrap{padding:0!important}
body.saj-theme.woocommerce-cart .wc-block-components-product-name{font-size:16px!important;line-height:1.45!important;font-weight:500!important}
body.saj-theme.woocommerce-cart .wc-block-components-product-metadata{margin:5px 0 10px!important;font-size:13px!important}
body.saj-theme.woocommerce-cart .wc-block-cart-items__row{border-bottom:1px solid #ddd}
body.saj-theme.woocommerce-cart .wc-block-cart__submit-button{background:#111;color:white;border-radius:0;min-height:48px;font-size:16px!important}
@media(min-width:901px){
body.saj-theme.woocommerce-cart .saj-sidebar{width:200px!important;min-width:0!important}
body.saj-theme.woocommerce-cart .saj-main{margin-left:200px!important;padding:64px 32px 48px 28px!important;width:auto!important}
body.saj-theme.woocommerce-cart .wc-block-cart{display:grid!important;grid-template-columns:minmax(0,1fr) 300px;gap:36px;align-items:start}
body.saj-theme.woocommerce-cart .wc-block-cart__main,body.saj-theme.woocommerce-cart .wc-block-cart__sidebar{width:100%!important;padding:0!important;min-width:0;margin:0!important}
body.saj-theme.woocommerce-cart .wc-block-cart__sidebar{position:sticky;top:64px;border:1px solid #ddd;padding:20px!important}
body.saj-theme.woocommerce-cart .wc-block-cart-items__row{display:grid!important;grid-template-columns:100px minmax(0,1fr) 110px;gap:18px;padding:20px 0!important}
body.saj-theme.woocommerce-cart .wc-block-cart-item__image,body.saj-theme.woocommerce-cart .wc-block-cart-item__product,body.saj-theme.woocommerce-cart .wc-block-cart-item__total{display:block!important;width:auto!important;padding:0!important;min-width:0}
body.saj-theme.woocommerce-cart .wc-block-cart-item__total{text-align:right}
body.saj-theme.woocommerce-cart .wc-block-cart-items thead{display:none!important}
body.saj-theme.woocommerce-cart .wc-block-cart-items,body.saj-theme.woocommerce-cart .wc-block-cart-items tbody{display:block!important;width:100%!important}
}
@media(min-width:901px) and (max-width:1100px){body.saj-theme.woocommerce-cart .wc-block-cart{grid-template-columns:minmax(0,1fr) 260px;gap:22px}body.saj-theme.woocommerce-cart .wc-block-cart-items__row{grid-template-columns:80px minmax(0,1fr) 85px;gap:12px}}
@media(max-width:900px){body.saj-theme.woocommerce-cart .wc-block-cart-item__image{width:80px!important}body.saj-theme.woocommerce-cart .wc-block-cart__sidebar{margin-top:24px!important}}

/* Center cart within the space remaining beside navigation. */
@media(min-width:901px){
body.saj-theme.woocommerce-cart .saj-main{padding:64px 40px 48px!important}
body.saj-theme.woocommerce-cart .page-content{max-width:1320px;margin-left:auto!important;margin-right:auto!important}
body.saj-theme.woocommerce-cart .wc-block-cart{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;gap:40px!important}
body.saj-theme.woocommerce-cart .wc-block-cart-items__row{grid-template-columns:84px minmax(0,1fr) 90px!important;gap:14px!important}
body.saj-theme.woocommerce-cart .wc-block-cart-item__total{font-size:14px!important}
body.saj-theme.woocommerce-cart .wc-block-components-product-name{overflow-wrap:anywhere}
}
@media(min-width:901px) and (max-width:1100px){body.saj-theme.woocommerce-cart .saj-main{padding-left:24px!important;padding-right:24px!important}body.saj-theme.woocommerce-cart .wc-block-cart{gap:24px!important}body.saj-theme.woocommerce-cart .wc-block-cart-items__row{grid-template-columns:68px minmax(0,1fr)!important;gap:12px!important}body.saj-theme.woocommerce-cart .wc-block-cart-item__total{grid-column:2;text-align:left;margin-top:4px}}
