/* Saveurs Naija — front & page publique. Charte du site (Playfair Display / Work Sans, terracotta/or). */
@import url('https://fonts.googleapis.com/css2?family=Playfair+Display:wght@600;700;800&family=Work+Sans:wght@400;500;600;700&display=swap');
:root{--sn-orange:#C4622D;--sn-gold:#D4A547;--sn-cream:#FAF5EE;--sn-ink:#1E0F08;}
.sn-form-wrap{
	max-width:680px;margin:2rem auto;padding:0 1rem;color:var(--sn-ink);
	font-family:'Work Sans', -apple-system, sans-serif;}
.sn-form-head h2{font-family:'Playfair Display', serif;font-size:2rem;margin:0 0 .25rem;color:var(--sn-ink);letter-spacing:-.01em;}
.sn-form-head p{margin:0 0 1.5rem;color:#6b5d4d;font-size:1.05rem;}
.sn-steps-nav{display:flex;gap:.5rem;margin-bottom:1.5rem;flex-wrap:wrap;}
.sn-step-dot{font-size:.85rem;font-weight:600;color:#b6a890;padding:.4rem .8rem;border-radius:999px;background:#f1e9dd;transition:.2s;}
.sn-step-dot.active{background:var(--sn-ink);color:var(--sn-cream);}
.sn-form{background:#FFFDF9;border-radius:22px;padding:2rem;box-shadow:0 10px 40px rgba(30,15,8,.08);}
.sn-field{margin-bottom:1.1rem;}
.sn-field>label{display:block;font-weight:600;margin-bottom:.35rem;font-size:.95rem;}
.sn-field input[type=text],.sn-field input[type=email],.sn-field input[type=tel],.sn-field input[type=number],
.sn-field input[type=date],.sn-field input[type=time],.sn-field select,.sn-field textarea,.sn-field input[type=file]{
	width:100%;padding:.7rem .85rem;border:1.5px solid #e7ddcd;border-radius:10px;font-size:1rem;box-sizing:border-box;background:#fffdfa;transition:border-color .15s;}
.sn-field input:focus,.sn-field select:focus,.sn-field textarea:focus{outline:none;border-color:var(--sn-gold);box-shadow:0 0 0 3px rgba(234,138,30,.15);}
.sn-row{display:flex;gap:1rem;}.sn-row .sn-field{flex:1;}
.sn-mt{margin-top:.6rem;}
.sn-step-intro{margin:0 0 1.2rem;color:#6b5d4d;font-size:1rem;}
.sn-cat{margin-bottom:.6rem;}
.sn-cat-title{font-weight:700;font-size:.95rem;color:var(--sn-orange);display:flex;align-items:center;gap:.5rem;}
/* Accordéon */
.sn-cat-collapsible{border:1.5px solid #f1e4d3;border-radius:12px;background:#fffdfa;overflow:hidden;}
.sn-cat-toggle{width:100%;background:transparent;border:0;cursor:pointer;padding:.85rem 1rem;text-align:left;}
.sn-cat-toggle:hover{background:#fdf6ec;}
.sn-cat-has .sn-cat-toggle{background:#fdf2e6;}
.sn-cat-ico{font-size:1.15rem;}
.sn-cat-name{flex:1;}
.sn-cat-count{background:var(--sn-orange);color:#fff;font-size:.72rem;font-weight:700;min-width:20px;height:20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:0 6px;}
.sn-cat-chev{transition:transform .2s;color:#b6a890;font-size:.8rem;}
.sn-cat-toggle[aria-expanded="true"] .sn-cat-chev{transform:rotate(90deg);}
.sn-cat-body{padding:0 1rem 1rem;}
.sn-autre-row{display:flex;gap:.5rem;align-items:center;margin-top:.5rem;}
.sn-autre-input{width:100%;padding:.7rem .85rem;border:1.5px solid #e7ddcd;border-radius:10px;font-size:1rem;box-sizing:border-box;background:#fffdfa;}
.sn-autre-del{flex:0 0 auto;background:#fdecec;color:#b91c1c;border:0;border-radius:8px;width:40px;height:40px;cursor:pointer;font-size:1rem;}
.sn-add-autre{margin-top:.6rem;}
.sn-radios,.sn-checks{display:flex;flex-wrap:wrap;gap:.5rem .9rem;}
.sn-radio,.sn-check{display:flex;align-items:center;gap:.4rem;font-weight:500;font-size:.95rem;cursor:pointer;}
.sn-checks .sn-check{background:#f7f1e8;padding:.5rem .8rem;border-radius:10px;border:1.5px solid transparent;}
.sn-checks .sn-check:has(input:checked){border-color:var(--sn-gold);background:#fdf2e6;}
.sn-consent{background:#faf5ef;border-radius:12px;padding:1rem;font-size:.88rem;color:#6b5d4d;}
.sn-consent a{color:var(--sn-orange);}
.sn-nav{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem;}
.sn-btn{background:var(--sn-ink);color:var(--sn-cream);border:0;border-radius:999px;padding:.85rem 1.6rem;font-size:.9rem;font-weight:700;letter-spacing:.02em;cursor:pointer;transition:background .15s,transform .12s;}
.sn-btn:hover{background:var(--sn-orange);transform:translateY(-1px);}
.sn-btn-ghost{background:transparent;border:1.5px solid var(--sn-ink);border-radius:999px;padding:.85rem 1.4rem;font-weight:600;cursor:pointer;color:var(--sn-ink);}
.sn-btn-lg{font-size:1.1rem;padding:1rem 2rem;width:100%;margin-top:1rem;}
.sn-hp{position:absolute;left:-9999px;}
.sn-alert{padding:.9rem 1.1rem;border-radius:10px;margin-bottom:1rem;font-size:.95rem;}
.sn-alert-error{background:#fdecec;color:#b91c1c;border:1px solid #f5c2c2;}
.sn-confirm{text-align:center;}
.sn-confirm-icon{font-size:3.5rem;}
.sn-confirm h2{font-family:'Playfair Display', serif;color:var(--sn-ink);}
.sn-confirm-sign{margin-top:1.5rem;color:#6b5d4d;}
@media(max-width:560px){.sn-row{flex-direction:column;gap:0;}.sn-form{padding:1.25rem;}}

/* Page publique devis */
.sn-public-body{margin:0;background:#faf5ef;font-family:'Work Sans', -apple-system, sans-serif;color:#2b2218;}
.sn-public-wrap{max-width:720px;margin:0 auto;padding:2rem 1rem 3rem;}
.sn-public-head{text-align:center;margin-bottom:1.5rem;}
.sn-public-logo{max-height:80px;}
.sn-public-card{background:#fff;border-radius:16px;padding:1.6rem;margin-bottom:1.25rem;box-shadow:0 8px 30px rgba(120,72,20,.08);}
.sn-public-card h2{font-family:'Playfair Display', serif;margin:0 0 .25rem;color:var(--sn-ink);}
.sn-public-card h3{font-family:'Playfair Display', serif;margin:0 0 1rem;color:var(--sn-ink);}
.sn-public-devis-head{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap;}
.sn-public-validite{text-align:right;font-size:.85rem;color:#6b5d4d;}
.sn-public-table{width:100%;border-collapse:collapse;margin:1rem 0;font-size:.95rem;}
.sn-public-table th{text-align:left;background:#c2410c;color:#fff;padding:.6rem;}
.sn-public-table th:not(:first-child),.sn-public-table td:not(:first-child){text-align:right;}
.sn-public-table td{padding:.6rem;border-bottom:1px solid #eee;}
.sn-public-totaux{margin-left:auto;max-width:280px;}
.sn-public-totaux>div{display:flex;justify-content:space-between;padding:.3rem 0;}
.sn-public-ttc{border-top:2px solid #ea8a1e;font-size:1.15rem;font-weight:800;color:#c2410c;}
.sn-public-acompte{margin-top:1rem;background:var(--sn-ink);color:var(--sn-cream);padding:1rem 1.25rem;border-radius:12px;font-size:1.05rem;}
.sn-public-acompte strong{font-size:1.3rem;}
.sn-policy{background:#faf5ef;border-radius:10px;padding:1rem;font-size:.85rem;color:#6b5d4d;max-height:160px;overflow:auto;}
.sn-pay-choice{display:flex;gap:.8rem;margin:1rem 0;flex-wrap:wrap;}
.sn-pay-option{flex:1;min-width:200px;border:1.5px solid #e7ddcd;border-radius:12px;padding:1rem;cursor:pointer;font-weight:600;display:flex;align-items:center;gap:.5rem;}
.sn-pay-option:has(input:checked){border-color:#ea8a1e;background:#fdf2e6;}
.sn-pay-hint{background:#faf5ef;border-radius:10px;padding:.9rem 1.1rem;margin:1rem 0;font-size:.92rem;color:#6b5d4d;}
.sn-etransfer ul{list-style:none;padding:0;}
.sn-etransfer li{padding:.4rem 0;border-bottom:1px solid #f0e7d8;}
.sn-success{text-align:center;}
.sn-success .sn-confirm-icon{font-size:3rem;}
.sn-muted{color:#8a7a66;}
.sn-public-foot{text-align:center;color:#a99;font-size:.8rem;margin-top:1rem;}
