/* ==========================================================================
   FRICATO — Design System (site statique)
   ========================================================================== */
:root{
  --color-bg:#FAF7F2;
  --color-bg-alt:#FFFFFF;
  --color-blush:#F3D9DD;
  --color-gold:#C6A15B;
  --color-gold-dark:#A8843F;
  --color-black:#1B1B1B;
  --color-text:#3A342E;
  --color-text-light:#7A7267;
  --color-border:#E7DFD3;
  --radius:2px;
  --font-serif:'Lora','Playfair Display',Georgia,serif;
  --font-sans:'Jost','Helvetica Neue',Arial,sans-serif;
  --container:1240px;
  --transition:.25s ease;
}
*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);line-height:1.65;font-size:16px;-webkit-font-smoothing:antialiased;}
img{max-width:100%;display:block;height:auto;}
a{color:inherit;text-decoration:none;transition:color var(--transition);}
ul{list-style:none;margin:0;padding:0;}
h1,h2,h3,h4{font-family:var(--font-serif);font-weight:600;color:var(--color-black);line-height:1.25;margin:0 0 .6em;}
h1{font-size:clamp(2rem,4vw,3.4rem);}
h2{font-size:clamp(1.5rem,3vw,2.2rem);}
h3{font-size:1.3rem;}
p{margin:0 0 1em;}
.container{max-width:var(--container);margin:0 auto;padding:0 24px;}
.section{padding:70px 0;}
.section-alt{background:var(--color-bg-alt);}
.eyebrow{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:3px;font-size:.75rem;color:var(--color-gold-dark);font-weight:600;}
.center{text-align:center;}
.btn{display:inline-block;padding:14px 34px;border-radius:var(--radius);font-family:var(--font-sans);text-transform:uppercase;font-size:.78rem;letter-spacing:2px;font-weight:600;cursor:pointer;border:1px solid transparent;transition:all var(--transition);}
.btn-primary{background:var(--color-black);color:#fff;}
.btn-primary:hover{background:var(--color-gold-dark);}
.btn-outline{background:transparent;border-color:var(--color-black);color:var(--color-black);}
.btn-outline:hover{background:var(--color-black);color:#fff;}
.btn-amazon{background:var(--color-gold);color:#fff;width:100%;text-align:center;letter-spacing:1.5px;border:none;font-size:.78rem;}
.btn-amazon:hover{background:var(--color-black);}

/* Disclosure */
.disclosure-banner{background:var(--color-black);color:#e9e4da;font-size:.78rem;text-align:center;padding:8px 16px;}
.disclosure-banner a{color:var(--color-gold);text-decoration:underline;}
.disclosure-footer{background:var(--color-bg-alt);border-top:1px solid var(--color-border);padding:16px 0;font-size:.78rem;color:var(--color-text-light);text-align:center;}

/* Header */
.site-header{background:var(--color-bg-alt);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100;}
.header-inner{display:flex;align-items:center;justify-content:space-between;padding:14px 24px;max-width:var(--container);margin:0 auto;}
.site-logo img{height:44px;width:auto;}
.main-nav ul{display:flex;gap:32px;}
.main-nav a{font-size:.82rem;text-transform:uppercase;letter-spacing:1.5px;font-weight:500;}
.main-nav a:hover,.main-nav a.active{color:var(--color-gold-dark);}
.mobile-toggle{display:none;background:none;border:none;font-size:1.3rem;cursor:pointer;}
@media(max-width:900px){
  .main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--color-bg-alt);border-bottom:1px solid var(--color-border);}
  .main-nav.active{display:block;}
  .main-nav ul{flex-direction:column;padding:20px 24px;gap:16px;}
  .mobile-toggle{display:block;}
}

/* Hero */
.hero{background:linear-gradient(120deg,var(--color-blush) 0%,var(--color-bg) 60%);padding:90px 0;}
.hero-inner{display:grid;grid-template-columns:1.1fr .9fr;gap:50px;align-items:center;}
.hero-text p{color:var(--color-text-light);font-size:1.05rem;max-width:460px;}
.hero-cta{margin-top:28px;display:flex;gap:16px;flex-wrap:wrap;}
.hero-image img{border-radius:var(--radius);box-shadow:0 30px 60px -20px rgba(0,0,0,.25);}
@media(max-width:800px){.hero-inner{grid-template-columns:1fr;}}

/* Grid */
.grid{display:grid;gap:32px;}
.grid-4{grid-template-columns:repeat(4,1fr);}
.grid-3{grid-template-columns:repeat(3,1fr);}
@media(max-width:1000px){.grid-4,.grid-3{grid-template-columns:repeat(2,1fr);}}
@media(max-width:600px){.grid-4,.grid-3{grid-template-columns:1fr;}}

/* Product card */
.product-card{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;transition:box-shadow var(--transition),transform var(--transition);position:relative;}
.product-card:hover{box-shadow:0 20px 40px -18px rgba(0,0,0,.18);transform:translateY(-4px);}
.product-card .badge{position:absolute;top:14px;left:14px;background:var(--color-gold);color:#fff;font-size:.65rem;text-transform:uppercase;letter-spacing:1px;padding:5px 10px;z-index:2;}
.product-thumb{aspect-ratio:1/1;overflow:hidden;background:var(--color-blush);}
.product-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease;}
.product-card:hover .product-thumb img{transform:scale(1.05);}
.product-body{padding:20px;}
.product-cat{font-size:.7rem;text-transform:uppercase;letter-spacing:1.5px;color:var(--color-gold-dark);font-weight:600;}
.product-title{font-family:var(--font-serif);font-size:1.05rem;margin:6px 0;}
.product-desc{font-size:.85rem;color:var(--color-text-light);margin-bottom:10px;}
.product-rating{color:var(--color-gold);font-size:.85rem;margin-bottom:8px;}
.product-rating span{color:var(--color-text-light);margin-left:4px;}
.product-price{font-family:var(--font-serif);font-size:1.2rem;margin-bottom:14px;}
.product-price .old{text-decoration:line-through;color:var(--color-text-light);font-size:.9rem;margin-right:8px;}

/* Category tiles */
.cat-tile{position:relative;border-radius:var(--radius);overflow:hidden;aspect-ratio:4/5;}
.cat-tile img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.cat-tile:hover img{transform:scale(1.08);}
.cat-tile-label{position:absolute;bottom:0;left:0;right:0;padding:20px;background:linear-gradient(to top,rgba(0,0,0,.65),transparent);color:#fff;font-family:var(--font-serif);font-size:1.1rem;}

/* Filter bar */
.filter-bar{display:flex;gap:18px;flex-wrap:wrap;align-items:center;justify-content:space-between;background:var(--color-bg-alt);border:1px solid var(--color-border);padding:18px 22px;border-radius:var(--radius);margin-bottom:36px;}
.filter-group{display:flex;gap:14px;flex-wrap:wrap;align-items:center;}
.filter-bar select,.filter-bar input[type="text"]{padding:9px 12px;border:1px solid var(--color-border);font-family:var(--font-sans);font-size:.85rem;background:#fff;}
.filter-count{font-size:.8rem;color:var(--color-text-light);}

/* Single product */
.review-hero{display:grid;grid-template-columns:.9fr 1.1fr;gap:60px;margin-bottom:50px;}
@media(max-width:900px){.review-hero{grid-template-columns:1fr;}}
.review-gallery img{border-radius:var(--radius);border:1px solid var(--color-border);}
.review-price-box{background:var(--color-bg-alt);border:1px solid var(--color-border);padding:24px;border-radius:var(--radius);margin:20px 0;}
.review-price-box .product-price{font-size:1.8rem;}
.proscons{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:40px 0;}
@media(max-width:700px){.proscons{grid-template-columns:1fr;}}
.pros,.cons{padding:24px;border-radius:var(--radius);}
.pros{background:#F2F7F1;border:1px solid #DCEAD9;}
.cons{background:#FBF1F1;border:1px solid #F0DADA;}
.pros h4{color:#3E7D4C;margin-top:0;}
.cons h4{color:#B5504B;margin-top:0;}
.pros li,.cons li{position:relative;padding-left:22px;margin-bottom:8px;font-size:.92rem;}
.pros li::before{content:"✓";position:absolute;left:0;color:#3E7D4C;font-weight:700;}
.cons li::before{content:"✕";position:absolute;left:0;color:#B5504B;font-weight:700;}
.editor-note{background:var(--color-blush);border-left:4px solid var(--color-gold);padding:20px 24px;border-radius:var(--radius);margin:30px 0;font-style:italic;}
.post-content{max-width:760px;margin:0 auto;}

/* Testimonials / Newsletter */
.testimonial-card{background:var(--color-bg-alt);border:1px solid var(--color-border);padding:28px;border-radius:var(--radius);}
.testimonial-stars{color:var(--color-gold);margin-bottom:10px;}
.newsletter{background:var(--color-black);color:#fff;padding:60px 0;text-align:center;}
.newsletter h2{color:#fff;}
.newsletter p{color:#cfc7ba;max-width:520px;margin:0 auto 24px;}
.newsletter-form{display:flex;max-width:440px;margin:0 auto;}
.newsletter-form input{flex:1;padding:14px 16px;border:1px solid #444;background:transparent;color:#fff;font-family:var(--font-sans);}
.newsletter-msg{margin-top:14px;font-size:.85rem;color:var(--color-gold);}

/* Blog */
.blog-card{background:var(--color-bg-alt);border:1px solid var(--color-border);border-radius:var(--radius);overflow:hidden;}
.blog-card img{aspect-ratio:16/10;object-fit:cover;}
.blog-card .body{padding:20px;}
.blog-meta{font-size:.75rem;text-transform:uppercase;letter-spacing:1px;color:var(--color-gold-dark);margin-bottom:8px;}

/* Footer */
.site-footer{background:#F1EBE1;border-top:1px solid var(--color-border);padding:60px 0 0;}
.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:40px;padding-bottom:40px;}
@media(max-width:800px){.footer-grid{grid-template-columns:1fr 1fr;}}
.footer-grid h4{font-family:var(--font-sans);text-transform:uppercase;font-size:.8rem;letter-spacing:1.5px;margin-bottom:16px;}
.footer-grid ul li{margin-bottom:10px;font-size:.88rem;}
.footer-grid ul li a:hover{color:var(--color-gold-dark);}
.footer-bottom{border-top:1px solid var(--color-border);padding:20px 0;text-align:center;font-size:.78rem;color:var(--color-text-light);}
.footer-logo img{height:38px;margin-bottom:14px;}

/* Forms */
.form-field{margin-bottom:18px;}
.form-field label{display:block;font-size:.8rem;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px;}
.form-field input,.form-field textarea{width:100%;padding:12px 14px;border:1px solid var(--color-border);font-family:var(--font-sans);background:#fff;}

.legal-content{max-width:800px;margin:0 auto;font-size:.95rem;}
.breadcrumb{font-size:.78rem;color:var(--color-text-light);margin-bottom:20px;text-transform:uppercase;letter-spacing:1px;}
.breadcrumb a:hover{color:var(--color-gold-dark);}
.empty-state{text-align:center;padding:60px 20px;color:var(--color-text-light);}