/*
Theme Name: A12 Storefront Child
Description: WooCommerce storefront child theme with replaceable brand content.
Template: blocksy
Version: 0.3.5
Text Domain: a12-child
*/

:root { --a12-ink:#26342e; --a12-muted:#5d6860; --a12-cream:#f8f6f0; --a12-sage:#d9e2d7; --a12-line:#dcded6; --a12-rust:#a7644d; }
html { scroll-behavior:smooth; }
body { background:var(--a12-cream); color:var(--a12-ink); }
body, button, input, select, textarea { font-family: "Avenir Next", Avenir, "Helvetica Neue", sans-serif; }
h1,h2,h3 { color:var(--a12-ink); }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible { outline:3px solid #9b5b39; outline-offset:3px; }
.a12-home { overflow:hidden; }
.a12-demo-ribbon { text-align:center; padding:9px 16px; background:#30443a; color:#fff; font-size:11px; font-weight:700; letter-spacing:.16em; }
.a12-demo-ribbon span { padding:0 11px; }
.a12-kicker { margin:0 0 20px; color:#536653; font-size:11px; line-height:1.4; font-weight:800; letter-spacing:.22em; text-transform:uppercase; }
.a12-hero { min-height:610px; display:grid; grid-template-columns:47% 53%; background:#ecefe7; }
.a12-hero-copy { max-width:690px; display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:72px clamp(32px,7vw,122px); }
.a12-hero h1 { max-width:660px; margin:0 0 24px; font-family:Georgia, "Times New Roman", serif; font-size:clamp(48px,5.2vw,78px); font-weight:400; letter-spacing:-.055em; line-height:1.02; }
.a12-hero-lede { max-width:430px; margin:0; font-size:18px; line-height:1.65; color:#4c5a50; }
.a12-hero-actions { display:flex; flex-wrap:wrap; gap:22px; align-items:center; margin-top:36px; }
.a12-button { display:inline-flex; align-items:center; justify-content:space-between; gap:25px; min-height:52px; padding:13px 20px; text-decoration:none; font-size:13px; font-weight:800; letter-spacing:.025em; transition:transform .2s, background .2s; }
.a12-button:hover { transform:translateY(-2px); }
.a12-button-dark { background:var(--a12-ink); color:#fff; }
.a12-button-dark:hover, .a12-button-dark:focus { color:#fff; background:#17251e; }
.a12-button-light { background:#f7f4eb; color:var(--a12-ink); }
.a12-button-light:hover, .a12-button-light:focus { color:var(--a12-ink); background:#fff; }
.a12-text-link { border-bottom:1px solid currentColor; padding:4px 0; color:var(--a12-ink); font-size:13px; font-weight:800; text-decoration:none; }
.a12-text-link span { margin-left:10px; }
.a12-hero-photo, .a12-feature-image, .a12-trail-photo { position:relative; overflow:hidden; }
.a12-hero-photo img, .a12-feature-image img, .a12-trail-photo img { width:100%; height:100%; display:block; object-fit:cover; }
.a12-hero-photo img { object-position:58% center; }
.a12-image-note { position:absolute; right:14px; bottom:14px; padding:8px 10px; background:rgba(248,246,240,.91); color:#314035; font-size:9px; font-weight:800; letter-spacing:.08em; }
.a12-section { max-width:1440px; margin:auto; padding:110px clamp(24px,6vw,92px); }
.a12-section-heading { display:flex; justify-content:space-between; align-items:end; gap:40px; margin-bottom:38px; }
.a12-section-heading h2, .a12-feature h2, .a12-trail h2 { margin:0; font-family:Georgia, "Times New Roman", serif; font-size:clamp(43px,4.8vw,72px); font-weight:400; letter-spacing:-.055em; line-height:1.08; }
.a12-section-heading > p { max-width:390px; margin:0 0 5px; color:var(--a12-muted); font-size:15px; line-height:1.6; }
.a12-collection-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.a12-collection-card { display:flex; flex-direction:column; justify-content:space-between; min-height:390px; padding:30px; color:var(--a12-ink); text-decoration:none; transition:transform .2s, box-shadow .2s; }
.a12-collection-card:hover { transform:translateY(-4px); box-shadow:0 18px 30px rgba(36,50,40,.11); color:var(--a12-ink); }
.a12-tone-studio { background:linear-gradient(150deg,#d9e1d4,#edf0e7 68%,#cbd8cc); }
.a12-tone-yoga { background:linear-gradient(150deg,#e5d7cf,#f1e9e4 68%,#dec8be); }
.a12-tone-trail { background:linear-gradient(150deg,#d4d8c8,#e7eadb 68%,#bdc7b4); }
.a12-collection-number { font-size:12px; font-weight:800; letter-spacing:.18em; }
.a12-collection-bottom { display:flex; justify-content:space-between; align-items:end; gap:10px; }
.a12-collection-bottom strong { display:block; font-family:Georgia,serif; font-size:clamp(34px,3.6vw,53px); font-weight:400; letter-spacing:-.05em; line-height:1; }
.a12-collection-bottom small { display:block; margin-top:12px; font-size:13px; }
.a12-round-arrow { display:grid; place-items:center; flex:0 0 40px; width:40px; height:40px; border:1px solid currentColor; border-radius:50%; }
.a12-feature { display:grid; grid-template-columns:1fr 1fr; min-height:600px; background:#e9e6dc; }
.a12-feature-image img { max-height:680px; object-position:center 56%; }
.a12-feature-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:70px clamp(35px,8vw,130px); }
.a12-feature-copy p:not(.a12-kicker) { max-width:480px; margin:26px 0; line-height:1.75; color:var(--a12-muted); }
.a12-feature-copy ul { margin:0 0 27px; padding:0; list-style:none; width:min(100%,450px); }
.a12-feature-copy li { padding:13px 0; border-top:1px solid #c9cdc3; font-size:14px; }
.a12-feature-copy li:last-child { border-bottom:1px solid #c9cdc3; }
.a12-products { background:var(--a12-cream); }
.a12-product-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.a12-product-card { color:var(--a12-ink); text-decoration:none; }
.a12-product-card:hover { color:var(--a12-ink); }
.a12-product-visual { position:relative; display:block; aspect-ratio:4 / 5; overflow:hidden; background:#ebe8e1; }
.a12-product-visual img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .3s; }
.a12-product-card:hover img { transform:scale(1.035); }
.a12-product-visual em { position:absolute; top:16px; left:16px; padding:7px 9px; background:rgba(255,255,255,.9); font-size:10px; font-weight:800; font-style:normal; letter-spacing:.08em; }
.a12-product-title { display:flex; justify-content:space-between; gap:10px; margin:15px 0 4px; font-size:15px; font-weight:800; }
.a12-product-meta { font-size:12px; color:var(--a12-muted); }
.a12-trail { display:grid; grid-template-columns:1fr 1fr; min-height:610px; background:#30453a; color:#fff; }
.a12-trail-photo img { max-height:700px; object-position:center 65%; }
.a12-trail-copy { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:75px clamp(35px,8vw,130px); }
.a12-trail .a12-kicker, .a12-trail h2 { color:#fff; }
.a12-trail-copy p:not(.a12-kicker) { max-width:420px; margin:24px 0 30px; color:#e0e8db; line-height:1.7; }

/* WooCommerce catalog and product pages retain native cart/checkout behavior. */
.single-product .ct-container-full { padding-top:12px; }
.woocommerce .woocommerce-breadcrumb { margin:24px 0; color:var(--a12-muted); }
.woocommerce-archive .hero-section { height:180px; min-height:0; padding:20px; background:#e8eee5; }
.woocommerce-archive .ct-container-full { padding-top:24px; }
.woocommerce-archive .hero-section .entry-header::before { display:block; margin-bottom:14px; content:"THE MOVEMENT EDIT"; color:#667869; font-size:10px; font-weight:800; letter-spacing:.2em; }
.a12-demo-mode.woocommerce-archive .hero-section .entry-header::before { content:"THE MOVEMENT EDIT · LOCAL DEMO"; }
.woocommerce-archive .hero-section .page-title { font-family:Georgia,serif; font-size:clamp(42px,5vw,69px); font-weight:400; letter-spacing:-.05em; }
.woocommerce ul.products { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:26px; }
.woocommerce ul.products::before, .woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product { float:none; width:auto; margin:0; }
.woocommerce ul.products li.product a img { aspect-ratio:4 / 5; object-fit:cover; background:#eae7e0; }
.woocommerce ul.products li.product .woocommerce-loop-product__title { color:var(--a12-ink); font-size:17px; font-weight:700; }
.woocommerce ul.products li.product .price { color:var(--a12-muted); }
.woocommerce div.product .product_title { margin-bottom:8px; font-family:Georgia,serif; font-size:clamp(34px,3.3vw,48px); font-weight:400; letter-spacing:-.045em; line-height:1.08; }
.single-product.woocommerce div.product .summary > .price { margin-bottom:12px; }
.single-product.woocommerce div.product form.cart .variations { margin-bottom:8px; }
.single-product.woocommerce div.product form.cart .variations tr { margin-bottom:8px; }
.single-product.woocommerce div.product form.cart .variations .reset_variations { margin-top:2px; }
.single-product.woocommerce div.product form.cart .single_add_to_cart_button { background:#263e30 !important; color:#fff !important; }
.single-product.woocommerce div.product form.cart .single_add_to_cart_button:hover,
.single-product.woocommerce div.product form.cart .single_add_to_cart_button:focus { background:#172b20 !important; color:#fff !important; }
.woocommerce div.product .woocommerce-product-details__short-description, .woocommerce div.product .summary p { line-height:1.7; }
.a12-product-disclaimer { padding:6px 12px; margin:8px 0; border-left:3px solid var(--a12-rust); background:#f0ede5; font-size:12px; line-height:1.45; }
.a12-product-quickfacts { margin:7px 0; padding:4px 0; border-block:1px solid var(--a12-line); font-size:12px; line-height:1.4; }
.a12-product-quickfacts p { margin:0 0 3px; }
.a12-product-quickfacts strong { margin-right:7px; }
.a12-product-quickfacts a { display:inline-block; margin-right:20px; color:#274535; text-decoration:underline; }
.a12-product-details { clear:both; padding:48px 0 42px; }
.a12-product-details-heading h2 { margin:0 0 24px; font-family:Georgia,serif; font-size:clamp(31px,3vw,43px); font-weight:400; letter-spacing:-.04em; }
.a12-product-details-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.a12-product-details-grid article { min-height:155px; padding:22px; background:#e9eee5; }
.a12-product-details-grid h3 { margin:0 0 10px; font-size:17px; }
.a12-product-details-grid p { margin:0; color:var(--a12-muted); font-size:14px; line-height:1.6; }
.a12-product-details-grid a { color:#274535; text-decoration:underline; }
.a12-catalog-note { padding:12px 15px; margin:0 0 24px; background:#e5ebdf; font-size:13px; }
.a12-category-guide { max-width:760px; margin:0 0 24px; padding-left:15px; border-left:3px solid #788e76; color:var(--a12-muted); line-height:1.6; }
.a12-buying-guide { margin:16px 0; padding:14px 16px; background:#e5ebdf; font-size:13px; line-height:1.5; }
.a12-buying-guide p { margin:5px 0 0; }
.a12-buying-guide a { color:#274535; text-decoration:underline; }
.a12-checkout-note { padding:14px 17px; margin:0 0 22px; background:#e5ebdf; color:var(--a12-ink); font-size:13px; line-height:1.55; }
.a12-checkout-note a { color:#274535; text-decoration:underline; }
.wc-block-checkout.is-mobile .wc-block-components-checkout-step { margin-bottom:12px; }
.wc-block-checkout.is-mobile .wc-block-checkout__sidebar { margin-bottom:10px; }
.wp-block-woocommerce-checkout:has(.wc-block-checkout.is-mobile) { padding-top:12px; }
.wc-block-cart__submit-button, .wc-block-components-checkout-place-order-button { background:#263e30 !important; color:#fff !important; }
.wc-block-cart__submit-button:hover, .wc-block-components-checkout-place-order-button:hover { background:#172b20 !important; }
.a12-footer-bar { display:flex; justify-content:space-between; gap:35px; padding:55px clamp(24px,6vw,92px); background:#e6ebe2; color:var(--a12-ink); }
.a12-footer-name { font-family:Georgia,serif; font-size:31px; letter-spacing:-.04em; }
.a12-footer-bar p { margin:10px 0 0; max-width:310px; color:var(--a12-muted); font-size:13px; }
.a12-footer-bar nav { display:flex; flex-wrap:wrap; justify-content:flex-end; align-content:center; gap:13px 22px; max-width:600px; }
.a12-footer-bar a { color:var(--a12-ink); font-size:12px; font-weight:700; text-decoration:none; border-bottom:1px solid currentColor; }
.a12-editorial-hero { display:grid; grid-template-columns:1fr 1fr; min-height:620px; background:#e6ebe2; }
.a12-editorial-hero > div { display:flex; flex-direction:column; align-items:flex-start; justify-content:center; padding:70px clamp(30px,7vw,120px); }
.a12-editorial-hero h1, .a12-editorial-heading h1 { margin:0 0 25px; font-family:Georgia,serif; font-size:clamp(55px,6vw,92px); font-weight:400; letter-spacing:-.06em; line-height:1.02; }
.a12-editorial-hero p:not(.a12-kicker), .a12-editorial-heading > p:not(.a12-kicker) { max-width:510px; color:var(--a12-muted); font-size:17px; line-height:1.7; }
.a12-editorial-hero img { width:100%; height:100%; max-height:760px; object-fit:cover; }
.a12-editorial-tag { margin-top:18px; font-size:10px; font-weight:800; letter-spacing:.13em; }
.a12-editorial-body { max-width:900px; margin:auto; padding:100px 25px; }
.a12-editorial-body h2 { font-family:Georgia,serif; font-size:clamp(42px,5vw,66px); font-weight:400; letter-spacing:-.05em; }
.a12-editorial-body > p:not(.a12-kicker) { max-width:680px; color:var(--a12-muted); line-height:1.7; }
.a12-editorial-body .a12-button { margin-top:20px; }
.a12-editorial-heading { padding:100px 25px 65px; text-align:center; background:#e6ebe2; }
.a12-editorial-heading h1, .a12-editorial-heading > p { margin-left:auto; margin-right:auto; }
.a12-faq-list { max-width:900px; padding:70px 25px 110px; margin:auto; }
.a12-faq-list details { border-bottom:1px solid var(--a12-line); }
.a12-faq-list summary { padding:23px 8px; font-size:18px; font-weight:700; cursor:pointer; }
.a12-faq-list details p { max-width:710px; padding:0 8px 24px; margin:0; color:var(--a12-muted); line-height:1.65; }

@media (max-width:900px) {
  .a12-hero { grid-template-columns:1fr; }
  .a12-hero-copy { min-height:430px; padding:55px 28px; }
  .a12-hero-photo { height:440px; }
  .a12-section { padding:75px 25px; }
  .a12-section-heading { align-items:start; flex-direction:column; gap:18px; }
  .a12-collection-card { min-height:320px; padding:22px; }
  .a12-feature-copy, .a12-trail-copy { padding:55px 32px; }
}
@media (max-width:650px) {
  .a12-demo-ribbon { font-size:9px; letter-spacing:.08em; }
  .a12-hero h1 { font-size:clamp(42px,11vw,52px); }
  .a12-hero-lede { font-size:16px; }
  .a12-hero-photo { height:320px; }
  .a12-collection-grid, .a12-product-grid, .woocommerce ul.products { grid-template-columns:1fr; }
  .a12-collection-card { min-height:205px; }
  .a12-feature, .a12-trail { grid-template-columns:1fr; }
  .a12-feature-image, .a12-trail-photo { height:360px; }
  .a12-trail-copy { min-height:360px; }
  .a12-section { padding:66px 21px; }
  .a12-section-heading h2, .a12-feature h2, .a12-trail h2 { font-size:44px; }
  .a12-product-grid { gap:36px; }
  .a12-footer-bar { flex-direction:column; padding:42px 24px; }
  .a12-footer-bar nav { justify-content:flex-start; }
  .a12-editorial-hero { grid-template-columns:1fr; }
  .a12-editorial-hero > div { padding:70px 28px; }
  .a12-editorial-hero img { height:370px; }
  .a12-editorial-heading { padding:75px 25px 50px; }
  .woocommerce-archive .hero-section { height:135px; min-height:0; padding:12px 20px; }
  .woocommerce-archive .hero-section .page-title { font-size:37px; }
  .woocommerce-archive .ct-container-full { padding-top:18px; }
  .woocommerce div.product .woocommerce-product-gallery img { max-height:180px; width:100%; object-fit:contain; }
  .woocommerce div.product .product_title { font-size:30px; line-height:1.08; }
  .woocommerce div.product .a12-product-disclaimer { margin:10px 0; padding:8px 11px; font-size:11px; }
  .woocommerce div.product .a12-product-quickfacts { margin:9px 0; padding:8px 0; }
  .woocommerce div.product .woocommerce-product-details__short-description { font-size:14px; }
  .a12-product-details { padding:34px 0; }
  .a12-product-details-grid { grid-template-columns:1fr; }
  .a12-product-details-grid article { min-height:0; padding:18px; }
  #offcanvas .ct-panel-inner { background-color:#17201b !important; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } .a12-button, .a12-product-visual img, .a12-collection-card { transition:none; } }
