/* La Fabrique de Confitures — hoja de estilos principal */
:root{
  --bg:#FBF3E7;
  --ink:#2E2118;
  --maroon:#8f1f36;
  --maroon-light:#C0344A;
  --green:#3F4A2E;
  --green-light:#4B5A38;
  --border:#E3D3B4;
  --border2:#EDE0C8;
  --input-border:#D8C6A2;
  --cream:#F3EBD8;
  --muted:#5A4A38;
  --muted2:#8A7A5E;
  --gold:#E8A33D;
  --footer-bg:#2E2118;
  --footer-text:#E3D6C0;
  --white:#FFFFFF;
  --serif: Georgia, 'Cambria', 'Times New Roman', Times, serif;
  --sans: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}
*{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);}
h1,h2,h3,h4{font-family:var(--serif);margin:0;font-weight:700;}
p{margin:0;}
a{color:var(--maroon);text-decoration:none;}
a:hover{color:var(--maroon-light);}
img{max-width:100%;display:block;}
input,select,textarea,button{font-family:var(--sans);box-sizing:border-box;font-size:15px;}
button{cursor:pointer;}
.wrap{max-width:1240px;margin:0 auto;padding:0 20px;}
.wrap-narrow{max-width:900px;margin:0 auto;padding:0 20px;}
.wrap-article{max-width:720px;margin:0 auto;padding:0 20px;}

/* topbar */
.topbar{background:var(--green);color:var(--cream);text-align:center;font-size:13px;padding:8px 16px;letter-spacing:.02em;}
.topbar a{color:var(--cream);text-decoration:underline;}

/* header */
header.site{position:sticky;top:0;z-index:40;background:var(--bg);border-bottom:1px solid var(--border);}
.header-row{max-width:1240px;margin:0 auto;padding:14px 20px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;}
.logo{font-family:var(--serif);font-weight:700;font-size:21px;color:var(--ink);white-space:nowrap;}
.logo em{font-style:italic;color:var(--maroon);}
.header-actions{display:flex;align-items:center;gap:14px;margin-left:auto;}
.search-input{width:150px;padding:8px 10px;border:1px solid var(--input-border);border-radius:3px;font-size:13.5px;background:#fff;}
.link-strong{font-size:13.5px;font-weight:600;white-space:nowrap;}
.link-bold{font-size:13.5px;font-weight:700;white-space:nowrap;}
.menu-btn{display:none;border:1px solid var(--input-border);background:#fff;border-radius:3px;padding:7px 10px;font-size:13px;font-weight:700;}
nav.mainnav{max-width:1240px;margin:0 auto;padding:0 20px 12px;border-top:1px solid var(--border2);}
nav.mainnav ul{display:flex;gap:16px;flex-wrap:wrap;font-size:14px;font-weight:600;padding-top:10px;list-style:none;margin:0;padding-left:0;}
nav.mainnav a{color:var(--ink);}
nav.mainnav a:hover{color:var(--maroon);}

/* hero */
.hero{padding:56px 0 40px;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);gap:40px;align-items:center;}
.eyebrow{color:var(--maroon);font-weight:700;letter-spacing:.06em;text-transform:uppercase;font-size:12.5px;margin-bottom:10px;}
.hero h1{font-size:44px;line-height:1.12;color:var(--ink);}
.hero-sub{font-size:17px;color:#4A3B2C;margin-top:18px;line-height:1.55;max-width:520px;}
.hero-actions{display:flex;gap:14px;margin-top:26px;flex-wrap:wrap;}
.hero-photo{height:340px;border-radius:4px;overflow:hidden;}
.hero-photo img{width:100%;height:100%;object-fit:cover;}

/* buttons */
.btn{display:inline-block;border:none;padding:14px 24px;border-radius:3px;font-weight:700;font-size:14.5px;text-align:center;}
.btn-primary{background:var(--maroon);color:var(--bg);}
.btn-primary:hover{background:var(--maroon-light);color:#fff;}
.btn-outline{background:transparent;color:var(--ink);border:1.5px solid var(--ink);}
.btn-outline:hover{color:var(--maroon);border-color:var(--maroon);}
.btn-block{width:100%;}
.btn-sm{padding:11px 16px;font-size:13px;}

/* sections */
section.section{padding:52px 0;}
section.section.white{background:var(--white);}
.section-head{display:flex;justify-content:space-between;align-items:baseline;flex-wrap:wrap;gap:10px;margin-bottom:22px;}
.section-head h2{font-size:28px;}

/* product grid */
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:20px;}
.card{border:1px solid var(--border2);border-radius:4px;overflow:hidden;background:var(--bg);}
.card.white-bg{background:var(--white);}
.card a.card-link{display:block;color:inherit;}
.card-photo{height:150px;overflow:hidden;background:var(--muted2);}
.card-photo img{width:100%;height:100%;object-fit:cover;}
.card-body{padding:14px;}
.card-name{font-weight:700;font-size:15px;}
.card-price{color:var(--maroon);font-weight:700;margin-top:6px;}
.badge{display:inline-block;background:var(--gold);color:#3B2A0E;font-size:11px;font-weight:700;padding:3px 8px;border-radius:2px;margin-bottom:8px;}
.card-ingredients{color:var(--muted);font-size:13px;margin-top:4px;}
.card-award{margin-top:8px;font-size:12.5px;color:var(--green);font-weight:600;}

/* collections buttons */
.collections-band{background:var(--green);padding:48px 0;}
.collections-band h2{color:var(--cream);font-size:26px;margin-bottom:20px;}
.collections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:16px;}
.collection-btn{background:var(--green-light);border:none;color:var(--cream);padding:22px 16px;border-radius:4px;font-weight:700;font-size:15px;text-align:left;}
.collection-tile{position:relative;border:none;color:#fff;padding:34px 20px;border-radius:4px;font-weight:700;font-size:17px;text-align:left;min-height:110px;overflow:hidden;display:flex;align-items:flex-end;}
.collection-tile img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.collection-tile span{position:relative;z-index:2;text-shadow:0 2px 6px rgba(0,0,0,.5);}
.collection-tile::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.05),rgba(0,0,0,.55));z-index:1;}

/* article cards */
.article-card{background:var(--white);border:1px solid var(--border2);border-radius:4px;padding:18px;}
.article-card h3, .article-card .card-name{font-weight:700;font-size:15px;}
.article-card p{color:var(--muted);font-size:13.5px;margin-top:8px;line-height:1.5;}

/* newsletter */
.newsletter{background:var(--border2);padding:44px 0;text-align:center;}
.newsletter .wrap-narrow{max-width:640px;}
.newsletter h2{font-size:26px;}
.newsletter p.desc{color:#4A3B2C;margin-top:10px;font-size:15px;}
.newsletter-form{display:flex;gap:10px;margin-top:18px;flex-wrap:wrap;justify-content:center;}
.newsletter-form input[type=email]{flex:1;min-width:220px;padding:12px;border:1px solid var(--input-border);border-radius:3px;}
.consent-row{display:flex;gap:8px;align-items:flex-start;margin-top:12px;font-size:12.5px;color:#4A3B2C;text-align:left;max-width:480px;margin-left:auto;margin-right:auto;}
.success-box{margin-top:16px;color:var(--green);font-weight:700;}

/* shipping banner */
.ship-banner{margin:40px auto;max-width:1240px;padding:0 20px;}
.ship-banner-inner{background:var(--white);border:1px solid var(--border2);border-radius:4px;display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap;padding:24px;}
.ship-title{font-weight:700;font-size:16px;}
.ship-desc{color:var(--muted);font-size:13.5px;margin-top:4px;}

/* filters / catalog */
.catalog-layout{display:flex;gap:24px;margin-top:28px;align-items:flex-start;flex-wrap:wrap;}
.filters{width:230px;flex-shrink:0;}
.filters h4{font-weight:700;font-size:13px;margin-bottom:8px;}
.filter-list{display:flex;flex-direction:column;gap:6px;margin-bottom:18px;}
.filter-list.wrap-chips{flex-direction:row;flex-wrap:wrap;}
.chip{text-align:left;border:none;padding:7px 10px;border-radius:3px;font-size:13.5px;background:transparent;}
.chip:hover{background:var(--border2);}
.chip.active{background:var(--maroon);color:#fff;}
.chip-pill{border:1px solid var(--border2);padding:6px 10px;border-radius:12px;font-size:12.5px;background:#fff;}
.chip-pill.active{background:var(--maroon);color:#fff;border-color:var(--maroon);}
.result-count{font-size:13px;color:var(--muted);margin-bottom:14px;}
.catalog-main{flex:1;min-width:0;}
.status-label{font-size:12px;color:var(--muted2);margin-top:3px;}
.card-row{display:flex;justify-content:space-between;align-items:center;margin-top:10px;}
.add-btn{border:none;padding:7px 12px;border-radius:3px;font-size:12.5px;font-weight:700;background:var(--maroon);color:#fff;}
.add-btn[disabled]{background:var(--input-border);color:var(--muted2);cursor:not-allowed;}

/* product detail */
.product-detail{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:36px;margin-top:20px;}
.product-photo{height:380px;border-radius:4px;overflow:hidden;}
.product-photo img{width:100%;height:100%;object-fit:cover;}
.price-row{display:flex;align-items:baseline;gap:10px;margin-top:14px;}
.price-big{font-size:26px;font-weight:700;color:var(--maroon);}
.price-per{color:var(--muted2);font-size:13px;}
.award-line{font-size:12.5px;color:var(--green);font-weight:700;margin-top:4px;}
.tag-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;}
.tag{background:var(--border2);padding:5px 11px;border-radius:12px;font-size:12px;font-weight:600;}
.allergen-box{margin-top:16px;background:#FBEAEA;border:1px solid #D96A6A;border-radius:3px;padding:10px 14px;}
.allergen-box strong{color:var(--maroon);font-size:13px;}
.qty-row{display:flex;align-items:center;gap:12px;margin-top:22px;flex-wrap:wrap;}
.qty-btn{width:34px;height:34px;border:1px solid var(--input-border);background:#fff;border-radius:3px;font-weight:700;}
.qty-val{min-width:20px;text-align:center;font-weight:700;}
.detail-list{margin-top:26px;border-top:1px solid var(--border2);padding-top:18px;display:flex;flex-direction:column;gap:10px;font-size:13.5px;color:#4A3B2C;}

/* forms */
.form-col{display:flex;flex-direction:column;gap:14px;margin-top:24px;max-width:640px;}
.form-row2{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.field{padding:11px;border:1px solid var(--input-border);border-radius:3px;width:100%;background:#fff;}
label.checkline{display:flex;gap:8px;align-items:flex-start;font-size:12.5px;color:#4A3B2C;}
.step-labels{display:flex;gap:6px;margin-top:16px;flex-wrap:wrap;font-size:12px;font-weight:700;color:var(--muted2);}

/* cart */
.cart-row{display:flex;align-items:center;gap:14px;background:var(--white);border:1px solid var(--border2);border-radius:4px;padding:14px;flex-wrap:wrap;}
.cart-thumb{width:70px;height:70px;border-radius:3px;flex-shrink:0;overflow:hidden;}
.cart-thumb img{width:100%;height:100%;object-fit:cover;}
.cart-summary{margin-top:26px;background:var(--white);border:1px solid var(--border2);border-radius:4px;padding:20px;max-width:340px;margin-left:auto;}
.summary-line{display:flex;justify-content:space-between;font-size:14px;margin-bottom:8px;}
.summary-total{display:flex;justify-content:space-between;font-size:17px;font-weight:700;border-top:1px solid var(--border2);padding-top:10px;}

/* faq */
.faq-item{border-bottom:1px solid var(--border2);padding:14px 0;}
.faq-item summary{cursor:pointer;font-weight:700;font-size:15px;list-style:none;display:flex;justify-content:space-between;align-items:center;}
.faq-item summary::-webkit-details-marker{display:none;}
.faq-item summary::after{content:"+";font-weight:700;}
.faq-item[open] summary::after{content:"–";}
.faq-item p{color:var(--muted);margin-top:10px;font-size:14.5px;line-height:1.55;}

/* steps blocks generic */
.steps{display:flex;flex-direction:column;gap:22px;margin-top:30px;}
.step{display:flex;gap:16px;}
.step-num{font-family:var(--serif);font-weight:700;color:var(--maroon);font-size:20px;}
.step-title{font-weight:700;}
.step-desc{color:var(--muted);font-size:14.5px;margin-top:4px;}
.photo-block{border-radius:4px;overflow:hidden;margin-top:32px;height:260px;}
.photo-block img{width:100%;height:100%;object-fit:cover;}

/* legal */
.legal-body{margin-top:18px;color:#3B2A1E;font-size:15px;line-height:1.7;white-space:pre-line;}

/* footer */
footer.site{background:var(--footer-bg);color:var(--footer-text);padding:48px 0 20px;}
.footer-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:28px;}
.footer-col-title{font-weight:700;color:#fff;font-size:13px;margin-bottom:10px;}
.footer-links{display:flex;flex-direction:column;gap:7px;font-size:13px;}
.footer-links a{color:var(--footer-text);}
.footer-brand{font-family:var(--serif);font-weight:700;font-size:17px;color:#fff;}
.footer-tag{font-size:12.5px;margin-top:10px;color:#B8A98C;}
.footer-bottom{max-width:1240px;margin:26px auto 0;padding:16px 20px 0;border-top:1px solid #4A3B2C;font-size:12px;color:var(--muted2);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;}
.footer-bottom button{background:transparent;border:none;color:var(--muted2);text-decoration:underline;font-size:12px;}

/* cookie banner */
.cookie-banner{position:fixed;bottom:0;left:0;right:0;background:var(--footer-bg);color:var(--footer-text);padding:18px 20px;z-index:90;display:flex;gap:16px;align-items:center;flex-wrap:wrap;justify-content:space-between;}
.cookie-banner .msg{font-size:13.5px;max-width:520px;}
.cookie-actions{display:flex;gap:10px;flex-wrap:wrap;}
.cookie-btn{background:transparent;border:1px solid var(--muted2);color:var(--footer-text);padding:10px 16px;border-radius:3px;font-weight:600;}
.cookie-btn.primary{background:var(--maroon);border:none;color:#fff;font-weight:700;}
.cookie-prefs{width:100%;display:flex;flex-direction:column;gap:10px;}
.cookie-prefs label{display:flex;justify-content:space-between;font-size:13.5px;}

/* toast */
.toast{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);background:var(--footer-bg);color:#fff;padding:12px 20px;border-radius:4px;font-size:13.5px;font-weight:600;z-index:80;display:none;}
.toast.show{display:block;}

/* 404 / simple centered */
.center-page{max-width:600px;margin:0 auto;padding:80px 20px;text-align:center;}

/* mobile menu */
.mobile-menu{border-top:1px solid var(--border);padding:12px 20px;display:none;flex-direction:column;gap:10px;font-size:14.5px;font-weight:600;background:var(--bg);}
.mobile-menu.open{display:flex;}

@media (max-width: 860px){
  .hero{grid-template-columns:1fr;}
  .product-detail{grid-template-columns:1fr;}
  .catalog-layout{flex-direction:column;}
  .filters{width:100%;}
  nav.mainnav ul{display:none;}
  .menu-btn{display:inline-block;}
}
