
:root{--ivory:#F8F5EF;--beige:#E8DED0;--taupe:#B6A897;--brown:#2D241E;--gray:#6F6A64;--accent:#B17656;--white:#fff;--line:#e8e0d6;--shadow:0 18px 45px rgba(45,36,30,.10);--radius:24px;--serif:Georgia,'Times New Roman',serif;--sans:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,Arial,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:var(--sans);color:var(--brown);background:var(--ivory);line-height:1.55}img{max-width:100%;display:block}a{color:inherit;text-decoration:none}.container{width:min(1180px,92vw);margin:auto}.site-header{position:sticky;top:0;z-index:50;background:rgba(248,245,239,.88);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.nav{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:14px 0}.logo{display:flex;align-items:center;gap:12px;font-family:var(--serif);font-weight:700;font-size:25px;color:var(--brown)}.logo img{width:165px;max-height:52px;object-fit:contain}.nav-links{display:flex;align-items:center;gap:20px;font-size:14px;color:#4c4138}.nav-links a{padding:8px 0;border-bottom:2px solid transparent}.nav-links a:hover{border-color:var(--accent)}.lang{display:flex;gap:7px;align-items:center}.lang a{padding:7px 9px;border:1px solid var(--line);border-radius:999px}.menu-btn{display:none;border:0;background:var(--brown);color:white;border-radius:999px;padding:10px 14px}.hero{position:relative;background:var(--beige);overflow:hidden}.hero .hero-img{height:560px;width:100%;object-fit:cover}.hero-overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(248,245,239,.94),rgba(248,245,239,.70) 38%,rgba(248,245,239,.05) 75%)}.hero-content{position:absolute;inset:0;display:flex;align-items:center}.eyebrow{font-size:13px;text-transform:uppercase;letter-spacing:.12em;color:var(--accent);font-weight:700;margin-bottom:14px}.hero h1,.page-hero h1{font-family:var(--serif);font-size:clamp(36px,5vw,68px);line-height:1.04;margin:0 0 18px;max-width:760px}.hero p{font-size:19px;max-width:650px;color:#5e554e;margin:0 0 28px}.btns{display:flex;gap:12px;flex-wrap:wrap}.btn{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:13px 20px;font-weight:700;border:1px solid var(--brown);background:var(--brown);color:white;box-shadow:0 8px 24px rgba(45,36,30,.14);cursor:pointer}.btn.secondary{background:transparent;color:var(--brown);box-shadow:none}.section{padding:76px 0}.section.soft{background:#fff}.section-head{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:30px}.section h2{font-family:var(--serif);font-size:clamp(28px,3.2vw,46px);line-height:1.1;margin:0}.section .lead{max-width:720px;color:var(--gray);font-size:17px}.grid{display:grid;gap:22px}.grid.cols-4{grid-template-columns:repeat(4,1fr)}.grid.cols-3{grid-template-columns:repeat(3,1fr)}.grid.cols-2{grid-template-columns:repeat(2,1fr)}.card,.product-card,.info-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}.card-pad{padding:24px}.cat-card{position:relative;min-height:250px;overflow:hidden}.cat-card img{height:250px;width:100%;object-fit:cover;transition:.35s}.cat-card:hover img{transform:scale(1.04)}.cat-card div{position:absolute;inset:auto 18px 18px 18px;background:rgba(248,245,239,.92);padding:18px;border-radius:18px}.cat-card h3,.product-card h3{font-family:var(--serif);margin:0 0 8px;font-size:24px}.product-card img{aspect-ratio:1/1;object-fit:cover;background:var(--ivory)}.price{font-weight:800;color:var(--accent);font-size:19px}.muted{color:var(--gray)}.pill{display:inline-flex;align-items:center;gap:6px;background:var(--ivory);border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:13px;color:#5e554e}.feature-list{display:grid;grid-template-columns:repeat(5,1fr);gap:14px}.feature{background:#fff;border:1px solid var(--line);border-radius:18px;padding:18px;box-shadow:0 10px 30px rgba(45,36,30,.06)}.page-hero{padding:62px 0 38px;background:linear-gradient(180deg,#fff,var(--ivory))}.breadcrumbs{font-size:13px;color:var(--gray);margin-bottom:18px}.product-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);gap:36px;align-items:start}.gallery{display:grid;grid-template-columns:1fr 1fr;gap:14px}.gallery a,.gallery img{border-radius:20px;overflow:hidden}.gallery img{aspect-ratio:1/1;object-fit:cover;background:#fff;border:1px solid var(--line)}.product-box{position:sticky;top:96px;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:28px;box-shadow:var(--shadow)}.form{display:grid;gap:14px}.form .two{display:grid;grid-template-columns:1fr 1fr;gap:12px}label{font-weight:700;font-size:13px;color:#4c4138}input,select,textarea{width:100%;border:1px solid #d9cec2;border-radius:14px;background:#fff;padding:12px 13px;font:inherit;color:var(--brown)}textarea{min-height:110px}.checkbox{display:flex;gap:10px;align-items:flex-start;font-size:13px;color:var(--gray)}.checkbox input{width:auto;margin-top:4px}.form-status{font-size:14px;margin-top:8px}.tabs{display:grid;grid-template-columns:1fr 1fr;gap:24px}.faq details{background:#fff;border:1px solid var(--line);border-radius:16px;padding:16px;margin-bottom:12px}.faq summary{font-weight:700;cursor:pointer}.banner{height:330px;border-radius:var(--radius);object-fit:cover;width:100%;box-shadow:var(--shadow);border:1px solid var(--line)}.legal-content{background:#fff;border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:34px}.legal-content h2{font-size:30px}.footer{background:var(--brown);color:#f4efe8;padding:56px 0 32px}.footer a{color:#f4efe8}.footer-grid{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:28px}.footer small{color:#d6c9bb}.cookie-banner{position:fixed;left:20px;right:20px;bottom:20px;z-index:100;background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);border-radius:20px;padding:18px;display:none}.cookie-banner.show{display:block}.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}.guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}.guide-card{background:#fff;border:1px solid var(--line);border-radius:20px;padding:24px}.hero-small{padding:52px 0;background:#fff}.notice{background:#fff8ec;border:1px solid #ead7b8;border-radius:18px;padding:16px;color:#6b4d2e}.related{margin-top:32px}.mobile-only{display:none}@media(max-width:900px){.menu-btn{display:inline-flex}.nav-links{position:absolute;top:72px;left:4vw;right:4vw;background:#fff;border:1px solid var(--line);border-radius:20px;padding:20px;box-shadow:var(--shadow);display:none;flex-direction:column;align-items:flex-start}.nav-links.open{display:flex}.hero .hero-img{height:620px}.hero-overlay{background:linear-gradient(180deg,rgba(248,245,239,.95),rgba(248,245,239,.78),rgba(248,245,239,.35))}.hero-content{align-items:flex-end;padding-bottom:52px}.grid.cols-4,.grid.cols-3,.grid.cols-2,.feature-list,.product-layout,.tabs,.footer-grid,.guide-grid{grid-template-columns:1fr}.product-box{position:static}.section-head{display:block}.gallery{grid-template-columns:1fr 1fr}.form .two{grid-template-columns:1fr}.footer{padding-bottom:80px}.desktop-only{display:none}.mobile-only{display:block}}@media(max-width:560px){.logo img{width:130px}.hero h1{font-size:37px}.section{padding:54px 0}.gallery{grid-template-columns:1fr}.btn{width:100%}.cat-card img{height:220px}}


.footer-cookie-link{background:transparent;border:1px solid rgba(244,239,232,.45);color:#f4efe8;border-radius:999px;padding:9px 13px;cursor:pointer}.footer-cookie-link:hover{background:rgba(255,255,255,.08)}.cookie-banner{max-width:760px;margin:auto}.cookie-panel{margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--ivory)}.small{font-size:13px}.legal-content table{width:100%;border-collapse:collapse;margin:18px 0}.legal-content th,.legal-content td{border:1px solid var(--line);padding:10px;text-align:left}.legal-content code{background:var(--ivory);border:1px solid var(--line);padding:2px 6px;border-radius:6px}.legal-content .notice{margin:18px 0}.form .checkbox a{text-decoration:underline;color:var(--brown)}

.hp-field{position:absolute!important;left:-9999px!important;opacity:0!important;height:0!important;overflow:hidden!important}

.table-wrap{overflow-x:auto;margin:1.25rem 0;border:1px solid rgba(45,36,30,.12);border-radius:18px;background:#fff}
.legal-table{width:100%;border-collapse:collapse;font-size:.92rem}
.legal-table th,.legal-table td{padding:.85rem 1rem;border-bottom:1px solid rgba(45,36,30,.1);vertical-align:top;text-align:left}
.legal-table th{background:#f8f5ef;color:#2d241e;font-weight:700}
.legal-table tr:last-child td{border-bottom:0}

/* === Responsive layout hardening: product/card overflow fix === */
html,body{width:100%;max-width:100%;overflow-x:hidden}body{-webkit-text-size-adjust:100%}main,section,header,footer,.container,.card,.product-card,.info-card,.legal-content,.product-box{min-width:0}.container{width:min(1180px,calc(100% - 32px))}.grid>*{min-width:0}.card-pad{min-width:0;overflow-wrap:break-word}.card-pad h1,.card-pad h2,.card-pad h3,.info-card h1,.info-card h2,.info-card h3,.product-card h3,.product-box h1,.product-box h2,.product-box h3,.legal-content h1,.legal-content h2,.legal-content h3,.guide-card h1,.guide-card h2,.guide-card h3{overflow-wrap:anywhere;word-break:normal;hyphens:auto}.info-card h2,.card-pad h2,.product-box h2,.guide-card h2{font-family:var(--serif);font-size:clamp(24px,2.15vw,34px);line-height:1.12;margin:0 0 14px}.product-card h3,.cat-card h3{font-size:clamp(21px,1.7vw,27px);line-height:1.15}.legal-content h2{font-size:clamp(24px,2.1vw,34px);line-height:1.15}.legal-content h3{font-size:clamp(20px,1.5vw,25px);line-height:1.2}.product-box{max-width:100%}.product-box .btn,.product-card .btn,.card .btn{max-width:100%;white-space:normal;text-align:center}.price{overflow-wrap:anywhere}.section .lead,.hero p,p,li,td,th,label,summary{overflow-wrap:break-word}.section-head{min-width:0}.banner{max-width:100%;height:auto;min-height:230px;object-fit:cover}.gallery a{min-width:0}.gallery img{width:100%}.footer-grid>*{min-width:0}.legal-content table{display:block;max-width:100%;overflow-x:auto;white-space:normal}

@media (max-width:1180px){
  .grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .grid.cols-3{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feature-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .product-layout{grid-template-columns:minmax(0,1fr) minmax(320px,.74fr);gap:24px}
  .product-layout .grid.cols-2{grid-template-columns:1fr}
  .section h2{font-size:clamp(28px,3vw,42px)}
}

@media (max-width:980px){
  .container{width:min(100% - 28px,920px)}
  .product-layout{grid-template-columns:1fr}
  .product-box{position:static;top:auto}
  .grid.cols-3,.grid.cols-4{grid-template-columns:repeat(2,minmax(0,1fr))}
  .feature-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .section{padding:62px 0}
}

@media (max-width:760px){
  .container{width:min(100% - 24px,680px)}
  .nav{gap:10px}.logo{font-size:20px}.logo img{width:140px;max-height:44px}
  .hero .hero-img{height:560px}.hero-content{padding:0 0 38px}.hero h1,.page-hero h1{font-size:clamp(34px,10vw,48px);max-width:100%}.hero p{font-size:17px}.page-hero{padding:44px 0 26px}
  .grid.cols-2,.grid.cols-3,.grid.cols-4,.feature-list,.guide-grid,.tabs,.footer-grid{grid-template-columns:1fr!important}
  .section-head{display:block;margin-bottom:22px}.section h2{font-size:clamp(28px,8vw,38px)}
  .card-pad{padding:20px}.info-card h2,.card-pad h2,.product-box h2,.legal-content h2{font-size:clamp(24px,7vw,31px)}
  .product-card h3,.cat-card h3{font-size:clamp(21px,6vw,26px)}
  .gallery{grid-template-columns:1fr 1fr;gap:10px}.product-box{padding:22px}.legal-content{padding:24px}.banner{min-height:190px}.btns{gap:10px}.btn{padding:12px 16px}
}

@media (max-width:520px){
  .container{width:min(100% - 20px,480px)}
  .hero .hero-img{height:520px}.hero-content{padding-bottom:30px}.hero h1,.page-hero h1{font-size:clamp(31px,11vw,42px)}.hero p{font-size:16px}
  .nav-links{left:10px;right:10px;top:64px}.menu-btn{padding:9px 12px}.logo img{width:126px}
  .gallery{grid-template-columns:1fr}.form .two{grid-template-columns:1fr}.card-pad{padding:18px}.product-box{padding:18px}.legal-content{padding:20px;border-radius:18px}.section{padding:48px 0}.cat-card img{height:210px}.banner{min-height:160px}.cookie-banner{left:10px;right:10px;bottom:10px;padding:14px;border-radius:16px}.cookie-actions .btn{width:100%}
}


/* === Brand logo update: Materassi Ostia === */
.logo img{width:auto!important;height:64px!important;max-height:64px!important;max-width:260px!important;object-fit:contain!important}
.site-header .nav{min-height:82px}
@media(max-width:760px){.logo img{height:52px!important;max-height:52px!important;max-width:210px!important}.site-header .nav{min-height:68px}}
@media(max-width:520px){.logo img{height:46px!important;max-height:46px!important;max-width:178px!important}.site-header .nav{min-height:62px}}
