/* Estensione coerente del tema esistente: leggibilità, schede e gestione. */
:root { --pink:#9f5f60; --pink-dark:#884849; --muted:#665e5b; }
body { font-size:1rem; }
img { max-width:100%; }
.nav { font-size:.9375rem; }
.header-cta,.btn,.whatsapp-btn { font-size:.9375rem; min-height:44px; }
.eyebrow { font-size:.8125rem; letter-spacing:2px; }
.hero-text,.page-hero-inner>p:not(.eyebrow),.section-heading>p:not(.eyebrow),.personal-content>p:not(.eyebrow),.about-content>p:not(.eyebrow),.contact-banner p:not(.eyebrow) { font-size:1rem; }
.hero-note { font-size:.875rem; }
.card-label,.section-card-copy h3,.subcategory-copy h3,.product-info h3 { font-size:1rem; }
.section-card-copy p,.subcategory-copy p,.product-info p,.benefit p,.footer,.copyright,.footer-brand small { font-size:.875rem; }
.footer-brand small { letter-spacing:1px; }
.benefit strong,.text-link { font-size:.9375rem; }
.site-header { gap:20px; }
.site-header:has(>.btn) { flex-wrap:wrap; padding-block:16px; }
.site-logo { width:180px; height:auto; max-width:100%; }
.logo { max-width:40%; }
.nav a { white-space:nowrap; }
.subcategory-visual img { object-fit:cover; }
.subcategory-copy p { color:var(--muted); margin-top:5px; }
.catalog-product-category { font-size:.875rem; letter-spacing:.6px; }
.catalog-product-body h3 { font-size:1.125rem; line-height:1.4; }
.catalog-product-description { font-size:.9375rem; line-height:1.6; min-height:0; }
.catalog-product-body { padding:20px; display:flex; flex-direction:column; flex:1; }
.catalog-product-card { display:flex; flex-direction:column; min-width:0; }
.catalog-product-bottom { margin-top:auto; padding-top:18px; }
.catalog-product-description { margin-bottom:20px; }
.catalog-product-link { font-size:.875rem; min-height:44px; display:inline-flex; align-items:center; }
.catalog-product-price { font-size:1.375rem; white-space:nowrap; }
.catalog-product-image { height:auto; aspect-ratio:1/1; }
.catalog-product-image img { width:100%; height:100%; object-fit:contain; }
.catalog-product-image.collection-image img { object-fit:cover; }
.price-note,.catalogue-note,.detail-info-box,.sample-label,.sample-notice { font-size:.875rem; line-height:1.65; }
.sample-label { color:#78533d; margin:9px 0; }
.sample-notice { padding:16px; background:#f5eee8; border-left:3px solid var(--pink); margin-bottom:22px; }
.breadcrumbs { font-size:.875rem; text-transform:none; letter-spacing:0; color:var(--muted); overflow-wrap:anywhere; }
.breadcrumbs a { text-decoration:underline; text-underline-offset:3px; }
.product-detail { gap:48px; }
.product-detail-content h1 { font-size:clamp(2.4rem,4.3vw,4rem); line-height:1.12; overflow-wrap:break-word; }
.detail-description { font-size:1rem; }
.detail-options li { font-size:.9375rem; }
.detail-options h2 { font-size:1.75rem; }
.detail-info-box { padding:18px; }
.product-detail-media img { height:auto; width:100%; max-height:660px; object-fit:contain; }
.gallery-caption,.product-reference { font-size:.875rem; color:var(--muted); margin:14px 0; line-height:1.6; }
.gallery-controls { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); gap:12px; align-items:center; margin-top:14px; }
.gallery-controls .btn { padding:10px 14px; min-width:0; overflow-wrap:anywhere; }
.product-gallery { min-width:0; }
.asilo-thumb { min-height:44px; }
.product-pager { max-width:var(--max); padding:24px 5%; margin:auto; display:grid; grid-template-columns:1fr 1fr 1fr; gap:20px; border-top:1px solid var(--line); border-bottom:1px solid var(--line); font-size:.9375rem; }
.product-pager a { padding:12px 0; text-decoration:underline; text-underline-offset:4px; }
.product-pager a:nth-child(2) { text-align:center; }
.product-pager a:last-child { text-align:right; }
.related-grid { grid-template-columns:repeat(3,minmax(0,1fr)); margin-top:30px; }
.related-section { padding-top:60px; }
.about-image img { width:100%; height:100%; min-height:300px; object-fit:cover; }
.testimonial p:not(.eyebrow) { color:var(--muted); margin-top:16px; }
.testimonial h3 { font-family:var(--serif); font-size:1.75rem; font-weight:400; line-height:1.3; }
.skip-link { position:fixed; top:-100px; left:16px; padding:12px; background:white; z-index:100; border:2px solid var(--pink); }
.skip-link:focus { top:12px; }
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible { outline:3px solid #6d373b; outline-offset:4px; }
button.btn { cursor:pointer; }
.accessory-controls { margin-bottom:30px; }
.accessory-controls label { display:block; font-weight:600; max-width:520px; }
.accessory-controls input { display:block; width:100%; margin-top:9px; padding:14px 16px; border:1px solid #b99f95; border-radius:8px; font:inherit; color:var(--text); background:white; }
.accessory-filters { display:flex; flex-wrap:wrap; gap:9px; margin:20px 0 12px; }
.accessory-filters button { padding:10px 16px; min-height:44px; border:1px solid var(--line); border-radius:24px; font:inherit; font-size:.875rem; background:white; color:var(--text); cursor:pointer; }
.accessory-filters button[aria-pressed="true"] { background:var(--pink); color:white; border-color:var(--pink); }
.accessory-count,.accessory-price-note { font-size:.9375rem; color:var(--muted); }
.accessory-price-note { margin-bottom:36px; max-width:780px; }
.accessory-group { padding:28px 0 38px; border-top:1px solid var(--line); }
.accessory-group-intro { display:flex; gap:22px; align-items:center; margin-bottom:22px; }
.accessory-group-intro img { width:130px; height:130px; flex-shrink:0; object-fit:contain; background:#fff7f2; border-radius:12px; }
.accessory-group-intro h2 { font-size:clamp(1.65rem,2.5vw,2.2rem); margin-bottom:10px; }
.accessory-group-intro .eyebrow { margin-bottom:8px; }
.accessory-group-intro p:not(.eyebrow) { font-size:.875rem; color:var(--muted); }
.accessory-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 30px; list-style:none; padding:0; }
.accessory-row { display:grid; grid-template-columns:minmax(0,1fr) auto auto; gap:12px; align-items:center; padding:16px 0; border-bottom:1px solid var(--line); min-width:0; }
.accessory-name { font-weight:600; display:inline-flex; min-height:44px; align-items:center; }
.accessory-row strong { white-space:nowrap; color:var(--pink-dark); }
.accessory-detail { display:inline-flex; align-items:center; min-height:44px; font-size:.875rem; text-decoration:underline; text-underline-offset:4px; gap:6px; }
.accessory-photo-note { display:block; font-size:.8125rem; color:var(--muted); }
.accessory-empty { padding:30px; background:#f8ebe5; border-radius:12px; }
.accessory-group[hidden],.accessory-row[hidden],.accessory-controls[hidden],.accessory-empty[hidden] { display:none; }
.how-order { background:#fffaf7; text-align:center; }
.order-steps { list-style:none; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; padding:0; margin:30px 0; text-align:left; }
.order-steps li { padding:28px; background:white; border:1px solid var(--line); border-radius:12px; min-width:0; }
.order-steps li>span { display:block; color:var(--pink); font-family:var(--serif); font-size:2rem; margin-bottom:14px; }
.order-steps h3,.order-steps h2 { font-family:var(--serif); font-size:1.65rem; font-weight:400; margin-bottom:14px; }
.order-steps p { color:var(--muted); font-size:.9375rem; }
.order-steps .text-link { margin-top:16px; display:inline-flex; min-height:44px; align-items:center; }
.order-faq { max-width:850px; margin:55px auto 0; }
.order-faq h2 { font-size:2rem; margin-bottom:25px; }
.order-faq details { border-bottom:1px solid var(--line); padding:16px 0; }
.order-faq summary { font-weight:600; cursor:pointer; min-height:44px; padding:10px 0; }
.order-faq details p { color:var(--muted); margin:10px 0 18px; }
.order-faq summary:focus-visible { outline:3px solid #6d373b; outline-offset:4px; }
.detail-info-box a { text-decoration:underline; text-underline-offset:3px; }
.contact-banner .text-link { display:inline-flex; min-height:44px; align-items:center; }
@media(max-width:950px) { .accessory-list { grid-template-columns:1fr; } }
@media(max-width:800px) { .order-steps { grid-template-columns:1fr; gap:16px; } }
@media(max-width:560px) { .accessory-group-intro { gap:15px; align-items:flex-start; } .accessory-group-intro img { width:90px; height:90px; } .accessory-row { grid-template-columns:minmax(0,1fr) auto; gap:0 12px; } .accessory-detail { grid-column:1 / -1; justify-self:start; } .accessory-filters button { padding:10px 12px; } .order-steps li { padding:22px; } }
.btn-primary { border:1px solid var(--pink); }
.empty-state p { margin:24px 0; }
.editor { max-width:1400px; padding-top:50px; }
.editor h1 { font-size:clamp(2.4rem,4vw,3.6rem); }
.editor-intro { max-width:900px; margin:22px 0; color:var(--muted); }
.editor-toolbar { display:flex; flex-wrap:wrap; gap:12px; padding:20px 0; }
.import-label { cursor:pointer; }
.import-label input { position:absolute; width:1px; height:1px; clip-path:inset(50%); }
.import-label:focus-within { outline:3px solid #6d373b; outline-offset:4px; }
.editor-status { min-height:32px; margin-bottom:24px; font-weight:600; }
.editor-layout { display:grid; grid-template-columns:minmax(0,1.3fr) minmax(0,.7fr); gap:40px; align-items:start; }
.editor form { background:white; border:1px solid var(--line); border-radius:12px; padding:28px; }
.editor label:not(.import-label) { display:flex; flex-direction:column; gap:7px; margin-bottom:20px; font-weight:600; }
.editor input,.editor select,.editor textarea { width:100%; min-width:0; padding:12px; font:inherit; border:1px solid #b99f95; border-radius:6px; background:white; color:var(--text); }
.editor textarea { resize:vertical; }
.editor-preview { position:sticky; top:105px; padding:24px; background:white; border:1px solid var(--line); border-radius:12px; }
.editor-preview img { width:100%; height:300px; object-fit:contain; background:var(--bg); border-radius:8px; }
.editor-preview h2 { font-size:2rem; margin:20px 0 12px; overflow-wrap:anywhere; }
.editor-preview p:not(.eyebrow) { margin:16px 0; }
.editor-preview strong { color:var(--pink-dark); font-size:1.25rem; }
.field-help { color:var(--muted); font-size:.875rem; margin:0 0 20px; font-weight:400; overflow-wrap:anywhere; }
.editor-form-actions { display:flex; flex-wrap:wrap; gap:12px; }
.draft-banner { padding:12px 5%; background:#ecd9b6; color:#4d371c; font-size:.875rem; }
.draft-banner a { text-decoration:underline; }
@media(max-width:1100px) { .site-header .header-cta { display:none; } .nav { font-size:.875rem; } }
@media(max-width:950px) { .product-detail { gap:32px; } .editor-layout { grid-template-columns:1fr; } .editor-preview { position:static; } }
@media(max-width:800px) { .logo { max-width:75%; } .site-header { min-height:76px; } .nav { top:75px; font-size:1rem; } .site-logo { width:180px; } .nav a { min-height:48px; } }
@media(max-width:600px) { .related-grid { grid-template-columns:1fr; } .product-detail-content h1 { font-size:2.5rem; } .detail-whatsapp { min-width:0; } .detail-actions .btn { white-space:normal; text-align:center; } .breadcrumbs { font-size:.8125rem; gap:7px; } .product-pager { gap:12px; font-size:.875rem; } .product-pager a { overflow-wrap:anywhere; } .editor form { padding:20px; } .editor { padding:40px 5%; } .editor-toolbar>* { width:100%; } .gallery-controls { gap:8px; } .gallery-controls .btn { padding:10px; font-size:.875rem; } }
@media(max-width:380px) { .page-hero h1 { font-size:2.25rem; overflow-wrap:break-word; } .header-cta,.btn,.whatsapp-btn { padding:13px 16px; } .catalog-product-body { padding:16px; } }

/* Complete photos in consistent frames; details keep the original galleries. */
.subcategory-visual.has-photo { height:auto; aspect-ratio:4/3; padding:16px; background:#f7f1ec; }
.subcategory-visual.has-photo > img { object-fit:contain; object-position:center; }
.catalog-product-image { padding:12px; background:#f7f1ec; }
.catalog-product-image img { object-fit:contain; object-position:center; }
.category-card .card-image { height:auto; aspect-ratio:4/3; padding:12px; }
.category-card .card-image > img,.product-card .product-image > img { object-fit:contain; }
.product-card .product-image { height:auto; aspect-ratio:1/1; padding:12px; background:#f7f1ec; }
.catalog-product-description { display:-webkit-box; -webkit-box-orient:vertical; -webkit-line-clamp:3; overflow:hidden; }
.card-label { flex-wrap:wrap; gap:8px; }
.preparation-badge { display:inline-block; padding:5px 9px; border-radius:20px; background:#f4ece5; color:#6c5447; font-size:.75rem; font-weight:500; line-height:1.4; }
.floating-contact { display:none; }
.floating-contact[hidden],.navigation-open .floating-contact { display:none; }
@media(max-width:800px){
 body.has-floating-contact { padding-bottom:calc(88px + env(safe-area-inset-bottom,0px)); }
 .floating-contact { position:fixed; z-index:40; right:max(16px,env(safe-area-inset-right,0px)); bottom:calc(16px + env(safe-area-inset-bottom,0px)); display:inline-flex; gap:9px; align-items:center; justify-content:center; min-height:48px; padding:12px 18px; border:1px solid #21624a; border-radius:999px; background:#21624a; color:white; font-size:.9375rem; font-weight:600; line-height:1.2; box-shadow:0 4px 18px #183c2930; }
 .floating-contact:focus-visible { outline:3px solid #6d373b; outline-offset:4px; }
 .subcategory-visual.has-photo { padding:12px; }
}

/* Gift collections: direct navigation and item prices for configurable sets. */
.gift-group-nav { display:flex; flex-wrap:wrap; gap:10px; margin:0 0 42px; }
.gift-group-nav a { display:inline-flex; align-items:center; min-height:44px; padding:10px 16px; border:1px solid var(--line); border-radius:24px; font-size:.875rem; background:white; }
.gift-group-nav a:hover { border-color:var(--pink); background:#f8ebe5; }
.gift-group { padding:36px 0 44px; border-top:1px solid var(--line); scroll-margin-top:110px; }
#gruppi-regalo { scroll-margin-top:110px; }
.gift-group-heading { margin-bottom:26px; }
.gift-group-heading h2 { font-size:clamp(1.9rem,3vw,2.6rem); margin-bottom:14px; }
.gift-group-heading p { max-width:760px; color:var(--muted); line-height:1.65; }
.gift-back { display:inline-flex; align-items:center; min-height:44px; margin-top:24px; }
.gift-set-examples { margin:0 0 30px; padding:18px 22px; border:1px solid var(--line); border-radius:12px; background:#fffaf7; }
.gift-set-examples summary { font-weight:600; cursor:pointer; padding:10px 0; min-height:44px; }
.gift-set-examples summary:focus-visible { outline:3px solid #6d373b; outline-offset:4px; }
.gift-set-examples>p { color:var(--muted); line-height:1.65; margin:18px 0; max-width:720px; }
.gift-set-examples .product-gallery { max-width:650px; margin:24px auto 0; }
@media(max-width:600px){ .gift-group-nav { gap:8px; } .gift-group-nav a { padding:10px 12px; } .gift-set-examples { padding:14px; } }

/* Home: current collections appear immediately after the introduction. */
.home-news { padding-top:64px; padding-bottom:64px; }
.home-news .section-heading { margin-bottom:30px; align-items:flex-end; gap:26px; }
.home-news .section-heading p:not(.eyebrow) { max-width:640px; margin-top:16px; }
.home-news .section-heading>.text-link { flex-shrink:0; min-height:44px; display:inline-flex; align-items:center; gap:8px; }
.home-news-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:22px; }
.home-news-grid .catalog-product-body { padding:18px; }
.home-news-grid h3 { font-size:1.3rem; }
.home-news-grid .catalog-product-description { font-size:.875rem; }
.home-news-grid .catalog-product-price { font-size:1.15rem; white-space:normal; line-height:1.5; }
.home-news-grid .catalog-product-bottom { flex-wrap:wrap; gap:6px 14px; padding-top:8px; }
.home-featured { padding-top:60px; padding-bottom:64px; background:#f8eee8; }
.home-featured>.section-heading { margin-bottom:30px; }
.season-features { display:grid; gap:28px; }
.season-feature { display:grid; grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr); background:#fffaf7; border:1px solid var(--line); border-radius:18px; overflow:hidden; }
.season-copy { padding:40px; align-self:center; min-width:0; }
.season-copy h3 { font:clamp(2rem,3.5vw,3.2rem)/1.12 var(--serif); margin-bottom:20px; }
.season-copy>p:not(.eyebrow) { color:var(--muted); max-width:520px; margin-bottom:24px; }
.season-photo { display:flex; align-items:center; justify-content:center; padding:18px; min-width:0; background:#f0e4dc; }
.season-photo img { display:block; width:100%; height:100%; max-height:440px; object-fit:contain; }
.season-links { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:0 18px; margin-top:24px; }
.season-links a { display:flex; align-items:center; justify-content:space-between; gap:10px; padding:12px 0; min-height:48px; border-bottom:1px solid var(--line); font-size:.875rem; }
.season-links a:hover { color:var(--pink-dark); }
.all-categories-link { display:inline-flex; align-items:center; min-height:44px; margin-top:22px; gap:8px; }
#novita,#in-evidenza { scroll-margin-top:100px; }
@media(max-width:1100px){ .home-news .section-heading { align-items:flex-start; flex-direction:column; gap:14px; } .home-news-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } .season-copy { padding:30px; } }
@media(max-width:700px){ .season-feature { grid-template-columns:minmax(0,1fr); } .season-photo { grid-row:1; padding:14px; } .season-photo img { height:230px; } .season-copy { padding:26px; } }
@media(max-width:560px){ .home-news,.home-featured { padding-top:42px; padding-bottom:42px; } .home-news-grid { gap:14px; } .home-news-grid .catalog-product-body { padding:13px; } .home-news-grid h3 { font-size:1.1rem; } .home-news-grid .catalog-product-description { display:none; } .home-news-grid .catalog-product-category { font-size:.6875rem; letter-spacing:.6px; } .home-news-grid .catalog-product-bottom { flex-direction:column; align-items:flex-start; } .home-news-grid .catalog-product-price { font-size:1rem; } .home-news-grid .catalog-product-image { padding:8px; } .season-copy { padding:22px; } .season-links { gap:0 12px; } }

/* Novità: one horizontal row, native swipe and accessible controls. */
.news-carousel-toolbar { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:0 0 10px; }
.carousel-hint { font-size:.875rem; color:var(--muted); }
.carousel-controls { display:flex; gap:8px; flex-shrink:0; }
.carousel-controls[hidden] { display:none; }
.carousel-controls button { display:inline-flex; align-items:center; justify-content:center; width:46px; height:46px; border:1px solid var(--pink); border-radius:50%; background:white; color:var(--pink-dark); font-size:1.4rem; cursor:pointer; }
.carousel-controls button:disabled { opacity:.35; cursor:default; }
.carousel-controls button:not(:disabled):hover { background:#f8ebe5; }
.news-carousel-track { display:flex; flex-wrap:nowrap; gap:22px; list-style:none; padding:8px 8px 18px; overflow-x:auto; scroll-snap-type:x mandatory; scroll-padding-inline:8px; overscroll-behavior-x:contain; -webkit-overflow-scrolling:touch; scrollbar-width:thin; scrollbar-color:#b98c85 #f2e8e1; }
.news-carousel-slide { flex:0 0 29%; min-width:0; scroll-snap-align:start; }
.news-carousel-slide>.catalog-product-card { height:100%; }
.news-carousel-slide .catalog-product-price { white-space:normal; line-height:1.5; }
.news-carousel-slide .catalog-product-bottom { flex-wrap:wrap; gap:6px 14px; }
@media(max-width:950px){ .news-carousel-slide { flex-basis:43%; } }
@media(max-width:600px){ .news-carousel-track { gap:14px; } .news-carousel-slide { flex-basis:82%; } .news-carousel-toolbar { gap:10px; } .carousel-hint { font-size:.8125rem; } }
@media(prefers-reduced-motion:reduce){ .news-carousel-track { scroll-behavior:auto; } }

/* Footer uses the same logo asset and proportions as the header. */
.footer-brand { display:inline-flex; justify-self:start; align-items:center; min-width:0; max-width:100%; }
.footer-logo { display:block; width:180px; max-width:100%; height:auto; }

/* Catalogo: ricerca, filtri e lettura delle schede. */
[hidden] { display:none !important; }
.catalogue-tools { display:flex; flex-wrap:wrap; align-items:end; gap:16px; padding:22px; margin:0 0 22px; background:#f7eee8; border:1px solid var(--line); border-radius:12px; }
.catalogue-tools label { flex:1 1 155px; font-size:.875rem; font-weight:600; }
.catalogue-tools label:first-child { flex:2 1 260px; }
.catalogue-tools input,.catalogue-tools select,.home-search input { display:block; width:100%; min-height:46px; margin-top:8px; padding:11px 12px; border:1px solid #b59c94; border-radius:7px; background:#fffaf7; color:var(--text); font:inherit; }
.catalogue-tools>p { flex-basis:100%; margin:0; font-size:.875rem; }
.global-search { scroll-margin-top:100px; padding-bottom:36px; }
.global-search>.catalog-products-grid { margin-top:26px; }
.search-more { display:block; margin:28px auto; }
.home-search { width:100%; max-width:450px; margin:0 0 24px; }
.home-search label { display:block; font-size:.875rem; font-weight:600; }
.home-search>div { display:flex; gap:8px; align-items:end; }
.home-search input { min-width:0; }
.home-search button { flex-shrink:0; padding:12px 20px; }
.product-detail { row-gap:22px; }
.product-detail-intro { grid-column:2; grid-row:1; padding-top:14px; }
.product-detail-intro h1 { font:clamp(2.4rem,4.3vw,4rem)/1.12 var(--serif); margin:0 0 18px; overflow-wrap:break-word; }
.product-detail>.product-gallery { grid-column:1; grid-row:1 / span 2; }
.product-detail>.product-detail-content { grid-column:2; grid-row:2; position:static; padding-top:0; }
.related-collection { margin-top:20px; font-size:.9375rem; }
.related-collection a { text-decoration:underline; }
.product-detail-media { position:relative; }
[data-main-image] { cursor:zoom-in; }
.gallery-zoom { position:absolute; right:12px; bottom:12px; padding:10px 14px; border:1px solid #b59c94; border-radius:24px; background:#fffaf7ed; color:var(--text); font:600 .875rem Manrope,sans-serif; min-height:44px; cursor:pointer; }
.photo-viewer { width:96vw; max-width:1300px; height:94dvh; max-height:94dvh; padding:16px; margin:auto; border:0; border-radius:12px; background:#fffaf7; color:var(--text); }
.photo-viewer::backdrop { background:#221b19df; }
.photo-viewer[open] { display:flex; flex-direction:column; }
.photo-viewer-bar { display:flex; gap:14px; align-items:center; justify-content:space-between; flex-shrink:0; }
.photo-viewer-bar p { margin:0; font-size:.875rem; }
.photo-viewer-image { display:flex; flex:1; min-height:0; overflow:auto; align-items:center; justify-content:center; padding:12px 0; }
.photo-viewer-image img { max-height:100%; width:auto; object-fit:contain; }
.photo-viewer-image.is-zoomed { display:block; }
.photo-viewer-image.is-zoomed img { max-height:none; max-width:none; width:180%; }
.photo-viewer-actions { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:12px; }
body.photo-viewer-open { overflow:hidden; }
@media(max-width:950px) {
 .product-detail-intro { grid-column:1; grid-row:1; padding-top:0; }
 .product-detail>.product-gallery { grid-column:1; grid-row:2; }
 .product-detail>.product-detail-content { grid-column:1; grid-row:3; }
 .product-detail-intro h1 { font-size:clamp(2rem,7vw,3rem); }
}
@media(max-width:600px) {
 .catalogue-tools { padding:16px; gap:14px; }
 .catalogue-tools label,.catalogue-tools label:first-child { flex:1 1 100%; }
 .catalogue-tools .btn { width:100%; }
 .hero-content { padding:28px 7vw 24px; }
 .hero-title { font-size:clamp(1.8rem,7.3vw,2.5rem); line-height:1.13; }
 .hero-text { margin:14px 0 18px; }
 .hero .eyebrow { font-size:.7rem; letter-spacing:1.3px; margin-bottom:12px; }
 .hero-note,.hero-stamp { display:none; }
 .hero-visual { min-height:0; height:170px; padding:0 7vw 20px; }
 .hero-photo { min-height:0; border-radius:16px; }
 .hero-photo.home-photo>img { height:150px; min-height:0; object-fit:cover; }
 .hero { min-height:0; }
 .home-search { margin-bottom:18px; }
 .home-search input { font-size:16px; }
 .hero-actions .btn { padding:11px 16px; }
 .product-detail { gap:20px; }
 .photo-viewer { padding:12px; width:100vw; height:100dvh; max-height:100dvh; border-radius:0; }
 .photo-viewer-actions { gap:8px; }
 .photo-viewer-actions .btn { padding:10px 12px; }
}
@media(max-width:600px) {
 .catalogue-tools label { flex:1 1 calc(50% - 7px); min-width:0; }
 .catalogue-tools label:first-child { flex-basis:100%; }
 .catalogue-tools input,.catalogue-tools select { font-size:16px; }
}

/* Social links shared by the footer and Home contacts. */
.social-links{display:flex;flex-wrap:wrap;gap:8px 20px;align-items:center}.social-links a{display:inline-flex;align-items:center;min-height:44px;text-decoration:none;font-weight:600}.social-links a:hover{text-decoration:underline}.social-links a:focus-visible{outline:2px solid currentColor;outline-offset:4px}.contact-banner .social-links{margin-top:16px}.footer .social-links{flex-shrink:0}

.privacy-content{max-width:900px;margin-inline:auto;line-height:1.85;overflow-wrap:anywhere}.privacy-content h2{font-size:clamp(1.4rem,3vw,1.9rem);margin:2rem 0 .8rem}.privacy-content p{margin:.8rem 0}.privacy-content a{text-decoration:underline}.privacy-date{color:#795e5b}.privacy-content code{font-size:.88em}
