/* ============================================================
   town-extra.css : formulaire de privatisation et Espace partenaire (site public).
   Chargé après town-da.css (mêmes variables --da-*). Pas de backdrop-filter ni de
   background-attachment:fixed (tablette en jeu).
   ============================================================ */

/* ---------- Privatisations : bouton et formulaire ---------- */
.pv-act{display:flex;justify-content:center;margin-top:22px}
.pv-modal{position:fixed;inset:0;z-index:1500;display:grid;place-items:center;padding:18px;background:rgba(6,6,5,.84);opacity:0;pointer-events:none;transition:opacity .3s}
.pv-modal[hidden]{display:none}
.pv-modal.on{opacity:1;pointer-events:auto}
.pv-modal-card{position:relative;width:100%;max-width:660px;max-height:92vh;overflow:auto;border:1px solid var(--da-line-2);border-radius:8px;background:linear-gradient(160deg,#181615,#0e0e0d);padding:36px 36px 28px;box-shadow:0 30px 80px rgba(0,0,0,.6);transform:translateY(18px) scale(.98);transition:transform .45s var(--da-ease)}
.pv-modal.on .pv-modal-card{transform:none}
.pv-x{position:absolute;top:14px;right:16px;width:38px;height:38px;border-radius:50%;border:1px solid var(--da-line);background:none;color:#efe2c8;font-size:20.5px;line-height:1;cursor:pointer}
.pv-x:hover{border-color:var(--da-pink);color:var(--da-pink-2)}
.pv-eyebrow{font:600 11px var(--da-sans);letter-spacing:4px;text-transform:uppercase;color:var(--da-pink-2)}
.pv-modal-card h3{margin:8px 0 6px;font-family:var(--da-display);font-size:26px;color:var(--da-gold-2)}
.pv-sub{margin:0 0 18px;color:var(--da-muted);font-size:16.5px;line-height:1.4}
.pv-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}
.pv-f{display:block;margin:0 0 14px;font:600 11px var(--da-sans);letter-spacing:1.8px;text-transform:uppercase;color:var(--da-muted)}
.pv-f input,.pv-f select,.pv-f textarea{display:block;width:100%;margin-top:6px;border:1px solid var(--da-line);border-radius:14px;background:#100f0d;color:#efe2c8;font:400 15px var(--da-sans);letter-spacing:0;text-transform:none;padding:11px 13px;outline:0;transition:border-color .25s}
.pv-f textarea{resize:none}
.pv-f input:focus,.pv-f select:focus,.pv-f textarea:focus{border-color:var(--da-pink)}
.pv-f select option{background:#141211}
.pv-err{margin:0 0 12px;padding:10px 14px;border:1px solid rgba(214,64,74,.5);border-radius:12px;background:rgba(214,64,74,.12);color:#f4adb2;font:500 14px var(--da-sans)}
.pv-send{width:100%;margin-top:4px}
.pv-fine{margin:12px 0 0;text-align:center;font-size:14px;color:var(--da-muted)}
.pv-ok{width:64px;height:64px;border-radius:50%;margin:6px auto 14px;display:grid;place-items:center;font-size:22px;color:var(--da-ink);background:linear-gradient(135deg,var(--da-gold-2),var(--da-pink-2))}
#pvDone{text-align:center;padding:14px 0 6px}
@media(max-width:620px){.pv-grid{grid-template-columns:1fr}.pv-modal-card{padding:30px 22px 22px}}

/* ---------- Espace partenaire ---------- */
.ps-load{padding:70px 0;text-align:center;color:var(--da-muted);font-size:19px}
.ps-login{max-width:540px;margin:34px auto 0;padding:36px 34px 30px;border:1px solid var(--da-line);border-radius:8px;background:linear-gradient(160deg,#181615,#0e0e0d);box-shadow:0 24px 70px rgba(0,0,0,.45)}
.ps-login h2{margin:0 0 6px;font-family:var(--da-display);font-size:24px;color:var(--da-gold-2)}
.ps-login .ps-sub{margin:0 0 24px;color:var(--da-muted);font-size:16.5px;line-height:1.4}
.ps-field{display:block;margin:0 0 16px;font:600 11px var(--da-sans);letter-spacing:2px;text-transform:uppercase;color:var(--da-muted)}
.ps-field input,.ps-field select,.ps-field textarea{display:block;width:100%;margin-top:7px;border:1px solid var(--da-line);border-radius:14px;background:#100f0d;color:#efe2c8;font:400 15px var(--da-sans);letter-spacing:0;text-transform:none;padding:13px 15px;outline:0;transition:border-color .25s}
.ps-field textarea{resize:none}
.ps-field input:focus,.ps-field textarea:focus{border-color:var(--da-pink)}
.ps-combo{position:relative}
.ps-combo-list{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;max-height:300px;overflow-y:auto;border:1px solid var(--da-line-2);border-radius:8px;background:#141211;box-shadow:0 18px 44px rgba(0,0,0,.6)}
.ps-combo-item{display:flex;align-items:center;gap:13px;width:100%;padding:11px 15px;border:0;border-bottom:1px solid var(--da-line);background:none;color:#efe2c8;text-align:left;cursor:pointer;font:500 16.5px var(--da-serif)}
.ps-combo-item:last-child{border-bottom:0}
.ps-combo-item:hover,.ps-combo-item.on{background:rgba(200,50,60,.14)}
.ps-combo-empty{padding:16px;text-align:center;color:var(--da-muted);font-size:14.5px}
.ps-av{width:38px;height:38px;flex:none;border-radius:50%;overflow:hidden;display:grid;place-items:center;background:#201e1c;border:1px solid var(--da-line-2);color:var(--da-gold-2);font:700 13px var(--da-sans)}
.ps-av img{width:100%;height:100%;object-fit:cover}
.ps-chosen{display:flex;align-items:center;gap:12px;margin-top:10px;padding:10px 14px;border:1px solid var(--da-line-2);border-radius:14px;background:rgba(200,50,60,.08);font:500 16.5px var(--da-serif);color:var(--da-gold-2)}
.ps-chosen button{margin-left:auto;border:0;background:none;color:var(--da-muted);cursor:pointer;font-size:17px}
.ps-error{margin:0 0 14px;padding:10px 14px;border:1px solid rgba(214,64,74,.5);border-radius:12px;background:rgba(214,64,74,.12);color:#f4adb2;font:500 14px var(--da-sans)}
.ps-foot{margin:16px 0 0;text-align:center;font-size:14.5px;color:var(--da-muted)}
.ps-foot a{color:var(--da-pink-2)}

/* Barre de l'entreprise connectée et onglets */
.ps-bar{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:30px 0 20px;padding:18px 22px;border:1px solid var(--da-line);border-radius:8px;background:linear-gradient(160deg,#151413,#100f0d)}
.ps-bar .ps-av{width:54px;height:54px;font-size:15.5px}
.ps-bar h2{margin:0;font-family:var(--da-display);font-size:22.5px;color:var(--da-gold-2)}
.ps-bar .ps-meta{color:var(--da-muted);font-size:15.5px}
.ps-bar .grow{flex:1;min-width:180px}
.ps-badge{display:inline-block;padding:3px 12px;border-radius:4px;font:700 11px var(--da-sans);letter-spacing:1.5px;text-transform:uppercase;background:rgba(200,50,60,.16);color:var(--da-pink-2)}
.ps-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 24px}
.ps-tab{display:inline-flex;align-items:center;gap:9px;padding:9px 20px;border:1px solid var(--da-line);border-radius:4px;background:none;color:var(--da-muted);cursor:pointer;font:600 15.5px var(--da-serif);transition:background .25s,color .25s,border-color .25s}
.ps-tab:hover{color:#efe2c8;border-color:var(--da-line-2)}
.ps-tab.on{background:linear-gradient(90deg,var(--da-pink-2),var(--da-pink));border-color:transparent;color:var(--da-ink)}
.ps-tab em{font-style:normal;font:700 12px var(--da-sans);min-width:22px;padding:2px 7px;border-radius:4px;background:rgba(255,255,255,.12);text-align:center}
.ps-tab.on em{background:rgba(42,13,22,.22)}

/* Commander : catalogue + panier */
.ps-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:24px;align-items:start}
.ps-layout .sh-grid{grid-template-columns:repeat(2,1fr)}
.ps-layout .sh-card{opacity:1;transform:none;cursor:default}
.ps-layout .sh-card:hover{transform:translateY(-3px)}
.ps-cats{display:flex;gap:6px;flex-wrap:wrap;margin:0 0 20px}
.ps-cat{padding:7px 17px;border:1px solid var(--da-line);border-radius:4px;background:none;color:var(--da-muted);cursor:pointer;font:600 14.5px var(--da-serif)}
.ps-cat.on{border-color:var(--da-gold);color:var(--da-gold-2);background:rgba(217,204,176,.1)}
.ps-pr{display:flex;align-items:baseline;gap:9px}
.ps-pr .old{font:400 14px var(--da-serif);color:var(--da-muted);text-decoration:line-through}
.ps-desc{margin:8px 0 0;font-size:14.5px;line-height:1.3;color:var(--da-muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.ps-cart{position:sticky;top:96px;border:1px solid var(--da-line-2);border-radius:8px;background:linear-gradient(160deg,#181615,#0e0e0d);padding:22px 22px 20px;box-shadow:0 18px 50px rgba(0,0,0,.4)}
.ps-cart h3{margin:0 0 4px;font-family:var(--da-display);font-size:20.5px;color:var(--da-gold-2)}
.ps-cart .ps-cnt{color:var(--da-muted);font-size:14.5px;margin-bottom:12px}
.ps-lines{margin:0 0 14px;max-height:300px;overflow:auto}
.ps-ln{display:flex;align-items:center;gap:10px;padding:10px 0;border-bottom:1px solid var(--da-line)}
.ps-ln:last-child{border-bottom:0}
.ps-ln .nm{flex:1;min-width:0;font:600 15.5px var(--da-serif);color:#efe2c8;line-height:1.15}
.ps-ln .nm small{display:block;font:400 14px var(--da-sans);color:var(--da-muted);margin-top:2px}
.ps-ln .tt{font:700 16px var(--da-sans);color:var(--da-gold-2);white-space:nowrap}
.ps-total{display:flex;justify-content:space-between;align-items:baseline;margin:6px 0 16px;padding-top:12px;border-top:1px solid var(--da-line-2);font:600 17px var(--da-serif);color:#efe2c8}
.ps-total b{font-family:var(--da-display);font-size:24px;color:var(--da-gold-2)}
.ps-empty{padding:26px 6px;text-align:center;color:var(--da-muted);font-size:16.5px}
.ps-seg{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:14px}
.ps-seg button{border:1px solid var(--da-line);border-radius:4px;padding:9px;background:none;color:#efe2c8;font:600 14.5px var(--da-serif);cursor:pointer}
.ps-seg button.on{background:linear-gradient(90deg,var(--da-pink-2),var(--da-pink));border-color:transparent;color:var(--da-ink)}
.ps-cart .ps-field input,.ps-cart .ps-field textarea{padding:10px 13px;margin-bottom:0}
.ps-go{width:100%}

/* Mes commandes */
.ps-orders{display:flex;flex-direction:column;gap:16px}
.ps-order{border:1px solid var(--da-line);border-radius:8px;background:linear-gradient(160deg,#151413,#100f0d);padding:20px 24px}
.ps-oh{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.ps-oh b{font:700 16px var(--da-sans);letter-spacing:.04em;color:#efe2c8}
.ps-oh .dt{color:var(--da-muted);font-size:14.5px}
.ps-oh .grow{flex:1}
.ps-st{display:inline-block;padding:4px 14px;border-radius:4px;font:700 11px var(--da-sans);letter-spacing:1.4px;text-transform:uppercase}
.ps-st.nouvelle{background:rgba(127,168,201,.18);color:#a9c9e2}
.ps-st.validee,.ps-st.preparation{background:rgba(217,204,176,.18);color:#d9ccb0}
.ps-st.prete{background:rgba(200,50,60,.2);color:var(--da-pink-2)}
.ps-st.livree{background:rgba(239,226,200,.2);color:#efe2c8}
.ps-st.annulee{background:rgba(214,64,74,.18);color:#f4adb2}
.ps-steps{display:flex;gap:6px;margin:16px 0 4px}
.ps-steps i{flex:1;height:4px;border-radius:4px;background:var(--da-line)}
.ps-steps i.on{background:linear-gradient(90deg,var(--da-pink-2),var(--da-gold))}
.ps-items{margin:12px 0 0;font-size:15.5px;color:#d9c9b3;line-height:1.5}
.ps-of{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;margin-top:14px;padding-top:12px;border-top:1px solid var(--da-line)}
.ps-of .tot{font:700 19px var(--da-display);color:var(--da-gold-2)}
.ps-inv{display:flex;align-items:center;gap:8px;font:600 15px var(--da-sans);color:var(--da-muted)}
.ps-inv .pay{padding:3px 11px;border-radius:4px;font-weight:700;font-size:11px;letter-spacing:1.3px;text-transform:uppercase}
.ps-inv .pay.unpaid{background:rgba(214,64,74,.18);color:#f4adb2}
.ps-inv .pay.paid{background:rgba(239,226,200,.2);color:#efe2c8}
.ps-note{margin:10px 0 0;font-size:14px;color:var(--da-muted);font-style:italic}

/* Avantages, annonces, compte */
.ps-cols{display:grid;grid-template-columns:1fr 1fr;gap:22px}
.ps-panel{border:1px solid var(--da-line);border-radius:8px;background:linear-gradient(160deg,#151413,#100f0d);padding:24px 26px}
.ps-panel h3{margin:0 0 12px;font-family:var(--da-display);font-size:20.5px;color:var(--da-gold-2)}
.ps-perk{display:flex;gap:11px;padding:9px 0;border-bottom:1px solid var(--da-line);font-size:16.5px;line-height:1.35;color:#eadfcb}
.ps-perk:last-child{border-bottom:0}
.ps-perk::before{content:"\2726";color:var(--da-pink);flex:none;font-size:14px;padding-top:4px}
.ps-ann{padding:12px 0;border-bottom:1px solid var(--da-line)}
.ps-ann:last-child{border-bottom:0}
.ps-ann b{display:block;font:700 16.5px var(--da-serif);color:#efe2c8}
.ps-ann p{margin:4px 0 0;font-size:15.5px;color:#d9c9b3;white-space:pre-wrap;line-height:1.4}
.ps-ann small{display:block;margin-top:5px;font:400 12px var(--da-sans);color:var(--da-muted)}
.ps-kv{display:grid;grid-template-columns:130px 1fr;gap:8px 14px;font-size:16.5px}
.ps-kv dt{font:600 11px var(--da-sans);letter-spacing:1.8px;text-transform:uppercase;color:var(--da-muted);padding-top:6px}
.ps-kv dd{margin:0;color:#eadfcb}

@media(max-width:1000px){.ps-layout{grid-template-columns:1fr}.ps-cart{position:static}.ps-cols{grid-template-columns:1fr}}
@media(max-width:620px){.ps-layout .sh-grid{grid-template-columns:1fr}.ps-login{padding:28px 20px}.ps-kv{grid-template-columns:1fr}}
