*{box-sizing:border-box}body{margin:0;font-family:Arial,Helvetica,sans-serif;background:#f4ead7 var(--lfa-bg-image, url('../img/fond.jpg')) center top/cover fixed no-repeat;color:#4a3326}.page{min-height:100vh;background:linear-gradient(180deg,rgba(255,248,235,.92),rgba(255,248,235,.84))}.hero{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:18px clamp(14px,4vw,48px);background:rgba(76,48,31,.94);color:#fff;position:sticky;top:0;z-index:10;box-shadow:0 10px 30px rgba(40,20,5,.16)}.brand{font-size:24px;font-weight:900;color:#fff;text-decoration:none;letter-spacing:.5px}.brand span:before{content:'🌲 ';font-weight:400}.hero nav{display:flex;gap:10px;flex-wrap:wrap}.hero nav a{color:#fff;text-decoration:none;background:rgba(255,255,255,.14);padding:9px 12px;border-radius:999px}.hero nav a:hover{background:rgba(255,255,255,.24)}main{width:min(1180px,94vw);margin:0 auto;padding:28px 0}.card{background:#fffdf8;border:1px solid #e1cba8;border-radius:26px;box-shadow:0 18px 40px rgba(70,34,12,.14);padding:clamp(18px,3vw,34px);margin:18px 0}.intro{display:grid;grid-template-columns:1.2fr .8fr;gap:24px;align-items:center}.intro img{width:100%;border-radius:22px;box-shadow:0 12px 32px rgba(70,34,12,.16)}h1{font-size:clamp(30px,5vw,56px);line-height:1;margin:0 0 12px;color:#8a5a32}h2{color:#8a5a32;margin:0 0 14px;font-size:clamp(22px,3vw,32px)}p{line-height:1.55}.badge{display:inline-block;background:#fbca52;color:#4a3326;border-radius:999px;padding:8px 13px;font-weight:bold;margin-bottom:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.form-grid .full{grid-column:1/-1}label{display:block;font-weight:bold;margin-bottom:6px}small{display:block;color:#78685a;margin-top:5px}input,textarea,select{width:100%;font:inherit;border:1px solid #d4b88c;border-radius:14px;padding:12px;background:#fff;color:#3b2a20;outline:none}input:focus,textarea:focus,select:focus{border-color:#8a5a32;box-shadow:0 0 0 3px rgba(138,90,50,.14)}textarea{min-height:150px;resize:vertical}.check{display:flex;gap:10px;align-items:flex-start;font-weight:normal}.check input{width:auto;margin-top:3px}.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;padding:13px 22px;font-weight:900;cursor:pointer;text-decoration:none;background:#8a5a32;color:#fff;box-shadow:0 8px 20px rgba(92,55,26,.22);transition:.18s ease}.btn:hover{transform:translateY(-1px);box-shadow:0 12px 26px rgba(92,55,26,.25)}.btn.secondary{background:#fff;color:#8a5a32;border:1px solid #d4b88c}.btn.fb{background:#1877f2}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:18px}.notice{padding:14px 16px;border-radius:16px;margin:12px 0}.notice.ok{background:#eff9e9;border:1px solid #8bbd72;color:#315d23}.notice.err{background:#fff0f0;border:1px solid #d99090;color:#7b2626}.winner-list{display:grid;gap:10px}.winner-row{display:flex;justify-content:space-between;gap:12px;padding:14px;border-radius:14px;background:#fff7e7;border:1px solid #ecd8b8}.muted{color:#78685a;font-size:.95em}.pill{display:inline-block;border-radius:999px;padding:5px 10px;background:#f0dfbf;color:#5a3a22;font-weight:700;font-size:.88em}.ok-pill{background:#e8f7dd;color:#315d23}.warn-pill{background:#fff1c7;color:#7a4a00}.ticket-code{font-family:Consolas,monospace;background:#fff6df;border:1px dashed #c09555;border-radius:8px;padding:5px 8px;white-space:nowrap}footer{text-align:center;padding:32px;color:#6b594a}footer a{color:#6b594a}.login-card{max-width:520px;margin:40px auto}.admin-top{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;margin:8px 0 18px}.admin-top h1{margin:0}.admin-kicker{text-transform:uppercase;letter-spacing:.12em;font-weight:900;color:#8a5a32;font-size:.82em}.status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:8px 13px;font-weight:900}.status-active{background:#e8f7dd;color:#315d23}.status-disabled,.status-ended{background:#fff0f0;color:#7b2626}.status-scheduled{background:#fff1c7;color:#7a4a00}.admin-layout{display:grid;grid-template-columns:250px 1fr;gap:20px;align-items:start}.admin-menu{background:#4c301f;border-radius:24px;padding:12px;position:sticky;top:95px;box-shadow:0 12px 30px rgba(70,34,12,.16)}.admin-menu a{display:block;color:#fff;text-decoration:none;padding:12px 13px;border-radius:14px;margin:3px 0;font-weight:700}.admin-menu a:hover,.admin-menu a.active{background:rgba(255,255,255,.16)}.admin-content{min-width:0}.admin-panel{margin-top:0}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:18px}.stat-card{background:linear-gradient(135deg,#fffdf8,#fff4dc);border:1px solid #e1cba8;border-radius:22px;padding:18px;box-shadow:0 14px 30px rgba(70,34,12,.11)}.stat-card span{display:block;color:#78685a;font-weight:700}.stat-card strong{display:block;color:#8a5a32;font-size:32px;line-height:1.1;margin:5px 0}.stat-card em{font-style:normal;color:#6b594a;font-size:.92em}.info-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}.info-grid>div{background:#fff7e7;border:1px solid #ecd8b8;border-radius:16px;padding:14px}.info-grid span{display:block;color:#78685a;font-weight:700;margin-bottom:4px}.table-wrap{overflow:auto;border-radius:16px;border:1px solid #ead7b8}table{width:100%;border-collapse:collapse;background:#fff;min-width:760px}td,th{padding:12px;border-bottom:1px solid #eee;text-align:left;vertical-align:top}th{background:#8a5a32;color:#fff;white-space:nowrap}tr:last-child td{border-bottom:0}.admin-form-grid{margin-bottom:22px}.settings-form h2{border-top:1px solid #ead7b8;padding-top:20px;margin-top:26px}.settings-form h2:first-of-type{border-top:0;padding-top:0;margin-top:0}.sticky-actions{position:sticky;bottom:12px;background:rgba(255,253,248,.88);backdrop-filter:blur(6px);padding:10px;border-radius:18px;border:1px solid #ead7b8}.draw-panel{max-width:820px}.draw-form .form-grid{align-items:end}@media(max-width:980px){.stats-grid{grid-template-columns:repeat(2,1fr)}.admin-layout{grid-template-columns:1fr}.admin-menu{position:static;display:grid;grid-template-columns:repeat(2,1fr);gap:4px}.info-grid{grid-template-columns:1fr}}@media(max-width:760px){.hero{position:static;display:block}.hero nav{margin-top:12px}.intro{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.winner-row{display:block}.stats-grid{grid-template-columns:1fr}.admin-top{display:block}.admin-menu{grid-template-columns:1fr}.table-wrap{margin-left:-8px;margin-right:-8px;border-radius:12px}main{width:94vw;padding-top:12px}h1{font-size:34px}}

/* Agrément visuel public - esprit Ferme Aventure */
.page{background:radial-gradient(circle at top left,rgba(255,210,96,.35),transparent 34%),linear-gradient(180deg,rgba(255,248,235,.94),rgba(246,230,196,.9)),var(--lfa-bg-image, url('../img/fond.jpg')) center top/cover fixed no-repeat}.hero{border-bottom:4px solid #f2c04f}.brand span:before{content:'🎁 ';}.game-hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#fffdf8 0%,#fff3d5 58%,#f7d27a 100%);border:2px solid #e5bd73}.game-hero:before{content:'🌲';position:absolute;right:22px;top:10px;font-size:64px;opacity:.12;transform:rotate(-8deg)}.game-hero h1{text-shadow:0 2px 0 rgba(255,255,255,.8)}.game-hero p{font-size:1.08em}.game-hero img{background:#fff;border:6px solid rgba(255,255,255,.8);transform:rotate(1.5deg)}.card{border:1px solid #e0c18c;background:rgba(255,253,248,.97)}.card h2:after{content:'';display:block;width:70px;height:5px;background:#f2c04f;border-radius:999px;margin-top:8px}.success-card{text-align:center;background:linear-gradient(135deg,#fffdf8,#eff9e9)}.success-icon{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:#7cb342;color:#fff;font-size:42px;font-weight:bold;box-shadow:0 10px 24px rgba(84,130,48,.24);margin-bottom:12px}.bonus-card{background:linear-gradient(135deg,#fffdf8,#fff2d2)}.bonus-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.bonus-box{background:#fff;border:1px solid #ecd8b8;border-radius:22px;padding:20px;box-shadow:0 12px 26px rgba(70,34,12,.1)}.bonus-box h3{margin:0 0 8px;color:#8a5a32;font-size:24px}.bonus-box small{word-break:break-word}.btn{font-size:16px}.btn.fb{background:linear-gradient(135deg,#1877f2,#0f5ec5)}input,textarea,select{background:#fffdf9}.notice.err{font-weight:700}.winner-row{background:linear-gradient(135deg,#fffdf8,#fff4dc)}
@media(max-width:760px){.bonus-grid{grid-template-columns:1fr}.game-hero img{transform:none}.success-icon{width:58px;height:58px;font-size:34px}}

/* Version Fancybox / accueil animé public */
.public-page{min-height:100vh;background:radial-gradient(circle at 18% 10%,rgba(255,216,98,.55),transparent 30%),radial-gradient(circle at 90% 4%,rgba(138,90,50,.18),transparent 24%),linear-gradient(180deg,rgba(255,248,235,.96),rgba(245,225,184,.92)),var(--lfa-bg-image, url('../img/fond.jpg')) center top/cover fixed no-repeat;}
.public-page main{width:min(980px,94vw);padding:18px 0 20px;}
.public-page footer{padding:12px 20px 22px;font-size:.9em;}
.mini-nav{position:sticky;top:8px;z-index:20;display:flex;align-items:center;justify-content:center;gap:8px;width:max-content;max-width:calc(100% - 24px);margin:10px auto 0;padding:7px;background:rgba(255,253,248,.88);border:1px solid rgba(224,193,140,.85);border-radius:999px;box-shadow:0 10px 28px rgba(70,34,12,.16);backdrop-filter:blur(8px);}
.mini-nav a{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;color:#7b4d28;font-weight:900;font-size:14px;padding:9px 13px;border-radius:999px;white-space:nowrap;}
.mini-nav a:hover,.mini-nav-main{background:#8a5a32;color:#fff!important;}
.game-cover{position:relative;overflow:hidden;display:grid;grid-template-columns:1.05fr .95fr;gap:18px;align-items:center;min-height:min(620px,calc(100vh - 96px));padding:clamp(22px,4vw,44px);margin:10px 0 16px;border:2px solid rgba(224,193,140,.9);border-radius:34px;background:linear-gradient(135deg,rgba(255,253,248,.96),rgba(255,241,203,.95) 55%,rgba(247,207,115,.9));box-shadow:0 24px 60px rgba(70,34,12,.2);}
.game-cover:before{content:'🎁';position:absolute;right:9%;top:6%;font-size:78px;opacity:.14;animation:floatSoft 4.5s ease-in-out infinite;}
.game-cover:after{content:'🌲';position:absolute;left:4%;bottom:5%;font-size:86px;opacity:.1;animation:floatSoft 5.5s ease-in-out infinite reverse;}
.cover-glow{position:absolute;inset:auto -80px -140px auto;width:320px;height:320px;border-radius:50%;background:rgba(255,196,58,.35);filter:blur(12px);}
.cover-content,.cover-visual{position:relative;z-index:1;}
.floating-badge{animation:dropIn .7s ease both;box-shadow:0 8px 18px rgba(192,130,23,.18);}
.game-cover h1{font-size:clamp(38px,8vw,74px);letter-spacing:-.04em;color:#7e4f2a;text-shadow:0 3px 0 rgba(255,255,255,.75);margin:0 0 14px;animation:fadeUp .7s .1s ease both;}
.cover-text{font-size:clamp(17px,2.4vw,22px);line-height:1.45;color:#4a3326;max-width:580px;animation:fadeUp .7s .2s ease both;}
.cover-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:24px;animation:fadeUp .7s .3s ease both;}
.play-now{font-size:clamp(17px,2vw,21px);padding:16px 28px;background:linear-gradient(135deg,#9b6737,#6f4121);border:2px solid rgba(255,255,255,.45);}
.pulse{animation:pulseBtn 1.9s ease-in-out infinite;}
.micro-note{font-size:.95em;color:#7a604b;margin-top:12px;}
.cover-visual{display:flex;align-items:center;justify-content:center;}
.cover-visual img{width:min(100%,430px);border-radius:28px;background:rgba(255,255,255,.65);box-shadow:0 18px 42px rgba(70,34,12,.18);transform:rotate(1.5deg);animation:popIn .8s .18s ease both,floatSoft 5s 1s ease-in-out infinite;}
.closed-box{margin-top:20px;padding:18px;border-radius:22px;background:rgba(255,255,255,.72);border:1px solid #e9cf9c;}
.closed-box h2{font-size:24px;margin-bottom:6px;}
.closed-box h2:after{display:none;}
.form-card{display:none;scroll-margin-top:76px;position:relative;overflow:hidden;}
.form-card.is-visible{display:block;animation:fadeUp .35s ease both;}
.form-card:before{content:'';position:absolute;inset:0 0 auto 0;height:8px;background:linear-gradient(90deg,#8a5a32,#f2c04f,#7cb342);}
.section-title{margin-bottom:18px;}
.section-title span{display:inline-block;text-transform:uppercase;letter-spacing:.11em;font-size:12px;font-weight:900;color:#7cb342;margin-bottom:6px;}
.section-title h2{margin-bottom:6px;}
.section-title p{margin:0;color:#6f5b4b;}
.legal-checks{display:grid;gap:10px;background:#fff8e8;border:1px solid #ecd8b8;border-radius:18px;padding:14px;}
.check a{color:#8a5a32;font-weight:900;}
.game-form .actions{justify-content:center;}
.game-form .actions .btn{min-width:230px;}
@keyframes pulseBtn{0%,100%{transform:translateY(0) scale(1);box-shadow:0 10px 22px rgba(92,55,26,.23)}50%{transform:translateY(-2px) scale(1.025);box-shadow:0 18px 34px rgba(92,55,26,.32)}}
@keyframes fadeUp{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}
@keyframes dropIn{from{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}
@keyframes popIn{from{opacity:0;transform:scale(.94) rotate(-1deg)}to{opacity:1;transform:scale(1) rotate(1.5deg)}}
@keyframes floatSoft{0%,100%{transform:translateY(0) rotate(1.5deg)}50%{transform:translateY(-8px) rotate(0deg)}}
@media(max-width:760px){.public-page main{padding-top:8px}.mini-nav{top:6px;gap:4px;padding:5px}.mini-nav a{font-size:13px;padding:8px 10px}.game-cover{grid-template-columns:1fr;min-height:auto;padding:24px 18px;border-radius:26px;text-align:center}.cover-text{margin-left:auto;margin-right:auto}.cover-actions{justify-content:center}.cover-visual img{max-width:310px;transform:none}.game-cover:before{font-size:56px;right:4%;top:3%}.game-cover:after{font-size:58px}.form-card{border-radius:24px}.legal-checks{text-align:left}.public-page footer{font-size:.82em}.pulse{animation:pulseBtnMobile 1.9s ease-in-out infinite}@keyframes pulseBtnMobile{0%,100%{transform:scale(1)}50%{transform:scale(1.025)}}}
@media(max-width:420px){.mini-nav{width:calc(100% - 16px)}.mini-nav a{flex:1;font-size:12px;padding-left:6px;padding-right:6px}.cover-actions .btn{width:100%}.game-cover h1{font-size:38px}}

/* Parcours en étapes dans la Fancybox */
.public-page .step-panel{display:none;}
.public-page .step-panel.is-visible{display:grid;animation:fadeUp .35s ease both;}
.public-page .form-card.step-panel.is-visible{display:block;}
.scan-card{max-width:860px}.scan-box{display:grid;grid-template-columns:1fr 1fr;gap:18px;align-items:start}.scan-preview{background:#231b15;border-radius:20px;overflow:hidden;min-height:280px;display:flex;align-items:center;justify-content:center;color:#fff}.scan-result{padding:18px;border-radius:18px;background:#fff8e8;border:1px solid #ecd8b8}.scan-result.ok{background:#eef9e8;border-color:#8bc06d}.scan-result.err{background:#fff0ee;border-color:#d79b90}.danger-btn{background:linear-gradient(135deg,#b3261e,#7a1712)!important}.tiny-form{display:inline}.ticket-code{font-family:ui-monospace,Menlo,Consolas,monospace;font-weight:900}.used-pill{background:#d7efd0;color:#245b1f}.unused-pill{background:#fff0c7;color:#805300}@media(max-width:760px){.scan-box{grid-template-columns:1fr}.scan-preview{min-height:220px}}

/* Correctif affichage initial : l'accueil est visible avant toute action JS */
.public-page .step-panel[data-step-panel="intro"].is-visible{display:grid;}


/* Correctifs admin suppression + scan douchette */
.tiny-form{margin:0;display:inline-block}.danger-btn{background:#b83a2d!important;color:#fff!important;border-color:#9d2e23!important}.danger-btn:hover{filter:brightness(.95)}
.scanner-kiosk{display:grid;gap:18px;max-width:720px}.scan-status{border-radius:18px;padding:22px;background:#fff7df;border:2px solid #e4c37b;font-size:18px;line-height:1.45}.scan-status.ok{background:#eaf8e6;border-color:#75b96b;color:#205f24}.scan-status.err{background:#fff0ef;border-color:#d46a61;color:#8f241d}.scan-form{display:grid;gap:10px}.scan-form input{font-size:24px;padding:18px;border:3px solid #9b6b43;border-radius:16px;background:#fff}.scan-form input:focus{outline:4px solid rgba(155,107,67,.18)}

/* Correctif parrainage : 3 champs e-mail lisibles */
.referral-form { display: grid; gap: 8px; margin-top: 12px; }
.referral-form input[type="email"] { width: 100%; box-sizing: border-box; padding: 12px 14px; border-radius: 14px; border: 1px solid rgba(138,90,50,.25); background: rgba(255,255,255,.9); font-size: 15px; }
.referral-form label { font-weight: 700; color: #5f3a22; font-size: 13px; margin-top: 4px; }

/* Éditeur de contenus admin */
.editor-toolbar{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}.editor-toolbar button{border:1px solid #d4b88c;background:#fff7e7;color:#5a3a22;border-radius:10px;padding:7px 10px;font-weight:700;cursor:pointer}.editor-toolbar button:hover{background:#f0dfbf}.rich-editor{min-height:190px;border:1px solid #d4b88c;border-radius:14px;padding:14px;background:#fff;color:#3b2a20;line-height:1.5;outline:none}.rich-editor:focus{border-color:#8a5a32;box-shadow:0 0 0 3px rgba(138,90,50,.14)}.rich-source{display:none}.legal-content div{line-height:1.6}.legal-content h2,.rich-editor h2{font-size:1.45em;margin:1em 0 .35em}.legal-content ul,.legal-content ol,.rich-editor ul,.rich-editor ol{padding-left:1.4em}.legal-content a{color:#8a5a32;font-weight:700}


/* Correctifs bonus + visuels administrables */
.brand span:before,.game-hero:before,.game-cover:after{content:none!important;display:none!important;}
.big-bonus{font-size:20px;text-align:center;font-weight:900;border-width:2px;}
.single-bonus-grid{grid-template-columns:1fr;max-width:580px;margin:0 auto;}
.share-cover{display:grid!important;}


/* Filtre de lisibilité sur l’arrière-plan public */
.public-page{position:relative;}
.public-page:before{content:'';position:fixed;inset:0;background:rgba(var(--lfa-overlay-rgb,255,248,235),var(--lfa-overlay-opacity,.68));backdrop-filter:blur(1px);pointer-events:none;z-index:0;}
.public-page > *{position:relative;z-index:1;}

/* Upload visuels admin */
.image-setting{background:#fff8e8;border:1px solid #ecd8b8;border-radius:16px;padding:14px;}
.image-setting-preview{display:flex;align-items:center;gap:12px;margin:8px 0 10px;}
.image-setting-preview img{width:110px;height:74px;object-fit:cover;border-radius:12px;border:1px solid #e1cba8;background:#fff;}
.image-setting-preview .path{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12px;word-break:break-all;color:#6b594a;}
.image-setting input[type=file]{padding:10px;background:#fff;}
.image-setting .hint{font-size:12px;color:#78685a;margin-top:6px;}


/* Ajustements admin visuels + arrière-plan plein écran */
body{background-position:center center!important;background-size:cover!important;background-repeat:no-repeat!important;background-attachment:fixed!important;}
.public-page{background-position:center center!important;background-size:cover!important;background-repeat:no-repeat!important;background-attachment:fixed!important;}
.image-setting-preview{align-items:flex-start!important;}
.image-setting-preview img{width:150px!important;height:92px!important;max-width:150px!important;max-height:92px!important;object-fit:cover!important;display:block!important;}
.image-setting-preview strong{display:block;margin-top:2px;}
.password-panel{max-width:760px;}
.password-form input[type=password]{letter-spacing:.02em;}
@media(max-width:760px){.image-setting-preview{display:block!important}.image-setting-preview img{margin-bottom:8px;width:130px!important;height:80px!important}}
/* Correctif admin upload images */
.upload-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:6px 0 8px;}
.upload-row input[type="file"]{flex:1;min-width:240px;}
.btn.small,.upload-submit{padding:8px 12px;font-size:13px;border-radius:10px;white-space:nowrap;}
@media(max-width:760px){.upload-row{display:block}.upload-row input[type="file"]{width:100%;margin-bottom:8px}.upload-submit{width:100%}}

/* Correctif fond administrable : l'image choisie dans l'admin est appliquée inline par PHP. */
.public-page{background-color:transparent!important;}
.public-page main{position:relative;z-index:1;}
.game-cover{background:linear-gradient(135deg,rgba(255,253,248,.92),rgba(255,241,203,.88) 55%,rgba(247,207,115,.78))!important;}
.form-card,.card{background:rgba(255,253,248,.94)!important;}

.range-setting{display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}.range-setting input{padding:0}.range-setting strong{min-width:46px;text-align:center;background:#fff8e8;border:1px solid #ecd8b8;border-radius:10px;padding:8px;color:#8a5a32}.settings-form input[type=color]{height:48px;padding:5px;cursor:pointer}

/* Correctif filtre configurable : un seul filtre, celui de l'admin */
body{background-image:var(--lfa-bg-image, url('../img/fond.jpg'))!important;background-position:center center!important;background-size:cover!important;background-repeat:no-repeat!important;background-attachment:fixed!important;}
.page.public-page,.public-page{background:transparent!important;background-image:var(--lfa-bg-image, url('../img/fond.jpg'))!important;background-position:center center!important;background-size:cover!important;background-repeat:no-repeat!important;background-attachment:fixed!important;}
.public-page:before{content:'';position:fixed;inset:0;background:rgba(var(--lfa-overlay-rgb,255,248,235),var(--lfa-overlay-opacity,.55))!important;backdrop-filter:blur(1px);pointer-events:none;z-index:0;}
.public-page main,.public-page footer,.mini-nav{position:relative;z-index:1;}

/* Admin visuels mieux organisé */
.settings-help{background:#fff8e8;border:1px solid #ecd8b8;border-radius:16px;padding:12px 14px;margin:-4px 0 16px;color:#6b594a;}
.visual-admin-grid{display:grid;grid-template-columns:1.25fr .85fr;gap:16px;margin-bottom:26px;}
.visual-card{background:#fff8e8;border:1px solid #ecd8b8;border-radius:22px;padding:16px;box-shadow:0 10px 24px rgba(70,34,12,.08);}
.visual-card-large{grid-row:span 2;}
.visual-card h3{margin:0 0 12px;color:#8a5a32;font-size:20px;}
.visual-card .image-setting{background:#fff;border-color:#ead7b8;}
.filter-preview{height:150px;border-radius:18px;border:1px solid #e1cba8;background-image:linear-gradient(180deg,rgba(var(--preview-rgb),var(--preview-opacity)),rgba(var(--preview-rgb),var(--preview-opacity))),var(--preview-bg);background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;color:#4a3326;font-weight:900;text-shadow:0 1px 0 rgba(255,255,255,.7);margin-bottom:14px;overflow:hidden;}
.filter-preview span{background:rgba(255,255,255,.75);border:1px solid rgba(255,255,255,.9);padding:8px 12px;border-radius:999px;}
.image-setting-preview img{width:150px!important;height:90px!important;object-fit:cover;border-radius:12px;border:1px solid #e1cba8;background:#fff;}
.upload-row{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:center;}
@media(max-width:980px){.visual-admin-grid{grid-template-columns:1fr}.visual-card-large{grid-row:auto}.upload-row{grid-template-columns:1fr}.upload-row .btn{width:100%;}}


/* Correctif définitif admin apparence : aperçu instantané + anti-débordement */
.settings-page,.settings-form,.visual-admin-grid,.visual-card,.image-setting{max-width:100%;box-sizing:border-box;min-width:0;}
.settings-page{overflow:hidden;}
.visual-admin-grid{align-items:start;grid-template-columns:minmax(0,1.2fr) minmax(280px,.8fr)!important;}
.visual-card{overflow:hidden;}
.image-setting-preview{max-width:100%;min-width:0;}
.image-setting-preview .path{max-width:100%;overflow-wrap:anywhere;word-break:break-word;}
.upload-row{max-width:100%;min-width:0;}
.upload-row input[type=file]{min-width:0;width:100%;}
.image-setting input[type=text]{max-width:100%;}
.filter-preview{max-width:100%;background-image:linear-gradient(180deg,rgba(var(--preview-rgb,255,248,235),var(--preview-opacity,.55)),rgba(var(--preview-rgb,255,248,235),var(--preview-opacity,.55))),var(--preview-bg)!important;}
@media(max-width:1100px){.admin-layout{grid-template-columns:1fr!important}.admin-menu{position:static!important}.visual-admin-grid{grid-template-columns:1fr!important}.settings-page{overflow:visible;}}
@media(max-width:760px){.settings-form .form-grid,.admin-form-grid{grid-template-columns:1fr!important}.visual-card{padding:12px}.filter-preview{height:120px}.upload-row{display:grid!important;grid-template-columns:1fr!important}}

/* Application publique forcée : le filtre administré est l'unique voile */
.page.public-page,.public-page{background-image:var(--lfa-bg-image, url('../img/fond.jpg'))!important;background-position:center center!important;background-size:cover!important;background-repeat:no-repeat!important;background-attachment:fixed!important;}
.public-page:before{content:''!important;position:fixed!important;inset:0!important;background:rgba(var(--lfa-overlay-rgb,255,248,235),var(--lfa-overlay-opacity,.55))!important;pointer-events:none!important;z-index:0!important;}
.public-page main,.public-page footer,.public-page .mini-nav{position:relative!important;z-index:1!important;}


/* Correctif fond HD global : aucune miniature, aucun flou, même réglage sur toutes les pages publiques */
body,
.page.public-page,
.public-page{
  background-image:var(--lfa-bg-image, url('../img/fond.jpg')) !important;
  background-size:cover !important;
  background-position:center center !important;
  background-repeat:no-repeat !important;
  background-attachment:fixed !important;
}
.public-page:before{
  content:'' !important;
  position:fixed !important;
  inset:0 !important;
  background:rgba(var(--lfa-overlay-rgb,255,248,235),var(--lfa-overlay-opacity,.55)) !important;
  backdrop-filter:none !important;
  -webkit-backdrop-filter:none !important;
  pointer-events:none !important;
  z-index:0 !important;
}
.public-page main,
.public-page footer,
.public-page .mini-nav{position:relative;z-index:1;}

/* Correctif admin : lisibilité en-tête, organisation visuels, bouton enregistrer toujours visible */
.admin-top{
  background:rgba(255,253,248,.92)!important;
  border:1px solid #ead7b8!important;
  border-radius:24px!important;
  padding:18px 22px!important;
  box-shadow:0 14px 34px rgba(70,34,12,.18)!important;
  backdrop-filter:blur(6px)!important;
  -webkit-backdrop-filter:blur(6px)!important;
  align-items:center!important;
}
.admin-top h1{color:#8a5a32!important;text-shadow:0 1px 0 rgba(255,255,255,.7)!important;}
.admin-kicker{color:#5a3a22!important;}
.settings-page{padding-bottom:96px!important;}
.settings-form{padding-bottom:96px!important;}
.settings-page .visual-admin-grid{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:start!important;
}
.settings-page .visual-card{
  min-width:0!important;
  overflow:hidden!important;
}
.settings-page .visual-card-large,
.settings-page .visual-admin-grid > .visual-card:nth-child(2){
  grid-column:1 / -1!important;
  grid-row:auto!important;
}
.settings-page .visual-admin-grid > .visual-card:nth-child(3),
.settings-page .visual-admin-grid > .visual-card:nth-child(4){
  grid-column:auto!important;
}
.settings-page .image-setting-preview{
  display:grid!important;
  grid-template-columns:150px minmax(0,1fr)!important;
  gap:12px!important;
  align-items:start!important;
}
.settings-page .image-setting-preview img{
  width:150px!important;
  height:90px!important;
  max-width:150px!important;
  object-fit:cover!important;
}
.settings-page .image-setting-preview .path{
  display:block!important;
  max-width:100%!important;
  overflow-wrap:anywhere!important;
  word-break:break-word!important;
  line-height:1.35!important;
}
.settings-page .sticky-actions{
  position:fixed!important;
  right:24px!important;
  bottom:22px!important;
  z-index:1000!important;
  margin:0!important;
  padding:12px!important;
  background:rgba(255,253,248,.96)!important;
  border:1px solid #d4b88c!important;
  border-radius:999px!important;
  box-shadow:0 18px 42px rgba(70,34,12,.28)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}
.settings-page .sticky-actions .btn{
  min-width:230px!important;
  justify-content:center!important;
}
@media(max-width:980px){
  .settings-page .visual-admin-grid{grid-template-columns:1fr!important;}
  .settings-page .visual-card-large,
  .settings-page .visual-admin-grid > .visual-card:nth-child(2),
  .settings-page .visual-admin-grid > .visual-card:nth-child(3),
  .settings-page .visual-admin-grid > .visual-card:nth-child(4){grid-column:1!important;}
  .settings-page .sticky-actions{left:12px!important;right:12px!important;bottom:12px!important;border-radius:20px!important;}
  .settings-page .sticky-actions .btn{width:100%!important;min-width:0!important;}
}
@media(max-width:620px){
  .admin-top{padding:14px!important;border-radius:18px!important;}
  .settings-page .image-setting-preview{grid-template-columns:1fr!important;}
  .settings-page .image-setting-preview img{width:130px!important;height:80px!important;}
}

/* Correctif pied de page public : liens lisibles mais discrets sur fond photo */
.public-page footer{
  width:max-content;
  max-width:calc(100% - 28px);
  margin:8px auto 18px!important;
  padding:9px 14px!important;
  color:#5a3a22!important;
  font-size:13px!important;
  line-height:1.45!important;
  text-align:center!important;
  background:rgba(255,253,248,.78)!important;
  border:1px solid rgba(234,215,184,.9)!important;
  border-radius:999px!important;
  box-shadow:0 8px 24px rgba(70,34,12,.14)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}
.public-page footer a{
  color:#7b4d28!important;
  text-decoration:none!important;
  font-weight:800!important;
}
.public-page footer a:hover{text-decoration:underline!important;}
@media(max-width:560px){
  .public-page footer{
    width:calc(100% - 28px);
    border-radius:18px!important;
    font-size:12px!important;
    padding:10px 12px!important;
  }
}
