
:root{
  --bg:#f6f1e8;--text:#151310;--muted:#6d6459;--card:#fffaf2;--line:#eadfce;
  --accent:#d6a04b;--accent2:#f4d28a;--dark:#101010;--soft:#fff7e8;
  --admin-bg:#0b0d12;--admin-card:#141821;--admin-line:#242a36;--admin-text:#f7f4ef;--admin-muted:#9fa6b4;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;background:radial-gradient(circle at 10% -10%,#fff0c9,transparent 34%),radial-gradient(circle at 90% 5%,#f6d8a8,transparent 28%),var(--bg);color:var(--text)}
a{text-decoration:none;color:inherit}
.nav{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:24px;padding:18px 6vw;background:rgba(246,241,232,.78);backdrop-filter:blur(18px);border-bottom:1px solid rgba(234,223,206,.75)}
.logo{font-size:30px;font-weight:950;letter-spacing:-1.5px}.logo span{color:var(--accent)}
.nav-links{display:flex;gap:22px;color:#4b463f;font-weight:750}.nav-links a:hover{color:#a56d1f}
.btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:linear-gradient(135deg,#161616,#3a3024);color:#fff;font-weight:900;padding:16px 25px;box-shadow:0 18px 40px rgba(16,16,16,.16);cursor:pointer;transition:.2s}.btn:hover{transform:translateY(-2px)}.btn-small{padding:10px 16px;font-size:14px}.btn.ghost{background:rgba(255,255,255,.76);color:var(--text);box-shadow:inset 0 0 0 1px var(--line)}.btn.light{background:#fff;color:#151310}
.hero{min-height:790px;display:grid;grid-template-columns:1.08fr .92fr;align-items:center;gap:58px;padding:76px 6vw}.premium-hero{position:relative;overflow:hidden}
.badge{display:inline-flex;width:max-content;border:1px solid rgba(214,160,75,.38);background:rgba(255,248,232,.78);color:#8b5b1d;padding:9px 14px;border-radius:999px;font-weight:900;font-size:13px;letter-spacing:.2px}
.hero h1,.page-head h1{font-size:clamp(46px,6.5vw,92px);line-height:.92;letter-spacing:-5px;margin:24px 0 22px}.lead,.page-head p{font-size:20px;color:var(--muted);line-height:1.72;max-width:760px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:34px}.trust{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px;color:#4f473d;font-weight:850}.trust span{background:rgba(255,255,255,.52);border:1px solid rgba(234,223,206,.82);border-radius:999px;padding:11px 14px}
.hero-card{position:relative;display:grid;place-items:center;min-height:560px}.luxury-card:before{content:"";position:absolute;width:430px;height:430px;border-radius:50%;background:linear-gradient(135deg,#ffe0a3,#d6a04b);filter:blur(30px);opacity:.26}.halo{position:absolute;width:520px;height:520px;border:1px solid rgba(214,160,75,.35);border-radius:50%;animation:float 7s ease-in-out infinite}
.booth{position:relative;width:380px;height:430px;background:transparent;box-shadow:none;z-index:2}.triangle-shell{position:absolute;left:50%;top:28px;width:360px;height:330px;transform:translateX(-50%);overflow:visible;z-index:1}.shell-path{fill:url(#pixeoShell);stroke:rgba(255,255,255,.9);stroke-width:1.2;filter:drop-shadow(0 32px 22px rgba(44,30,16,.22))}.shell-highlight{fill:none;stroke:rgba(110,80,45,.13);stroke-width:1}.bottom-line{fill:none;stroke:rgba(94,70,42,.22);stroke-width:1.2;stroke-linecap:round}
.camera{position:absolute;top:116px;left:50%;transform:translateX(-50%);width:66px;height:66px;border-radius:50%;background:#111;box-shadow:inset 0 0 0 14px #313131,0 0 0 9px rgba(255,255,255,.65);z-index:3}.screen{position:absolute;top:204px;left:50%;transform:translateX(-50%);width:178px;height:112px;background:linear-gradient(160deg,#111,#29241e);border-radius:28px;display:grid;place-items:center;color:#fff;text-align:center;z-index:3}.screen span{font-size:36px;font-weight:950;letter-spacing:-2px}.screen small{margin-top:-34px;color:#d6a04b;text-transform:uppercase;font-size:10px;letter-spacing:2px;font-weight:900}.glow{position:absolute;left:86px;right:86px;bottom:2px;height:58px;background:radial-gradient(circle,#d6a04b,transparent 70%);filter:blur(15px);opacity:.42;z-index:0}
.price-card{position:absolute;right:1%;bottom:54px;background:rgba(255,255,255,.82);border:1px solid rgba(255,255,255,.65);padding:24px 28px;border-radius:30px;box-shadow:0 35px 90px rgba(0,0,0,.16);z-index:3;backdrop-filter:blur(14px)}.price-card span,.price-card small{display:block;color:var(--muted);font-weight:800}.price-card strong{display:block;font-size:60px;letter-spacing:-4px}
.section{padding:84px 6vw}.intro-panel{background:rgba(255,255,255,.38);border-top:1px solid rgba(234,223,206,.7);border-bottom:1px solid rgba(234,223,206,.7)}.section-title{text-align:center;display:grid;justify-items:center;margin-bottom:38px}.section-title h2,.split h2,.cta h2,.digital-strength h2{font-size:clamp(34px,4.5vw,60px);line-height:1.01;letter-spacing:-2.7px;margin:18px 0}.section-title p{max-width:760px;color:var(--muted);font-size:18px;line-height:1.65}
.premium-grid,.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.steps{grid-template-columns:repeat(4,1fr)}.premium-grid article,.steps article,.plan,.form-card,.faq details,.photo-card,.account-card{background:rgba(255,250,242,.9);border:1px solid var(--line);border-radius:36px;padding:30px;box-shadow:0 24px 65px rgba(49,35,19,.07)}.premium-grid span{font-size:13px;font-weight:950;color:#9b6a27;letter-spacing:2px}.steps span{display:grid;place-items:center;width:44px;height:44px;background:#151310;color:#fff;border-radius:50%;font-weight:950}.premium-grid h3,.steps h3{font-size:23px;margin-bottom:10px}.premium-grid p,.steps p,.split p,.plan p,.faq p,.digital-strength p,.account-card p{color:var(--muted);line-height:1.68}
.split{margin:58px 6vw;padding:62px;background:linear-gradient(135deg,#101010,#2a2118);color:#fff;border-radius:48px;display:grid;grid-template-columns:1fr 1fr;gap:42px;align-items:center;box-shadow:0 40px 100px rgba(0,0,0,.18)}.split p{color:#d8d0c5}.feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.feature-grid div{min-height:145px;border-radius:30px;background:rgba(255,255,255,.08);display:grid;place-items:center;text-align:center;border:1px solid rgba(255,255,255,.09)}.feature-grid span{font-size:42px}.feature-grid strong{display:block;font-size:18px}.digital-strength{margin:30px 6vw 70px;padding:60px;border-radius:48px;background:#fffaf2;border:1px solid var(--line);display:grid;grid-template-columns:1fr .8fr;gap:32px;box-shadow:0 25px 70px rgba(49,35,19,.06)}.strength-list p{background:#f2eadc;border:1px solid #e7dcc9;border-radius:20px;padding:16px 18px;margin:10px 0;font-weight:850;color:#3f382f}.cta{margin:60px 6vw 94px;padding:74px 34px;border-radius:48px;background:linear-gradient(135deg,#d6a04b,#f4d28a);color:#151310;text-align:center;box-shadow:0 30px 80px rgba(149,98,24,.18)}
.page-head{padding:78px 6vw 30px;text-align:center;display:grid;justify-items:center}.pricing{display:grid;grid-template-columns:1fr;gap:24px;padding:30px 6vw 94px;max-width:860px;margin:auto}.featured{background:#fff}.tag{display:inline-flex;padding:9px 13px;border-radius:999px;background:#fff2d2;color:#8c5b1c;font-weight:950}.big-price{font-size:78px;font-weight:950;letter-spacing:-5px;margin:14px 0}.plan ul{padding-left:20px;line-height:2.05;color:#433c34}
.form-section{padding:20px 6vw 94px}.form-card{max-width:940px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:19px}.form-card label{font-weight:900;color:#3c3834}.form-card input,.form-card select,.form-card textarea{width:100%;margin-top:8px;border:1px solid var(--line);border-radius:19px;padding:16px;background:#fff;font:inherit}.full{grid-column:1/-1}.flash-wrap{padding:18px 6vw}.flash{max-width:920px;margin:auto;border-radius:18px;padding:16px;background:#fff;border:1px solid var(--line)}.flash.error{border-color:#e14b4b;color:#a02222}.flash.success{border-color:#7abf62;color:#2f7e25}
.gallery-grid{padding:30px 6vw 90px;display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.photo-card{height:240px;display:grid;place-items:center;text-align:center}.photo-card div{font-size:78px}.photo-card span{font-weight:900;font-size:22px}.real-photo{width:100%;height:260px;object-fit:cover;border-radius:24px}.faq{max-width:920px;margin:auto;padding:30px 6vw 94px}.faq details{margin-bottom:14px}.faq summary{font-size:20px;font-weight:950;cursor:pointer}
.account-grid{padding:30px 6vw 94px;display:grid;grid-template-columns:repeat(2,1fr);gap:22px}.status{display:inline-flex;border-radius:999px;background:#fff2d2;color:#8c5b1c;padding:7px 11px;font-weight:900}.success{min-height:620px;display:grid;place-items:center;text-align:center;padding:80px 6vw}.success div{font-size:72px}.success h1{font-size:56px;margin:10px}.success p{color:var(--muted);font-size:20px}
.footer{padding:42px 6vw;border-top:1px solid var(--line);display:flex;justify-content:space-between;gap:30px;color:#5d5750}.footer strong{font-size:28px;color:#171717}.footer-links{display:flex;gap:18px;font-weight:900}

/* ADMIN V2 */
.admin-shell{min-height:100vh;background:var(--admin-bg);color:var(--admin-text);display:grid;grid-template-columns:260px 1fr}
.admin-sidebar{position:sticky;top:0;height:100vh;padding:28px;background:#07090d;border-right:1px solid var(--admin-line)}
.admin-logo{font-size:28px;font-weight:950;margin-bottom:32px;color:#fff}
.admin-nav{display:grid;gap:10px}.admin-nav a{padding:14px 16px;border-radius:16px;color:var(--admin-muted);font-weight:850}.admin-nav a:hover,.admin-nav a.active{background:#141821;color:#fff}
.admin-main{padding:34px;overflow:auto}.admin-top{display:flex;justify-content:space-between;gap:20px;align-items:center;margin-bottom:28px}
.admin-top h1{font-size:44px;letter-spacing:-2px;margin:0}.admin-top p{color:var(--admin-muted);margin:8px 0 0}
.kpi-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px;margin-bottom:24px}.kpi,.admin-card{background:var(--admin-card);border:1px solid var(--admin-line);border-radius:26px;padding:22px;box-shadow:0 20px 60px rgba(0,0,0,.18)}.kpi small{color:var(--admin-muted);font-weight:850}.kpi strong{display:block;font-size:38px;margin-top:8px}
.admin-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.admin-table{width:100%;border-collapse:separate;border-spacing:0 10px}.admin-table th{text-align:left;color:var(--admin-muted);font-size:13px;padding:8px}.admin-table td{background:#10141d;border-top:1px solid var(--admin-line);border-bottom:1px solid var(--admin-line);padding:14px;vertical-align:top}.admin-table td:first-child{border-left:1px solid var(--admin-line);border-radius:16px 0 0 16px}.admin-table td:last-child{border-right:1px solid var(--admin-line);border-radius:0 16px 16px 0}
.admin-badge{display:inline-flex;padding:7px 11px;border-radius:999px;background:#24202a;color:#f4d28a;font-weight:900;font-size:12px}.admin-badge.green{background:#14251b;color:#72e0a0}.admin-badge.red{background:#2b1717;color:#ff9d9d}.admin-badge.gray{background:#20252e;color:#b9c0cc}
.admin-form{display:grid;gap:12px}.admin-form input,.admin-form select,.admin-form textarea{width:100%;padding:13px;border-radius:14px;border:1px solid var(--admin-line);background:#0b0d12;color:#fff}.admin-form label{font-weight:850;color:#d8dde8}.admin-btn{border:0;background:linear-gradient(135deg,#d6a04b,#f4d28a);color:#111;font-weight:950;border-radius:999px;padding:12px 18px;cursor:pointer}.admin-btn.dark{background:#1f2633;color:#fff}
.planning{overflow:auto}.planning-grid{min-width:1100px}.planning-row{display:grid;grid-template-columns:140px repeat(31,38px);gap:5px;align-items:center;margin-bottom:6px}.planning-day,.planning-borne,.planning-cell{height:34px;border-radius:10px;display:grid;place-items:center;font-size:12px}.planning-day{color:var(--admin-muted)}.planning-borne{justify-content:start;color:#fff;font-weight:900}.planning-cell{background:#111720;border:1px solid #1d2531}.planning-cell.busy{background:linear-gradient(135deg,#d6a04b,#f4d28a);color:#111;font-weight:950}
.config-preview{white-space:pre-wrap;background:#07090d;border:1px solid var(--admin-line);border-radius:18px;padding:16px;color:#cbd2df;overflow:auto;max-height:340px}
.client-hero{padding:70px 6vw 20px}.event-card-big{background:linear-gradient(135deg,#fff,#fff7e8);border:1px solid var(--line);border-radius:38px;padding:34px;box-shadow:0 30px 80px rgba(49,35,19,.08)}.progress{display:grid;gap:12px;margin-top:22px}.progress span{padding:12px 14px;border-radius:16px;background:#f2eadc;font-weight:900}.progress span.ok{background:#e3f5e7;color:#23763a}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@media(max-width:1000px){.admin-shell{grid-template-columns:1fr}.admin-sidebar{position:relative;height:auto}.admin-nav{grid-template-columns:repeat(2,1fr)}.kpi-grid,.admin-grid{grid-template-columns:1fr}}
@media(max-width:900px){.nav-links{display:none}.hero,.split,.digital-strength,.account-grid{grid-template-columns:1fr}.hero{padding-top:44px;min-height:auto}.premium-grid,.steps,.gallery-grid{grid-template-columns:1fr}.form-card{grid-template-columns:1fr}.hero-card{min-height:500px}.booth{width:300px;height:360px}.triangle-shell{width:300px;height:275px;top:30px}.camera{top:100px;width:54px;height:54px}.screen{top:170px;width:148px;height:94px;border-radius:24px}.screen span{font-size:29px}.price-card{right:0}.footer{display:block}.hero h1,.page-head h1{letter-spacing:-2.4px}.split,.digital-strength{padding:36px;margin-left:4vw;margin-right:4vw}}

/* V2.1 corrections */
.address-field{position:relative}
.address-suggestions{display:none;position:absolute;z-index:20;left:0;right:0;top:100%;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:0 18px 50px rgba(49,35,19,.14);overflow:hidden;margin-top:6px}
.address-suggestions div{padding:14px 16px;cursor:pointer;font-weight:750;color:#2c251d}
.address-suggestions div:hover{background:#fff2d2}
.admin-toast{position:fixed;right:28px;top:24px;z-index:50;padding:14px 18px;border-radius:16px;background:#14251b;color:#72e0a0;border:1px solid #245c37;box-shadow:0 20px 60px rgba(0,0,0,.35);font-weight:900}
.admin-toast.error{background:#2b1717;color:#ff9d9d;border-color:#6a2929}
.planning-legend{display:flex;gap:20px;flex-wrap:wrap;color:var(--admin-muted);font-weight:900}
.planning-legend span{display:flex;align-items:center;gap:9px}
.event-dot,.blocked-dot{display:inline-block;width:15px;height:15px;border-radius:5px}
.event-dot{background:linear-gradient(135deg,#d6a04b,#f4d28a)}
.blocked-dot{background:#384151}
.planning-year h2{margin-top:0}
.planning-scroll{overflow:auto}
.planning-grid-year{display:grid;gap:5px;align-items:center;min-width:max-content}
.planning-head,.planning-day,.planning-borne,.planning-cell{min-height:32px;border-radius:9px;display:grid;place-items:center;font-size:12px}
.planning-head{color:#fff;font-weight:950;justify-content:start}
.planning-day{color:var(--admin-muted);font-weight:850}
.planning-borne{color:#fff;font-weight:950;justify-content:start;text-align:left}
.planning-borne small{color:var(--admin-muted);font-weight:700}
.planning-cell{background:#111720;border:1px solid #1d2531;color:transparent}
.planning-cell.event{background:linear-gradient(135deg,#d6a04b,#f4d28a);color:#111;font-weight:950;text-decoration:none}
.planning-cell.blocked{background:#384151;color:#9fa6b4}
.planning-cell.event:hover{transform:scale(1.15)}

/* V2.2 conditions + caution */
.caution-card{border-color:rgba(214,160,75,.45)}
.caution-highlight{background:linear-gradient(135deg,#151310,#3a3024);color:#fff;border-radius:28px;padding:24px;margin:18px 0;box-shadow:0 24px 60px rgba(49,35,19,.18)}
.caution-highlight span{color:#f4d28a;text-transform:uppercase;font-size:12px;letter-spacing:1.8px;font-weight:950}
.caution-highlight strong{display:block;font-size:58px;letter-spacing:-3px;margin:8px 0}
.caution-highlight small{color:#e8ddcb;font-weight:800}
.check-line{display:block;line-height:1.5}
.check-line input{width:auto !important;margin-right:8px}
.caution-mini{margin-top:22px;border:1px solid rgba(214,160,75,.35);background:#fff7e8;border-radius:22px;padding:18px}
.caution-mini strong{display:block;font-size:20px;margin-bottom:6px}
.caution-mini span{color:var(--muted);line-height:1.5}

/* V2.3 logistics */
.admin-form h2{margin:22px 0 4px;color:#fff}
.admin-form small{color:var(--admin-muted);display:block;margin-top:5px}

/* V2.4 livraison par défaut + retrait si délai trop court */
.delivery-info{
  border:1px solid var(--line);
  background:#fff7e8;
  border-radius:22px;
  padding:18px;
}
.delivery-info strong{
  display:block;
  font-size:20px;
  margin-bottom:5px;
}
.delivery-info span{
  color:var(--muted);
}
.pickup-warning{
  border:1px solid #d6a04b;
  background:linear-gradient(135deg,#fff7e8,#fff2d2);
  border-radius:26px;
  padding:24px;
  box-shadow:0 18px 50px rgba(149,98,24,.12);
}
.pickup-warning h3{
  margin:0 0 8px;
  font-size:24px;
}
.pickup-warning p{
  color:#4a3d2c;
  line-height:1.55;
}


/* V2.5 configurateur live */
.configurator-section{
  padding:20px 6vw 94px;
}
.configurator-grid{
  display:grid;
  grid-template-columns:minmax(360px,.78fr) minmax(420px,1.5fr);
  gap:28px;
  align-items:start;
}
.config-panel,.live-preview-panel{
  background:rgba(255,250,242,.9);
  border:1px solid var(--line);
  border-radius:38px;
  padding:30px;
  box-shadow:0 24px 65px rgba(49,35,19,.07);
}
.config-panel{
  display:grid;
  gap:18px;
}
.config-panel h2{
  margin:18px 0 0;
  font-size:24px;
  letter-spacing:-.8px;
}
.config-panel label{
  font-weight:900;
  color:#3c3834;
}
.config-panel input,.config-panel select{
  width:100%;
  margin-top:8px;
  border:1px solid var(--line);
  border-radius:19px;
  padding:16px;
  background:#fff;
  font:inherit;
}
.color-row{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:14px;
}
.color-row input[type="color"]{
  height:56px;
  padding:6px;
}
.preview-sticky{
  position:sticky;
  top:110px;
}
.pixeo-device-preview{
  --p:#d6a04b;
  --s:#151310;
  position:relative;
  margin:22px auto;
  width:320px;
  height:360px;
  border-radius:90px;
  background:linear-gradient(145deg,#fff,#f2eadc 55%,#d6c2a4);
  clip-path:polygon(50% 3%, 97% 91%, 3% 91%);
  box-shadow:0 55px 100px rgba(44,30,16,.18);
}
.preview-camera{
  position:absolute;
  top:84px;
  left:50%;
  transform:translateX(-50%);
  width:54px;
  height:54px;
  border-radius:50%;
  background:#111;
  box-shadow:inset 0 0 0 11px #313131,0 0 0 8px rgba(255,255,255,.65);
}
.preview-screen{
  position:absolute;
  top:158px;
  left:50%;
  transform:translateX(-50%);
  width:180px;
  height:118px;
  border-radius:26px;
  background:linear-gradient(160deg,var(--s),#29241e);
  color:white;
  display:grid;
  place-items:center;
  text-align:center;
  padding:16px;
  box-shadow:0 18px 40px rgba(0,0,0,.22);
}
.preview-screen span{
  color:var(--p);
  font-weight:900;
  font-size:13px;
}
.preview-screen strong{
  font-size:24px;
  line-height:1.05;
}
.preview-screen small{
  color:#fff;
  opacity:.72;
  font-weight:800;
}
.photo-preview{
  --p:#d6a04b;
  --s:#151310;
  max-width:440px;
  margin:24px auto 0;
  border-radius:30px;
  overflow:hidden;
  background:white;
  box-shadow:0 24px 65px rgba(49,35,19,.10);
  border:1px solid var(--line);
}
.photo-fake-image{
  height:250px;
  background:
    radial-gradient(circle at 30% 25%,rgba(255,255,255,.75),transparent 25%),
    linear-gradient(135deg,var(--p),var(--s));
  display:grid;
  place-items:center;
  color:rgba(255,255,255,.68);
  font-size:52px;
  font-weight:950;
  letter-spacing:-2px;
}
.photo-overlay{
  padding:22px;
  text-align:center;
  border-top:7px solid var(--p);
}
.photo-overlay strong{
  display:block;
  color:var(--s);
  font-size:24px;
}
.photo-overlay small{
  color:var(--muted);
  font-weight:850;
}
.preview-note{
  color:var(--muted);
  line-height:1.55;
  text-align:center;
  margin-top:18px;
}
[data-style="Noir & or"].pixeo-device-preview{
  background:linear-gradient(145deg,#2a2118,#090909);
}
[data-style="Pastel doux"].pixeo-device-preview{
  background:linear-gradient(145deg,#fff,#ffe9ef 55%,#d9ebff);
}
[data-style="Minimal blanc"].pixeo-device-preview{
  background:linear-gradient(145deg,#fff,#f7f7f7);
}
[data-style="Noir & or"] .photo-fake-image{
  background:linear-gradient(135deg,#050505,var(--p));
}
[data-style="Pastel doux"] .photo-fake-image{
  background:linear-gradient(135deg,#ffdce8,#d9ebff);
}
[data-style="Minimal blanc"] .photo-fake-image{
  background:linear-gradient(135deg,#ffffff,#eaeaea);
  color:#bbb;
}
@media(max-width:1000px){
  .configurator-grid{grid-template-columns:1fr}
  .preview-sticky{position:relative;top:0}
}


/* V2.6 aperçu réaliste Pixeo + cadre photo */
.pixeo-device-preview,
.photo-preview{
  display:none !important;
}

.pixeo-device-preview-real{
  --p:#d6a04b;
  --s:#151310;
  width:380px;
  max-width:100%;
  height:430px;
  margin:18px auto 28px;
  position:relative;
  display:grid;
  place-items:center;
}

.device-body{
  position:relative;
  width:300px;
  height:380px;
  background:linear-gradient(145deg,#fff,#f1e5d2 58%,#d8c4a2);
  border:1px solid rgba(255,255,255,.9);
  box-shadow:0 42px 80px rgba(43,28,12,.20);
  clip-path:path("M 150 8 C 164 8 178 19 190 40 L 284 212 C 312 263 276 340 218 350 L 82 350 C 24 340 -12 263 16 212 L 110 40 C 122 19 136 8 150 8 Z");
}

.device-body:after{
  content:"";
  position:absolute;
  left:42px;
  right:42px;
  bottom:38px;
  height:1px;
  background:rgba(80,60,40,.22);
  box-shadow:0 -7px 0 rgba(255,255,255,.35);
}

.device-camera{
  position:absolute;
  top:83px;
  left:50%;
  transform:translateX(-50%);
  width:58px;
  height:58px;
  border-radius:50%;
  background:radial-gradient(circle at 35% 30%,#4a4a4a,#0a0a0a 62%);
  box-shadow:
    0 0 0 9px rgba(255,255,255,.72),
    0 0 0 12px rgba(20,20,20,.06),
    0 12px 26px rgba(0,0,0,.22);
  z-index:3;
}

.device-screen{
  position:absolute;
  left:50%;
  top:174px;
  transform:translateX(-50%);
  width:184px;
  height:124px;
  border-radius:24px;
  background:linear-gradient(160deg,var(--s),#201c18);
  color:#fff;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  padding:15px;
  box-shadow:
    inset 0 0 0 2px rgba(255,255,255,.04),
    0 18px 40px rgba(0,0,0,.25);
  z-index:4;
}

.device-screen span{
  color:var(--p);
  font-size:12px;
  letter-spacing:.5px;
  font-weight:900;
  max-width:150px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.device-screen strong{
  margin-top:5px;
  font-size:25px;
  line-height:1.02;
  letter-spacing:-1px;
  max-width:155px;
  overflow:hidden;
  text-overflow:ellipsis;
}

.device-screen small{
  margin-top:7px;
  color:rgba(255,255,255,.72);
  font-weight:800;
  font-size:10px;
  max-width:150px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.device-shadow{
  position:absolute;
  bottom:20px;
  width:210px;
  height:38px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(0,0,0,.22),transparent 70%);
  filter:blur(9px);
  z-index:-1;
}

.photo-frame-preview{
  --p:#d6a04b;
  --s:#151310;
  width:360px;
  max-width:100%;
  margin:22px auto 0;
}

.photo-canvas{
  aspect-ratio:3/4;
  position:relative;
  overflow:hidden;
  border-radius:26px;
  background:
    linear-gradient(180deg,rgba(0,0,0,.08),transparent 28%),
    radial-gradient(circle at 25% 15%,rgba(255,255,255,.9),transparent 20%),
    linear-gradient(135deg,#d8d8d8,#f4f0e8 42%,#c8c8c8);
  box-shadow:0 28px 70px rgba(45,30,15,.16);
  border:10px solid #fff;
}

.photo-canvas:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(135deg,rgba(255,255,255,.18),transparent 40%),
    radial-gradient(circle at 72% 36%,rgba(0,0,0,.08),transparent 22%);
  pointer-events:none;
}

.photo-top-label{
  position:absolute;
  left:18px;
  right:18px;
  top:18px;
  background:color-mix(in srgb, var(--s) 88%, transparent);
  color:#fff;
  border-left:6px solid var(--p);
  border-radius:15px;
  padding:10px 13px;
  font-weight:950;
  text-align:center;
  font-size:15px;
  z-index:2;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.photo-center{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:rgba(255,255,255,.52);
  font-size:54px;
  font-weight:950;
  letter-spacing:-2px;
}

.photo-bottom-band{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  background:#fff;
  border-top:8px solid var(--p);
  padding:19px 18px 20px;
  text-align:center;
  z-index:2;
}

.photo-bottom-band strong{
  display:block;
  color:var(--s);
  font-size:25px;
  line-height:1.06;
  letter-spacing:-1px;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.photo-bottom-band small{
  display:block;
  margin-top:7px;
  color:#6d6459;
  font-weight:850;
  line-height:1.25;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

/* styles visuels sobres */
[data-style="Noir & or"].pixeo-device-preview-real .device-body{
  background:linear-gradient(145deg,#ffffff,#ece4d6);
}
[data-style="Pastel doux"].pixeo-device-preview-real .device-body{
  background:linear-gradient(145deg,#ffffff,#f4eadf 62%,#e4d5bf);
}
[data-style="Minimal blanc"].pixeo-device-preview-real .device-body{
  background:linear-gradient(145deg,#ffffff,#eeeeee);
}

[data-style="Noir & or"] .photo-canvas{
  background:linear-gradient(135deg,#222,#555);
}
[data-style="Pastel doux"] .photo-canvas{
  background:linear-gradient(135deg,#f8e1e9,#e3edf7);
}
[data-style="Minimal blanc"] .photo-canvas{
  background:linear-gradient(135deg,#f8f8f8,#e5e5e5);
}

@media(max-width:600px){
  .pixeo-device-preview-real{height:380px}
  .device-body{width:260px;height:340px}
  .device-camera{top:76px;width:50px;height:50px}
  .device-screen{top:155px;width:160px;height:108px}
  .photo-frame-preview{width:310px}
}


/* V2.7 aperçu réel 10x15 généré par le serveur */
.photo-only-configurator{
  grid-template-columns:minmax(360px,.75fr) minmax(500px,1.25fr);
}
.config-panel textarea{
  width:100%;
  margin-top:8px;
  border:1px solid var(--line);
  border-radius:19px;
  padding:16px;
  background:#fff;
  font:inherit;
  resize:vertical;
}
.config-note{
  border:1px solid var(--line);
  background:#fff7e8;
  border-radius:20px;
  padding:15px 17px;
  color:#6d5940;
  font-weight:850;
  line-height:1.45;
}
.preview-title-row{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  margin-bottom:18px;
}
.preview-title-row span{
  border:1px solid var(--line);
  background:#fff;
  border-radius:999px;
  padding:9px 13px;
  color:#6d6459;
  font-weight:900;
  white-space:nowrap;
}
.photo-preview-panel{
  display:grid;
  justify-items:stretch;
}
.photo-preview-panel .pv-wrap{ max-width:100% !important; }
.real-10x15-preview{
  width:100%;
  margin:auto;
  background:#fff;
  border-radius:32px;
  padding:18px;
  box-shadow:0 30px 90px rgba(49,35,19,.15);
  border:1px solid var(--line);
}
.real-10x15-preview img{
  display:block;
  width:100%;
  aspect-ratio:2/3;
  object-fit:cover;
  border-radius:20px;
  background:#f3eadc;
}
@media(max-width:1000px){
  .photo-only-configurator{grid-template-columns:1fr}
  .real-10x15-preview{width:min(420px, 100%)}
}


/* V2.8 sans Pillow : aperçu 10x15 HTML/CSS */
.real-10x15-preview{
  width:100%;
  margin:auto;
  background:#fff;
  border-radius:32px;
  padding:18px;
  box-shadow:0 30px 90px rgba(49,35,19,.15);
  border:1px solid var(--line);
}
.pixeo-photo-template{
  --accent:#d6a04b;
  --dark:#151310;
  position:relative;
  width:100%;
  aspect-ratio:2/3;
  overflow:hidden;
  border-radius:20px;
  background:#fffaf2;
  box-shadow:inset 0 0 0 1px rgba(0,0,0,.05);
}
.pixeo-photo-template:before{
  content:"";
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 14% 8%,rgba(214,160,75,.18),transparent 16%),
    radial-gradient(circle at 92% 20%,rgba(214,160,75,.14),transparent 18%),
    linear-gradient(135deg,rgba(214,160,75,.12),transparent 32%,rgba(214,160,75,.08));
  opacity:.85;
}
.fake-photo-area{
  position:absolute;
  left:9%;
  right:9%;
  top:7%;
  height:56%;
  border:5px solid var(--accent);
  background:#d8c6ad;
  overflow:hidden;
  box-shadow:0 0 0 5px rgba(255,255,255,.85),0 18px 40px rgba(0,0,0,.12);
}
.fake-photo-bg{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 18% 17%,#fff0b8 0 4%,transparent 8%),
    radial-gradient(circle at 82% 11%,#f6cf77 0 3%,transparent 7%),
    radial-gradient(circle at 72% 74%,#fff 0 5%,transparent 10%),
    linear-gradient(135deg,#c9ad87,#efd8bd 48%,#a4774f);
  filter:blur(.2px);
}
.fake-person{
  position:absolute;
  bottom:10%;
  border-radius:45% 45% 18% 18%;
  opacity:.9;
}
.person-left{
  left:28%;
  width:28%;
  height:53%;
  background:linear-gradient(#2b1d16 0 28%,#caa184 29% 44%,#d8c3ad 45%);
  transform:rotate(-8deg);
}
.person-right{
  right:23%;
  width:32%;
  height:57%;
  background:linear-gradient(#5a321f 0 30%,#d7a98b 31% 46%,#f4e7d8 47%);
  transform:rotate(5deg);
}
.fake-bouquet{
  position:absolute;
  left:30%;
  bottom:4%;
  width:42%;
  height:18%;
  background:
    radial-gradient(circle at 15% 50%,#fff 0 8%,transparent 9%),
    radial-gradient(circle at 35% 35%,#f2d1c3 0 9%,transparent 10%),
    radial-gradient(circle at 55% 52%,#fff6ef 0 8%,transparent 9%),
    radial-gradient(circle at 78% 38%,#eed5c4 0 8%,transparent 9%);
}
.fake-photo-area span{
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:rgba(255,255,255,.42);
  font-size:44px;
  font-weight:950;
  letter-spacing:-2px;
}
.frame-deco{
  position:absolute;
  width:26%;
  height:18%;
  opacity:.75;
  border-color:var(--accent);
}
.deco-top{
  top:2.5%;
  right:3.5%;
  border-top:3px solid var(--accent);
  border-right:3px solid var(--accent);
  border-radius:0 22px 0 0;
}
.deco-bottom{
  left:4%;
  bottom:15%;
  border-left:3px solid var(--accent);
  border-bottom:3px solid var(--accent);
  border-radius:0 0 0 22px;
}
.photo-text-zone{
  position:absolute;
  left:8%;
  right:8%;
  bottom:8%;
  height:24%;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.photo-text-zone strong{
  color:var(--accent);
  font-size:clamp(28px, 4vw, 42px);
  font-family:Georgia, 'Times New Roman', serif;
  font-weight:500;
  line-height:1.05;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.heart-line{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:14px;
  margin:10px 0 8px;
  color:var(--accent);
}
.heart-line span{
  width:82px;
  height:2px;
  background:var(--accent);
}
.photo-text-zone small{
  color:var(--accent);
  font-family:Georgia, 'Times New Roman', serif;
  font-size:clamp(15px, 2vw, 21px);
  line-height:1.25;
  white-space:pre-line;
  max-height:54px;
  overflow:hidden;
}
.pixeo-mark{
  position:absolute;
  right:5.5%;
  bottom:3.2%;
  color:var(--accent);
  font-size:26px;
  font-weight:950;
  letter-spacing:-1px;
}
.pixeo-mark span{color:var(--accent)}

.frame-silver{--accent:#aeb5bd;--dark:#24272b;background:#f7f7f5}
.frame-nature{--accent:#789262;--dark:#25301f;background:#fbf8ef}
.frame-black{--accent:#d6a04b;--dark:#050505;background:#111;color:#fff}
.frame-black:before{background:linear-gradient(135deg,#111,#2a2118)}
.frame-black .photo-text-zone small{color:#f4d28a}
.frame-minimal{--accent:#111;--dark:#111;background:#fff}
.frame-minimal:before{opacity:.25}

.config-panel textarea{
  width:100%;
  margin-top:8px;
  border:1px solid var(--line);
  border-radius:19px;
  padding:16px;
  background:#fff;
  font:inherit;
  resize:vertical;
}


/* V2.9 - Cadre identique site / borne */
.pixeo-photo-template,
.pixeo-device-preview,
.photo-preview,
.photo-frame-preview{
  display:none !important;
}

.shared-frame-preview{
  padding:16px;
  background:#f8f4ec;
}

.pixeo-final-photo-frame{
  position:relative;
  width:100%;
  aspect-ratio:2/3;
  background:#fff;
  overflow:hidden;
  border-radius:14px;
  box-shadow:0 28px 90px rgba(49,35,19,.16);
  font-family:Inter, system-ui, sans-serif;
}

/* Zone photo : format proche logiciel, la photo prend presque toute la hauteur */
.pixeo-photo-zone{
  position:absolute;
  left:4.8%;
  right:4.8%;
  top:4.2%;
  height:69.2%;
  border-radius:8px;
  overflow:hidden;
  background:#ddd;
}

.pixeo-fake-photo{
  position:absolute;
  inset:0;
  background:
    radial-gradient(circle at 28% 18%,rgba(255,255,255,.95),transparent 18%),
    radial-gradient(circle at 78% 10%,rgba(255,226,154,.65),transparent 12%),
    linear-gradient(135deg,#b58e68 0%,#ecd0b2 42%,#8b6648 100%);
}

.pixeo-fake-photo:after{
  content:"PHOTO";
  position:absolute;
  inset:0;
  display:grid;
  place-items:center;
  color:rgba(255,255,255,.25);
  font-size:clamp(42px,7vw,76px);
  font-weight:950;
  letter-spacing:-3px;
}

.soft-light{
  position:absolute;
  border-radius:50%;
  filter:blur(10px);
  opacity:.8;
}
.light-one{
  width:160px;height:160px;left:8%;top:6%;
  background:rgba(255,255,255,.55);
}
.light-two{
  width:140px;height:140px;right:8%;top:18%;
  background:rgba(255,218,150,.42);
}

.fake-face{
  position:absolute;
  z-index:2;
  border-radius:50%;
  background:#d9a786;
}
.face-one{width:15%;height:10%;left:35%;top:34%}
.face-two{width:16%;height:11%;right:31%;top:33%}

.fake-body{
  position:absolute;
  z-index:1;
  bottom:7%;
  border-radius:42% 42% 10% 10%;
}
.body-one{
  width:25%;height:36%;left:29%;
  background:linear-gradient(#2b1d16 0 18%,#d7c2ad 19%);
  transform:rotate(-5deg);
}
.body-two{
  width:28%;height:39%;right:24%;
  background:linear-gradient(#5a321f 0 18%,#fff0df 19%);
  transform:rotate(4deg);
}
.fake-bouquet-real{
  position:absolute;
  z-index:3;
  left:34%;
  bottom:7%;
  width:34%;
  height:15%;
  background:
    radial-gradient(circle at 15% 50%,#fff 0 11%,transparent 12%),
    radial-gradient(circle at 34% 30%,#eecabc 0 12%,transparent 13%),
    radial-gradient(circle at 54% 56%,#fff7ef 0 11%,transparent 12%),
    radial-gradient(circle at 76% 35%,#f1ddcc 0 11%,transparent 12%),
    radial-gradient(circle at 49% 72%,#ffffff 0 10%,transparent 11%);
}

/* Footer comme cadre photo final : zone blanche propre, texte centré, logo Pixeo bas droite */
.pixeo-frame-footer{
  position:absolute;
  left:0;
  right:0;
  bottom:0;
  height:25%;
  background:#fff;
  border-top:6px solid #d6a04b;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:4.8% 7% 0;
}

.pixeo-footer-line{
  width:38%;
  height:2px;
  background:#d6a04b;
  margin-bottom:3.5%;
  position:relative;
}
.pixeo-footer-line:after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:9px;
  height:9px;
  transform:translate(-50%,-50%) rotate(45deg);
  background:#d6a04b;
}

.pixeo-footer-title{
  width:100%;
  text-align:center;
  color:#1c1814;
  font-family:Georgia, 'Times New Roman', serif;
  font-size:clamp(28px,4.1vw,48px);
  line-height:1.02;
  letter-spacing:-1px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.pixeo-footer-subtitle{
  width:86%;
  margin-top:2.4%;
  text-align:center;
  color:#5c5348;
  font-family:Georgia, 'Times New Roman', serif;
  font-size:clamp(14px,1.55vw,21px);
  line-height:1.22;
  white-space:pre-line;
  max-height:2.45em;
  overflow:hidden;
}

.pixeo-footer-logo{
  position:absolute;
  right:4.2%;
  bottom:3.2%;
  color:#d6a04b;
  font-weight:950;
  font-size:clamp(18px,2.2vw,28px);
  letter-spacing:-1px;
}
.pixeo-footer-logo span{color:#d6a04b}

.real-10x15-preview img{
  display:none;
}

/* On masque le vieux label "PHOTO" abstrait si encore présent */
.photo-canvas,
.photo-center,
.photo-bottom-band,
.photo-top-label{
  display:none !important;
}

@media(max-width:1000px){
  .shared-frame-preview{padding:10px}
}

/* ════════════════════════════════════════════════════════════
   PIXEO — Responsive complet (menu burger + grilles mobiles)
   ════════════════════════════════════════════════════════════ */

.burger-btn {
  display: none;
  flex-direction: column;
  justify-content: center;
  gap: 5px;
  width: 40px;
  height: 40px;
  background: none;
  border: none;
  cursor: pointer;
  padding: 8px;
}
.burger-btn span {
  display: block;
  width: 100%;
  height: 2.5px;
  background: #151310;
  border-radius: 2px;
  transition: transform .25s, opacity .25s;
}
.burger-btn.burger-open span:nth-child(1) { transform: translateY(7.5px) rotate(45deg); }
.burger-btn.burger-open span:nth-child(2) { opacity: 0; }
.burger-btn.burger-open span:nth-child(3) { transform: translateY(-7.5px) rotate(-45deg); }

.nav-cta-mobile { display: none; }

@media(max-width: 900px) {
  .burger-btn { display: flex; }
  .nav-cta-desktop { display: none; }

  .nav-links {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    width: 100vw;
    height: 100vh;
    background: #fffaf3;
    flex-direction: column;
    align-items: stretch;
    padding: 90px 24px 24px;
    gap: 4px;
    z-index: 9999;
    overflow-y: auto;
    margin: 0;
  }
  .nav-links.nav-open { display: flex; }
  .nav-links a {
    padding: 16px 12px;
    border-bottom: 1px solid #eee2d0;
    font-size: 1.05rem;
  }
  .nav-cta-mobile {
    display: block;
    text-align: center;
    margin-top: 16px;
  }
}

/* Tunnel de réservation : empiler verticalement sur mobile */
@media(max-width: 980px) {
  .config-panel, .live-preview-panel {
    grid-template-columns: 1fr !important;
  }
  form[class] > div[style*="grid-template-columns"],
  .reservation-grid {
    grid-template-columns: 1fr !important;
  }
  .preview-sticky { position: relative !important; top: 0 !important; }
}

/* Conteneurs génériques en grille → 1 colonne sur petit écran */
@media(max-width: 700px) {
  .admin-grid { grid-template-columns: 1fr !important; }
  .account-grid { grid-template-columns: 1fr !important; }
  .fonds-grid { grid-template-columns: repeat(2, 1fr) !important; }
  .page-head h1 { font-size: 1.8rem !important; }
  body { overflow-x: hidden; }
}

/* Tables admin : scroll horizontal au lieu de débordement cassé */
@media(max-width: 700px) {
  .admin-table { display: block; overflow-x: auto; white-space: nowrap; }
}

/* ════════════════════════════════════════════════════════════
   PIXEO — Fix débordement horizontal mobile (v2)
   ════════════════════════════════════════════════════════════ */

/* Sécurité globale : rien ne doit jamais dépasser la largeur écran */
html, body { max-width: 100%; overflow-x: hidden; }
.nav { position: relative; z-index: 10000; }
* { box-sizing: border-box; }

@media(max-width: 600px) {
  /* Le badge "Borne photo connectée • 4G..." ne doit plus forcer sa largeur */
  .badge {
    width: auto !important;
    max-width: 100%;
    white-space: normal;
    text-align: center;
  }

  /* Pills de confiance (Connexion 4G incluse, etc.) : empiler verticalement */
  div[style*="display:flex"][style*="gap"] {
    flex-wrap: wrap !important;
  }

  /* Hero : padding réduit + contenu centré */
  .hero {
    padding: 24px 20px !important;
    text-align: center;
  }
  .hero h1 { font-size: 2rem !important; letter-spacing: -1px !important; }
  .hero p { font-size: .95rem !important; }

  /* Tous les boutons en pleine largeur sur mobile pour éviter tout débordement */
  .hero .btn, .hero a.btn { width: 100%; text-align: center; }

  /* La carte visuelle (borne 3D, prix) passe en dessous et se centre */
  .hero-card, .price-card {
    position: relative !important;
    right: auto !important;
    left: auto !important;
    margin: 24px auto 0 !important;
    width: 100% !important;
    max-width: 320px;
  }

  /* Tout conteneur avec largeur fixe en px → s'adapte */
  [style*="max-width:"] { max-width: 100% !important; }
}

@media(max-width: 480px) {
  .badge { font-size: 11px !important; padding: 7px 12px !important; }
}

/* Sections dans le menu admin */
.admin-nav-section {
  font-size: .72rem;
  text-transform: uppercase;
  letter-spacing: .06em;
  color: #8a7f72;
  font-weight: 700;
  margin: 18px 0 4px 4px;
}

/* Suffixe légal "-Photo" à côté du logo Pixeo — discret, nom de marque déposée */
.logo { position: relative; display: inline-flex; align-items: baseline; }
.logo-suffix {
  font-size: .32em;
  font-weight: 600;
  color: #c2b8a8;
  letter-spacing: .01em;
  margin-left: 3px;
  align-self: flex-end;
  position: relative;
  top: -0.15em;
}
.admin-logo { display: inline-flex; align-items: baseline; }
.admin-logo .logo-suffix {
  font-size: .3em;
  color: #a89c8c;
  align-self: flex-end;
  top: -0.1em;
}
