/* Shared type scale; load after the original theme and component styles. */
:root{--muted:#c4bcad;--line:#3c3529}
html{font-size:16px}
body{font-size:1rem;line-height:1.6}
button,input,select,textarea{font-family:inherit}
.announcement{font-size:.875rem;letter-spacing:1px;padding:12px 20px}
.logo>span{font-size:2.125rem}.logo small,.footer-logo small{font-size:.6875rem;letter-spacing:3px}
.header{gap:24px}.header nav{font-size:1rem;gap:28px}.header nav a{padding:10px 0}
.selection-trigger{font-size:1rem;white-space:nowrap}.selection-trigger span{font-size:.875rem;width:30px;height:30px}
.eyebrow,.dialog-heading .eyebrow{font-size:.8125rem;line-height:1.5;letter-spacing:1.6px}
.hero-description{font-size:1.125rem;line-height:1.75;max-width:440px}
.button{font-size:1rem;line-height:1.4;min-height:52px;padding:16px 24px;gap:16px;font-weight:500}
.hero-link{font-size:.9375rem;line-height:1.5;padding:8px 0}
.hero-note p{font-size:.9375rem;line-height:1.6}
.photo-label>span{font-size:.8125rem}.photo-label small{font-size:.875rem}.vertical-label{font-size:.6875rem;color:#eee6d5}
.brand-strip>span{font-size:.9375rem;max-width:170px}
.service-strip{gap:32px;padding-block:30px}.service-strip p{font-size:1rem;line-height:1.6}.service-strip strong{font-size:1.125rem;margin-bottom:7px}
.section-heading>p{font-size:1rem;line-height:1.7;max-width:490px}
.catalog-toolbar{flex-wrap:wrap;gap:20px}.filters{gap:8px}.filter{font-size:.9375rem;min-height:46px;padding:11px 16px}
.search{max-width:300px}.search input{font-size:1rem;min-height:44px}
.catalog-options{gap:20px;padding-block:24px 14px}.catalog-options label{font-size:.9375rem;min-width:170px;line-height:1.5;gap:8px;letter-spacing:0}
.catalog-options select{font-size:1rem;min-height:48px;padding:12px 24px 12px 0}
.catalog-reset{font-size:.9375rem;min-height:44px;margin-top:0}
.photo-guidance{font-size:.9375rem;line-height:1.7;max-width:850px}
.results-count,.catalog-more>p{font-size:.9375rem;line-height:1.5}
.product-grid{gap:30px 24px}
.product-card{display:flex;flex-direction:column;padding:18px;background:#12100c;border:1px solid var(--line);border-radius:8px;overflow:hidden}
.product-image{border-radius:4px;flex-shrink:0}.product-photo.reference-photo{padding:22px}
.tag{font-size:.8125rem;padding:6px 10px;letter-spacing:.5px}
.reference-label{font-size:.8125rem;line-height:1.5;margin:10px 0 0;min-height:20px}
.product-brand{font-size:.875rem;line-height:1.5;letter-spacing:1px;margin:16px 0 8px;color:#d2c6b0}
.product-card h3{font-size:1.625rem;line-height:1.25;min-height:2.5em;margin-bottom:12px;overflow-wrap:anywhere}
.product-meta,.product-presentation{font-size:.9375rem;line-height:1.6;min-height:24px}
.product-presentation{color:#dbc38a;margin:8px 0 18px}
.product-bottom{align-items:stretch;flex-direction:column;gap:15px;margin-top:auto;padding-top:16px}
.product-price small{font-size:.875rem;line-height:1.5;letter-spacing:0}.price-value{font-size:1.625rem;line-height:1.25}
.add-product{font-size:1rem;line-height:1.4;min-height:50px;padding:13px 16px;width:100%;justify-content:space-between;gap:12px}
.add-product span{font-size:1.375rem}
.catalog-help{padding:24px;gap:24px}.catalog-help p{font-size:1rem;line-height:1.7}.catalog-help a{font-size:1rem;line-height:1.5;white-space:normal;min-height:44px;display:inline-flex;align-items:center}
.empty-results p{font-size:1rem;line-height:1.7}
.story-photo{position:relative;height:auto;min-height:520px}.story-photo img{position:absolute;inset:0;width:100%;height:100%}.story-copy{padding:64px 10%}.story-copy>p:not(.eyebrow){font-size:1.125rem;line-height:1.75}
.text-link{font-size:1rem;line-height:1.5}
.steps-grid{gap:36px}.steps-grid article{padding-top:28px}.steps-grid article>span{font-size:2rem}
.steps-grid h3{font-size:1.3125rem;line-height:1.4;font-weight:500;margin:20px 0 14px}
.steps-grid p{font-size:1.0625rem;line-height:1.75;max-width:380px}
.faq>div>p:not(.eyebrow){font-size:1rem;line-height:1.75}
summary{font-size:1.0625rem;line-height:1.6;padding-right:30px}summary:after{font-size:1.5rem}
.faq-items details{padding:24px 0}.faq-items p{font-size:1rem;line-height:1.75;margin-right:20px}
footer{flex-wrap:wrap;gap:24px}footer p,footer>a:not(.logo),footer>span{font-size:.875rem;line-height:1.6}
.footer-logo>span{font-size:1.875rem}
.selection-dialog{width:min(620px,calc(100% - 24px));padding:30px;overflow:auto}
.dialog-heading h2,.photo-dialog .dialog-heading h2{font-size:2.25rem;line-height:1.2}
.selection-row{grid-template-columns:80px minmax(0,1fr);gap:18px;padding:22px 0}
.selection-row>img,.selection-monogram{width:80px;height:96px}
.selection-row h3{font-size:1.125rem;line-height:1.4}.selection-row p{font-size:.875rem;line-height:1.65}
.selection-row .selection-price{font-size:1rem;line-height:1.6}
.quantity{font-size:1rem;gap:10px;flex-wrap:wrap}.quantity button{min-width:44px;min-height:44px}
.quantity .remove{font-size:.875rem;padding:10px}
.selection-total{font-size:1rem;flex-wrap:wrap}.selection-total strong{font-size:1.75rem}
.order-note,.order-shipping,.selection-empty,.instagram-hint{font-size:1rem;line-height:1.7}
.order-note{margin:18px 0}.location-label{font-size:1rem;line-height:1.5}.location-label span{font-size:.875rem}
#customer-location,#order-message,#payment-method{font-size:1rem;line-height:1.6;min-height:50px;padding:13px}
.message-preview summary{font-size:.9375rem;min-height:44px;display:flex;align-items:center}
#send-whatsapp{position:sticky;bottom:0;z-index:1;box-shadow:0 0 0 8px #100e0a}
.photo-details{font-size:1rem;line-height:1.7}.photo-price{font-size:1.5rem;line-height:1.4}
.toast{font-size:.9375rem;line-height:1.5}
@media(max-width:1050px){
 .product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .section-heading{align-items:start}.section-heading>p{max-width:400px}
 .hero-copy{padding:56px 9% 36px 10%}.hero-description{font-size:1rem}
 .story-copy{padding:48px 9%}.story-copy>p:not(.eyebrow){font-size:1rem}
 .brand-strip{flex-wrap:wrap;justify-content:center}
}
@media(max-width:800px){
 .header{flex-wrap:wrap}.header nav{order:3;width:100%;justify-content:center;border-top:1px solid var(--line);padding-top:10px;margin-top:4px}
 .section-heading{display:block}.section-heading>p{text-align:left;margin-top:20px;max-width:650px}
 .steps-grid{grid-template-columns:1fr;gap:28px}.steps-grid article{display:grid;grid-template-columns:48px minmax(0,1fr);gap:8px 20px}
 .steps-grid article>span{grid-row:1/3}.steps-grid h3{margin:0}.steps-grid p{max-width:650px}
 .faq{grid-template-columns:1fr;gap:32px}.service-strip{gap:22px}
}
@media(max-width:650px){
 .header{padding:18px 5%;gap:12px}.logo>span{font-size:1.75rem}.logo svg{width:30px;height:42px}
 .header nav{font-size:.9375rem;gap:24px;padding-top:8px}.selection-trigger{font-size:.9375rem}.selection-trigger span{margin-left:6px}
 .announcement{font-size:.8125rem;letter-spacing:.5px}
 .hero-copy{padding:30px 5% 32px}h1{font-size:clamp(2.625rem,8vw,3.125rem)}
 .hero-description{font-size:1rem;line-height:1.75;max-width:none}.hero .button{font-size:1rem}.hero-link{font-size:.9375rem}
 .service-strip{padding:24px 5%;gap:22px 18px}.service-strip strong{font-size:1rem;line-height:1.5}.service-strip p{font-size:.9375rem;line-height:1.6}
 .section{padding:48px 5%}.section h2,.story-copy h2{font-size:2.125rem;line-height:1.2}
 .section-heading>p{font-size:1rem;line-height:1.65}
 .catalog-toolbar{gap:18px}.filter{font-size:.875rem;padding:10px 13px}.search{max-width:none}
 .catalog-options{gap:18px 14px}.catalog-options label{font-size:.875rem;min-width:calc(50% - 7px)}
 .catalog-options label:nth-child(3),.catalog-options label:last-child{flex-basis:100%}
 .catalog-options select{font-size:1rem}.photo-guidance{font-size:.875rem}
 .product-grid{gap:22px 16px}.product-card{padding:14px}.product-photo.reference-photo{padding:16px}
 .product-brand{font-size:.8125rem;letter-spacing:.5px}.product-card h3{font-size:1.375rem}
 .product-meta,.product-presentation{font-size:.875rem}.reference-label{font-size:.75rem}.tag{font-size:.75rem;left:8px;top:8px}
 .price-value{font-size:1.5rem}.product-price small{font-size:.8125rem}.add-product{font-size:.9375rem;padding:12px;min-height:48px}
 .catalog-help{padding:20px;gap:12px}.catalog-help p,.catalog-help a{font-size:1rem}
 .story-copy{padding:44px 5%}.story-photo{height:330px;min-height:0}
 .steps-grid h3{font-size:1.25rem}.steps-grid p{font-size:1rem}
 .selection-dialog,.photo-dialog{padding:22px}.dialog-heading h2,.photo-dialog .dialog-heading h2{font-size:2rem}
 .selection-row{grid-template-columns:64px minmax(0,1fr);gap:14px}.selection-row>img,.selection-monogram{width:64px;height:82px}
 .selection-row h3{font-size:1.0625rem}.selection-row p{font-size:.875rem}
 .selection-total strong{font-size:1.625rem}
 .mobile-order-bar{padding:13px 5% calc(13px + env(safe-area-inset-bottom));gap:14px}
 .mobile-order-bar small{font-size:.8125rem;line-height:1.35}.mobile-order-bar strong{font-size:1.375rem}
 .mobile-order-bar .button{font-size:.9375rem;padding:13px 16px;min-height:50px}
 body.has-order{padding-bottom:calc(110px + env(safe-area-inset-bottom))}body.has-order .toast{bottom:calc(122px + env(safe-area-inset-bottom))}
 footer{padding:32px 5%;gap:20px}footer p{margin-left:0}footer>span{margin-left:0;width:100%}
}
@media(max-width:420px){
 .product-grid{grid-template-columns:minmax(0,1fr)}.product-card{padding:16px}
 .product-card h3{font-size:1.5rem;min-height:0}.product-brand{font-size:.875rem}
 .product-meta,.product-presentation{font-size:.9375rem}.reference-label{font-size:.8125rem}
 .product-price small{font-size:.875rem}.price-value{font-size:1.625rem}.add-product{font-size:1rem}
 .product-photo.reference-photo{padding:28px}.product-image{max-height:350px}
 .service-strip{grid-template-columns:1fr;gap:18px}.service-strip p:last-child{grid-column:auto}
 .header nav{gap:18px;font-size:.875rem}.selection-trigger{font-size:.875rem}
 .catalog-options label{min-width:0;flex-basis:100%}
 .quantity .remove{margin-left:0}.selection-row{grid-template-columns:56px minmax(0,1fr)}.selection-row>img,.selection-monogram{width:56px;height:72px}
 .mobile-order-bar{gap:10px}.mobile-order-bar .button{padding:12px;font-size:.875rem}.mobile-order-bar strong{font-size:1.25rem}
}
