:root { --pt-border: 2px solid var(--wp--preset--color--ink); }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body { background-image: radial-gradient(rgb(16 21 15 / 4%) 0.7px, transparent 0.7px); background-size: 7px 7px; }
.wp-site-blocks { padding: 0; overflow: clip; }
:where(a,button,input,select,textarea,.wp-element-button):focus-visible { outline: 3px solid var(--wp--preset--color--mustard); outline-offset: 3px; }
.pt-ticker { overflow: hidden; border-bottom: var(--pt-border); letter-spacing: .06em; text-align: center; }
.pt-ticker p { margin: 0; padding: .5rem clamp(1rem,4vw,2rem); font-size: .8125rem; font-weight: 800; text-transform: uppercase; }
.pt-ticker a { color: inherit; text-underline-offset: .2em; }
.pt-header { position: sticky; z-index: 50; top: 0; border-bottom: var(--pt-border); box-shadow: 0 3px 0 rgb(16 21 15 / 12%); }
.pt-header-row { min-height: 78px; }
.pt-header .custom-logo { width: auto; max-height: 52px; }
.pt-header-tools { white-space: nowrap; }
.pt-section { padding-top: clamp(3rem,8vw,7rem); padding-bottom: clamp(3rem,8vw,7rem); }
.pt-home-wide { width: min(calc(100% - clamp(2rem,8vw,4rem)), 1240px); margin-inline: auto; }
.pt-sticker { display: inline-block; transform: rotate(-2deg); border: var(--pt-border); padding: .25rem .55rem; box-shadow: 3px 3px 0 #10150f; font-family: var(--wp--preset--font-family--accent); font-weight: 700; }
.pt-hero { border-bottom: var(--pt-border); }
.pt-hero h1 { max-width: 950px; letter-spacing: -.025em; }
.pt-hero__grid { display: grid; grid-template-columns: minmax(0, 3fr) minmax(280px, 2fr); gap: clamp(2rem,5vw,5rem); align-items: center; }
.pt-hero__copy { min-width: 0; }
.pt-hero .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 1rem; align-items: stretch; }
.pt-hero .wp-block-button { display: flex; margin: 0; }
.pt-hero .wp-block-button__link { display: inline-flex; min-height: 52px; align-items: center; justify-content: center; white-space: normal; }
.pt-hero-product, .pt-hero-fallback { min-width: 0; border: var(--pt-border); background: #fff9ec; color: #10150f; box-shadow: 9px 9px 0 #10150f; }
.pt-hero-product__image { display: block; background: #f2e7d0; }
.pt-hero-product__image img { display: block; width: 100%; aspect-ratio: 1 / 1.05; object-fit: cover; }
.pt-hero-product__details { padding: clamp(1rem,3vw,1.75rem); }
.pt-hero-product__details h2 { margin-block: 0 .5rem; font-size: clamp(1.5rem,3vw,2.5rem); }
.pt-hero-product__details .price { margin-bottom: .65rem; font-size: 1.15rem; font-weight: 800; }
.pt-hero-fallback { display: grid; min-height: 360px; place-items: center; overflow: hidden; background: repeating-linear-gradient(-45deg,#626548,#626548 12px,#4e5139 12px,#4e5139 24px); }
.pt-hero-fallback span { transform: rotate(-7deg); border: var(--pt-border); background: #dbb844; padding: .5rem 1rem; font-family: var(--wp--preset--font-family--display); font-size: clamp(2rem,5vw,4rem); text-transform: uppercase; }
.pt-text-link { font-weight: 800; text-underline-offset: .2em; }
.pt-category-section { overflow: visible; }
.pt-category-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: clamp(1.25rem,3vw,2rem); align-items: stretch; }
.pt-category-card { display: grid; grid-template-columns: minmax(130px,35%) minmax(0,1fr); min-width: 0; border: var(--pt-border); box-shadow: 5px 5px 0 #10150f; transition: transform .16s ease, box-shadow .16s ease; }
.pt-category-card__visual { display: block; min-height: 220px; border-right: var(--pt-border); overflow: hidden; }
.pt-category-card__visual img, .pt-category-fallback { display: block; width: 100%; height: 100%; min-height: 220px; object-fit: cover; }
.pt-category-fallback { display: grid; place-items: center; background: repeating-linear-gradient(45deg,rgb(16 21 15 / 12%),rgb(16 21 15 / 12%) 8px,transparent 8px,transparent 16px); }
.pt-category-fallback span { transform: rotate(-8deg); font-family: var(--wp--preset--font-family--display); font-size: clamp(3rem,8vw,7rem); opacity: .72; }
.pt-category-card__body { align-self: center; min-width: 0; padding: clamp(1.25rem,3vw,2rem); }
.pt-category-card__body h3 { margin-top: 0; font-size: clamp(1.5rem,3vw,2.4rem); }
.pt-card { border: var(--pt-border); padding: clamp(1.25rem,3vw,2rem); box-shadow: 5px 5px 0 #10150f; transition: transform .16s ease, box-shadow .16s ease; }
.pt-card:hover { transform: translate(-2px,-2px); box-shadow: 8px 8px 0 #10150f; }
.pt-card a { text-decoration-thickness: 2px; text-underline-offset: .2em; }
.pt-category-card:hover { transform: translate(-2px,-2px); box-shadow: 8px 8px 0 #10150f; }
.pt-featured-drop__grid { display: grid; grid-template-columns: minmax(240px,2fr) minmax(0,3fr); gap: clamp(1.5rem,4vw,4rem); align-items: center; }
.pt-featured-drop__visual { min-height: 360px; border: 2px solid #fff9ec; overflow: hidden; }
.pt-featured-drop__visual img, .pt-featured-drop__visual .pt-category-fallback { width: 100%; height: 100%; min-height: 360px; object-fit: cover; }
.pt-receipt { border: 2px dashed #10150f; background: #fff9ec; padding: clamp(1.25rem,4vw,3rem); }
.pt-disclaimer { font-size: .75rem; font-style: italic; }
.pt-footer { border-top: 4px solid #10150f; }
.pt-footer a { color: inherit; }
.pt-social-links { display: flex; gap: .65rem; margin: 1rem 0 0; padding: 0; list-style: none; }
.pt-social-links .wp-block-social-link-anchor { display: grid; width: 42px; height: 42px; place-items: center; border: var(--pt-border); border-radius: 50%; background: var(--wp--preset--color--mustard); color: var(--wp--preset--color--ink); text-decoration: none; }
.pt-social-mark { font-weight: 900; line-height: 1; }
.petty-threads-contact { width: min(100%, 760px); }
.petty-threads-contact > p { margin-block: 0 1.35rem; }
.petty-threads-contact label { display: block; font-weight: 700; }
.petty-threads-contact input:not([type=checkbox]):not([type=hidden]), .petty-threads-contact select, .petty-threads-contact textarea { display: block; width: 100%; margin-top: .4rem; }
.petty-threads-contact textarea { resize: vertical; }
.petty-threads-contact input[type=checkbox] { width: 1.15rem; height: 1.15rem; margin: .15rem .45rem 0 0; vertical-align: top; }
.petty-threads-contact button { min-height: 48px; border: var(--pt-border); border-radius: 2px; background: var(--wp--preset--color--petty-red); padding: .65rem 1.15rem; color: var(--wp--preset--color--paper); font-weight: 800; text-transform: uppercase; box-shadow: 4px 4px 0 #10150f; cursor: pointer; }
.wc-block-grid__product, .wc-block-product, li.product { text-align: left !important; }
.wc-block-grid__product-image img, .wc-block-components-product-image img, .woocommerce ul.products li.product img { aspect-ratio: 1 / 1.15; object-fit: cover; border: var(--pt-border); background: #fff9ec; }
.woocommerce ul.products li.product .button, .wc-block-grid__product-add-to-cart .wp-block-button__link { width: 100%; text-align: center; }
.pt-product-rail ul.products { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: clamp(1rem,2vw,2rem); margin: 0; padding: 0; }
.pt-product-rail ul.products::before, .pt-product-rail ul.products::after { display: none; }
.pt-product-rail ul.products li.product { float: none; width: auto; margin: 0; }
.pt-archive-header { width: min(100%,1240px); margin-inline: auto; }
.pt-archive-header h1 { margin-bottom: .5rem; }
.pt-archive-intro { max-width: 70ch; margin-top: 0; font-size: var(--wp--preset--font-size--large); }
.pt-category-filters { display: flex; flex-wrap: wrap; gap: .65rem; margin-block: 1.5rem 2rem; }
.pt-filter-chip { display: inline-flex; min-height: 44px; align-items: center; border: var(--pt-border); background: #fff9ec; padding: .45rem .85rem; font-weight: 800; text-decoration: none; box-shadow: 3px 3px 0 #10150f; }
.pt-filter-chip.is-active { background: #d4472f; color: #fff9ec; }
.pt-archive-toolbar { margin-bottom: var(--wp--preset--spacing--40); border-block: var(--pt-border); padding-block: .8rem; }
.woocommerce span.onsale { min-height: auto; min-width: auto; line-height: 1.15; border-radius: 0; border: 2px solid #10150f; background: #d4472f; padding: .45rem .6rem; box-shadow: 3px 3px 0 #10150f; }
.woocommerce div.product .woocommerce-tabs, .woocommerce-cart-form, .cart_totals, .woocommerce-checkout-review-order, .woocommerce-account .woocommerce-MyAccount-content { border: var(--pt-border); background: #fff9ec; padding: clamp(1rem,3vw,2rem); }
input:not([type=checkbox]):not([type=radio]), select, textarea { min-height: 46px; border: 2px solid #10150f; border-radius: 0; background: #fff9ec; padding: .65rem .8rem; color: #10150f; }
.screen-reader-text { clip: rect(1px,1px,1px,1px); clip-path: inset(50%); height: 1px; overflow: hidden; position: absolute !important; width: 1px; word-wrap: normal !important; }
@media (max-width: 1024px) { .pt-category-grid { grid-template-columns: 1fr; } .pt-product-rail ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); } }
@media (max-width: 781px) { .pt-header { position: relative; } .pt-header-row { min-height: 68px; flex-wrap: wrap !important; padding-block: .75rem; } .pt-header-tools { order: 3; width: 100%; white-space: normal; } .pt-header-tools .wp-block-search { flex: 1 1 100%; width: 100%; } .pt-header-tools .wp-block-search__inside-wrapper { width: 100%; } .pt-hero__grid, .pt-featured-drop__grid { grid-template-columns: 1fr; } .pt-hero-product, .pt-hero-fallback { width: min(100%,520px); } .pt-category-card { grid-template-columns: 1fr; } .pt-category-card__visual { min-height: 200px; border-right: 0; border-bottom: var(--pt-border); } .wp-block-navigation__responsive-container.is-menu-open { background: #f2e7d0 !important; color: #10150f !important; padding: 1.5rem; } }
@media (max-width: 480px) { .pt-home-wide { width: min(calc(100% - 2rem),1240px); } .pt-product-rail ul.products { grid-template-columns: 1fr; } .pt-archive-toolbar { align-items: flex-start; flex-direction: column; } .pt-hero .wp-block-button, .pt-hero .wp-block-button__link { width: 100%; } }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } *,*::before,*::after { animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; } }
