/*
Theme Name: Soldier Fieldwear
Theme URI: https://soldierapparel.com/
Author: Soldier Apparel
Description: A modern tactical storefront with eight signature series, eagle identity, and native WooCommerce catalog, product, cart, and checkout integration.
Version: 1.3.1
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: soldier-fieldwear
Tags: e-commerce, custom-logo, custom-menu, featured-images, wide-blocks
*/

/* design.css supplies the shared campaign design. These rules adapt WordPress
   and WooCommerce's native markup without replacing plugin templates. */
:root { --sa-bone:var(--bone,#eeeae0); --sa-ink:var(--ink,#151a17); --sa-olive:var(--olive,#59614b); --sa-rust:var(--rust,#d77a4c); --sa-line:var(--line,#d1d1c5); }
body.soldier-theme { margin:0; color:var(--sa-ink); background:var(--sa-bone); font-family:Archivo,Arial,sans-serif; }
body.soldier-theme * { box-sizing:border-box; }
body.soldier-theme img { max-width:100%; }
.sa-page-content img,.sa-prose img { height:auto; }
.sa-container { width:min(1440px, calc(100% - 112px)); margin-inline:auto; }
.sa-content { padding-block:56px 90px; min-height:50vh; }
.sa-prose { max-width:900px; }
.sa-prose h1,.sa-page-title,.woocommerce-products-header__title { font-size:clamp(32px,4.5vw,68px); font-weight:800; line-height:1.05; letter-spacing:-.04em; margin:0 0 32px; }
.sa-prose p,.sa-page-content p { line-height:1.7; }
.sa-page-content > :first-child { margin-top:0; }
.sa-article { margin-bottom:48px; }
.sa-article a,.sa-page-content p a { text-underline-offset:3px; }
.sa-comments { margin-top:48px; padding-top:32px; border-top:1px solid var(--sa-line); }
.screen-reader-text { border:0; clip:rect(1px,1px,1px,1px); clip-path:inset(50%); height:1px; margin:-1px; overflow:hidden; padding:0; position:absolute!important; width:1px; word-wrap:normal!important; }
.skip-link:focus { clip:auto; clip-path:none; width:auto; height:auto; margin:0; padding:16px 22px; top:10px; left:10px; z-index:99999; background:white; color:var(--sa-ink); }
a:focus-visible,button:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:2px solid var(--sa-rust); outline-offset:4px; }
.sa-brand-wrap { display:flex; align-items:center; gap:10px; }
.sa-custom-logo img { height:auto; filter:none; }
.sa-custom-logo { line-height:0; }
.sa-custom-logo .custom-logo { width:auto; max-width:100px; max-height:48px; object-fit:contain; }
.sa-nav-list { list-style:none; display:flex; align-items:center; gap:30px; margin:0; padding:0; }
.main-nav .sa-nav-list a { text-decoration:none; }
.main-nav .sa-nav-list li { position:relative; }
.main-nav .sub-menu { display:none; position:absolute; top:100%; left:-18px; min-width:230px; list-style:none; margin:0; padding:14px 18px; z-index:40; color:var(--sa-bone); background:var(--surface-base,#303a31); border:1px solid #373d34; }
.main-nav .sub-menu li { padding:9px 0; }
.main-nav .sub-menu .sub-menu { top:0; left:100%; }
.main-nav li:hover > .sub-menu,.main-nav li:focus-within > .sub-menu { display:block; }
.sa-icon-link { display:flex; align-items:center; justify-content:center; gap:7px; min-width:40px; min-height:44px; text-decoration:none; list-style:none; cursor:pointer; }
.sa-icon-link::-webkit-details-marker { display:none; }
.sa-icon-link svg { display:block; width:21px; height:21px; }
.sa-cart-count { min-width:17px; font-size:12px; }
.sa-search-panel { position:relative; }
.sa-search-form { position:absolute; top:54px; right:-65px; width:350px; max-width:90vw; padding:24px; color:var(--sa-ink); background:var(--sa-bone); border:1px solid var(--sa-line); z-index:90; }
.sa-search-form label { display:block; font-size:13px; margin-bottom:12px; }
.sa-search-form > div { display:flex; gap:8px; }
.sa-search-form input { min-width:0; width:100%; }
.sa-search-form button { border:0; background:var(--sa-ink); color:white; padding:12px; cursor:pointer; }
.sa-mobile-menu { display:none; }
.sa-footer-nav,.sa-footer-links .sa-nav-list { display:flex; flex-direction:column; align-items:flex-start; list-style:none; gap:12px; padding:0; margin:22px 0 0; }
.sa-footer-nav a,.sa-footer-links a,.sa-footer-contact a { text-decoration:none; font-size:14px; }
.sa-footer-nav .sub-menu { list-style:none; padding-left:15px; margin-top:12px; display:grid; gap:10px; }
.sa-footer-contact p { line-height:1.8; }
.sa-legal-links { display:flex; gap:24px; align-items:center; }
.sa-legal-links a { text-decoration:none; }
.sa-button { display:inline-flex; gap:26px; align-items:center; background:var(--sa-ink); color:var(--sa-bone)!important; padding:18px 24px; text-decoration:none; font-size:14px; font-weight:600; }
.sa-button:hover { background:var(--sa-olive); }
.sa-catalog-empty { padding:36px; border:1px solid var(--sa-line); }
.sa-home-extra { padding-block:40px; }
.hero h1 { text-transform:uppercase; }
.filter-tabs a { border:1px solid transparent; padding:10px 16px; background:transparent; font-size:11px; display:inline-block; }
.filter-tabs a.active { background:var(--sa-ink); color:var(--sa-bone); }
.filter-tabs a:not(.active):hover { border-color:var(--sa-line); }
.series-list > a { display:flex; width:100%; align-items:center; gap:23px; padding:21px 0; background:none; border:0; border-bottom:1px solid var(--sa-line); text-align:left; }
.series-list > a:first-child { border-top:1px solid var(--sa-line); }
.series-list > a:hover { color:var(--sa-olive); }
.sa-home-products .woocommerce ul.products { margin-bottom:0; }
.admin-bar .site-header { top:32px; }

/* Product archives, homepage shortcode, and single product. */
.soldier-theme .woocommerce-breadcrumb { font-family:'IBM Plex Mono',monospace; font-size:11px; margin-bottom:30px; }
.soldier-theme .woocommerce-result-count,.soldier-theme .woocommerce-ordering { font-size:13px; margin-bottom:30px; }
.soldier-theme .woocommerce ul.products { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:32px 20px; padding:0; margin:0 0 36px; }
.soldier-theme .woocommerce ul.products::before,.soldier-theme .woocommerce ul.products::after { display:none; }
.soldier-theme .woocommerce ul.products li.product { float:none!important; width:auto!important; margin:0!important; min-width:0; position:relative; }
.soldier-theme .woocommerce ul.products li.product a img { aspect-ratio:4/5; object-fit:contain; background:#e9e9e2; width:100%; margin:0 0 17px; }
.soldier-theme .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:16px; font-weight:600; line-height:1.45; padding:0 0 8px; letter-spacing:-.02em; }
.soldier-theme .woocommerce ul.products li.product .price { color:var(--sa-ink); font-family:'IBM Plex Mono',monospace; font-size:13px; }
.soldier-theme .woocommerce ul.products li.product .price del { color:#64695e; opacity:1; }
.soldier-theme .woocommerce ul.products li.product .price ins { font-weight:500; text-decoration:none; }
.soldier-theme .woocommerce ul.products li.product .button { display:inline-flex; align-items:center; margin-top:14px; font-size:12px; }
.soldier-theme .woocommerce span.onsale { background:var(--sa-olive); color:white; border-radius:0; min-height:0; min-width:0; line-height:1.2; padding:8px 11px; font-size:10px; text-transform:uppercase; letter-spacing:.08em; z-index:2; top:10px!important; right:10px!important; left:auto; margin:0!important; }
.soldier-theme .woocommerce .star-rating { color:var(--sa-olive); }
.soldier-theme .woocommerce nav.woocommerce-pagination ul { border:0; display:inline-flex; gap:8px; }
.soldier-theme .woocommerce nav.woocommerce-pagination ul li { border:1px solid var(--sa-line); }
.soldier-theme .woocommerce nav.woocommerce-pagination ul li a,.soldier-theme .woocommerce nav.woocommerce-pagination ul li span { min-width:42px; padding:13px; color:var(--sa-ink); }
.soldier-theme .woocommerce nav.woocommerce-pagination ul li span.current { background:var(--sa-ink); color:white; }
.soldier-theme .woocommerce div.product div.images img { background:#e9e9e2; }
.soldier-theme .woocommerce div.product .product_title { font-size:clamp(28px,3vw,46px); line-height:1.12; letter-spacing:-.04em; }
.soldier-theme .woocommerce div.product p.price,.soldier-theme .woocommerce div.product span.price { font-size:22px; color:var(--sa-olive); }
.soldier-theme .woocommerce div.product .woocommerce-product-details__short-description { line-height:1.7; font-size:15px; }
.soldier-theme .woocommerce div.product form.cart .variations select { min-width:180px; }
.soldier-theme .woocommerce div.product .woocommerce-tabs ul.tabs { padding:0; }
.soldier-theme .woocommerce div.product .woocommerce-tabs ul.tabs li { border:0; background:transparent; margin:0 25px 0 0; padding:0; border-radius:0; }
.soldier-theme .woocommerce div.product .woocommerce-tabs ul.tabs li::before,.soldier-theme .woocommerce div.product .woocommerce-tabs ul.tabs li::after { display:none; }
.soldier-theme .woocommerce div.product .woocommerce-tabs ul.tabs li.active { border-bottom:2px solid var(--sa-olive); }
.soldier-theme .woocommerce div.product .woocommerce-tabs ul.tabs li a { font-weight:500; color:var(--sa-ink); padding:15px 0; }
.soldier-theme .woocommerce div.product .woocommerce-tabs .panel { line-height:1.7; }
.soldier-theme .woocommerce .related { clear:both; padding-top:32px; }
.soldier-theme .woocommerce .related > h2 { margin-bottom:26px; }
.soldier-theme .woocommerce .quantity .qty { width:75px; padding:14px 8px; }

/* Keep both classic checkout and modern WooCommerce blocks native. */
.soldier-theme :where(input[type=text],input[type=email],input[type=tel],input[type=password],input[type=search],input[type=number],input[type=url],select,textarea) { border:1px solid #b9bdb0; background:#fff; color:var(--sa-ink); border-radius:0; padding:13px 14px; font:inherit; max-width:100%; }
.soldier-theme :where(input[type=checkbox],input[type=radio]) { accent-color:var(--sa-olive); }
.soldier-theme .woocommerce :is(a.button,button.button,input.button),.soldier-theme .woocommerce #respond input#submit,.soldier-theme .woocommerce :is(a.button.alt,button.button.alt,input.button.alt),.soldier-theme .wp-block-button__link { background:var(--sa-ink); color:var(--sa-bone); border:1px solid var(--sa-ink); border-radius:0; font-family:inherit; font-weight:500; padding:15px 20px; line-height:1.3; }
.soldier-theme .woocommerce :is(a.button:hover,button.button:hover,input.button:hover),.soldier-theme .woocommerce #respond input#submit:hover,.soldier-theme .woocommerce :is(a.button.alt:hover,button.button.alt:hover,input.button.alt:hover),.soldier-theme .wp-block-button__link:hover { background:var(--sa-olive); color:#fff; border-color:var(--sa-olive); }
.soldier-theme .woocommerce button.button:disabled,.soldier-theme .woocommerce button.button:disabled[disabled] { opacity:.55; padding:15px 20px; }
.soldier-theme .woocommerce table.shop_table { border:1px solid var(--sa-line); border-radius:0; }
.soldier-theme .woocommerce table.shop_table :where(th,td) { padding:18px 15px; }
.soldier-theme .woocommerce table.shop_table th { font-weight:500; }
.soldier-theme .woocommerce table.shop_table td { border-top:1px solid var(--sa-line); }
.soldier-theme .woocommerce a.remove { border-radius:0; }
.soldier-theme .woocommerce form .form-row { margin-bottom:15px; }
.soldier-theme .woocommerce form .form-row label { margin-bottom:7px; font-size:13px; }
.soldier-theme .woocommerce form .form-row :where(input.input-text,textarea) { line-height:1.4; }
.soldier-theme .woocommerce form.checkout_coupon,.soldier-theme .woocommerce form.login,.soldier-theme .woocommerce form.register { border-radius:0; border-color:var(--sa-line); }
.soldier-theme #add_payment_method #payment,.soldier-theme .woocommerce-cart #payment,.soldier-theme .woocommerce-checkout #payment { background:#e8e9e0; border-radius:0; }
.soldier-theme .woocommerce-error,.soldier-theme .woocommerce-info,.soldier-theme .woocommerce-message { background:#e8e9e0; color:var(--sa-ink); border-color:var(--sa-olive); font-size:14px; }
.soldier-theme .woocommerce-info::before,.soldier-theme .woocommerce-message::before { color:var(--sa-olive); }
.soldier-theme .woocommerce-error { border-color:#a03931; }
.soldier-theme .woocommerce-MyAccount-navigation ul { padding:0; list-style:none; border-top:1px solid var(--sa-line); }
.soldier-theme .woocommerce-MyAccount-navigation li { border-bottom:1px solid var(--sa-line); }
.soldier-theme .woocommerce-MyAccount-navigation a { display:block; padding:16px; text-decoration:none; }
.soldier-theme .woocommerce-MyAccount-navigation .is-active a { background:var(--sa-ink); color:white; }
.soldier-theme .wc-block-components-button:not(.is-link) { border-radius:0; background:var(--sa-ink); color:white; box-shadow:none; min-height:48px; font-family:inherit; }
.soldier-theme .wc-block-components-text-input :where(input[type=text],input[type=email],input[type=tel],input[type=number]),.soldier-theme .wc-block-components-combobox .wc-block-components-combobox-control input.components-combobox-control__input,.soldier-theme .wc-block-components-textarea { border-radius:0!important; font-family:inherit; }
.soldier-theme .wc-block-components-checkout-place-order-button { background:var(--sa-olive); }
.soldier-theme .wp-block-woocommerce-cart,.soldier-theme .wp-block-woocommerce-checkout { font-family:inherit; }
.soldier-theme .select2-container .select2-selection--single { border-radius:0; min-height:44px; border-color:#b9bdb0; }
.soldier-theme .select2-container--default .select2-selection--single .select2-selection__rendered { line-height:42px; }
.soldier-theme .select2-container--default .select2-selection--single .select2-selection__arrow { height:42px; }
.alignwide { max-width:1200px; margin-inline:auto; }
.alignfull { width:100%; }
.wp-caption,.wp-caption-text,.gallery-caption { max-width:100%; font-size:13px; }
.bypostauthor { border-left:2px solid var(--sa-olive); padding-left:18px; }

@media (max-width:1000px) {
  .sa-container { width:calc(100% - 56px); }
  .soldier-theme .woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:850px) {
  .main-nav { display:none!important; }
  .sa-mobile-menu { display:block; }
  .sa-mobile-menu nav { position:absolute; left:0; right:0; top:100%; z-index:80; color:var(--sa-bone); background:var(--surface-base,#303a31); border-bottom:1px solid #373d34; padding:22px 28px; max-height:75vh; overflow:auto; }
  .sa-mobile-menu .sa-nav-list { display:grid; gap:4px; }
  .sa-mobile-menu .sa-nav-list a { display:block; padding:12px 0; text-decoration:none; }
  .sa-mobile-menu .sub-menu { list-style:none; padding-left:18px; }
  .sa-mobile-menu .sub-menu a { color:#c6cdbd; }
  .sa-mobile-menu a:hover,.sa-mobile-menu a:focus-visible { color:var(--sa-rust); }
}
@media (max-width:600px) {
  .sa-container { width:calc(100% - 36px); }
  .sa-content { padding-block:32px 60px; }
  .sa-search-panel { position:static; }
  .sa-search-form { position:absolute; top:100%; left:18px; right:18px; width:auto; max-width:none; }
  .soldier-theme .woocommerce ul.products { gap:28px 12px; }
  .soldier-theme .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:14px; }
  .soldier-theme .woocommerce ul.products li.product .price { font-size:12px; }
  .soldier-theme .woocommerce ul.products li.product .button { padding:11px; }
  .sa-legal-links { flex-wrap:wrap; gap:16px; }
  .sa-page-title { margin-bottom:25px; }
  .soldier-theme .woocommerce .woocommerce-result-count,.soldier-theme .woocommerce .woocommerce-ordering { float:none; }
  .filter-tabs a { padding:9px; font-size:10px; }
  .series-list > a { padding:20px 0; gap:20px; }
}
@media (max-width:782px) { .admin-bar .site-header { top:46px; } }
@media (max-width:600px) { .admin-bar .site-header { top:0; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { scroll-behavior:auto!important; animation-duration:.01ms!important; transition-duration:.01ms!important; } }

/* Version 1.1: signature-series storefront and native category presentation. */
.soldier-theme .site-header { color:var(--sa-bone); background:#141715; border-color:#31372f; }
.soldier-theme .brand-emblem { flex:none; filter:none; }
.soldier-theme .identity-art>img { filter:none; }
.soldier-theme .brand-emblem.sa-default-insignia,.soldier-theme .identity-art>.sa-default-insignia { filter:brightness(0) invert(1); }
.soldier-theme .sa-icon-link { color:inherit; }
.soldier-theme .sa-series-filter { display:flex; gap:12px; align-items:center; flex-wrap:wrap; margin:0; }
.soldier-theme .sa-series-filter label { font-family:'IBM Plex Mono',monospace; font-size:10px; text-transform:uppercase; letter-spacing:.08em; }
.soldier-theme .sa-series-filter select { max-width:270px; min-width:200px; background:transparent; font-size:12px; }
.soldier-theme .sa-series-filter button { padding:14px 18px; border:1px solid var(--sa-ink); color:var(--sa-bone); background:var(--sa-ink); font-size:12px; cursor:pointer; }
.soldier-theme .sa-series-filter button:hover { background:var(--sa-olive); border-color:var(--sa-olive); }
.soldier-theme .collection-controls { gap:20px; }
.soldier-theme .sa-product-series { position:absolute; z-index:2; top:13px; left:13px; padding:7px 9px; color:#efefe7; background:#252c23; font-family:'IBM Plex Mono',monospace; font-size:8px; font-weight:500; letter-spacing:.07em; text-transform:uppercase; line-height:1.3; max-width:calc(100% - 65px); }
.soldier-theme .sa-archive-series { display:grid; grid-template-columns:260px 1fr; align-items:center; gap:44px; color:#eeeee5; background:#151b16; margin:0 0 34px; padding:30px; }
.soldier-theme .sa-archive-series img { width:100%; height:280px; object-fit:contain; }
.soldier-theme .sa-archive-series .eyebrow { color:#c6c8b9; font-size:10px; }
.soldier-theme .sa-archive-series h2 { font-size:clamp(26px,3.3vw,44px); text-transform:uppercase; letter-spacing:-.04em; line-height:1.08; margin:20px 0; }
.soldier-theme .sa-archive-series p { line-height:1.7; }
.soldier-theme .sa-archive-series .text-link { margin-top:24px; display:inline-flex; gap:28px; padding-bottom:7px; border-bottom:1px solid #7a826c; }
.soldier-theme .woocommerce ul.products li.product a img { background:#e4e4dc; }
.soldier-theme .hero-series-feature { text-decoration:none; }
.soldier-theme .series-card { display:block; color:inherit; }
.soldier-theme .sa-catalog-empty { padding:40px; margin-top:26px; background:#e8e9df; }
@media(max-width:1000px) {
 .soldier-theme .sa-archive-series { grid-template-columns:210px 1fr; gap:28px; }
 .soldier-theme .sa-archive-series img { height:235px; }
 .soldier-theme .collection-controls { align-items:flex-start; }
}
@media(max-width:600px) {
 .soldier-theme .sa-series-filter { width:100%; gap:9px; }
 .soldier-theme .sa-series-filter label { width:100%; font-size:9px; }
 .soldier-theme .sa-series-filter select { min-width:0; flex:1; max-width:none; padding:12px; }
 .soldier-theme .sa-series-filter button { padding:12px 13px; }
 .soldier-theme .sa-product-series { top:8px; left:8px; padding:5px 6px; font-size:6px; max-width:calc(100% - 50px); }
 .soldier-theme .sa-archive-series { grid-template-columns:1fr; padding:24px; gap:18px; }
 .soldier-theme .sa-archive-series img { height:230px; }
 .soldier-theme .sa-archive-series h2 { font-size:31px; }
 .soldier-theme .sa-catalog-empty { padding:24px; }
}
.soldier-theme .main-nav .sa-nav-list a { display:block; padding:16px 0; transition:color .2s; }
.soldier-theme .main-nav .sa-nav-list a:hover { color:var(--sa-rust); }
.soldier-theme .main-nav .sub-menu a { padding:4px 0; }
.soldier-theme .sa-footer-links > .eyebrow,.soldier-theme .sa-footer-contact > .eyebrow { margin:0; color:#b6c2a8; }
.soldier-theme .sa-selected-series { margin:0 0 22px; color:var(--sa-olive); }

/* ==========================================================================
   V4 / 1.3.0 - modern refresh for the live store
   Lighter surfaces, readable type sizes, cleaner product cards, styles for
   the store's existing pages (Custom Order, Tentang Kami, Kontak, Lacak).
   ========================================================================== */
:root {
  --bone:#f1eee6; --paper:#f8f6f1; --sand:#e7e3d8; --ink:#161b17; --olive:#556047; --olive-deep:#3f4935;
  --rust:#d9733f; --rust-hover:#e48a5b; --line:#dad6cb; --muted:#5d645a;
  --surface-deep:#222a24; --surface-base:#2c352d; --surface-raised:#353f35; --olive-panel:#5b674e;
}
body.soldier-theme { font-size:15px; line-height:1.6; background:var(--paper); }

/* Header + brand lockup */
.soldier-theme .site-header { background:rgba(44,53,45,.94); -webkit-backdrop-filter:saturate(1.2) blur(10px); backdrop-filter:saturate(1.2) blur(10px); border-bottom:1px solid rgba(255,255,255,.08); height:84px; }
.soldier-theme .brand { font-size:24px; font-weight:800; letter-spacing:.03em; gap:12px; }
.soldier-theme .brand small { font-family:var(--mono); font-size:9px; font-weight:500; letter-spacing:.42em; margin-top:7px; padding-left:2px; opacity:.85; }
.soldier-theme .brand-emblem { width:42px; height:42px; }
.soldier-theme .main-nav { font-size:14px; font-weight:500; }
.soldier-theme .main-nav .sub-menu { border-radius:2px; box-shadow:0 18px 40px -20px rgba(0,0,0,.5); }
.announcement { height:34px; font-size:10px; letter-spacing:.14em; }
html { scroll-padding-top:90px; }

/* Readable small type */
.eyebrow { font-size:11px; letter-spacing:.14em; }
.hero-copy>p { font-size:16px; line-height:1.7; max-width:420px; color:#d6d9cd; }
.button { font-size:14px; min-height:52px; padding:16px 22px; }
.button-rust:hover { background:var(--rust-hover); }
.quiet-link { font-size:13px; }
.hero-signoff { font-size:11px; }
.hero-series-feature small { font-size:10px; }
.hero-series-feature>span>span { font-size:12px; }
.hero-bottom { font-size:10px; }
.vertical-caption { font-size:10px; }
.strip-caption { font-size:10px; }
.manifesto-strip { background:var(--paper); }
.section-intro p,.collection-intro { font-size:15px; }
.micro-label { font-size:10px; }
.series-card-index { font-size:10px; }
.series-card-meta strong { font-size:16px; }
.series-card-meta small { font-size:12px; }
.series-endnote { font-size:10px; }
.catalog-note { font-size:12px; }
.text-link { font-size:13px; }
.service-strip>div>span { font-size:11px; }
.service-strip small { font-size:13px; }
.identity-topline,.identity-baseline { font-size:10px; }
.story-copy .eyebrow { font-size:11px; }
.story-copy p { font-size:15px; max-width:440px; }
.story-signature { font-size:10px; }
.custom-copy p { font-size:15px; }
.custom-techniques { font-size:11px; }
.custom-steps h3 { font-size:19px; }
.custom-steps p { font-size:14px; }
.faqs summary { font-size:15px; }
.faqs p { font-size:14px; }
.footer-top>div,.sa-footer-nav a,.sa-footer-links a,.sa-footer-contact a { font-size:14px; }
.soldier-theme .sa-footer-links > .eyebrow,.soldier-theme .sa-footer-contact > .eyebrow { font-size:10px; }
.footer-bottom { font-size:10px; }

/* Series section on a light canvas so the page is not dark top to bottom */
.series-showcase { background:var(--sand); color:var(--ink); }
.series-showcase .muted,.series-showcase .section-intro p,.series-endnote { color:var(--muted); }
.micro-label { color:var(--olive); }
.series-card { background:var(--paper); border:1px solid var(--line); color:var(--ink); }
.series-card:hover { border-color:var(--rust); box-shadow:0 22px 40px -26px rgba(22,27,23,.55); }
.series-card-meta small { color:var(--muted); }

/* Product cards */
.soldier-theme .woocommerce ul.products { gap:36px 22px; }
.soldier-theme .woocommerce ul.products li.product a img { aspect-ratio:1/1; object-fit:cover; background:#ece9e1; margin:0 0 14px; transition:transform .45s ease; }
.soldier-theme .woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display:block; overflow:hidden; }
.soldier-theme .woocommerce ul.products li.product:hover a img { transform:scale(1.03); }
.soldier-theme .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:14px; font-weight:600; letter-spacing:.01em; line-height:1.35; padding:0 0 6px; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:2.7em; }
.soldier-theme .woocommerce ul.products li.product .price { font-family:var(--font); font-size:15px; font-weight:700; color:var(--ink); }
.soldier-theme .woocommerce ul.products li.product .button { width:100%; justify-content:center; background:transparent; color:var(--ink); border:1px solid #b9bdb0; font-weight:600; }
.soldier-theme .woocommerce ul.products li.product .button:hover { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.soldier-theme .sa-product-series { font-size:10px; padding:6px 8px; top:10px; left:10px; background:rgba(34,42,36,.9); }

/* Single product */
.soldier-theme .woocommerce div.product .product_title { font-size:clamp(24px,2.4vw,36px); letter-spacing:-.015em; line-height:1.15; }
.soldier-theme .woocommerce div.product p.price,.soldier-theme .woocommerce div.product span.price { font-size:24px; font-weight:700; color:var(--ink); }
.soldier-theme .woocommerce div.product form.cart .variations { margin-bottom:12px; }
.soldier-theme .woocommerce div.product form.cart .variations th { text-align:left; font-size:13px; font-weight:600; padding:10px 14px 10px 0; vertical-align:middle; }
.soldier-theme .woocommerce div.product form.cart .variations select { width:100%; min-width:200px; }
.soldier-theme .woocommerce div.product form.cart .single_add_to_cart_button { background:var(--rust); border-color:var(--rust); color:#171b16; font-weight:700; padding:16px 28px; }
.soldier-theme .woocommerce div.product form.cart .single_add_to_cart_button:hover { background:var(--rust-hover); border-color:var(--rust-hover); }
.soldier-theme .woocommerce div.product .product_meta { font-size:13px; color:var(--muted); line-height:1.8; }
.soldier-theme .woocommerce div.product .woocommerce-tabs ul.tabs::before { border-color:var(--line); }

/* Headings inside pages, WooCommerce and prose stay proportionate */
.sa-page-content h2,.sa-prose h2,.soldier-theme .woocommerce h2,.soldier-theme .woocommerce-page h2 { font-size:clamp(24px,2.6vw,36px); letter-spacing:-.02em; line-height:1.15; margin:32px 0 14px; }
.sa-page-content h3,.soldier-theme .woocommerce h3 { font-size:20px; letter-spacing:-.01em; }
.sa-page-title,.woocommerce-products-header__title { font-size:clamp(30px,4vw,56px)!important; }
.sa-page-content ul,.sa-page-content ol { line-height:1.8; padding-left:1.2em; }

/* Existing store pages (block content made for the previous theme) */
.sa-eyebrow { font-family:var(--mono); font-size:11px; letter-spacing:.16em; text-transform:uppercase; color:var(--olive); margin:0 0 .6em; }
.sa-steps { gap:18px; }
.sa-steps .wp-block-column { background:#fff; border:1px solid var(--line); padding:24px; }
.sa-steps .sa-num { font:800 34px/1 var(--font); color:var(--rust); margin:0 0 10px; }
.sa-page-content .wp-block-button__link { background:var(--ink); color:var(--paper); border-radius:0; padding:15px 22px; font-weight:600; text-decoration:none; }
.sa-page-content .wp-block-button__link:hover { background:var(--olive); color:#fff; }
.sa-page-content .wp-block-group { margin-bottom:28px; }

/* Cart / checkout */
.soldier-theme .woocommerce-checkout h3,.soldier-theme .woocommerce-cart .cart_totals h2 { font-size:20px; }
.soldier-theme .woocommerce #payment #place_order,.soldier-theme .woocommerce-cart .wc-proceed-to-checkout a.checkout-button { background:var(--rust); border-color:var(--rust); color:#171b16; font-weight:700; font-size:15px; padding:18px 24px; }
.soldier-theme .woocommerce #payment #place_order:hover,.soldier-theme .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover { background:var(--rust-hover); border-color:var(--rust-hover); }
.soldier-theme .woocommerce ul#shipping_method li { margin-bottom:8px; line-height:1.5; }

@media (max-width:850px) {
  .soldier-theme .site-header { height:74px; }
  .soldier-theme .brand { font-size:21px; }
  .soldier-theme .brand-emblem { width:36px; height:36px; }
}
@media (max-width:540px) {
  .announcement { font-size:9px; letter-spacing:.1em; }
  .hero .eyebrow { font-size:9px; }
  .hero-copy>p { font-size:14px; }
  .hero-actions .button { font-size:13px; }
  .hero-actions .quiet-link { font-size:12px; }
  .hero-series-feature small { font-size:9px; }
  .hero-series-feature>span>span { font-size:11px; }
  .hero-bottom { font-size:9px; }
  .vertical-caption { font-size:8px; }
  .section-intro p,.collection-intro { font-size:14px; }
  .micro-label { font-size:9px; max-width:120px; }
  .series-card-meta strong { font-size:13px; }
  .series-card-meta small { font-size:11px; }
  .series-card-index { font-size:8px; }
  .series-endnote { font-size:9px; }
  .service-strip>div>span { font-size:10px; }
  .service-strip small { font-size:12px; }
  .identity-topline,.identity-baseline { font-size:9px; }
  .story-signature,.custom-techniques { font-size:10px; }
  .footer-bottom { font-size:9px; }
  .soldier-theme .sa-product-series { font-size:8px; padding:4px 6px; top:6px; left:6px; }
  .soldier-theme .woocommerce ul.products { gap:28px 12px; }
  .soldier-theme .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size:13px; }
  .soldier-theme .woocommerce ul.products li.product .price { font-size:14px; }
}

/* 1.3.0: very small phones (320px) - keep header within the screen */
html,body.soldier-theme { overflow-x:clip; }
@media (max-width:380px) {
  .soldier-theme .site-header { padding:0 4%; }
  .soldier-theme .brand { font-size:18px; gap:8px; }
  .soldier-theme .brand small { font-size:7px; letter-spacing:.3em; }
  .soldier-theme .brand-emblem { width:30px; height:30px; }
  .soldier-theme .header-actions { gap:2px; }
  .soldier-theme .sa-icon-link { min-width:34px; }
}
