:root{
    --bordeaux:#5a0f19;
    --bordeaux-dark:#2f070d;
    --gold:#c99a3a;
    --ivory:#fff8eb;
    --cream:#f6ead5;
    --text:#2b1715;
}
*{box-sizing:border-box}
body{
    margin:0;
    font-family: Georgia, 'Times New Roman', serif;
    color:var(--text);
    background: radial-gradient(circle at top, #fff8eb 0%, #f3dfbd 45%, #4a0d15 100%);
    min-height:100vh;
}
a{text-decoration:none;color:inherit}
.app-shell{max-width:1180px;margin:auto;padding:22px}
.hero{
    background:linear-gradient(135deg, rgba(255,248,235,.96), rgba(246,234,213,.92));
    border:2px solid var(--gold);
    border-radius:28px;
    padding:30px;
    box-shadow:0 20px 55px rgba(0,0,0,.25);
    position:relative;
    overflow:hidden;
}
.hero:before,.hero:after{content:"";position:absolute;width:240px;height:240px;background:rgba(90,15,25,.12);border-radius:50%;filter:blur(3px)}
.hero:before{top:-100px;right:-80px}.hero:after{bottom:-130px;left:-90px}
.logo{width:118px;height:118px;border-radius:50%;background:var(--bordeaux);border:4px solid var(--gold);display:flex;align-items:center;justify-content:center;margin:auto;color:white;font-size:58px;box-shadow:0 10px 30px rgba(90,15,25,.35)}
.brand{text-align:center;position:relative;z-index:2}.brand h1{font-size:clamp(34px,5vw,70px);margin:18px 0 4px;color:var(--bordeaux);letter-spacing:1px}.brand h2{font-size:clamp(24px,4vw,45px);margin:0;color:var(--bordeaux)}.brand h2 span{color:var(--gold)}.tagline{margin-top:10px;font-size:22px;color:#6b2c20}.welcome{font-size:20px;max-width:760px;margin:22px auto 0;line-height:1.5}
.grid-cats{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:18px;margin-top:28px;position:relative;z-index:2}
.cat-card{background:#fffdf7;border:1.5px solid var(--gold);border-radius:22px;padding:22px;text-align:center;min-height:140px;display:flex;flex-direction:column;justify-content:center;box-shadow:0 10px 25px rgba(0,0,0,.08);transition:.2s}.cat-card:hover{transform:translateY(-4px);box-shadow:0 15px 34px rgba(90,15,25,.18)}.cat-icon{font-size:38px;margin-bottom:10px}.cat-card strong{font-size:22px;color:var(--bordeaux)}.cat-card small{font-size:15px;margin-top:7px;color:#8d6332}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:18px}.btn{display:inline-block;background:var(--bordeaux);color:white;border:0;border-radius:999px;padding:11px 18px;font-weight:700;cursor:pointer}.btn.gold{background:var(--gold);color:#2b1715}.btn.light{background:#fff8eb;color:var(--bordeaux);border:1px solid var(--gold)}
.section-title{text-align:center;color:#fff;margin:22px 0}.section-title h1{font-size:clamp(32px,5vw,62px);margin:0}.section-title p{margin:6px 0 0;color:#ffe4a8;font-size:20px}
.items-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:22px;align-items:stretch}
.item-card{background:rgba(255,248,235,.98);border:1.5px solid var(--gold);border-radius:22px;overflow:hidden;box-shadow:0 14px 34px rgba(0,0,0,.17);display:flex;flex-direction:column;min-height:455px}
.item-media{height:230px;background:linear-gradient(135deg,#7b1b28,#e6c06e);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;flex:0 0 230px}
.item-img{height:230px;background:linear-gradient(135deg,#7b1b28,#e6c06e);display:flex;align-items:center;justify-content:center;color:white;font-size:58px;width:100%}
.item-card img{width:100%;height:230px;object-fit:cover;object-position:center;display:block;background:#f7ecd5}
.item-body{padding:22px 20px 20px;display:flex;flex-direction:column;flex:1;background:rgba(255,248,235,.99)}
.item-title{font-size:clamp(22px,2.2vw,30px);line-height:1.15;color:var(--bordeaux);font-weight:700;margin:0 0 12px;overflow-wrap:anywhere}
.desc{font-size:16px;line-height:1.4;color:#5a4038;min-height:32px;margin-bottom:12px}
 .price{
    font-size:clamp(20px,2vw,28px);
    font-weight:700;
    color:var(--gold);
    margin-top:auto;
    padding-top:10px;
    white-space:normal;
    overflow-wrap:break-word;
    word-break:normal;
    line-height:1.15;
}
.badge{background:#f1d79b;color:#4b210f;padding:5px 10px;border-radius:999px;font-size:13px;margin-left:8px;display:inline-block;vertical-align:middle;white-space:nowrap}
.empty{background:#fff8eb;border:1px solid var(--gold);border-radius:20px;padding:28px;text-align:center}.footer-menu{margin:32px 0 10px;text-align:center;color:#ffe4a8;font-size:18px}
.admin-layout{display:grid;grid-template-columns:250px 1fr;min-height:100vh}.sidebar{background:var(--bordeaux-dark);color:white;padding:22px}.sidebar h2{color:#f5d078}.sidebar a{display:block;padding:12px 10px;border-radius:10px;margin:6px 0}.sidebar a:hover,.sidebar a.active{background:rgba(255,255,255,.12)}.admin-main{padding:24px;background:#f5f0e8}.panel{background:white;border-radius:18px;padding:20px;box-shadow:0 8px 20px rgba(0,0,0,.08);margin-bottom:18px}table{width:100%;border-collapse:collapse}th,td{padding:10px;border-bottom:1px solid #eee;text-align:left}th{background:#fff8eb;color:var(--bordeaux)}input,select,textarea{width:100%;padding:11px;border:1px solid #d4c3a5;border-radius:10px;margin:5px 0 12px;font-family:Arial,sans-serif}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}.login-box{max-width:420px;margin:9vh auto;background:white;border:2px solid var(--gold);border-radius:22px;padding:26px;box-shadow:0 20px 45px rgba(0,0,0,.25)}
@media(max-width:760px){.admin-layout{grid-template-columns:1fr}.sidebar{position:static}.topbar{flex-direction:column;align-items:stretch}.app-shell{padding:14px}.hero{padding:20px}.items-grid{grid-template-columns:1fr}.item-card{min-height:auto}.item-media,.item-img,.item-card img{height:210px;flex-basis:210px}.item-title{font-size:24px}}
.admin-preview{margin:10px 0 18px;padding:12px;border:1px dashed var(--gold);border-radius:14px;background:#fff8eb}.admin-preview img{max-width:240px;max-height:150px;object-fit:cover;border-radius:12px;margin-top:8px;border:1px solid var(--gold)}.thumb{width:72px;height:48px;object-fit:cover;border-radius:8px;border:1px solid #d8bd72;background:#fff8eb}

/* Correction lisibilité cartes tablette */
.item-body{min-width:0;}
.item-title{max-width:100%;}
.desc{max-width:100%;overflow-wrap:break-word;}
.price.long-price{font-size:clamp(16px,1.7vw,22px);}
@media(max-width:1100px){
    .items-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));}
    .item-title{font-size:clamp(20px,2.2vw,28px);}
}


.zone-switch{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin:18px 0 6px}
.zone-btn,.zone-pill{border:1px solid rgba(212,161,90,.85);background:rgba(255,248,232,.78);color:#6b0010;border-radius:999px;padding:10px 18px;font-weight:800;text-decoration:none;box-shadow:0 8px 20px rgba(75,0,10,.08)}
.zone-btn.active{background:linear-gradient(135deg,#7d0f1d,#d4a15a);color:#fff;border-color:#f5d58a}
.zone-pill{white-space:nowrap;margin-right:10px}
.topbar{gap:12px;align-items:center}
@media(max-width:700px){.zone-pill{order:3;width:100%;text-align:center}.zone-btn{padding:9px 14px}}
