/* Two familiar forms, an exact brief. Shared between the sheet and permanent page. */
.ip-configurator-wrap { --cfg-line: #81836759; --cfg-dark: #283d2c; color: var(--ip-x-ink,#263829); }
.ip-configurator-intro { display:grid; grid-template-columns:1fr 1fr; column-gap:6%; align-items:end; margin-bottom:38px; }
.ip-configurator-intro .ip-x-overline { grid-column:1 / -1; margin-bottom:12px; }
.ip-configurator-intro .ip-x-heading { margin:0; font-size:clamp(46px,5.2vw,74px); line-height:.96; }
.ip-configurator-intro .ip-x-lead { max-width:350px; margin:0 0 5px; font-size:15px; line-height:1.9; }
.ip-configurator { margin:0; min-width:0; font-family:var(--ip-sans,Manrope,Arial,sans-serif); }
.ip-configurator [hidden] { display:none!important; }
.ip-configurator button,.ip-configurator a,.ip-configurator input,.ip-configurator textarea { -webkit-tap-highlight-color:transparent; }
.ip-configurator :focus-visible { outline:2px solid #455d35; outline-offset:5px; }
.ip-configurator h2 { margin:0 0 10px; font:400 clamp(30px,3.1vw,43px)/1.08 var(--ip-serif,Cormorant Garamond,Georgia,serif); color:var(--cfg-dark); scroll-margin-block-start:22px; }
.ip-configurator h2:focus { outline:none; }
.ip-cfg-progress { list-style:none; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; padding:0; margin:0 0 35px; }
.ip-cfg-progress li { margin:0; min-width:0; }
.ip-cfg-progress button { display:flex; align-items:center; gap:10px; width:100%; min-height:52px; margin:0; padding:10px 0 13px; border:0; border-bottom:1px solid var(--cfg-line); border-radius:0; background:none; text-align:start; color:#696756; font:500 11px/1.45 var(--ip-sans,Manrope,Arial,sans-serif); cursor:pointer; }
.ip-cfg-progress button span { font:400 19px/1 var(--ip-serif,Georgia,serif); }
.ip-cfg-progress button[aria-current=step] { color:var(--cfg-dark); border-bottom:2px solid var(--cfg-dark); }
.ip-cfg-progress button:disabled { opacity:.68; cursor:default; }
.ip-cfg-progress button[aria-current=step]:disabled { opacity:1; }
.ip-cfg-help { max-width:680px; margin:0 0 24px; color:var(--ip-x-copy,#514f41); font-size:13px; line-height:1.8; }
.ip-cfg-context { margin:0 0 22px; padding-inline-start:12px; border-inline-start:2px solid var(--cfg-line); font-size:12px; color:var(--ip-x-muted,#655d4e); }
.ip-cfg-models { border:0; padding:0; margin:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; min-width:0; }
.ip-cfg-card { position:relative; cursor:pointer; min-width:0; }
.ip-cfg-card input { position:absolute; width:1px; height:1px; padding:0; margin:0; clip-path:inset(50%); overflow:hidden; opacity:0; }
.ip-cfg-card-inner { position:relative; display:flex; height:100%; flex-direction:column; padding:20px 24px 24px; border:1px solid var(--cfg-line); background:#fffaed30; transition:border-color .2s,background .2s,box-shadow .2s; }
.ip-cfg-card:hover .ip-cfg-card-inner { border-color:#4c5d41; background:#fff9e957; }
.ip-cfg-card input:checked + .ip-cfg-card-inner { border-color:var(--cfg-dark); background:#f8f3e078; box-shadow:inset 0 0 0 1px var(--cfg-dark); }
.ip-cfg-card input:focus-visible + .ip-cfg-card-inner { outline:2px solid #455d35; outline-offset:4px; }
.ip-cfg-card-top { display:flex; align-items:center; justify-content:space-between; gap:15px; font-size:10px; letter-spacing:.09em; }
.ip-cfg-check { display:grid; place-items:center; width:23px; height:23px; border-radius:50%; border:1px solid var(--cfg-line); color:transparent; transition:background .2s,color .2s; }
.ip-cfg-card input:checked + span .ip-cfg-check { color:#f8f1e1; background:var(--cfg-dark); border-color:var(--cfg-dark); }
.ip-cfg-card img { display:block; width:100%; height:210px; object-fit:contain; margin:5px 0 14px; }
.ip-cfg-card-title { display:block; margin-bottom:10px; font:400 clamp(26px,2.6vw,35px)/1.03 var(--ip-serif,Georgia,serif); }
.ip-cfg-material { display:block; color:#4e5741; font-size:10px; line-height:1.8; }
.ip-cfg-card-copy { display:block; font-size:11px; line-height:1.8; margin-top:10px; color:var(--ip-x-muted,#655d4e); }
.ip-cfg-fine { display:block; margin:14px 0 0; color:var(--ip-x-muted,#655d4e); font-size:10px; line-height:1.8; }
.ip-cfg-actions { display:flex; align-items:center; justify-content:flex-end; gap:22px; margin-top:28px; flex-wrap:wrap; }
.ip-configurator .ip-x-button { display:inline-flex; justify-content:center; align-items:center; gap:35px; min-height:49px; padding:14px 24px; border:1px solid var(--cfg-dark); border-radius:1px; color:#f5ecdb; background:var(--cfg-dark); font:500 12px/1.5 var(--ip-sans,Manrope,Arial,sans-serif); cursor:pointer; text-decoration:none; transition:background .2s,transform .2s; }
.ip-configurator .ip-x-button:hover { background:#40573a; }
.ip-configurator .ip-x-button:active { transform:translateY(1px); }
.ip-configurator .ip-x-button:disabled { cursor:wait; opacity:.65; transform:none; }
.ip-cfg-back { min-height:46px; padding:8px 0; border:0; border-bottom:1px solid transparent; border-radius:0; background:none; color:var(--cfg-dark); font:500 11px/1.5 var(--ip-sans,Manrope,Arial,sans-serif); cursor:pointer; }
.ip-cfg-back:hover { border-color:var(--cfg-line); }
.ip-cfg-workbench { display:grid; grid-template-columns:minmax(0,.85fr) minmax(0,1fr); gap:50px; align-items:center; }
.ip-cfg-selected { display:flex; flex-direction:column; align-items:center; text-align:center; border:1px solid var(--cfg-line); padding:20px; background:#fff8e930; }
.ip-cfg-selected img { width:100%; height:210px; object-fit:contain; margin-bottom:14px; }
.ip-cfg-code { font-size:10px; letter-spacing:.08em; margin-bottom:8px; }
.ip-cfg-selected strong { font:400 27px/1.2 var(--ip-serif,Georgia,serif); margin-bottom:8px; }
.ip-cfg-dimensions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.ip-configurator label:not(.ip-cfg-card):not(.ip-cfg-consent) { display:block; color:var(--cfg-dark); font-size:11px; line-height:1.6; }
.ip-configurator input:not([type=radio]):not([type=checkbox]):not([type=hidden]),.ip-configurator textarea { display:block; width:100%; min-width:0; min-height:49px; margin:8px 0 0; padding:11px 12px; border:1px solid var(--cfg-line); border-radius:1px; color:var(--cfg-dark); background:#fff9eb55; font:400 16px/1.5 var(--ip-sans,Manrope,Arial,sans-serif); box-shadow:none; box-sizing:border-box; }
.ip-configurator input:focus,.ip-configurator textarea:focus { border-color:var(--cfg-dark); }
.ip-configurator textarea { min-height:115px; resize:vertical; font-size:14px; }
.ip-configurator textarea::placeholder { color:#777062; font-size:12px; }
.ip-cfg-input-unit { display:block; position:relative; }
.ip-configurator .ip-cfg-input-unit input { padding-inline-end:32px; }
.ip-cfg-input-unit > span { position:absolute; inset-inline-end:10px; top:50%; transform:translateY(-50%); color:#756e5d; font-size:10px; pointer-events:none; }
.ip-cfg-quantity { margin-top:22px; }
.ip-cfg-quantity input { max-width:210px; }
.ip-cfg-quantity .ip-cfg-fine { margin-top:8px; }
.ip-cfg-note { border-inline-start:2px solid #7d8669; padding-inline-start:14px; margin:24px 0 0; color:var(--ip-x-muted,#655d4e); font-size:11px; line-height:1.9; }
.ip-cfg-contact-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px; max-width:780px; }
.ip-cfg-notes { grid-column:1 / -1; }
.ip-cfg-optional { color:var(--ip-x-muted,#655d4e); font-size:10px; }
.ip-cfg-review { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:24px 38px; }
.ip-cfg-review > section { min-width:0; padding-top:16px; border-top:1px solid var(--cfg-line); }
.ip-cfg-review > section:last-child { grid-column:1 / -1; }
.ip-cfg-review section > div { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.ip-cfg-review h3 { margin:0; font:400 28px/1.2 var(--ip-serif,Georgia,serif); }
.ip-cfg-review button { border:0; padding:8px 0; background:none; color:#4f6045; font:500 10px/1.5 var(--ip-sans,Manrope,Arial,sans-serif); text-decoration:underline; text-underline-offset:3px; cursor:pointer; }
.ip-cfg-review dl { margin:16px 0 0; }
.ip-cfg-review dl > div { display:grid; grid-template-columns:minmax(95px,.45fr) minmax(0,1fr); gap:15px; margin-top:10px; }
.ip-cfg-review dt { color:var(--ip-x-muted,#655d4e); font-size:10px; line-height:1.9; }
.ip-cfg-review dd { margin:0; font-size:12px; line-height:1.7; overflow-wrap:anywhere; white-space:pre-wrap; }
.ip-cfg-consent { display:flex; align-items:flex-start; gap:12px; margin-top:28px; font-size:11px; line-height:1.9; max-width:760px; cursor:pointer; }
.ip-cfg-consent input { flex:0 0 auto; width:18px; height:18px; margin:3px 0 0; accent-color:var(--cfg-dark); }
.ip-cfg-consent a { text-decoration:underline; text-underline-offset:3px; color:inherit; }
.ip-cfg-error { color:#853828; font-size:11px; line-height:1.7; margin:8px 0 0; }
.ip-configurator input[aria-invalid=true],.ip-configurator textarea[aria-invalid=true] { border-color:#853828!important; }
.ip-cfg-status { min-height:1.8em; margin:18px 0 0; font-size:12px; line-height:1.8; color:var(--cfg-dark); }
.ip-cfg-trap { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); pointer-events:none; }
.ip-cfg-fallback { margin-top:24px; padding:20px 24px; border:1px solid var(--cfg-line); background:#fff8e94d; }
.ip-cfg-fallback > p { margin:0; font-size:12px; line-height:1.9; }
.ip-cfg-fallback .ip-cfg-actions { justify-content:flex-start; margin-top:18px; }
.ip-cfg-fallback pre { padding:15px; white-space:pre-wrap; overflow-wrap:anywhere; font:12px/1.8 var(--ip-sans,Manrope,Arial,sans-serif); border:1px solid var(--cfg-line); }
.ip-cfg-success { max-width:650px; padding:25px 0; }
.ip-cfg-success-mark { display:grid; place-items:center; width:52px; height:52px; margin-bottom:22px; border:1px solid var(--cfg-dark); border-radius:50%; font-size:23px; }
.ip-cfg-success > p { font-size:14px; line-height:1.9; }
.ip-cfg-reference { border-block:1px solid var(--cfg-line); margin:25px 0; padding:18px 0; }
.ip-cfg-reference strong { display:block; margin-top:8px; letter-spacing:.06em; font-size:17px; }
.ip-cfg-success > a { display:block; margin-bottom:25px; }
.ip-cfg-alternative { margin:12px 0 0; border-top:1px solid var(--cfg-line); padding-top:23px; font-size:11px; color:var(--ip-x-muted,#655d4e); line-height:1.9; }
.ip-cfg-alternative a { color:var(--cfg-dark); margin-inline-start:8px; text-underline-offset:4px; }
@media(max-width:850px){
  .ip-configurator-intro { column-gap:8%; }
  .ip-cfg-workbench { gap:25px; }
  .ip-cfg-dimensions { gap:8px; }
  .ip-cfg-card-inner { padding:17px; }
  .ip-cfg-card img { height:175px; }
  .ip-cfg-card-title { font-size:28px; }
}
@media(max-width:600px){
  .ip-configurator-intro { display:block; margin-bottom:25px; }
  .ip-configurator-intro .ip-x-heading { font-size:49px; }
  .ip-configurator-intro .ip-x-lead { margin-top:17px; font-size:13px; line-height:1.8; max-width:100%; }
  .ip-cfg-progress { gap:10px; margin-bottom:27px; }
  .ip-cfg-progress button { display:block; font-size:9px; min-height:64px; padding-bottom:10px; }
  .ip-cfg-progress button span { display:block; margin-bottom:7px; font-size:17px; }
  .ip-configurator h2 { font-size:32px; }
  .ip-cfg-help { font-size:12px; margin-bottom:19px; }
  .ip-cfg-models { grid-template-columns:1fr; gap:16px; }
  .ip-cfg-card-inner { display:grid; grid-template-columns:115px minmax(0,1fr); gap:0 15px; padding:16px; }
  .ip-cfg-card-top { grid-column:1 / -1; margin-bottom:7px; }
  .ip-cfg-card img { grid-column:1; grid-row:2 / 5; height:115px; margin:0; align-self:center; }
  .ip-cfg-card-title { grid-column:2; align-self:end; font-size:25px; margin:8px 0; }
  .ip-cfg-material { font-size:10px; }
  .ip-cfg-card-copy { grid-column:2; font-size:10px; margin-top:6px; }
  .ip-cfg-actions { gap:20px; margin-top:23px; }
  .ip-configurator .ip-x-button { min-height:50px; }
  .ip-cfg-workbench { grid-template-columns:1fr; gap:24px; }
  .ip-cfg-selected { display:grid; grid-template-columns:110px minmax(0,1fr); gap:3px 16px; text-align:start; padding:16px; }
  .ip-cfg-selected img { grid-column:1; grid-row:1 / 5; height:105px; margin:0; }
  .ip-cfg-selected strong { font-size:25px; margin-bottom:4px; }
  .ip-cfg-selected .ip-cfg-code { margin-bottom:0; }
  .ip-cfg-selected .ip-cfg-fine { margin-top:0; }
  .ip-cfg-contact-grid { gap:19px; grid-template-columns:1fr; }
  .ip-cfg-dimensions { gap:10px; }
  .ip-cfg-note { font-size:11px; }
  .ip-cfg-review { grid-template-columns:1fr; gap:22px; }
  .ip-cfg-fallback { padding:18px; }
  .ip-cfg-fallback .ip-cfg-actions { gap:12px; }
  .ip-cfg-alternative a { display:inline-block; margin-inline-start:0; }
}
@media(max-width:360px){
  .ip-cfg-card-inner { grid-template-columns:87px minmax(0,1fr); gap:0 10px; padding:13px; }
  .ip-cfg-card img { height:96px; }
  .ip-cfg-card-title { font-size:23px; }
  .ip-cfg-progress { gap:7px; }
  .ip-cfg-dimensions { grid-template-columns:1fr; }
}
@media(prefers-reduced-motion:reduce){ .ip-configurator *, .ip-configurator *::before { transition:none!important;scroll-behavior:auto!important; } }

.ip-cfg-code,.ip-cfg-reference strong,.ip-cfg-card-top > span:first-child,.ip-configurator input[inputmode=decimal],.ip-configurator input[inputmode=numeric],.ip-configurator input[type=email],.ip-configurator input[type=tel] { direction:ltr; unicode-bidi:isolate; }
/* Keep production details comfortably readable, including narrow and RTL layouts. */
.ip-configurator .ip-cfg-material,.ip-configurator .ip-cfg-card-copy,.ip-configurator .ip-cfg-fine,.ip-configurator .ip-cfg-note,.ip-configurator .ip-cfg-consent,.ip-configurator .ip-cfg-error,.ip-configurator .ip-cfg-optional { font-size:12px; }
.ip-configurator label:not(.ip-cfg-card):not(.ip-cfg-consent) { font-size:12px; }
.ip-configurator .ip-cfg-review dt,.ip-configurator .ip-cfg-review button { font-size:12px; }
@media(max-width:600px){
 .ip-configurator .ip-cfg-progress button { font-size:10.5px; }
 .ip-experience-content .ip-configurator-wrap .ip-configurator-intro .ip-x-lead { margin-top:16px; }
 .ip-configurator .ip-cfg-card-inner { grid-template-columns:95px minmax(0,1fr); }
}
