/* True Standard — WordPress, WooCommerce and WPForms styles, built on the tokens in site.css. */

/* ---------- Accessibility & WordPress basics ---------- */
.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;height:auto;width:auto;z-index:100;top:8px;left:8px;background:var(--ink);color:var(--ground);padding:10px 16px;border-radius:999px;text-decoration:none}
header.nav{top:var(--wp-admin--admin-bar--height,0px)}
@media (max-width:600px){.admin-bar header.nav{top:0}}
.announce a{color:inherit;text-decoration:none}
.announce a:hover{color:var(--bar-ink)}
.custom-logo-link{display:inline-flex;align-items:center}
.custom-logo{max-height:40px;width:auto;height:auto}
.footer-bottom .custom-logo-link{margin-right:auto}
.ts-admin-note{margin:0;padding:14px 16px;border:1px dashed var(--gold);border-radius:4px;font-size:14px;color:var(--ink-2);background:var(--surface)}
.site-footer .ts-admin-note{background:var(--bar-2);color:var(--bar-ink-2);border-color:var(--bar-accent)}
.empty-shop{color:var(--ink-2);margin:0}

/* ---------- Product cards (additions for live products) ---------- */
.card .img{text-decoration:none}
/* Product photos are cut-out garments on transparency, shown like the drawn mockups */
.card .img img,.pd-img img{width:88%;height:88%;object-fit:contain;display:block;filter:drop-shadow(0 12px 16px var(--shirt-shadow));transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.card:hover .img img{transform:translateY(-4px) rotate(-1.5deg)}
.card h3 a{text-decoration:none;color:inherit}
.card h3 a:hover{color:var(--gold)}
.size[disabled]{opacity:.35;text-decoration:line-through;cursor:not-allowed}
.hint:empty{display:none}
.hint{margin:-6px 0 0;min-height:0}
.piece img{display:block;width:100%;height:auto;filter:drop-shadow(0 18px 22px var(--shirt-shadow));transition:transform .5s cubic-bezier(.2,.7,.2,1)}
.piece:hover img,.piece:focus-visible img{transform:translateY(-8px)}
.drawer.busy .items,.drawer.busy footer{opacity:.55;pointer-events:none}
.item .thumb img{width:100%;height:100%;object-fit:cover;border-radius:3px}
.item b{font-weight:600}

/* ---------- Product page ---------- */
.pd-section{padding-block:clamp(32px,5vw,64px) clamp(56px,8vw,96px)}
.pd{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:clamp(24px,4vw,56px);align-items:start}
@media (max-width:860px){.pd{grid-template-columns:1fr}}
.pd-media{position:sticky;top:calc(var(--wp-admin--admin-bar--height,0px) + 88px)}
@media (max-width:860px){.pd-media{position:static}}
.pd-img{position:relative;background:var(--panel);border-radius:4px;aspect-ratio:1/1;display:grid;place-items:center;overflow:hidden}
.pd-img svg{width:78%;height:auto;filter:drop-shadow(0 18px 24px var(--shirt-shadow))}
.pd-info [data-slot="buy"]{display:flex;flex-direction:column;gap:16px}
.pd-title{font-size:clamp(44px,5.5vw,72px)}
.pd-price{font-size:18px}
.pd-label{font-size:13px;font-weight:600;margin:4px 0 -8px}
.pd-label span{font-weight:400;color:var(--ink-2)}
.pd .desc{margin:0;color:var(--ink-2);font-size:15px}
.pd .desc .verse{color:var(--ink);font-size:20px}
.pd .add{margin-top:4px}
.pd-desc{margin-top:28px;color:var(--ink-2)}
.pd-guide{padding:0;margin-top:28px}
.pd-guide summary h3{font-size:26px}

/* ---------- Pages, posts, archives ---------- */
.page-main{padding-block:clamp(40px,6vw,80px) clamp(56px,8vw,104px);min-height:50vh}
.wrap.is-narrow{max-width:820px}
.page-head{margin-bottom:clamp(24px,4vw,40px)}
.page-head .eyebrow{margin:0 0 12px}
.page-title{font-size:clamp(44px,6vw,80px)}
.page-intro{color:var(--ink-2);font-size:18px;max-width:56ch;margin:16px 0 0}
.page-main .ctas{display:flex;flex-wrap:wrap;gap:12px}
.entry-thumb{margin:0 0 32px}
.entry-thumb img{width:100%;height:auto;border-radius:4px}

.entry-content{font-size:17px;line-height:1.7}
.entry-content > *{margin-block:0 1.1em}
.entry-content > :last-child{margin-bottom:0}
.entry-content h2{font-size:clamp(32px,4vw,44px);margin:1.4em 0 .5em}
.entry-content h3{font-size:clamp(24px,3vw,30px);margin:1.3em 0 .4em}
.entry-content h4{font-family:var(--body);font-size:17px;font-weight:700;margin:1.2em 0 .3em}
.entry-content a{color:var(--ink);text-decoration-color:var(--gold);text-underline-offset:3px}
.entry-content a:hover{color:var(--gold)}
.entry-content ul,.entry-content ol{padding-left:1.3em}
.entry-content li{margin-bottom:.35em}
.entry-content blockquote{margin-inline:0;padding-left:20px;border-left:2px solid var(--gold);font-family:var(--serif);font-style:italic;font-size:22px;line-height:1.4}
.entry-content hr{border:0;border-top:1px solid var(--line);margin:2em 0}
.entry-content img{height:auto;border-radius:4px}
.entry-content .wp-block-button__link{border-radius:999px;background:var(--ink);color:var(--ground);font-weight:700;font-size:15px;padding:14px 24px;text-decoration:none}
.entry-content .wp-block-button__link:hover{background:var(--gold);color:var(--gold-ink)}
.entry-content .wp-block-details{border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:16px;margin:0}
.entry-content .wp-block-details + .wp-block-details{border-top:0}
.entry-content .wp-block-details summary{font-weight:700;cursor:pointer}
.entry-content .wp-block-details[open] summary{margin-bottom:10px}

/* Tables (editor content and size charts) use the size-guide style */
.wp-block-table{margin:0;overflow-x:auto}
.wp-block-table table{border-collapse:collapse;width:100%}
.wp-block-table thead{border-bottom:0}
.wp-block-table th,.wp-block-table td{border:0;border-bottom:1px solid var(--line);padding:10px 12px;text-align:left}
.wp-block-table figcaption{font-size:13px;color:var(--ink-2)}

.entry-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:32px 24px}
@media (max-width:900px){.entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:520px){.entry-grid{grid-template-columns:1fr}}
.entry-card{display:flex;flex-direction:column;gap:10px;border-top:1px solid var(--line);padding-top:18px}
.entry-card .eyebrow{margin:0}
.entry-card-img img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:4px}
.entry-card-title{font-size:30px;line-height:1}
.entry-card-title a{text-decoration:none}
.entry-card-title a:hover{color:var(--gold)}
.entry-card p{margin:0;color:var(--ink-2);font-size:15px}
.nav-links{display:flex;gap:8px;margin-top:40px;font-family:var(--mono);font-size:13px}
.nav-links .page-numbers{border:1px solid var(--line);border-radius:3px;padding:6px 12px;text-decoration:none}
.nav-links .page-numbers.current{background:var(--ink);color:var(--ground);border-color:var(--ink)}

/* ---------- WPForms: match the original form design ---------- */
.ts-form .wpforms-container{margin:0!important;max-width:none!important}
.ts-nominate .wpforms-container .wpforms-form,.ts-contact .wpforms-container .wpforms-form{display:grid!important;gap:14px!important;background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:4px!important;padding:clamp(18px,3vw,28px)!important}
.ts-form .wpforms-form .wpforms-field-container{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ts-form .wpforms-form .wpforms-field{padding:0!important;margin:0!important;display:grid;gap:6px;overflow:visible!important}
.ts-form .wpforms-form .wpforms-field-textarea,.ts-form .wpforms-form .wpforms-field.ts-full{grid-column:1/-1}
@media (max-width:520px){.ts-form .wpforms-form .wpforms-field-container{grid-template-columns:1fr}}
.ts-form .wpforms-form .wpforms-field-label{font-family:var(--body)!important;font-size:13px!important;font-weight:600!important;color:var(--ink)!important;margin:0!important;padding:0!important;line-height:1.55!important}
.ts-form .wpforms-form .wpforms-required-label{display:none!important}
.ts-form .wpforms-form input[type=text],.ts-form .wpforms-form input[type=email],.ts-form .wpforms-form input[type=tel],.ts-form .wpforms-form input[type=url],.ts-form .wpforms-form textarea,.ts-form .wpforms-form select{
  width:100%!important;max-width:100%!important;height:auto!important;margin:0!important;font:inherit!important;font-size:15px!important;font-weight:600!important;line-height:1.55!important;
  color:var(--ink)!important;background:var(--ground)!important;border:1px solid var(--line)!important;border-radius:3px!important;padding:11px 12px!important;box-shadow:none!important}
.ts-form .wpforms-form textarea{min-height:96px!important;resize:vertical}
.ts-form .wpforms-form input:focus,.ts-form .wpforms-form textarea:focus{outline:2px solid var(--gold)!important;outline-offset:0;border-color:transparent!important}
.ts-form .wpforms-form .wpforms-error,.ts-form .wpforms-form em.wpforms-error{font-style:normal!important;font-size:12px!important;color:#B3261E!important;padding:0!important;margin:2px 0 0!important}
.ts-form .wpforms-form .wpforms-submit-container{padding:0!important;margin:0!important;display:grid;gap:14px;justify-items:start}
.ts-form .wpforms-form button.wpforms-submit,.ts-form .wpforms-form .wpforms-submit{
  display:inline-flex!important;align-items:center;gap:10px;height:auto!important;border-radius:999px!important;padding:14px 24px!important;margin:0!important;
  font-family:var(--body)!important;font-weight:700!important;font-size:15px!important;line-height:1.55!important;
  background:var(--ink)!important;color:var(--ground)!important;border:1.5px solid var(--ink)!important;box-shadow:none!important;cursor:pointer}
.ts-form .wpforms-form .wpforms-submit:hover{background:var(--gold)!important;border-color:var(--gold)!important;color:var(--gold-ink)!important}
.ts-form .wpforms-form .form-note{grid-column:1/-1;font-size:13px!important;line-height:1.55!important;color:var(--ink-2)!important;margin:0!important}
.ts-form .wpforms-confirmation-container-full,.ts-form .wpforms-confirmation-container{background:none!important;border:0!important;padding:0!important;margin:0!important;color:var(--ink)!important;font-weight:600;font-size:15px}
.ts-nominate .wpforms-confirmation-container-full,.ts-contact .wpforms-confirmation-container-full{background:var(--surface)!important;border:1px solid var(--line)!important;border-radius:4px!important;padding:clamp(18px,3vw,28px)!important;color:color-mix(in srgb,var(--gold) 75%,var(--ink))!important}
.ts-form .wpforms-confirmation-container-full p{margin:0}

/* Newsletter signup in the footer: input and button joined in one row */
.ts-newsletter .wpforms-form{display:flex!important;gap:14px;align-items:stretch;max-width:420px;background:none!important;border:0!important;padding:0!important}
.ts-newsletter .wpforms-form .wpforms-field-container{display:block;flex:1;min-width:0}
.ts-newsletter .wpforms-form .wpforms-field-label{position:absolute!important;left:-9999px}
.ts-newsletter .wpforms-form input[type=email]{background:var(--bar-2)!important;border:1px solid var(--bar-line)!important;border-right:0!important;border-radius:3px 0 0 3px!important;color:var(--bar-ink)!important;font-weight:400!important;padding:12px 14px!important}
.ts-newsletter .wpforms-form input[type=email]::placeholder{color:var(--bar-ink-2)!important;opacity:1}
.ts-newsletter .wpforms-form input[type=email]:focus{outline:2px solid var(--bar-accent)!important;outline-offset:-2px!important;border-color:var(--bar-line)!important}
.ts-newsletter .wpforms-form .wpforms-submit-container{display:flex}
.ts-newsletter .wpforms-form button.wpforms-submit,.ts-newsletter .wpforms-form .wpforms-submit{border:0!important;border-radius:0 3px 3px 0!important;background:var(--bar-ink)!important;color:var(--bar)!important;font-weight:700!important;font-size:14px!important;line-height:1.55!important;padding:0 20px!important;display:block!important;height:100%!important}
.ts-newsletter .wpforms-form .wpforms-submit:hover{background:#fff!important;color:var(--bar)!important}
.ts-newsletter .wpforms-form .wpforms-error{color:#F2B8B5!important}
.ts-newsletter .wpforms-confirmation-container-full{color:var(--bar-ink)!important;font-size:14px}
.ts-newsletter{margin-bottom:0}
.ts-newsletter + .socials{margin-top:48px}

/* ---------- WooCommerce notices, Cart & Checkout blocks ---------- */
.ts-notices:empty{display:none}
.ts-notices{padding-top:20px}
.woocommerce-message,.woocommerce-info,.woocommerce-error{list-style:none;margin:0 0 16px;padding:14px 16px;border:1px solid var(--line);border-left:3px solid var(--gold);background:var(--surface);border-radius:3px;font-size:15px}
.woocommerce-error{border-left-color:#B3261E}
.woocommerce-message .button,.woocommerce-info .button{float:right;margin-left:12px;font-weight:700;text-decoration:underline}
.is-wide .entry-content{font-size:16px;line-height:1.55}
.wc-block-components-button:not(.is-link),.wp-element-button.wc-block-components-button{border-radius:999px!important;background:var(--ink)!important;color:var(--ground)!important;font-family:var(--body);font-weight:700}
.wc-block-components-button:not(.is-link):hover{background:var(--gold)!important;color:var(--gold-ink)!important}
.wc-block-components-title,.wc-block-cart__totals-title{font-family:var(--display)!important;text-transform:uppercase;font-weight:900!important;letter-spacing:.01em}
.wc-block-components-product-name{font-weight:600;text-decoration:none}
.wc-block-components-text-input input,.wc-block-components-combobox .wc-block-components-combobox-control input,.wc-blocks-components-select__select{border-radius:3px!important}
.wc-block-components-text-input.is-active input:focus,.wc-block-components-text-input input:focus{box-shadow:0 0 0 2px var(--gold)!important;border-color:transparent!important}

/* Homepage size guide: one chart per garment */
.guide .chart-title{font-family:var(--display);font-weight:800;font-size:22px;letter-spacing:.01em;text-transform:uppercase;line-height:1.1;margin:28px 0 10px}
.guide details > .chart-title:first-of-type{margin-top:4px}

/* Our Story page: what 3712 means, and closing buttons */
.ts-3712{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:clamp(16px,3vw,32px);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding-block:28px}
.ts-3712 b{display:block;font-family:var(--display);font-weight:900;font-size:clamp(64px,9vw,104px);line-height:.85;color:var(--gold)}
.ts-3712 strong{display:block;font-size:15px;line-height:1.35;margin:12px 0 4px}
.ts-3712 span{display:block;font-size:14px;line-height:1.55;color:var(--ink-2)}
@media (max-width:600px){.ts-3712{grid-template-columns:1fr;gap:22px}.ts-3712 > div{display:grid;grid-template-columns:72px 1fr;column-gap:16px;align-items:start}.ts-3712 b{grid-row:span 2;font-size:64px}.ts-3712 strong{margin-top:4px}}
.ts-ctas{display:flex;flex-wrap:wrap;gap:12px;margin-top:1.6em}
.entry-content .ts-ctas .btn{text-decoration:none}
.entry-content .ts-ctas .btn.ghost{color:var(--ink)}
.ts-help{font-size:14px;color:var(--ink-2);border-left:2px solid var(--gold);padding-left:14px}
.ts-contact{margin-top:1.6em}

/* Back-of-garment view: cards show the back on hover, product pages get front/back thumbnails */
.card .img.has-back .back{position:absolute;inset:0;display:grid;place-items:center;opacity:0;transition:opacity .35s ease}
.card .img.has-back .back img{width:88%;height:88%;object-fit:contain;display:block;filter:drop-shadow(0 12px 16px var(--shirt-shadow))}
@media (hover:hover){.card .img.has-back:hover .back{opacity:1}.card .img.has-back:hover > img{opacity:0}}
.card .img.has-back > img{transition:opacity .35s ease,transform .5s cubic-bezier(.2,.7,.2,1)}
.pd-views{display:flex;gap:10px;margin-top:12px}
.pd-view{display:grid;justify-items:center;gap:4px;width:92px;padding:6px 6px 8px;background:var(--panel);border:1px solid var(--line);border-radius:4px;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-2)}
.pd-view img{width:100%;height:auto;aspect-ratio:1/1;object-fit:contain}
.pd-view[aria-pressed="true"]{border-color:var(--ink);color:var(--ink)}
.card-media{position:relative}
.flip{position:absolute;top:12px;right:12px;z-index:2;font-family:var(--mono);font-size:11px;letter-spacing:.08em;text-transform:uppercase;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-radius:999px;padding:5px 10px;cursor:pointer}
.flip:hover{border-color:var(--ink)}

/* Site logo (Appearance -> Customize -> Site Identity): the stacked True Standard 3712 banner */
.custom-logo-link{display:inline-flex;align-items:center;line-height:0;text-decoration:none}
.custom-logo{display:block;width:auto;max-width:none;max-height:none}
.nav .custom-logo{height:60px}
.nav .wrap:has(.custom-logo){padding-block:10px}
.footer-bottom .custom-logo-link{margin-right:auto}
.footer-bottom .custom-logo{height:80px}
@media (max-width:560px){.nav .custom-logo{height:48px}.footer-bottom .custom-logo-link{margin-right:0}}
