/* Tuttostampa · stile condiviso. Caricare dopo gli stili delle singole pagine. */
:root { --primary-color:#e63946; --secondary-color:#1d3557; --accent-color:#457b9d; --dark-color:#1d3557; --light-color:#f5f7f9; --light-gray:#f5f7f9; --gray-color:#5f6d7d; --ts-ink:#1d3557; --ts-muted:#596778; --ts-border:#e2e7ec; --ts-radius:16px; --ts-header-height:88px; }
html { scroll-padding-top:115px; }
body { color:#384657; font-size:16px; line-height:1.7; -webkit-font-smoothing:antialiased; }
*, *::before, *::after { box-sizing:border-box; }
h1,h2,h3,h4,h5,h6 { color:var(--ts-ink); letter-spacing:-.025em; line-height:1.24; }
h1 { font-size:clamp(2rem,4vw,3.15rem); font-weight:700; }
h2 { font-size:clamp(1.65rem,3vw,2.4rem); }
h3 { font-size:1.22rem; }
h1,h2,h3 { overflow-wrap:break-word; }
p { margin-bottom:1.2rem; }
img,svg,video,iframe { max-width:100%; }
button,input,textarea,select { font:inherit; }
a,button { -webkit-tap-highlight-color:transparent; }
a { transition:color .18s ease,background-color .18s ease,border-color .18s ease; }
:focus-visible { outline:3px solid var(--accent-color); outline-offset:4px; }
input:focus-visible,textarea:focus-visible,select:focus-visible { outline-offset:2px; }
[hidden] { display:none !important; }
.container { max-width:1240px; padding-inline:30px; }
.section { padding:76px 0; }
.row,.col,.container>*,.form-col,.product-details,.footer-content>* { min-width:0; }
.section-title { margin-bottom:40px; }
.section-title h2 { font-size:clamp(1.65rem,3vw,2.35rem); padding-bottom:18px; }
.section-title h2::after { width:44px; height:3px; border-radius:4px; }
.section-title p { color:var(--ts-muted); max-width:660px; margin:14px auto 0; }
.btn { display:inline-flex; justify-content:center; align-items:center; gap:10px; min-height:48px; max-width:100%; padding:12px 23px; border-radius:8px; font-size:.87rem; line-height:1.45; font-weight:700; border:1px solid transparent; width:auto; }
.btn-primary { background:var(--primary-color); border-color:var(--primary-color); color:#fff; }
.btn-primary:hover { background:#cf2e3b; border-color:#cf2e3b; }
.btn-secondary { background:var(--secondary-color); border-color:var(--secondary-color); color:#fff; }
.btn-outline { border:1px solid #c7d2dd; background:#fff; color:var(--secondary-color); }
.btn-outline:hover { background:var(--secondary-color); color:#fff; border-color:var(--secondary-color); }
.btn i { font-size:.9em; }
.header { position:sticky; top:0; padding:0; background:#fff; box-shadow:none; border-bottom:1px solid var(--ts-border); z-index:1000; }
.header.scrolled { padding:0; box-shadow:0 5px 20px rgb(29 53 87 / 5%); }
.header-inner { min-height:var(--ts-header-height); padding:12px 0; gap:24px; }
.logo { flex:0 0 auto; }
.logo a { display:inline-flex; align-items:center; }
.logo img { max-height:54px; width:auto; max-width:218px; object-fit:contain; }
.nav-menu { align-items:center; gap:24px; }
.nav-item { margin:0; }
.nav-link { display:inline-flex; align-items:center; min-height:44px; font-size:.79rem; font-weight:600; white-space:nowrap; }
.nav-link.active::after { bottom:2px; height:2px; }
.nav-item:has(>a[href*="preventivi.html"]) { order:9; }
.nav-link[href*="preventivi.html"] { min-height:44px; padding:10px 18px; background:var(--primary-color); border-radius:7px; color:#fff; }
.nav-link[href*="preventivi.html"]:hover { background:#cf2e3b; color:#fff; }
.nav-link[href*="preventivi.html"]::after { display:none; }
.mobile-nav-toggle { background:#f4f6f8; border:1px solid var(--ts-border); border-radius:8px; width:44px; height:44px; align-items:center; justify-content:center; flex:0 0 auto; font-size:20px; padding:0; }
.ts-menu-icon { width:18px; height:14px; display:flex; flex-direction:column; justify-content:space-between; }
.ts-menu-icon::before,.ts-menu-icon::after,.ts-menu-icon span { content:''; display:block; height:2px; width:18px; background:currentColor; border-radius:2px; transition:transform .18s ease; }
.mobile-nav-toggle[aria-expanded="true"] .ts-menu-icon::before { transform:translateY(6px) rotate(45deg); }
.mobile-nav-toggle[aria-expanded="true"] .ts-menu-icon::after { transform:translateY(-6px) rotate(-45deg); }
.mobile-nav-toggle[aria-expanded="true"] .ts-menu-icon span { opacity:0; }
.ts-skip-link { position:fixed; top:-80px; left:20px; z-index:2000; background:#fff; color:var(--ts-ink); padding:12px 20px; border:2px solid var(--accent-color); border-radius:8px; }
.ts-skip-link:focus { top:12px; }
.page-title { padding:52px 0 38px !important; background:#f5f7f9 !important; border-bottom:1px solid var(--ts-border); }
.page-title h1 { margin-bottom:15px; }
.breadcrumbs { margin-top:12px; }
.breadcrumbs-list { flex-wrap:wrap; row-gap:5px; }
.breadcrumbs-item { font-size:.78rem; padding-inline:10px; }
.breadcrumbs-link { color:var(--ts-muted); }
.catalog-intro.section,.category-intro.section { padding-top:52px; }
.catalog-intro .row { gap:30px; margin-bottom:0 !important; }
.catalog-intro .col { min-width:0 !important; padding:0 !important; }
.catalog-intro .col>img { max-height:410px; object-fit:cover; border-radius:var(--ts-radius) !important; }
.catalog-intro h2 { max-width:480px; }
.category-description { max-width:860px; color:var(--ts-muted); }
.category-header { gap:20px; flex-wrap:wrap; }
.category-section { margin-top:56px; }
.category-section>h2 { padding-bottom:17px; border-bottom:1px solid var(--ts-border); font-size:1.8rem; scroll-margin-top:180px; }
.services-grid,.products-grid,.catalog-grid,.categories-grid,.related-products-grid,.team-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,255px),1fr)) !important; gap:24px !important; }
.products-grid { margin-top:26px; }
.category-card,.product-card,.service-card { min-width:0; background:#fff !important; border-radius:var(--ts-radius) !important; border:1px solid var(--ts-border); box-shadow:none !important; transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease; margin:0; }
.category-card:hover,.product-card:hover,.service-card:hover { transform:translateY(-3px); border-color:#c2ccd6; box-shadow:0 10px 24px rgb(29 53 87 / 7%) !important; }
.product-card { display:flex; flex-direction:column; }
.product-card>a { display:flex; flex-direction:column; color:inherit; flex:1; }
.product-card>a:hover { color:inherit; }
.product-image { height:260px !important; display:flex; align-items:center; justify-content:center; background:#f4f5f6 !important; overflow:hidden; border-bottom:1px solid #eef0f3; }
.product-image img { display:block; width:100% !important; height:100% !important; max-width:100%; max-height:100%; object-fit:contain !important; mix-blend-mode:multiply; transition:transform .25s ease; }
.product-card:hover .product-image img { transform:scale(1.025); }
.category-image { height:215px !important; background:#f4f5f6; }
.category-image img { width:100%; height:100%; object-fit:cover; }
.product-content,.category-content,.service-content { padding:23px !important; }
.product-content { display:flex; flex-direction:column; flex:1; }
.product-content>.btn { align-self:flex-start; margin-top:auto; }
.product-title,.product-card .product-title { font-size:1.13rem; color:var(--ts-ink); line-height:1.4; font-weight:700; }
.product-meta { display:flex; flex-direction:column; align-items:flex-start; gap:8px; margin-bottom:12px; }
.product-meta .product-title { margin-bottom:0; }
.product-tag { display:inline-block; border-radius:5px; background:#eef3f6; color:#45708b; font-size:.64rem; line-height:1.5; padding:4px 8px; font-weight:700; letter-spacing:.04em; text-transform:uppercase; }
.product-price { font-size:.98rem; font-weight:700; color:var(--accent-color); margin-bottom:12px; }
.product-description,.service-description { color:var(--ts-muted); font-size:.9rem; line-height:1.7; }
.product-content .product-description { flex:1; }
.category-content h3 { font-size:1.3rem; }
.category-content li a { display:inline-block; padding-block:3px; font-size:.9rem; }
.service-image img { height:240px; object-fit:cover; }
.service-title { font-size:1.3rem; }
.service-detail { margin-bottom:0; }
.service-detail .row { gap:30px; margin-bottom:0 !important; }
.service-contact-box { background:#f5f7f9 !important; border:1px solid var(--ts-border); border-radius:12px !important; }
.service-features-list i { color:var(--accent-color) !important; }
/* Fotografie dei servizi: inquadratura completa e marchio sempre visibile. */
.services-studio-intro .row { gap:28px; margin-bottom:0 !important; }
.services-studio-intro .col { padding:0 !important; }
.services-studio-intro img { display:block; width:100%; height:auto; border-radius:var(--ts-radius); }
.services-studio-grid .service-card { display:flex; flex-direction:column; overflow:hidden; }
.services-studio-grid .service-image { display:block; aspect-ratio:3/2; background:#f1f2f3; overflow:hidden; }
.services-studio-grid .service-image img { display:block; width:100%; height:100%; object-fit:contain; }
.services-studio-grid .service-content { display:flex; flex-direction:column; flex:1; }
.services-studio-grid .service-title a { color:inherit; }
.services-studio-grid .service-title a:hover { color:var(--primary-color); }
.services-studio-grid .service-content>.btn { align-self:flex-start; margin-top:auto; }
.service-studio-figure { margin:0 0 24px; }
.service-studio-figure img { display:block; width:100%; height:auto; border-radius:var(--ts-radius); }
.service-studio-figure figcaption { font-size:.74rem; color:var(--ts-muted); margin-top:8px; }
@media (min-width:1001px) { .services-studio-grid { grid-template-columns:repeat(3,minmax(0,1fr)) !important; } }
.features-grid { grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr)) !important; }
.product-section>.container:has(>.product-gallery):has(>.product-info) { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:52px; row-gap:64px; align-items:start; }
.product-section>.container:has(>.ts-product-visual):has(>.product-info) { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); column-gap:52px; row-gap:64px; align-items:start; }
.ts-product-visual { position:sticky; top:112px; min-width:0; }
.ts-product-visual>.product-gallery { grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; margin:0; }
.product-image-note { grid-column:1/-1; font-size:.72rem; line-height:1.6; color:#6a7684; margin:4px 0 0; }
.ts-product-visual>.product-image-note { margin-top:12px; }
.product-section>.container>.product-gallery { position:sticky; top:112px; grid-template-columns:repeat(4,minmax(0,1fr)); gap:12px; width:100%; margin:0; }
.product-gallery-main { height:min(39vw,500px); min-height:320px; border-radius:var(--ts-radius); background:#f4f5f6; border:1px solid var(--ts-border); }
.product-gallery-main img { width:100%; height:100%; object-fit:contain; mix-blend-mode:multiply; }
.product-gallery-thumb { height:90px; border-radius:8px; border:1px solid var(--ts-border); }
.product-gallery-thumb.active,.product-gallery-thumb:hover { box-shadow:none; border:2px solid var(--accent-color); }
.product-gallery-thumb img { object-fit:contain; max-height:100%; }
.product-info { display:flex; flex-direction:column; min-width:0; gap:26px; margin:0; }
.product-details { min-width:0; width:100%; }
.product-details>.product-title { font-size:1.85rem; }
.product-details .product-description { font-size:.95rem; }
.product-features h3,.product-options h3 { font-size:1.15rem; }
.product-features li { font-size:.93rem; margin-bottom:8px; }
.product-sidebar { width:100%; padding:26px; background:#f5f7f9; border:1px solid var(--ts-border); border-radius:var(--ts-radius); }
.option-label { font-size:.87rem; }
.option-items { gap:8px; }
.option-item { height:auto; min-height:40px; font-size:.81rem; border-radius:6px; padding:8px 11px; line-height:1.4; max-width:100%; }
.color-option { min-width:34px; min-height:34px; }
.option-item.active,.option-item:hover { background-color:var(--secondary-color); border-color:var(--secondary-color); }
.quantity-selector { flex-wrap:wrap; gap:8px; }
.quantity-selector input { max-width:100px; }
.quantity-btn { flex-shrink:0; min-width:42px; min-height:42px; border-radius:6px; }
.product-actions { display:flex; flex-wrap:wrap; gap:10px; }
.product-actions .btn { width:100%; }
.related-products { grid-column:1/-1; margin-top:0; width:100%; }
.related-products>h2,.related-products>h3 { margin-bottom:28px; }
.related-products-grid { grid-template-columns:repeat(4,minmax(0,1fr)) !important; }
.related-products .product-image { height:215px !important; }
.related-products .product-content { padding:19px !important; }
.related-products .product-title { font-size:1rem; }
.ts-catalog-nav { position:sticky; top:var(--ts-header-height); z-index:100; margin:32px 0 38px; padding:13px 16px; background:#fff; border:1px solid var(--ts-border); border-radius:10px; box-shadow:0 4px 18px rgb(29 53 87 / 4%); }
.ts-catalog-nav-inner { display:flex; align-items:center; gap:18px; }
.ts-catalog-nav-label { font-weight:700; color:var(--ts-ink); font-size:.76rem; white-space:nowrap; margin:0; }
.ts-catalog-links { display:flex; flex-wrap:wrap; gap:5px 8px; }
.ts-catalog-links a { display:inline-flex; min-height:34px; align-items:center; padding:5px 11px; border-radius:5px; font-size:.78rem; color:var(--ts-muted); }
.ts-catalog-links a:hover,.ts-catalog-links a:focus-visible { color:var(--ts-ink); background:#eef3f6; }
.ts-catalog-select { display:none; width:100%; padding:10px; border:1px solid var(--ts-border); border-radius:6px; color:var(--ts-ink); background:#fff; }
.preventivi-info,.contact-info { border:none; border-radius:var(--ts-radius); box-shadow:none; background:#f5f7f9; padding:32px; }
.preventivi-form,.contact-form { border:1px solid var(--ts-border); border-radius:var(--ts-radius); box-shadow:0 12px 36px rgb(29 53 87 / 4%); padding:34px; }
.form-row { margin:0; gap:20px; }
.form-col { padding:0; min-width:min(100%,220px); }
.form-label { color:var(--ts-ink); font-size:.88rem; }
.form-control { border:1px solid #ccd4dc; min-height:48px; border-radius:7px; background:#fff; color:#26394b; padding:11px 13px; }
.form-control:focus { border-color:var(--accent-color); box-shadow:0 0 0 3px rgb(69 123 157 / 12%); }
.form-check { align-items:flex-start; gap:10px; font-size:.86rem; }
.form-check-input { margin:6px 0 0; flex:0 0 auto; width:17px; height:17px; accent-color:var(--secondary-color); }
.form-message { line-height:1.6; }
.faq-item { border:1px solid var(--ts-border); border-radius:10px; margin-bottom:12px; overflow:hidden; }
.faq-item-header { cursor:pointer; padding:20px 24px !important; background:#f7f9fa !important; color:var(--ts-ink); }
.faq-item-header h3,.faq-item-header h4 { margin:0; font-size:1rem; }
.faq-item-body { padding:24px !important; }
.ts-table-scroll { width:100%; overflow-x:auto; margin-block:20px; border:1px solid var(--ts-border); border-radius:10px; }
.ts-table-scroll table { width:100%; margin:0; border-collapse:collapse; }
.ts-table-scroll th,.ts-table-scroll td { padding:12px 16px; font-size:.88rem; }
.cta { background:var(--secondary-color); padding:65px 0; }
.cta h2 { font-size:clamp(1.75rem,3vw,2.4rem); }
.cta p { font-size:1rem; color:#d9e4ed; }
.cta .btn-secondary { background:#fff; color:var(--secondary-color); border-color:#fff; }
.footer { padding:65px 0 24px; background:#1d3557; }
.footer-content { grid-template-columns:1.4fr 1fr 1fr 1.15fr; gap:42px; }
.footer-about { grid-column:auto; }
.footer-logo img { max-height:46px; max-width:210px; }
.footer-about p,.footer-contact-text,.footer-links a { font-size:.84rem; color:#d4dfe9; }
.footer-title { font-size:.96rem; margin-bottom:22px; }
.footer-contact-text { overflow-wrap:anywhere; }
.footer-contact-text a { color:#fff; }
.footer-contact-icon { margin-right:11px; color:#9fc3dc; }
.footer-bottom { text-align:left; margin-top:44px; padding-top:22px; font-size:.74rem; }
.footer-bottom p { margin:0; }
/* Home: fotografia di prodotto e percorsi principali. */
.ts-hero { padding:60px 0 64px; background:#f5f7f9; border-bottom:1px solid var(--ts-border); }
.ts-hero>.container { display:grid; grid-template-columns:.92fr 1.08fr; align-items:center; gap:52px; }
.ts-eyebrow { display:block; margin:0 0 19px; font-size:.71rem; font-weight:700; letter-spacing:.13em; text-transform:uppercase; color:var(--accent-color); }
.ts-hero h1 { font-size:clamp(2.5rem,4.55vw,4rem); line-height:1.09; letter-spacing:-.05em; margin:0 0 24px; }
.ts-hero h1 span { color:var(--primary-color); }
.ts-hero-copy>p:not(.ts-eyebrow) { max-width:480px; font-size:1.025rem; line-height:1.8; color:var(--ts-muted); margin-bottom:25px; }
.ts-hero-actions { display:flex; flex-wrap:wrap; gap:12px; }
.ts-hero-visual { position:relative; min-width:0; overflow:hidden; border-radius:18px; background:#eef0f2; }
.ts-hero-visual>img,.ts-hero-visual>picture>img { display:block; width:100%; aspect-ratio:1.12; object-fit:cover; }
.ts-hero-visual figcaption,.ts-hero-caption { position:absolute; bottom:20px; left:20px; right:20px; background:rgb(255 255 255 / 93%); padding:13px 17px; border-radius:8px; font-size:.76rem; color:var(--ts-ink); }
.ts-trust-strip { background:#fff; border-bottom:1px solid var(--ts-border); padding:23px 0; }
.ts-trust-strip>.container { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:18px; }
.ts-trust-strip p,.ts-trust-strip div>span { font-size:.8rem; margin:0; color:var(--ts-muted); }
.ts-trust-strip strong { color:var(--ts-ink); font-weight:700; }
.ts-trust-strip i { color:var(--accent-color); margin-right:9px; }
.ts-section-heading { display:flex; align-items:flex-end; justify-content:space-between; gap:30px; margin-bottom:34px; }
.ts-section-heading .ts-eyebrow { margin-bottom:13px; }
.ts-section-heading h2 { margin-bottom:0; font-size:clamp(1.85rem,3vw,2.55rem); }
.ts-section-heading p { color:var(--ts-muted); max-width:500px; margin-bottom:0; font-size:.94rem; }
.ts-section-heading>a { flex-shrink:0; font-size:.83rem; font-weight:700; padding-bottom:4px; border-bottom:1px solid #adc1d0; }
.ts-category-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:24px; }
.ts-category-card { display:block; color:var(--ts-ink); min-width:0; }
.ts-category-card>img,.ts-category-card>picture>img,.ts-category-card .ts-category-image { width:100%; aspect-ratio:1.05; object-fit:cover; border-radius:12px; background:#f3f5f7; margin-bottom:18px; transition:transform .2s ease; }
.ts-category-card:hover>img { transform:translateY(-3px); }
.ts-category-card h3 { font-size:1.16rem; margin-bottom:7px; }
.ts-category-card p { font-size:.82rem; color:var(--ts-muted); margin-bottom:0; line-height:1.65; }
.ts-category-card span { font-size:.8rem; font-weight:700; }
.ts-service-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px; }
.ts-service-card { padding:28px 0 16px; border-top:2px solid #ccd9e3; min-width:0; }
.ts-service-card>img { width:100%; height:220px; object-fit:cover; border-radius:12px; margin-bottom:22px; }
.ts-service-card>i { font-size:1.5rem; color:var(--accent-color); margin-bottom:20px; }
.ts-service-card h3 { font-size:1.24rem; margin-bottom:14px; }
.ts-service-card p { color:var(--ts-muted); font-size:.9rem; }
.ts-service-card a { font-size:.85rem; font-weight:700; }
.ts-process { background:#f5f7f9; }
.ts-process-grid,.ts-process .ts-steps { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:44px; }
.ts-step { padding:25px 0 0; border-top:1px solid #cdd7e0; }
.ts-step-number,.ts-step>span:first-child { font-family:Montserrat,sans-serif; display:block; color:var(--primary-color); font-size:1rem; font-weight:700; margin-bottom:22px; }
.ts-step h3 { font-size:1.23rem; }
.ts-step p { font-size:.9rem; color:var(--ts-muted); margin-bottom:0; }
.ts-contact-band { padding:60px 0; background:var(--secondary-color); color:#fff; }
.ts-contact-band>.container { display:flex; align-items:center; justify-content:space-between; gap:45px; }
.ts-contact-band h2 { color:#fff; font-size:clamp(1.9rem,3vw,2.6rem); max-width:630px; }
.ts-contact-band p { color:#d5e1eb; margin-bottom:0; font-size:.95rem; }
.ts-contact-band .ts-eyebrow { color:#b5d0e2; }
.ts-contact-band .btn { flex-shrink:0; }
.ts-image-note { font-size:.72rem; color:#6a7684; margin:12px 0 0; }
@media(max-width:1100px) {
 .nav-menu { gap:16px; } .logo img { max-width:190px; } .container { padding-inline:24px; } .ts-hero>.container { gap:30px; } .ts-category-grid { gap:18px; } .footer-content { gap:25px; }
}
@media(max-width:992px) {
 :root { --ts-header-height:76px; }
 .header-inner { gap:18px; } .header-inner>nav { order:3; } .mobile-nav-toggle { display:flex; margin-left:auto; order:2; }
 .nav-menu { display:none; align-items:stretch; position:absolute; top:100%; left:0; right:0; width:auto; flex-direction:column; gap:3px; padding:14px 24px 22px; max-height:calc(100dvh - 76px); overflow-y:auto; border-bottom:1px solid var(--ts-border); box-shadow:0 15px 28px rgb(29 53 87 / 10%); }
 .nav-menu.active { display:flex; } .nav-item { margin:0; } .nav-link { padding:8px 12px; min-height:45px; width:100%; font-size:.9rem; border-radius:6px; } .nav-link.active { background:#f1f5f8; } .nav-link.active::after { display:none; }
 .nav-item:has(>a[href*="preventivi.html"]) { margin-top:10px; } .nav-link[href*="preventivi.html"] { justify-content:center; min-height:48px; }
 .logo img { max-height:46px; max-width:190px; } .section { padding-block:60px; }
 .product-section>.container:has(>.product-gallery):has(>.product-info) { column-gap:28px; } .product-gallery-main { min-height:280px; } .product-section>.container>.product-gallery { top:100px; } .product-gallery-thumb { height:68px; }
 .product-section>.container:has(>.ts-product-visual):has(>.product-info) { column-gap:28px; } .ts-product-visual { top:100px; }
 .related-products-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; } .ts-service-grid { gap:20px; }
 .ts-hero { padding-block:45px; } .ts-hero h1 { font-size:2.65rem; } .ts-hero-copy>p:not(.ts-eyebrow) { font-size:.94rem; } .ts-hero-actions { flex-direction:column; align-items:flex-start; }
 .ts-category-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 24px; } .footer-content { grid-template-columns:repeat(2,minmax(0,1fr)); gap:34px; }
}
@media(max-width:767px) {
 html { scroll-padding-top:100px; } .container { padding-inline:20px; } .section { padding-block:48px; } .page-title { padding:36px 0 28px !important; } .page-title h1 { font-size:1.9rem; }
 .row[style*="flex"],.about-content { flex-direction:column !important; gap:28px !important; }
 .row[style*="margin: -15px"],.row[style*="margin:-15px"] { margin:0 !important; }
 .row>[style*="min-width"],.row>.col,.row>[style*="width"] { min-width:0 !important; width:100% !important; flex-basis:auto !important; }
 .row>[style*="padding: 15px"],.row>[style*="padding:15px"] { padding:0 !important; } .row>[style*="margin-right"] { margin-right:0 !important; }
 .pacchetti-promozionali .row { align-items:center; } .pacchetti-promozionali .row>div { transform:none !important; }
 .catalog-intro .row { gap:26px !important; } .catalog-intro .col>img { max-height:350px; }
 .services-grid,.products-grid,.catalog-grid,.categories-grid,.team-grid { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:18px !important; } .category-section { margin-top:40px; }
 .product-section>.container:has(>.product-gallery):has(>.product-info) { grid-template-columns:minmax(0,1fr); row-gap:34px; } .product-section>.container>.product-gallery { position:static; } .product-gallery-main { height:420px; min-height:0; } .product-gallery-thumb { height:86px; } .product-details>.product-title { font-size:1.65rem; } .product-sidebar { padding:24px; }
 .product-section>.container:has(>.ts-product-visual):has(>.product-info) { grid-template-columns:minmax(0,1fr); row-gap:34px; } .ts-product-visual { position:static; }
 .ts-catalog-nav { padding:10px 14px; margin-top:25px; } .ts-catalog-nav-inner { display:block; } .ts-catalog-nav-label { display:block; font-size:.7rem; margin-bottom:5px; } .ts-catalog-links { display:none; } .ts-catalog-select { display:block; } .category-section>h2 { scroll-margin-top:195px; }
 .form-row { flex-direction:column; gap:0; } .form-col { min-width:0; width:100%; } .preventivi-info,.preventivi-form,.contact-info,.contact-form { padding:25px; } .form-group { margin-bottom:22px; } .preventivi .row { gap:26px !important; } .contact-map { height:320px; }
 .ts-hero { padding-block:35px 40px; } .ts-hero>.container { grid-template-columns:minmax(0,1fr); gap:32px; } .ts-hero-copy { max-width:620px; } .ts-hero h1 { font-size:clamp(2.3rem,7.5vw,3.4rem); max-width:590px; } .ts-hero-copy>p:not(.ts-eyebrow) { max-width:550px; } .ts-hero-actions { flex-direction:row; align-items:stretch; } .ts-hero-visual>img,.ts-hero-visual>picture>img { aspect-ratio:1.35; }
 .ts-trust-strip { padding:20px 0; } .ts-trust-strip>.container { justify-content:flex-start; gap:11px 25px; } .ts-trust-strip p { font-size:.74rem; }
 .ts-section-heading { flex-direction:column; align-items:flex-start; gap:18px; margin-bottom:28px; } .ts-section-heading h2 { font-size:1.85rem; }
 .ts-service-grid { grid-template-columns:minmax(0,1fr); gap:12px; } .ts-service-card { padding:25px 0 20px; } .ts-service-card>img { max-height:250px; }
 .ts-process-grid,.ts-process .ts-steps { grid-template-columns:minmax(0,1fr); gap:28px; } .ts-step-number,.ts-step>span:first-child { margin-bottom:14px; }
 .ts-contact-band>.container { flex-direction:column; align-items:flex-start; gap:27px; } .ts-contact-band h2 { font-size:1.95rem; } .ts-contact-band { padding-block:45px; }
 .cta { padding-block:45px; } .cta h2 { font-size:1.85rem; } .footer { padding-block:48px 24px; } .footer-about { grid-column:1/-1; } .footer-about p { max-width:360px; }
}
@media(max-width:479px) {
 :root { --ts-header-height:70px; } .container { padding-inline:18px; } .header-inner { min-height:70px; padding-block:10px; } .logo img { max-width:172px; max-height:43px; } .nav-menu { padding-inline:18px; max-height:calc(100dvh - 70px); }
 .section { padding-block:42px; } .section-title { margin-bottom:28px; } .services-grid,.products-grid,.catalog-grid,.categories-grid,.team-grid { grid-template-columns:minmax(0,1fr) !important; } .product-image { height:290px !important; } .product-card,.service-card { margin:0; }
 .product-gallery-main { height:320px; } .product-gallery-thumb { height:65px; } .product-section>.container>.product-gallery { gap:8px; } .product-sidebar { padding:21px; }
 .related-products-grid { gap:14px !important; } .related-products .product-image { height:150px !important; } .related-products .product-content { padding:13px !important; } .related-products .product-title { font-size:.88rem; } .related-products .product-price { font-size:.83rem; } .related-products .btn { padding:9px 10px; font-size:.72rem; }
 .preventivi-info,.preventivi-form,.contact-info,.contact-form { padding:21px; } .btn { padding:12px 19px; }
 .ts-hero h1 { font-size:2.35rem; } .ts-hero .ts-eyebrow { font-size:.66rem; } .ts-hero-actions { display:grid; grid-template-columns:1fr; width:100%; } .ts-hero-visual>img,.ts-hero-visual>picture>img { aspect-ratio:1.06; } .ts-hero-visual figcaption,.ts-hero-caption { left:12px; right:12px; bottom:12px; padding:11px 13px; font-size:.68rem; }
 .ts-trust-strip>.container { flex-direction:column; align-items:flex-start; } .ts-category-grid { gap:25px 16px; } .ts-category-card h3 { font-size:1rem; } .ts-category-card p { font-size:.76rem; } .ts-category-card>img,.ts-category-card>picture>img { margin-bottom:12px; border-radius:9px; }
 .footer-content { grid-template-columns:minmax(0,1fr); gap:30px; } .footer-about { grid-column:auto; } .footer-title { margin-bottom:15px; } .footer-bottom { margin-top:32px; } .faq-item-header { padding:18px !important; } .faq-item-body { padding:18px !important; } .timeline-content { width:calc(100% - 48px); margin-left:48px !important; }
}
@media(prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { animation-duration:.01ms !important; transition-duration:.01ms !important; } }
