/* Formulaire de demande Page1 (reprend les couleurs du thème Page1v2) */
.p1o-form{ margin:1.5rem 0; max-width:760px; font-family:var(--p1-sans, inherit); }
.p1o-row{ display:grid; grid-template-columns:1fr 1fr; gap:1rem; }
@media (max-width:600px){ .p1o-row{ grid-template-columns:1fr; } }
.p1o-field{ margin:0 0 1.3rem; }
.p1o-field > label{ display:block; margin:0 0 .45rem; font-weight:600; font-size:.95rem; color:var(--ink, #16130d); }
.p1o-req{ color:var(--accent, #2e2be6); }
.p1o-help{ margin:-.2rem 0 .55rem; font-size:.88rem; color:var(--ink-soft, #57503f); }
.p1o-form input[type=text], .p1o-form input[type=email], .p1o-form input[type=url], .p1o-form textarea{
  width:100%; box-sizing:border-box; padding:.8rem 1rem; border:1px solid var(--line, #d8d1c3); border-radius:12px;
  background:var(--paper-2, #f3efe7); color:var(--ink, #16130d); font:inherit; font-size:1rem; line-height:1.5; }
.p1o-form textarea{ min-height:170px; resize:vertical; }
.p1o-form input:focus, .p1o-form textarea:focus{ outline:none; border-color:var(--accent, #2e2be6); box-shadow:0 0 0 3px color-mix(in srgb, var(--accent, #2e2be6) 22%, transparent); }
.p1o-form [aria-invalid=true]{ border-color:#c0392b; }
.p1o-error{ margin:.4rem 0 0; color:#c0392b; font-size:.88rem; font-weight:500; }
.p1o-alert{ margin:0 0 1.3rem; padding:.9rem 1.1rem; border-radius:12px; background:color-mix(in srgb, #c0392b 10%, transparent); border:1px solid color-mix(in srgb, #c0392b 35%, transparent); color:#8e2a20; font-weight:500; }
.p1o-consent label{ display:flex; gap:.6rem; align-items:flex-start; font-weight:400; font-size:.93rem; line-height:1.5; }
.p1o-consent input{ margin-top:.2rem; width:1.05rem; height:1.05rem; accent-color:var(--accent, #2e2be6); flex:none; }
.p1o-consent a{ color:var(--accent, #2e2be6); }
.p1o-submit{ display:inline-flex; align-items:center; gap:.45rem; padding:.9rem 1.6rem; border:0; border-radius:999px; background:var(--ink, #16130d); color:var(--paper, #ece6da);
  font:inherit; font-weight:600; font-size:1rem; cursor:pointer; transition:background .2s ease, transform .2s ease; }
.p1o-submit:hover{ background:var(--accent, #2e2be6); color:#fff; transform:translateY(-1px); }
.p1o-submit:focus-visible{ outline:2px solid var(--accent, #2e2be6); outline-offset:3px; }
.p1o-submit:disabled{ opacity:.7; cursor:wait; transform:none; }
.p1o-hp{ position:absolute !important; left:-9999px !important; width:1px; height:1px; overflow:hidden; }
.p1o-success{ margin:1.5rem 0; padding:1.3rem 1.5rem; border-radius:16px; background:var(--paper-2, #f3efe7); border:1px solid var(--line, #d8d1c3); border-left:4px solid var(--accent, #2e2be6); }
.p1o-success p{ margin:0 0 .4rem; } .p1o-success p:last-child{ margin:0; }
.p1o-success-title{ font-family:var(--p1-display, inherit); font-weight:700; font-size:1.2rem; color:var(--ink, #16130d); }

/* Commande payante */
.p1o-block{ margin:0 0 1.6rem; padding:0; border:0; }
.p1o-block legend{ margin:0 0 1rem; padding:0; font-family:var(--p1-display, inherit); font-weight:700; font-size:1.25rem; color:var(--ink, #16130d); }
.p1o-opt{ font-weight:400; color:var(--ink-soft, #57503f); font-size:.88rem; }
.p1o-option{ display:flex; align-items:flex-start; gap:.75rem; margin:0 0 .8rem; padding:1rem 1.1rem; border:1px solid var(--line, #d8d1c3); border-radius:14px; background:var(--paper-2, #f3efe7); cursor:pointer; }
.p1o-option:has(input:checked){ border-color:var(--accent, #2e2be6); box-shadow:0 0 0 1px var(--accent, #2e2be6) inset; }
.p1o-option input{ width:1.15rem; height:1.15rem; margin-top:.2rem; accent-color:var(--accent, #2e2be6); flex:none; }
.p1o-option-body{ display:block; width:100%; }
.p1o-option-head{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:.5rem; }
.p1o-option-desc{ display:block; margin-top:.35rem; color:var(--ink-soft, #57503f); font-size:.9rem; line-height:1.5; }
.p1o-option-price{ color:var(--accent, #2e2be6); font-weight:700; }
.p1o-sub{ margin:-.3rem 0 1rem; padding:1.1rem 1.1rem .1rem; border-left:3px solid var(--accent, #2e2be6); }
.p1o-sub[hidden], .p1o-recap-row[hidden]{ display:none; }
.p1o-recap{ margin:0 0 1.4rem; padding:1.2rem 1.3rem; border-radius:16px; background:var(--paper-2, #f3efe7); border:1px solid var(--line, #d8d1c3); }
.p1o-recap-row{ display:flex; justify-content:space-between; gap:1rem; padding:.35rem 0; }
.p1o-recap-sub{ color:var(--ink-soft, #57503f); border-top:1px solid var(--line, #d8d1c3); margin-top:.3rem; padding-top:.6rem; }
.p1o-recap-sub + .p1o-recap-sub{ border-top:0; margin-top:0; padding-top:.35rem; }
.p1o-recap-total{ font-family:var(--p1-display, inherit); font-weight:800; font-size:1.25rem; border-top:1px solid var(--line, #d8d1c3); margin-top:.3rem; padding-top:.7rem; }
.p1o-recap-note{ margin:.6rem 0 0; font-size:.85rem; color:var(--ink-soft, #57503f); }
.p1o-secure{ margin:.8rem 0 0; font-size:.85rem; color:var(--ink-soft, #57503f); }

/* Rappel du produit de base, en tête du formulaire de commande */
.p1o-product{ display:flex; align-items:center; justify-content:space-between; gap:1.2rem; margin:0 0 1.8rem; padding:1.2rem 1.3rem;
  border:2px solid var(--accent, #2e2be6); border-radius:16px; background:var(--paper-2, #f3efe7); }
.p1o-product p{ margin:0; }
.p1o-product-name{ font-family:var(--p1-display, inherit); font-weight:800; font-size:1.25rem; color:var(--ink, #16130d); }
.p1o-product-desc{ margin-top:.3rem !important; color:var(--ink-soft, #57503f); font-size:.92rem; line-height:1.5; }
.p1o-product-price{ flex:none; text-align:right; font-family:var(--p1-display, inherit); font-weight:800; font-size:1.6rem; color:var(--ink, #16130d); line-height:1.1; }
.p1o-product-price span{ display:block; margin-top:.3rem; font-family:var(--p1-sans, inherit); font-weight:500; font-size:.8rem; color:var(--ink-soft, #57503f); }
@media (max-width:520px){ .p1o-product{ flex-direction:column; align-items:flex-start; } .p1o-product-price{ text-align:left; } }
