/* Masterceram — charte graphique v1 (source de vérité : variables :root) */
@font-face{font-family:"Fraunces";font-style:normal;font-weight:100 900;font-display:swap;src:url("../fonts/fraunces-latin-wght-normal.woff2") format("woff2");}
@font-face{font-family:"DM Sans";font-style:normal;font-weight:100 1000;font-display:swap;src:url("../fonts/dm-sans-latin-wght-normal.woff2") format("woff2");}

:root{
  --surface:#fbf8f3;--surface-raised:#fff;--surface-sand:#f1e9dd;--line:#ddd2c1;--line-strong:#8c7e6c;
  --ink:#2a2420;--ink-muted:#6b5e50;
  --terracotta:#b4532a;--terracotta-deep:#8f3a18;--terracotta-soft:#f3ddd0;--on-terracotta:#fff;
  --olive:#4f5e3f;--olive-soft:#e4e9d8;--mediterranee:#2b5870;--mediterranee-soft:#dce8ee;
  --danger:#b32d2e;--danger-soft:#f6dcdc;
  --font-display:"Fraunces",Georgia,"Times New Roman",serif;
  --font-sans:"DM Sans",system-ui,-apple-system,"Segoe UI",sans-serif;
  --radius-sm:2px;--radius-md:4px;--radius-lg:8px;
  --space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;
  --shadow-card:0 6px 20px rgba(42,36,32,.10);
  --focus-ring:0 0 0 2px #fbf8f3,0 0 0 4px #2b5870;
}

/* Base */
body{background:var(--surface);color:var(--ink);font-family:var(--font-sans);font-size:16px;line-height:26px;-webkit-font-smoothing:antialiased}
h1,h2,h3,h4{font-family:var(--font-display);font-weight:600;color:var(--ink);letter-spacing:-.01em}
h1{font-size:32px;line-height:38px}h2{font-size:26px;line-height:32px}h3{font-size:20px;line-height:26px}
@media(min-width:768px){h1{font-size:44px;line-height:48px}h2{font-size:32px;line-height:38px}h3{font-size:24px;line-height:30px}}
a{color:var(--mediterranee);text-underline-offset:3px}a:hover{color:var(--terracotta-deep)}
:focus-visible{outline:2px solid transparent;box-shadow:var(--focus-ring)}
::selection{background:var(--terracotta-soft)}

/* Boutons */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,.elementor-button{
  font:600 15px/20px var(--font-sans);min-height:48px;padding:0 var(--space-5);display:inline-flex;align-items:center;justify-content:center;
  border-radius:var(--radius-md);border:1.5px solid var(--ink);background:transparent;color:var(--ink);transition:background-color .15s,color .15s,border-color .15s}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover{background:var(--ink);color:var(--surface)}
.woocommerce a.button.alt,.woocommerce button.button.alt,.woocommerce input.button.alt,.single_add_to_cart_button,.woocommerce #respond input#submit.alt{
  background:var(--terracotta);border-color:var(--terracotta);color:var(--on-terracotta)}
.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,.woocommerce input.button.alt:hover,.single_add_to_cart_button:hover{background:var(--terracotta-deep);border-color:var(--terracotta-deep);color:var(--on-terracotta)}
.woocommerce a.button.disabled,.woocommerce button.button:disabled,.woocommerce button.button.disabled{background:var(--line);border-color:transparent;color:var(--ink-muted);opacity:1}

/* Pastille promo */
.woocommerce span.onsale{top:var(--space-3);left:var(--space-3);right:auto;margin:0;min-height:0;min-width:0;line-height:20px;padding:2px var(--space-2);border-radius:var(--radius-sm);
  background:var(--terracotta-soft);color:var(--terracotta-deep);font:500 12px/20px var(--font-sans);letter-spacing:.04em;text-transform:uppercase}

/* Prix */
.price,.woocommerce div.product p.price,.woocommerce div.product span.price{font-family:var(--font-sans);font-weight:700;font-variant-numeric:tabular-nums;color:var(--ink)}
.price del{font-weight:400;color:var(--ink-muted);opacity:1}.price ins{text-decoration:none;color:var(--terracotta-deep)}

/* Messages */
.woocommerce-message,.woocommerce-info,.woocommerce-error{border:1px solid;border-top-width:1px;border-radius:var(--radius-md);color:var(--ink);font:400 15px/22px var(--font-sans);padding:var(--space-3) var(--space-4) var(--space-3) 3.2em}
.woocommerce-message{background:var(--olive-soft);border-color:var(--olive)}.woocommerce-message::before{color:var(--olive)}
.woocommerce-info{background:var(--mediterranee-soft);border-color:var(--mediterranee)}.woocommerce-info::before{color:var(--mediterranee)}
.woocommerce-error{background:var(--danger-soft);border-color:var(--danger)}.woocommerce-error::before{color:var(--danger)}

/* Champs */
.woocommerce form .form-row label{font:600 14px/20px var(--font-sans);color:var(--ink)}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.woocommerce-page input[type=search],.select2-container--default .select2-selection--single{
  box-sizing:border-box;min-height:48px;padding:0 var(--space-3);border:1.5px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--ink);font:400 16px/24px var(--font-sans)}
.woocommerce form .form-row textarea{padding:var(--space-3);min-height:120px}
.woocommerce form .form-row input.input-text:focus-visible,.woocommerce form .form-row select:focus-visible,.woocommerce form .form-row textarea:focus-visible{border-color:var(--mediterranee);box-shadow:var(--focus-ring)}
.woocommerce form .form-row.woocommerce-invalid input.input-text{border-color:var(--danger)}
.woocommerce .quantity .qty{min-height:48px;border:1.5px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface-raised);font:600 16px/1 var(--font-sans);color:var(--ink)}
input[type=checkbox],input[type=radio]{accent-color:var(--terracotta)}

/* Liste produits : 2 / 3 / 4 colonnes */
.woocommerce ul.products{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-5);margin:0 0 var(--space-6)}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none}
@media(min-width:768px){.woocommerce ul.products{grid-template-columns:repeat(3,1fr)}}
@media(min-width:1025px){.woocommerce ul.products{grid-template-columns:repeat(4,1fr)}}
.woocommerce ul.products li.product{width:auto;float:none;margin:0;background:var(--surface-raised);border:1px solid var(--line);border-radius:var(--radius-md);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .15s;position:relative}
.woocommerce ul.products li.product:hover{box-shadow:var(--shadow-card)}
.woocommerce ul.products li.product img{margin:0;aspect-ratio:1/1;object-fit:cover;background:var(--surface-sand)}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font:600 18px/24px var(--font-display);color:var(--ink);padding:var(--space-4) var(--space-4) 0}
.woocommerce ul.products li.product .price{padding:var(--space-2) var(--space-4);font-size:18px}
.woocommerce ul.products li.product .button{margin:auto var(--space-4) var(--space-4)}

/* CCB Surface Calculator */
.ccbsc-price{font:700 22px/28px var(--font-sans);font-variant-numeric:tabular-nums;color:var(--ink)}
.ccbsc-price__m2{color:var(--ink)}
.ccbsc-price__suffix{font:500 15px/20px var(--font-sans);color:var(--ink-muted)}
.ccbsc-price__box,.ccbsc-hint{color:var(--ink-muted);opacity:1;font:400 14px/20px var(--font-sans)}
.ccbsc-calc{box-sizing:border-box;background:var(--surface-sand);border:1px solid var(--line);border-radius:var(--radius-md);padding:var(--space-4);margin:0 0 var(--space-4)}
.ccbsc-field label{font:600 14px/20px var(--font-sans);color:var(--ink)}
.ccbsc-m2{box-sizing:border-box;width:100%;max-width:12em;min-height:48px;padding:0 var(--space-3);border:1.5px solid var(--line-strong);border-radius:var(--radius-md);background:var(--surface-raised);color:var(--ink);font:500 16px/24px var(--font-sans)}
.ccbsc-m2:focus-visible{border-color:var(--mediterranee);box-shadow:var(--focus-ring)}
.ccbsc-result{border:1px solid var(--olive);background:var(--olive-soft);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4)}
.ccbsc-result p{margin:0 0 var(--space-1);color:var(--ink)}
.ccbsc-result__boxes,.ccbsc-result__total{font-weight:700;font-variant-numeric:tabular-nums}
.ccbsc-result__total{font-size:18px;line-height:26px}
.ccbsc-error{color:var(--danger);font:500 14px/20px var(--font-sans)}

/* CCB Megamenu : habillage de marque (les couleurs structurelles viennent des réglages du plugin) */
.ccb-mm{font-family:var(--font-sans)}
.ccb-mm__link{font:600 15px/20px var(--font-sans);color:var(--ink)}
.ccb-mm__top>.ccb-mm__link{border-bottom:2px solid transparent}
.ccb-mm__top:hover>.ccb-mm__link,.ccb-mm__top>.ccb-mm__link.is-current,.ccb-mm__top.is-current>.ccb-mm__link{border-bottom-color:var(--terracotta);color:var(--ink)}
.ccb-mm__panel{background:var(--surface-raised);border-radius:0 0 var(--radius-lg) var(--radius-lg);box-shadow:var(--shadow-card)}
.ccb-mm :focus-visible{box-shadow:var(--focus-ring)}