/* Regular pages (cart, checkout, account, policies) in the design's typography. */
.ca-page-main{max-width:1180px;margin:0 auto;padding:56px 40px 96px}
.ca-page-head{padding-bottom:32px;margin-bottom:40px;border-bottom:1px solid var(--line)}
.ca-page-head h1{font-size:clamp(34px,5vw,56px);line-height:1;letter-spacing:-.03em;font-weight:400}
.ca-page-body{font-size:15px;line-height:1.65}
.ca-page-body h2{font-size:24px;font-weight:400;letter-spacing:-.01em;margin:40px 0 12px}
.ca-page-body h3{font-size:17px;font-weight:600;margin:28px 0 8px}
.ca-page-body p,.ca-page-body ul,.ca-page-body ol{margin:0 0 14px;max-width:72ch}
.ca-page-body ul,.ca-page-body ol{padding-left:20px}
.ca-page-body a{border-bottom:1px solid currentColor}
@media (max-width:760px){.ca-page-main{padding:36px 16px 72px}}

/* WooCommerce pages in the design language */
.ca-page .woocommerce{font-size:14px}
.ca-page .woocommerce a{border-bottom:0}
.ca-page .woocommerce :is(input.input-text,select,textarea){width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:#fff;font:inherit;color:var(--ink)}
.ca-page .woocommerce :is(input.input-text,select,textarea):focus{outline:2px solid var(--ink);outline-offset:1px}
.ca-page .woocommerce form .form-row label{font-size:12px;color:var(--muted);margin-bottom:6px}
.ca-page .woocommerce :is(.button,button.button,input.button,#place_order){background:var(--ink);color:var(--paper);border:1px solid var(--ink);border-radius:50px;padding:15px 26px;font:inherit;font-size:13px;font-weight:500;letter-spacing:.02em}
.ca-page .woocommerce :is(.button,button.button,input.button,#place_order):hover{background:transparent;color:var(--ink)}
.ca-page .woocommerce #place_order{width:100%;padding:18px 26px}
.ca-page .woocommerce table.shop_table{border:1px solid var(--line);border-radius:14px;border-collapse:separate;overflow:hidden;background:#fff}
.ca-page .woocommerce table.shop_table :is(th,td){border-color:var(--line);padding:14px 16px}
.ca-page .woocommerce-checkout #payment{background:#fff;border:1px solid var(--line);border-radius:14px}
.ca-page .woocommerce-checkout #payment div.payment_box{background:var(--paper)}
.ca-page .woocommerce-checkout #payment div.payment_box::before{border-bottom-color:var(--paper)}
.ca-page .woocommerce :is(.woocommerce-info,.woocommerce-message,.woocommerce-error){border-top-color:var(--ink);background:#fff;border-radius:10px}
.ca-page .woocommerce .woocommerce-info::before,.ca-page .woocommerce .woocommerce-message::before{color:var(--ink)}
.ca-page .woocommerce-checkout h3{font-size:22px;font-weight:400;letter-spacing:-.01em;margin:30px 0 14px}
.ca-page .woocommerce-MyAccount-navigation ul{list-style:none;padding:0;border-top:1px solid var(--line)}
.ca-page .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--line)}
.ca-page .woocommerce-MyAccount-navigation a{display:block;padding:12px 0}
.ca-page .woocommerce-MyAccount-navigation .is-active a{font-weight:600}

/* FFL picker */
.ca-ffl{margin:34px 0 10px;padding:24px;border:1px solid var(--line);border-radius:16px;background:#fff}
.ca-ffl h3{margin-top:0!important}
.ca-ffl-intro{color:var(--muted);font-size:13px;line-height:1.55;margin:0 0 16px}
.ca-ffl-search{display:grid;grid-template-columns:auto minmax(0,1fr) 110px auto;gap:10px;align-items:center}
.ca-ffl-search label{font-size:12px;color:var(--muted)}
.ca-ffl-search input{max-width:none}
.ca-ffl-results ul{list-style:none;margin:16px 0 0;padding:0;display:grid;gap:8px;max-height:360px;overflow:auto}
.ca-ffl-option{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;padding:12px 14px;border:1px solid var(--line);border-radius:12px;cursor:pointer}
.ca-ffl-option input{grid-row:span 3;margin-top:4px}
.ca-ffl-option.is-selected{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink)}
.ca-ffl-name{font-weight:600}
.ca-ffl-name em{font-style:normal;font-weight:500;font-size:10px;letter-spacing:.12em;text-transform:uppercase;background:var(--acid);padding:2px 7px;border-radius:20px;margin-left:6px}
.ca-ffl-addr,.ca-ffl-meta{font-size:12px;color:var(--muted)}
.ca-ffl-count,.ca-ffl-empty,.ca-ffl-loading{font-size:12px;color:var(--muted);margin:14px 0 0}
.ca-ffl-chosen{margin:14px 0;padding:10px 14px;border-radius:10px;background:var(--acid);font-size:13px}
.ca-ffl-manual{margin-top:6px}
.ca-age-confirm{margin:14px 0 18px;font-size:13px;line-height:1.5}
.ca-state-notice{font-size:13px}
.ca-merchant-note{margin:0 0 12px;font-size:13px;line-height:1.5}
@media (max-width:640px){.ca-ffl{padding:18px}.ca-ffl-search{grid-template-columns:1fr 1fr}.ca-ffl-search label{display:none}.ca-ffl-search .ca-ffl-find{grid-column:span 2}}

/* In-store pickup */
.ca-ffl-pickup{margin:0 0 6px;background:var(--paper)}
.ca-ffl-or{margin:18px 0 10px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--muted)}
.ca-ffl-search input{min-height:44px}
/* About page: lead paragraph and fact boxes */
.ca-page-body .ca-lead{font-size:18px;line-height:1.55;max-width:64ch}
.ca-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:28px 0 8px;max-width:960px}
.ca-facts>div{border:1px solid var(--line);border-radius:14px;padding:18px 20px;background:#fff}
.ca-page-body .ca-facts h3{margin:0 0 6px;font-size:15px}
.ca-page-body .ca-facts p{margin:0;font-size:14px;color:var(--muted)}
@media (max-width:760px){.ca-facts{grid-template-columns:1fr}}
/* FAQ: native details/summary accordion. */
.ca-faq{max-width:72ch;border-bottom:1px solid var(--line)}
.ca-faq summary{display:flex;justify-content:space-between;gap:16px;padding:16px 0;cursor:pointer;font-size:16px;list-style:none}
.ca-faq summary::-webkit-details-marker{display:none}
.ca-faq summary::after{content:"+";flex:none;font-size:20px;line-height:1;color:var(--muted)}
.ca-faq[open] summary::after{content:"−"}
.ca-faq summary:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.ca-faq > :not(summary){margin-bottom:16px}
.ca-page-body h2 + .ca-faq{border-top:1px solid var(--line)}
/* Coming soon page (coming-soon.php). */
.ca-soon-body{background:#111814;color:#d7dfd1}
.ca-soon{min-height:100vh;max-width:1180px;margin:0 auto;padding:40px 40px 32px;display:flex;flex-direction:column;gap:56px}
.ca-soon a{color:inherit}
.ca-soon-mark{font-size:21px}
.ca-soon-hero{flex:1;display:flex;flex-direction:column;justify-content:center;max-width:760px}
.ca-soon-hero .eyebrow{font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#9aa994}
.ca-soon-hero h1{font-size:clamp(40px,7vw,84px);line-height:.98;letter-spacing:-.045em;font-weight:400;margin:18px 0 22px}
.ca-soon-lead{font-size:17px;line-height:1.55;max-width:46ch;margin:0}
.ca-soon-form{max-width:480px;margin-top:30px}
.ca-soon-form .ca-subscribe-row input[type=email]{background:transparent;border-color:#6d7c66;color:inherit}
.ca-soon-form .ca-subscribe-row input[type=email]::placeholder{color:#9aa994}
.ca-soon-form .ca-subscribe-row button{background:var(--acid);color:var(--dark);border-color:var(--acid);font-weight:500}
.ca-soon-form .ca-subscribe-row button:hover{background:transparent;color:var(--acid)}
.ca-soon-form .ca-subscribe-msg{color:inherit;opacity:.8}
.ca-soon-fine{font-size:12px;color:#9aa994;margin:4px 0 0}
.ca-soon-fine a,.ca-soon-contact a{border-bottom:1px solid currentColor}
.ca-soon :focus-visible{outline:2px solid var(--acid);outline-offset:2px}
.ca-soon-contact{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding-top:28px;border-top:1px solid #40513c;font-size:14px;line-height:1.6}
.ca-soon-contact h2{font-size:11px;letter-spacing:.14em;text-transform:uppercase;font-weight:500;color:#9aa994;margin:0 0 8px}
.ca-soon-contact p{margin:0}
.ca-soon-links{color:#9aa994}
@media (max-width:760px){.ca-soon{padding:28px 16px 24px;gap:40px}.ca-soon-contact{grid-template-columns:1fr}.ca-soon-form .ca-subscribe-row{flex-direction:column}}
