/* AG fiche goodies & textile premium — modèle haut de gamme (maquette déco validée). Portée #ag-gpx. */
body.ag-gpx-page { background: #F4F2EC; }
#ag-gpx {
  --ink:#2C3031; --ocre:#D2A344; --ocre-deep:#A8822F; --ocre-soft:rgba(210,163,68,.16); --linen:#C4B8A8;
  --surface:#FFFCF8; --surface-2:#F7F4EE; --hair:rgba(44,48,49,.10); --hair-strong:rgba(44,48,49,.16);
  --dim:rgba(44,48,49,.72); --faint:rgba(44,48,49,.48); --serif:"Cormorant Garamond",Cormorant,Georgia,serif; --sans:"Inter",system-ui,-apple-system,sans-serif;
  --holo:linear-gradient(120deg,#D2A344 0%,#F4E2B3 18%,#B79173 36%,#9BB7C9 52%,#D2A344 68%,#E8D5A3 84%,#B79173 100%);
  display:block; width:100%; background:#F4F2EC; color:var(--ink); font-family:var(--sans); font-size:15px; line-height:1.55; letter-spacing:.01em; -webkit-font-smoothing:antialiased; padding-bottom:24px;
}
#ag-gpx *, #ag-gpx *::before, #ag-gpx *::after { box-sizing:border-box; }
#ag-gpx :where(button,[type="button"],[type="submit"]) { background-color:transparent; border-radius:0; color:inherit; font:inherit; text-transform:none; letter-spacing:inherit; padding:0; border:0; box-shadow:none; line-height:inherit; }
#ag-gpx :where(button,[type="button"],[type="submit"]):is(:hover,:focus) { background-color:transparent; color:inherit; }
#ag-gpx a { color:var(--ocre-deep); text-decoration:none; }
#ag-gpx img { max-width:100%; height:auto; display:block; }
#ag-gpx .gpx-wrap { max-width:1280px; margin:0 auto; padding:0 48px; }
#ag-gpx .gpx-crumb { display:flex; flex-wrap:wrap; gap:8px; align-items:center; padding:40px 0 18px; font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--faint); }
#ag-gpx .gpx-crumb a { color:var(--dim); } #ag-gpx .gpx-crumb span { color:var(--linen); } #ag-gpx .gpx-crumb .gpx-crumb-current { color:var(--faint); }
#ag-gpx .gpx-hero { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr); gap:56px; align-items:start; padding:8px 0 72px; }
#ag-gpx .gpx-media { position:sticky; top:110px; min-width:0; }
#ag-gpx .gpx-stage-holo { padding:1px; border-radius:23px; background:var(--holo); background-size:240% 240%; animation:gpx-holo 12s linear infinite; }
#ag-gpx .gpx-stage { position:relative; background:#FFFFFF; border-radius:22px; aspect-ratio:1/1; display:grid; place-items:center; overflow:hidden; box-shadow:0 18px 44px rgba(44,48,49,.10); }
#ag-gpx .gpx-main { width:100%; height:100%; object-fit:contain; padding:6%; background:#fff; }
#ag-gpx .gpx-stage-chip { position:absolute; left:14px; top:14px; border:1px solid var(--hair); background:rgba(255,255,255,.9); border-radius:999px; padding:6px 11px; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--dim); }
#ag-gpx .gpx-thumbs { display:grid; grid-template-columns:repeat(5,1fr); gap:10px; margin-top:14px; }
#ag-gpx .gpx-thumb { aspect-ratio:1/1; background:#fff; border:1px solid var(--hair); border-radius:12px; overflow:hidden; cursor:pointer; padding:0; }
#ag-gpx .gpx-thumb img { width:100%; height:100%; object-fit:contain; padding:8%; }
#ag-gpx .gpx-thumb:hover { border-color:var(--linen); }
#ag-gpx .gpx-thumb.is-on, #ag-gpx .gpx-thumb.is-on:hover { border-color:var(--ocre); box-shadow:inset 0 0 0 1px var(--ocre); }
@keyframes gpx-holo { 0%{background-position:0% 50%} 50%{background-position:100% 50%} 100%{background-position:0% 50%} }
#ag-gpx .gpx-summary { min-width:0; }
#ag-gpx .gpx-kicker { font-size:11px; letter-spacing:.18em; text-transform:uppercase; color:var(--ocre); margin:4px 0 12px; }
#ag-gpx h1 { font-family:var(--serif); font-weight:500; font-size:clamp(34px,4.4vw,54px); line-height:.98; letter-spacing:-.02em; margin:0 0 18px; color:var(--ink); }
#ag-gpx .gpx-lede { color:var(--dim); max-width:48ch; margin:0 0 26px; }
#ag-gpx .gpx-lede p { margin:0 0 8px; }
#ag-gpx .gpx-lede a { color:var(--ink); border-bottom:1px solid var(--ocre); white-space:nowrap; }
/* Bloc devis du plugin, restylé */
#ag-gpx .ag-gp { background:none; border:0; padding:0; margin:0; color:var(--ink); }
#ag-gpx .ag-gp-price { padding:22px 24px; border-radius:16px; background:var(--surface); border:1px solid var(--hair); box-shadow:0 10px 30px rgba(44,48,49,.05); margin-bottom:20px; }
#ag-gpx .ag-gp-ht { font-family:var(--serif); font-weight:600; font-size:40px; line-height:1.05; color:var(--ink); }
#ag-gpx .ag-gp-ht small { font-family:var(--sans); font-size:15px; font-weight:400; color:var(--linen); margin-left:4px; }
#ag-gpx .ag-gp-sub, #ag-gpx .ag-gp-delai { font-size:12.5px; color:var(--faint); margin:8px 0 0; }
#ag-gpx .ag-gp-delai { color:var(--ocre-deep); }
#ag-gpx .ag-gp-form { display:flex; flex-direction:column; gap:10px; }
#ag-gpx .ag-gp-step { margin:0; padding:16px 18px 18px; border:1px solid var(--hair); border-radius:16px; background:var(--surface-2); min-width:0; }
#ag-gpx .ag-gp-step legend { float:left; width:100%; font-size:13px; letter-spacing:.1em; text-transform:uppercase; font-weight:560; margin:0 0 12px; padding:0; color:var(--ink); }
#ag-gpx .ag-gp-step legend + * { clear:both; }
#ag-gpx .ag-gp-step legend span { text-transform:none; letter-spacing:0; color:var(--faint); font-weight:400; margin-left:6px; }
#ag-gpx .ag-gp-chips { display:flex; flex-wrap:wrap; gap:8px; }
#ag-gpx .ag-gp-chip { border:1px solid var(--hair); background:var(--surface); border-radius:12px; padding:10px 14px; font-size:13px; font-weight:560; color:var(--ink); min-height:44px; cursor:pointer; line-height:1.25; }
#ag-gpx .ag-gp-chip:hover { border-color:var(--linen); background:var(--surface); }
#ag-gpx .ag-gp-chip.is-on, #ag-gpx .ag-gp-chip.is-on:hover { border-color:var(--ocre); background:var(--ocre-soft); box-shadow:inset 0 0 0 1px var(--ocre); }
#ag-gpx .ag-gp-hint, #ag-gpx .ag-gp-rappel { font-size:12.5px; color:var(--faint); margin:0 0 8px; }
#ag-gpx .ag-gp-lbl { display:block; font-size:11px; letter-spacing:.08em; text-transform:uppercase; color:var(--linen); margin:14px 0 0; }
#ag-gpx .ag-gp input[type=text], #ag-gpx .ag-gp input[type=tel], #ag-gpx .ag-gp input[type=email], #ag-gpx .ag-gp input[type=number], #ag-gpx .ag-gp select, #ag-gpx .ag-gp textarea {
  width:100%; border:1px solid var(--hair-strong); border-radius:10px; padding:12px 14px; background:#fff; font-size:15px; margin:6px 0 0; color:var(--ink); font-family:var(--sans); box-shadow:none; }
#ag-gpx .ag-gp input:focus, #ag-gpx .ag-gp select:focus, #ag-gpx .ag-gp textarea:focus { outline:none; border-color:var(--ocre); box-shadow:0 0 0 3px var(--ocre-soft); }
#ag-gpx .ag-gp-file { margin:0; padding:18px; border:1px dashed var(--hair-strong); border-radius:16px; background:rgba(44,48,49,.03); }
#ag-gpx .ag-gp-file:hover { border-color:var(--ocre); background:var(--ocre-soft); }
#ag-gpx .ag-gp-file h2 { font-family:var(--sans); font-size:13px; letter-spacing:.1em; text-transform:uppercase; font-weight:560; margin:0 0 6px; color:var(--ink); }
#ag-gpx .ag-gp-file p { font-size:12.5px; color:var(--faint); margin:0 0 10px; }
#ag-gpx .ag-gp-file p strong { color:var(--ink); font-weight:560; }
#ag-gpx .ag-gp-file input[type=file] { font-size:13px; color:var(--dim); }
#ag-gpx .ag-gp-fields { display:grid; grid-template-columns:1fr 1fr; gap:10px; margin:0; padding:16px 18px 18px; border:1px solid var(--hair); border-radius:16px; background:var(--surface-2); }
#ag-gpx .ag-gp-fields input, #ag-gpx .ag-gp-fields textarea { margin:0 !important; }
#ag-gpx .ag-gp-fields textarea { grid-column:1/-1; }
#ag-gpx .ag-gp-actions { display:grid; gap:10px; margin-top:10px; }
#ag-gpx .ag-gp-btn, #ag-gpx .gpx-btn { display:flex; align-items:center; justify-content:center; width:100%; border-radius:999px; padding:15px 22px; font-size:13px; font-weight:560; letter-spacing:.06em; text-transform:uppercase; border:1px solid transparent; cursor:pointer; text-decoration:none; line-height:1.2; }
#ag-gpx .ag-gp-btn.is-ocre, #ag-gpx .gpx-btn.is-ocre { background:var(--ocre); color:var(--ink) !important; border-color:var(--ocre); }
#ag-gpx .ag-gp-btn.is-ocre:hover, #ag-gpx .gpx-btn.is-ocre:hover { background:#E0B45A; }
#ag-gpx .ag-gp-btn.is-ghost, #ag-gpx .gpx-btn.is-ghost { background:transparent; color:var(--ink) !important; border-color:var(--hair-strong); }
#ag-gpx .ag-gp-btn.is-ghost:hover, #ag-gpx .gpx-btn.is-ghost:hover { border-color:var(--ocre); color:var(--ocre-deep) !important; }
#ag-gpx .ag-gp-msg { margin:4px 0 0; font-size:13px; } #ag-gpx .ag-gp-msg:empty { display:none; }
#ag-gpx .ag-gp-rappel { margin:6px 0 0; }
#ag-gpx .ag-gp > .ag-gp-reass { display:none; }
#ag-gpx .gpx-reass { display:grid; grid-template-columns:1fr 1fr; gap:8px 14px; margin:18px 0 0; padding:0; list-style:none; font-size:12px; color:var(--dim); }
#ag-gpx .gpx-reass li { display:flex; gap:8px; align-items:flex-start; } #ag-gpx .gpx-reass svg { flex:none; margin-top:1px; color:var(--ocre); }
/* Détails */
#ag-gpx .gpx-details { padding:56px 0 72px; border-top:1px solid var(--hair); }
#ag-gpx .gpx-sec-hd h2 { font-family:var(--serif); font-weight:500; font-size:40px; line-height:1.05; margin:0 0 26px; color:var(--ink); }
#ag-gpx .gpx-desc .ag-gp-desc { display:grid; grid-template-columns:minmax(0,1fr); max-width:820px; color:var(--dim); font-size:15px; line-height:1.7; }
#ag-gpx .gpx-desc p { margin:0 0 14px; max-width:68ch; }
#ag-gpx .gpx-desc h2 { font-family:var(--serif); font-weight:500; font-size:28px; color:var(--ink); margin:30px 0 12px; }
#ag-gpx .gpx-desc ul { margin:0 0 14px; padding-left:18px; } #ag-gpx .gpx-desc strong { color:var(--ink); font-weight:560; }
#ag-gpx .gpx-desc table { width:100%; border-collapse:separate; border-spacing:0; background:var(--surface); border:1px solid var(--hair); border-radius:16px; overflow:hidden; font-size:14px; margin:4px 0 18px; }
#ag-gpx .gpx-desc th { font-size:11px; letter-spacing:.12em; text-transform:uppercase; color:var(--ocre-deep); font-weight:560; background:var(--surface-2); }
#ag-gpx .gpx-desc th, #ag-gpx .gpx-desc td { padding:12px 16px; border-bottom:1px solid var(--hair); text-align:left; vertical-align:top; }
#ag-gpx .gpx-desc tr:last-child td { border-bottom:0; }
#ag-gpx .gpx-desc details { background:var(--surface); border:1px solid var(--hair); border-radius:14px; padding:16px 20px; margin:0 0 10px; }
#ag-gpx .gpx-desc summary { cursor:pointer; font-weight:560; color:var(--ink); list-style:none; display:flex; justify-content:space-between; gap:16px; }
#ag-gpx .gpx-desc summary::-webkit-details-marker { display:none; }
#ag-gpx .gpx-desc summary::after { content:"+"; color:var(--ocre); font-size:20px; line-height:1; } #ag-gpx .gpx-desc details[open] summary::after { content:"–"; }
#ag-gpx .gpx-desc details p { margin:10px 0 0; }
#ag-gpx .gpx-sticky { display:none; }
@media (max-width:1100px) { #ag-gpx .gpx-wrap { padding:0 32px; } #ag-gpx .gpx-hero { gap:40px; } }
@media (max-width:960px) {
  #ag-gpx .gpx-wrap { padding:0 24px; } #ag-gpx .gpx-crumb { padding:24px 0 14px; font-size:11px; }
  #ag-gpx .gpx-hero { grid-template-columns:1fr; gap:28px; padding-bottom:48px; }
  #ag-gpx .gpx-media { position:relative; top:auto; }
  #ag-gpx .gpx-sticky { display:flex; gap:8px; position:fixed; left:0; right:0; bottom:0; z-index:40; padding:10px 12px calc(10px + env(safe-area-inset-bottom)); background:rgba(244,242,236,.96); backdrop-filter:blur(12px); border-top:1px solid var(--hair); transition:transform .25s; }
  #ag-gpx .gpx-sticky.is-hidden { transform:translateY(110%); }
  #ag-gpx .gpx-sticky .gpx-btn { padding:12px 14px; font-size:11px; } #ag-gpx .gpx-sticky .is-ghost { flex:0 0 34%; }
  #ag-gpx { padding-bottom:96px; } #ag-gpx .gpx-details { padding:44px 0 48px; }
}
@media (max-width:600px) {
  #ag-gpx .gpx-wrap { padding:0 20px; } #ag-gpx h1 { font-size:34px; }
  #ag-gpx .gpx-thumbs { grid-template-columns:repeat(5,1fr); gap:8px; }
  #ag-gpx .ag-gp-fields { grid-template-columns:1fr; padding:14px; } #ag-gpx .ag-gp-step { padding:14px; }
  #ag-gpx .ag-gp-ht { font-size:34px; } #ag-gpx .ag-gp-price { padding:18px; }
  #ag-gpx .gpx-reass { grid-template-columns:1fr; } #ag-gpx .gpx-sec-hd h2 { font-size:32px; }
  #ag-gpx .gpx-desc table { font-size:13px; } #ag-gpx .gpx-desc th, #ag-gpx .gpx-desc td { padding:10px 10px; }
}
#ag-gpx .gpx-sticky { display:none !important; }
#ag-gpx .gpx-stage-chip { top:auto; bottom:14px; }
@media (max-width:600px) { #ag-gpx .gpx-stage-chip { display:none; } }

/* Concepteur Chamevo, sous le chapô, au-dessus du bloc devis */
.ag-gpx .ag-chamevo { margin: 0 0 1.5rem; width: 100%; }
.ag-gpx .ag-chamevo .cha-product-designer-wrapper { width: 100%; max-width: 100%; }
