/*
Theme Name: TeeMakersLane Child
Theme URI: https://teemakerslane.com/
Description: Production-ready Astra child theme for TeeMakersLane apparel stores.
Author: TeeMakersLane
Template: astra
Version: 1.0.3
Requires at least: 6.6
Requires PHP: 7.4
Text Domain: teemakerslane-child
*/

.tml-virtual-article { background: #f7f5f0; padding: clamp(3rem, 8vw, 7rem) 1.25rem; }
.tml-page-inner { max-width: 760px; margin: 0 auto; }
.tml-virtual-article h1 { margin: 0 0 1.25rem; font-family: Montserrat, sans-serif; color: #111; }
.tml-virtual-article p { margin: 0; font-size: 1.0625rem; line-height: 1.75; color: #333; }

:root { --tml-ink:#111111; --tml-paper:#f7f5f0; --tml-accent:#c95c35; --tml-line:#dedbd4; }
body { background:var(--tml-paper); color:var(--tml-ink); }
.tml-announcement { background:var(--tml-ink); color:#fff; font-size:.75rem; letter-spacing:.12em; padding:.65rem 1rem; text-align:center; text-transform:uppercase; }
.tml-hero { align-items:center; background:radial-gradient(circle at 78% 34%,#343331 0,#171716 33%,var(--tml-ink) 72%); color:#fff; display:grid; min-height:min(78vh,720px); overflow:hidden; position:relative; }
.tml-hero__media { height:100%; inset:0; object-fit:cover; opacity:.58; position:absolute; width:100%; }
.tml-hero__content { margin-inline:auto; max-width:1200px; padding:8rem 1.5rem 7rem; position:relative; width:100%; z-index:1; }
.tml-hero__content:before { background:var(--tml-accent); content:""; height:3px; left:1.5rem; position:absolute; top:4.5rem; width:48px; }
.tml-hero__eyebrow { align-items:center; display:flex; gap:1.25rem; }
.tml-hero__season { color:#a7a49e; font-size:.65rem; font-weight:700; letter-spacing:.18em; }
.tml-hero__grain { background-image:linear-gradient(115deg,transparent 45%,rgba(255,255,255,.045) 45%,transparent 46%),linear-gradient(25deg,transparent 60%,rgba(255,255,255,.035) 60%,transparent 61%); inset:0; opacity:.45; pointer-events:none; position:absolute; }
.tml-kicker { color:var(--tml-accent); font-size:.75rem; font-weight:700; letter-spacing:.16em; text-transform:uppercase; }
.tml-hero h1 { color:#fff; font-family:Montserrat, sans-serif; font-size:clamp(2.8rem,7vw,6.8rem); letter-spacing:-.05em; line-height:.95; margin:.7rem 0 1.5rem; max-width:760px; }
.tml-hero p { font-size:1.1rem; max-width:34rem; }
.tml-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:2rem; }
.tml-button { align-items:center; background:var(--tml-accent); border:1px solid var(--tml-accent); color:#fff; display:inline-flex; font-weight:700; gap:.9rem; padding:1rem 1.3rem; text-decoration:none; transition:transform .2s ease,background .2s ease; }
.tml-button:hover { background:#df7046; color:#fff; transform:translateY(-2px); }
.tml-button--light { background:#fff; border-color:#fff; color:var(--tml-ink); }
.tml-button--light:hover { background:#f1eee8; color:var(--tml-ink); }
.tml-hero__stamp { bottom:2rem; color:#85827c; display:flex; flex-direction:column; font-size:.58rem; font-weight:700; letter-spacing:.2em; line-height:1.7; position:absolute; right:1.5rem; text-align:right; z-index:1; }
.tml-hero__note { bottom:2rem; color:#aaa7a0; font-size:.7rem; left:1.5rem; letter-spacing:.08em; position:absolute; z-index:1; }
.tml-section { margin-inline:auto; max-width:1200px; padding:5rem 1.5rem; }
.tml-section__heading { align-items:end; display:flex; gap:1rem; justify-content:space-between; margin-bottom:2rem; }
.tml-section h2 { font-family:Montserrat, sans-serif; font-size:clamp(2rem,4vw,3.5rem); letter-spacing:-.04em; margin:0; }
.tml-grid { display:grid; gap:1rem; grid-template-columns:repeat(4,minmax(0,1fr)); }
.tml-card { background:#fff; border:1px solid var(--tml-line); color:inherit; display:flex; flex-direction:column; min-width:0; text-decoration:none; }
.tml-card img { aspect-ratio:1; object-fit:cover; width:100%; }
.tml-card__body { padding:1rem; }
.tml-card h3 { font-family:Montserrat, sans-serif; font-size:1rem; margin:0 0 .35rem; }
.tml-card p { color:#625f59; font-size:.9rem; margin:0; }
.tml-trust { background:#ebe7de; display:grid; gap:1rem; grid-template-columns:repeat(4,1fr); padding:1.5rem; }
.tml-trust strong,.tml-trust span { display:block; }
.tml-trust strong { font-family:Montserrat, sans-serif; font-size:.9rem; }
.tml-trust span { color:#625f59; font-size:.78rem; margin-top:.3rem; }
.tml-newsletter { background:#eee6d8; color:var(--tml-ink); padding:clamp(3.5rem,7vw,6rem) 1.5rem; text-align:center; }
.tml-newsletter h2 { color:var(--tml-ink); font-family:Montserrat, sans-serif; font-size:clamp(2rem,4vw,3.25rem); margin:.55rem 0 .7rem; }
.tml-newsletter p { color:#625f59; margin:0 auto; max-width:34rem; }
.tml-newsletter form { display:flex; gap:.5rem; justify-content:center; margin:1.5rem auto 0; max-width:560px; }
.tml-newsletter input { border:0; min-width:0; padding:.95rem; width:100%; }
.tml-newsletter button { background:var(--tml-accent); border:1px solid var(--tml-accent); color:#fff; font-weight:700; padding:.95rem 1.35rem; }
@media (max-width:900px) { .tml-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .tml-trust { grid-template-columns:repeat(2,1fr); } }
@media (max-width:600px) { .tml-hero { min-height:680px; } .tml-hero__content { padding:7rem 1.25rem 6rem; } .tml-hero__content:before { left:1.25rem; top:3.75rem; } .tml-hero__season { display:none; } .tml-hero h1 { font-size:clamp(3rem,15vw,5rem); } .tml-hero__stamp { bottom:1.25rem; right:1.25rem; } .tml-hero__note { bottom:1.25rem; left:1.25rem; max-width:10rem; } .tml-section { padding:3.5rem 1.25rem; } .tml-grid { grid-template-columns:1fr 1fr; } .tml-trust { grid-template-columns:1fr 1fr; } .tml-newsletter form { align-items:stretch; flex-direction:column; } }
@media(max-width:600px){html,body{max-width:100%;overflow-x:hidden}body{font-size:16px}.site-header .ast-container{gap:.25rem;padding-inline:.75rem}.site-branding{max-width:45%}.site-branding img,.site-title{max-height:42px;object-fit:contain}.woocommerce ul.products{display:grid;gap:.65rem;grid-template-columns:repeat(2,minmax(0,1fr))}.woocommerce ul.products:before,.woocommerce ul.products:after{display:none}.woocommerce ul.products li.product{margin:0;width:auto}.woocommerce ul.products li.product a img{aspect-ratio:1;object-fit:cover}.woocommerce ul.products li.product .button{font-size:.8rem;min-height:44px;padding:.65rem .4rem}.woocommerce form .form-row input.input-text,.woocommerce form .form-row select,.woocommerce form .form-row textarea{font-size:16px;min-height:48px}.woocommerce-checkout .col2-set .col-1,.woocommerce-checkout .col2-set .col-2{float:none;width:100%}.woocommerce-cart .cart-collaterals,.woocommerce-checkout #customer_details,.woocommerce-checkout .woocommerce-checkout-review-order{width:100%}}
