/* EVATECH Configurator visual rebuild. Loaded after the protected legacy styles. */
:root { --v4-header-height: 76px; }
body[data-configurator-mode="mats"] { padding-bottom: calc(112px + env(safe-area-inset-bottom)); background:#fff; }
body[data-configurator-mode="mats"] :is(.goodcard,.legacy-configurator-tabs,.evabeforeafter,.faq,.reviews) { display:none !important; }

.configurator-v4 {
  --red:#e31e24; --ink:#171717; --muted:#666; --line:#e4e4e4; --soft:#f5f5f5;
  padding:18px 0 36px !important; background:#fff !important; color:var(--ink); font-family:Arial,sans-serif !important;
}
.configurator-v4 .v4-container { width:min(1320px,calc(100% - 32px)); margin:auto; }
.configurator-v4 .v4-builder-grid { display:grid; grid-template-columns:minmax(360px,.9fr) minmax(520px,1.1fr); gap:22px; align-items:start; }
.configurator-v4 .v4-builder-grid>.v4-preview-card,
.configurator-v4 .v4-builder-grid>.v4-controls { grid-area:auto !important; }
.configurator-v4 .v4-controls { display:grid; min-width:0; grid-template-columns:minmax(0,1fr); gap:12px; }
.configurator-v4 .v4-preview-card,
.configurator-v4 .v4-step,
.configurator-v4 .v4-info { border:1px solid var(--line); border-radius:18px; background:#fff; box-shadow:0 5px 18px rgba(0,0,0,.035); }

.configurator-v4 .v4-preview-card { position:sticky; z-index:20; top:calc(var(--v4-header-height) + 12px); margin:0; padding:12px; overflow:hidden; }
.configurator-v4 .v4-preview-stage { position:relative; display:grid; min-height:470px; place-items:center; overflow:hidden; border-radius:13px; background:#f7f7f7; }
.configurator-v4 .v4-preview-stage img { grid-area:1/1; width:100%; height:100%; max-height:470px; object-fit:contain; }
.configurator-v4 .v4-preview-card figcaption { display:flex; justify-content:space-between; gap:16px; padding:11px 4px 1px; font-size:14px; }
.configurator-v4 .v4-preview-card figcaption span { color:var(--muted); text-align:right; }
.configurator-v4 .v4-preview-card .v4-help { margin:8px 4px 0; }

.configurator-v4 .v4-step { min-width:0; max-width:100%; padding:18px 20px; }
.configurator-v4 .v4-step h2 { display:flex; align-items:center; gap:11px; margin:0 0 14px; color:var(--ink); font:700 18px/1.2 Arial,sans-serif; letter-spacing:0; }
.configurator-v4 .v4-step h2>span:first-child { display:grid; width:29px; height:29px; flex:0 0 29px; place-items:center; border-radius:50%; background:#171717; color:#fff; font:700 11px/1 Arial,sans-serif; }
.configurator-v4 .v4-step h2>span:not(:first-child) { display:inline; width:auto; height:auto; color:inherit; background:none; font:inherit; }
.configurator-v4 .v4-step h2 b { font-weight:700; }
.configurator-v4 .v4-help { margin:10px 0 0; color:var(--muted); font-size:12px; line-height:1.4; }
.configurator-v4 .v4-help a,.configurator-v4 .v4-info a { color:var(--red); font-weight:700; }
.configurator-v4 .v4-error { margin:10px 0 0; border-radius:9px; background:#fff0f0; color:#a4161a; padding:10px 12px; font-weight:700; }

.configurator-v4 .v4-vehicle-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:9px; }
.configurator-v4 .v4-vehicle-grid label { color:var(--muted); font-size:12px; font-weight:700; }
.configurator-v4 .v4-vehicle-grid select { width:100%; min-height:44px; margin-top:5px; border:1px solid #d7d7d7; border-radius:9px; background:#fff; padding:0 10px; color:#171717; font:14px Arial,sans-serif; }
.configurator-v4 .v4-vehicle-variant { display:flex; flex-wrap:wrap; gap:8px 16px; margin:13px 0 0; padding:10px 12px; border:1px solid var(--line); border-radius:10px; }
.configurator-v4 .v4-vehicle-variant legend { padding:0 5px; color:var(--muted); font-size:11px; font-weight:700; }
.configurator-v4 .v4-vehicle-variant label { display:inline-flex; align-items:center; gap:7px; color:var(--ink); font-size:13px; font-weight:700; }
.configurator-v4 .v4-vehicle-variant input { width:18px; height:18px; accent-color:var(--red); }

.configurator-v4 .v4-package-carousel { min-width:0; }
.configurator-v4 .v4-packages { display:grid; grid-auto-flow:column; grid-auto-columns:150px; justify-content:start; gap:8px; overflow-x:auto; overflow-y:visible; padding:2px 2px 9px; scrollbar-width:thin; scroll-snap-type:x mandatory; overscroll-behavior-inline:contain; }
.configurator-v4 .v4-packages button { display:flex; min-width:150px; min-height:218px; flex-direction:column; align-items:center; gap:5px; padding:8px 8px 9px; overflow:visible; border:2px solid transparent; border-radius:12px; background:#fff; color:var(--ink); font:inherit; text-align:center; cursor:pointer; scroll-snap-align:start; }
.configurator-v4 .v4-packages button:hover { border-color:#ededed; }
.configurator-v4 .v4-packages button[aria-pressed="true"] { border-color:#ff3700 !important; box-shadow:none !important; background:#fff !important; }
.configurator-v4 .v4-packages button:disabled { opacity:.42; border-color:#e3e3e3; background:#f3f3f3; cursor:not-allowed; filter:grayscale(1); box-shadow:none !important; }
.configurator-v4 .v4-packages button:disabled:hover { border-color:#e3e3e3; }
.configurator-v4 .v4-package-art { display:flex !important; width:100%; height:68px; flex:0 0 68px; align-items:center; justify-content:center; overflow:visible; }
.configurator-v4 .v4-package-icon { display:block; width:auto; max-width:128px; height:auto; max-height:66px; object-fit:contain; object-position:center; overflow:visible; }
.configurator-v4 .v4-package-name { display:block; min-height:16px; color:#111; text-align:center; font:700 13px/1.15 Arial,sans-serif; }
.configurator-v4 .v4-package-includes { display:block; min-height:42px; color:#666; text-align:center; font:400 10.5px/1.3 Arial,sans-serif; }
.configurator-v4 .v4-package-price { display:block; margin-top:auto; color:#000; text-align:center; white-space:nowrap; font:700 18px/1.05 Arial,sans-serif; letter-spacing:-.02em; }
.configurator-v4 .v4-package-promo { display:flex !important; min-height:20px; align-items:center; justify-content:center; gap:5px; white-space:nowrap; font-family:Arial,sans-serif; }
.configurator-v4 .v4-package-promo--placeholder { visibility:hidden; }
.configurator-v4 .v4-package-promo del { color:#777; font-size:13px; line-height:1; text-decoration-thickness:1px; }
.configurator-v4 .v4-package-promo b { display:inline-flex; align-items:center; justify-content:center; min-height:20px; padding:2px 5px; border-radius:10px; background:#ff3700; color:#fff; font-size:12px; line-height:1; }
.configurator-v4 .v4-package-eligibility { display:block; min-height:15px; color:#626262; text-align:center; font:700 9.5px/1.15 Arial,sans-serif; }
.configurator-v4 .v4-package-eligibility--empty { visibility:hidden; }
.configurator-v4 .v4-packages button:disabled .v4-package-eligibility { color:#4f4f4f; }
.configurator-v4 .v4-package-nav { display:none; }

.configurator-v4 button[aria-pressed="true"] { border-color:var(--red) !important; box-shadow:inset 0 0 0 1px var(--red); background:#fffafa !important; }
.configurator-v4 .v4-mat-types { display:grid; grid-template-columns:repeat(2,minmax(0,180px)); gap:9px; }
.configurator-v4 .v4-mat-types button { min-height:44px; border:1px solid var(--line); border-radius:10px; background:#fff; color:var(--ink); font:700 14px Arial,sans-serif; cursor:pointer; }

/* EVASOTA pattern selector: exact original pattern thumbnails, circular crop, no labels under icons. */
.configurator-v4 #v4-step-pattern h2>span:first-child { background:#b6b8bb; }
.configurator-v4 .v4-patterns { display:flex; align-items:center; justify-content:flex-start; gap:10px; overflow:visible; padding:1px 0 2px; }
.configurator-v4 .v4-patterns button { display:grid; width:62px; height:62px; min-width:62px; min-height:62px; place-items:center; padding:3px; border:2px solid transparent; border-radius:50%; background:#fff; box-shadow:none; cursor:pointer; }
.configurator-v4 .v4-patterns button:hover { border-color:#ececec; }
.configurator-v4 .v4-patterns button[aria-pressed="true"] { border-color:#ff3700 !important; background:#fff !important; box-shadow:none !important; }
.configurator-v4 .v4-patterns img { display:block; width:52px; height:52px; border-radius:50%; object-fit:cover; }

.configurator-v4 .v4-colors { display:flex; flex-wrap:wrap; gap:9px; }
.configurator-v4 .v4-colors button { display:grid; width:38px; height:38px; flex:0 0 38px; place-items:center; padding:0; border:1px solid transparent; border-radius:50%; background:#fff; cursor:pointer; }
.configurator-v4 .v4-colors i { display:block; width:26px; height:26px; border:1px solid rgba(0,0,0,.22); border-radius:50%; background:var(--c,#ddd); }
.sw-black{--c:#111}.sw-grey{--c:#898c91}.sw-beige{--c:#d7bd91}.sw-burgundy{--c:#6f1d32}.sw-brown{--c:#6b4423}.sw-blue{--c:#205acb}.sw-orange{--c:#f06c19}.sw-red{--c:#d8242f}.sw-yellow{--c:#f2cf22}.sw-purple,.sw-violet{--c:#7c3db4}.sw-light_grey,.sw-light-grey{--c:#d2d4d6}

.configurator-v4 .v4-toggle { display:flex; align-items:center; gap:11px; padding:12px; border:1px solid var(--line); border-radius:10px; }
.configurator-v4 .v4-toggle input { width:20px; height:20px; accent-color:var(--red); }
.configurator-v4 .v4-toggle span { display:grid; gap:2px; }
.configurator-v4 .v4-toggle strong { font-size:14px; }
.configurator-v4 .v4-toggle small { color:var(--muted); font-size:12px; }

.configurator-v4 .v4-delivery-card { display:grid; grid-template-columns:52px 1fr; align-items:center; gap:13px; padding:14px 18px; }
.configurator-v4 .v4-delivery-icon { display:grid; width:46px; height:46px; place-items:center; border-radius:50%; background:var(--red); }
.configurator-v4 .v4-delivery-icon svg { width:27px; fill:#fff; }
.configurator-v4 .v4-delivery-card>span:last-child { display:grid; grid-template-columns:1fr auto; align-items:center; gap:8px 20px; }
.configurator-v4 .v4-delivery-card small { color:var(--muted); font-size:13px; }
.configurator-v4 .v4-delivery-card strong { font-size:18px; text-align:right; }

.configurator-v4 .v4-info { margin-top:24px; padding:0; overflow:hidden; }
.configurator-v4 .v4-tabs { display:flex; gap:0; overflow-x:auto; padding:0 14px; border-bottom:1px solid var(--line); background:#fff; }
.configurator-v4 .v4-tabs button { position:relative; min-height:52px; flex:0 0 auto; padding:0 18px; border:0; background:transparent; color:#333; font:700 14px Arial,sans-serif; cursor:pointer; }
.configurator-v4 .v4-tabs button[aria-selected="true"] { color:var(--red); }
.configurator-v4 .v4-tabs button[aria-selected="true"]::after { content:""; position:absolute; right:15px; bottom:0; left:15px; height:3px; border-radius:3px 3px 0 0; background:var(--red); }
.configurator-v4 .v4-info-panel { min-height:128px; padding:20px 24px; }
.configurator-v4 .v4-info-panel h3 { margin:0 0 7px; font:700 19px Arial,sans-serif; }
.configurator-v4 .v4-info-panel p { max-width:850px; margin:0; color:var(--muted); font-size:15px; line-height:1.55; }

.configurator-v4 .v4-social-proof { margin-top:24px; }
.configurator-v4 .v4-social-proof :is(.v4-reviews,.v4-faq) { border-radius:18px; overflow:hidden; }
.configurator-v4 .v4-social-proof .container { width:min(100% - 32px,1320px); max-width:none; }
.configurator-v4 .v4-dialog { max-width:min(900px,92vw); padding:0; border:0; border-radius:16px; }
.configurator-v4 .v4-dialog img { display:block; max-width:100%; max-height:84vh; }
.configurator-v4 .v4-dialog [data-dialog-close] { position:absolute; z-index:2; top:10px; right:10px; width:38px; height:38px; border:0; border-radius:50%; background:#111; color:#fff; }

.configurator-v4 .v4-purchase-bar {
  position:fixed;
  z-index:1200;
  right:6px;
  bottom:6px;
  left:6px;
  box-sizing:border-box;
  height:92px;
  min-height:92px;
  display:grid;
  grid-template-columns:minmax(280px,1fr) auto;
  align-items:center;
  gap:22px;
  padding:10px 14px 10px 18px;
  border:1px solid rgba(20,20,20,.06);
  border-radius:18px;
  background:rgba(255,255,255,.91);
  box-shadow:0 8px 32px rgba(0,0,0,.12);
  -webkit-backdrop-filter:blur(18px) saturate(145%);
  backdrop-filter:blur(18px) saturate(145%);
}
.configurator-v4 .v4-purchase-product { display:flex; min-width:0; align-items:center; gap:14px; }
.configurator-v4 .v4-purchase-product>strong { overflow:hidden; color:#111; font:500 18px/1.2 Arial,sans-serif; text-overflow:ellipsis; white-space:nowrap; }
.configurator-v4 .v4-purchase-thumb { position:relative; display:grid; width:60px; height:60px; flex:0 0 60px; place-items:center; overflow:hidden; border-radius:10px; background:#f5f5f5; }
.configurator-v4 .v4-purchase-thumb img { position:absolute; inset:4px; width:calc(100% - 8px); height:calc(100% - 8px); object-fit:contain; }
.configurator-v4 .v4-purchase-actions { display:flex; align-items:center; justify-content:flex-end; gap:10px; }
.configurator-v4 .v4-purchase-price { display:flex; min-width:152px; align-items:center; justify-content:flex-end; gap:10px; padding:0 8px; color:#111; white-space:nowrap; }
.configurator-v4 .v4-purchase-price svg { width:26px; height:26px; flex:0 0 26px; fill:#111; }
.configurator-v4 .v4-purchase-price strong { color:#111; font:500 31px/1 Arial,sans-serif; letter-spacing:-.035em; }
.configurator-v4 .v4-purchase-actions>button { min-height:54px; padding:0 24px; border-radius:12px; font:700 14px/1 Arial,sans-serif; white-space:nowrap; cursor:pointer; transition:transform .15s ease,box-shadow .15s ease,background-color .15s ease; }
.configurator-v4 .v4-purchase-actions>button:hover:not(:disabled) { transform:translateY(-1px); }
.configurator-v4 .v4-quick-buy { min-width:186px; border:1px solid #c7c7c7; background:rgba(255,255,255,.94); color:#111; box-shadow:none; }
.configurator-v4 .v4-add-cart { min-width:202px; border:1px solid #ff3b00; background:#ff3b00; color:#fff; box-shadow:none; }
.configurator-v4 .v4-add-cart:hover:not(:disabled) { background:#f13600; }
.configurator-v4 .v4-purchase-actions>button:disabled { opacity:.42; cursor:not-allowed; transform:none; }

@media(max-width:980px) {
  .configurator-v4 { padding-top:10px !important; }
  .configurator-v4 .v4-container { width:min(100% - 18px,760px); }
  .configurator-v4 .v4-builder-grid { grid-template-columns:minmax(0,1fr); gap:10px; }
  .configurator-v4 .v4-preview-card { top:calc(var(--v4-header-height) + 6px); padding:8px; border-radius:14px; transition:padding .18s ease; }
  .configurator-v4 .v4-preview-stage { min-height:250px; max-height:310px; }
  .configurator-v4 .v4-preview-stage img { max-height:310px; }
  .configurator-v4 .v4-preview-card figcaption { padding:7px 3px 0; font-size:12px; }
  .configurator-v4 .v4-preview-card.is-stuck { padding:6px; box-shadow:0 9px 25px rgba(0,0,0,.14); }
  .configurator-v4 .v4-preview-card.is-stuck .v4-preview-stage { min-height:140px; height:140px; }
  .configurator-v4 .v4-preview-card.is-stuck .v4-preview-stage img { max-height:140px; }
  .configurator-v4 .v4-preview-card.is-stuck figcaption,.configurator-v4 .v4-preview-card.is-stuck .v4-help { display:none; }
  .configurator-v4 .v4-controls { width:100%; min-width:0; }
  .configurator-v4 .v4-packages { grid-auto-columns:148px; }
  .configurator-v4 .v4-packages button { min-width:148px; }
  .configurator-v4 .v4-package-icon { max-width:124px; }
  .configurator-v4 .v4-social-proof .container { width:calc(100% - 28px); }
  .configurator-v4 .v4-purchase-bar { height:82px; min-height:82px; grid-template-columns:auto minmax(0,1fr); gap:12px; padding:8px 10px 8px 12px; }
  .configurator-v4 .v4-purchase-product>strong { display:none; }
  .configurator-v4 .v4-purchase-thumb { width:52px; height:52px; flex-basis:52px; }
  .configurator-v4 .v4-purchase-actions { min-width:0; gap:7px; }
  .configurator-v4 .v4-purchase-price { min-width:108px; gap:7px; padding:0 3px; }
  .configurator-v4 .v4-purchase-price strong { font-size:25px; }
  .configurator-v4 .v4-purchase-actions>button { min-height:48px; padding:0 14px; font-size:12px; }
  .configurator-v4 .v4-quick-buy { min-width:142px; }
  .configurator-v4 .v4-add-cart { min-width:154px; }
}

@media(max-width:600px) {
  .body-catalogueeva .header .about-info { min-height:72px; }
  .configurator-v4 .v4-preview-stage { min-height:220px; height:220px; }
  .configurator-v4 .v4-preview-stage img { max-height:220px; }
  .configurator-v4 .v4-preview-card figcaption strong { display:none; }
  .configurator-v4 .v4-preview-card figcaption span { width:100%; text-align:center; }
  .configurator-v4 .v4-step { padding:15px; border-radius:14px; }
  .configurator-v4 .v4-step h2 { margin-bottom:12px; font-size:17px; }
  .configurator-v4 .v4-vehicle-grid { grid-template-columns:1fr; gap:7px; }
  .configurator-v4 .v4-vehicle-grid label { display:grid; grid-template-columns:64px 1fr; align-items:center; gap:7px; }
  .configurator-v4 .v4-vehicle-grid select { min-height:43px; margin:0; font-size:16px; }
  .configurator-v4 .v4-vehicle-variant { margin-top:10px; }
  .configurator-v4 .v4-mat-types { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .configurator-v4 .v4-packages { grid-auto-columns:145px; gap:8px; padding-bottom:5px; scrollbar-width:none; }
  .configurator-v4 .v4-packages::-webkit-scrollbar { display:none; }
  .configurator-v4 .v4-packages button { min-width:145px; min-height:220px; }
  .configurator-v4 .v4-package-icon { max-width:121px; }
  .configurator-v4 .v4-package-nav { display:flex; align-items:center; justify-content:center; gap:11px; margin-top:7px; }
  .configurator-v4 .v4-package-arrow { display:grid; width:28px; height:28px; place-items:center; padding:0; border:1px solid #d8d8d8; border-radius:50%; background:#fff; color:#242424; font:700 20px/1 Arial,sans-serif; cursor:pointer; }
  .configurator-v4 .v4-package-arrow:disabled { opacity:.28; cursor:default; }
  .configurator-v4 .v4-package-dots { display:flex; align-items:center; justify-content:center; gap:7px; min-width:66px; }
  .configurator-v4 .v4-package-dots button { width:7px; height:7px; min-width:7px; min-height:7px; padding:0; border:0; border-radius:50%; background:#c9c9c9; cursor:pointer; transition:width .16s ease,background-color .16s ease,border-radius .16s ease; }
  .configurator-v4 .v4-package-dots button[aria-current="true"] { width:19px; background:#ff3700; border-radius:99px; }
  .configurator-v4 .v4-patterns { gap:8px; }
  .configurator-v4 .v4-patterns button { width:58px; height:58px; min-width:58px; min-height:58px; }
  .configurator-v4 .v4-patterns img { width:48px; height:48px; }
  .configurator-v4 .v4-delivery-card { grid-template-columns:44px 1fr; }
  .configurator-v4 .v4-delivery-icon { width:42px; height:42px; }
  .configurator-v4 .v4-delivery-card>span:last-child { grid-template-columns:1fr; gap:3px; }
  .configurator-v4 .v4-delivery-card strong { font-size:16px; text-align:left; }
  .configurator-v4 .v4-tabs { padding:0 4px; }
  .configurator-v4 .v4-tabs button { padding:0 13px; font-size:13px; }
  .configurator-v4 .v4-info-panel { padding:17px; }
  .configurator-v4 .v4-purchase-bar { right:5px; bottom:5px; left:5px; height:82px; min-height:82px; grid-template-columns:minmax(160px,1fr) auto; gap:10px; padding:8px 9px 8px 12px; border-radius:16px; }
  .configurator-v4 .v4-purchase-product { gap:9px; }
  .configurator-v4 .v4-purchase-thumb { width:48px; height:48px; flex-basis:48px; }
  .configurator-v4 .v4-purchase-product>strong { font-size:15px; }
  .configurator-v4 .v4-purchase-actions { gap:7px; }
  .configurator-v4 .v4-purchase-price { min-width:112px; gap:7px; padding:0 4px; }
  .configurator-v4 .v4-purchase-price svg { width:22px; height:22px; flex-basis:22px; }
  .configurator-v4 .v4-purchase-price strong { font-size:25px; }
  .configurator-v4 .v4-purchase-actions>button { min-height:48px; padding:0 15px; border-radius:11px; font-size:12px; }
  .configurator-v4 .v4-quick-buy { min-width:148px; }
  .configurator-v4 .v4-add-cart { min-width:158px; }
  .configurator-v4 .v4-social-proof :is(.v4-reviews,.v4-faq) { border-radius:14px; }
  .configurator-v4 .v4-purchase-bar { height:72px; min-height:72px; grid-template-columns:1fr auto; padding:7px 8px; }
  .configurator-v4 .v4-purchase-product { display:none; }
  .configurator-v4 .v4-purchase-actions { width:100%; display:grid; grid-template-columns:minmax(84px,.62fr) minmax(118px,1fr); gap:7px; }
  .configurator-v4 .v4-purchase-price { min-width:0; justify-content:flex-start; padding:0 4px; }
  .configurator-v4 .v4-purchase-price strong { font-size:23px; }
  .configurator-v4 .v4-quick-buy { display:none; }
  .configurator-v4 .v4-add-cart { width:100%; min-width:0; padding:0 10px; }
}


/* === EVASOTA product tabs — same interaction/composition, EVATECH content === */
.configurator-v4 .v4-evasota-info {
  margin-top:26px;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
  overflow:visible;
}
.configurator-v4 .v4-evasota-info .v4-tabs {
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  padding:0;
  border:0;
  border-radius:18px;
  overflow:hidden;
  background:#fff;
  box-shadow:none;
}
.configurator-v4 .v4-evasota-info .v4-tabs button {
  position:relative;
  min-width:0;
  min-height:60px;
  padding:0 18px;
  border:0;
  background:#fff;
  color:#313131;
  font:400 16px/1.15 Arial,sans-serif;
  cursor:pointer;
}
.configurator-v4 .v4-evasota-info .v4-tabs button:hover { color:#111; }
.configurator-v4 .v4-evasota-info .v4-tabs button[aria-selected="true"] { color:#ff3700; }
.configurator-v4 .v4-evasota-info .v4-tabs button[aria-selected="true"]::after {
  content:"";
  position:absolute;
  right:31%;
  bottom:0;
  left:31%;
  height:3px;
  background:#ff3700;
}
.configurator-v4 .v4-evasota-info .v4-info-panel.v4-tab-surface {
  min-height:0;
  margin-top:6px;
  padding:0;
  border:0;
  border-radius:18px;
  background:#fff;
  overflow:hidden;
}

/* Payment & Delivery — order process lives inside this tab, exactly as in the reference interaction. */
.configurator-v4 .v4-order-process {
  margin:0;
  padding:44px 28px 34px;
  border-radius:0;
  background:#fff;
}
.configurator-v4 .v4-order-process>h2 {
  margin:0 0 30px;
  color:#000;
  text-align:center;
  font:400 38px/1.1 Arial,sans-serif;
  letter-spacing:-.025em;
}
.configurator-v4 .v4-process-track {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:6px;
}
.configurator-v4 .v4-process-item { min-width:0; text-align:center; }
.configurator-v4 .v4-process-arrow {
  position:relative;
  isolation:isolate;
  display:flex;
  min-height:70px;
  align-items:center;
  justify-content:center;
  gap:18px;
  margin:0 0 18px;
  padding:0 28px 0 34px;
  background:#000;
  color:#fff;
}
.configurator-v4 .v4-process-arrow::before,
.configurator-v4 .v4-process-arrow::after {
  content:"";
  position:absolute;
  top:0;
  z-index:-1;
  width:28px;
  height:100%;
  background:inherit;
}
.configurator-v4 .v4-process-arrow::before {
  left:-1px;
  clip-path:polygon(0 0,100% 50%,0 100%,44% 50%);
  transform:translateX(-27px);
}
.configurator-v4 .v4-process-arrow::after {
  right:-27px;
  clip-path:polygon(0 0,100% 50%,0 100%);
}
.configurator-v4 .v4-process-item:first-child .v4-process-arrow::before { display:none; }
.configurator-v4 .v4-process-item.is-delivery .v4-process-arrow { background:#ff3700; }
.configurator-v4 .v4-process-arrow svg {
  width:38px;
  height:38px;
  flex:0 0 38px;
  overflow:visible;
  --icon-fill:white;
  --icon-stroke:white;
}
.configurator-v4 .v4-process-arrow strong { white-space:nowrap; color:#fff; font:700 17px/1 Arial,sans-serif; }
.configurator-v4 .v4-process-item h3 { margin:0 0 10px; color:#000; font:400 19px/1.2 Arial,sans-serif; }
.configurator-v4 .v4-process-item p { margin:0 auto; max-width:300px; color:#666; font-size:13px; line-height:1.45; }

.configurator-v4 .v4-payment-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  padding:18px 28px 34px;
  background:#fff;
}
.configurator-v4 .v4-payment-card {
  display:grid;
  grid-template-columns:118px minmax(0,1fr);
  gap:22px;
  min-height:210px;
  align-items:start;
  padding:26px 28px;
  border-radius:18px;
  background:#f4f4f4;
}
.configurator-v4 .v4-payment-card__visual {
  min-height:118px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.configurator-v4 .v4-payment-card__visual--icon svg {
  width:92px;
  height:92px;
  --icon-fill:#ed1c24;
  --icon-stroke:#ed1c24;
}
.configurator-v4 .v4-payment-card__body h3 { margin:0 0 12px; color:#555; font:400 22px/1.2 Arial,sans-serif; }
.configurator-v4 .v4-payment-card__body p,
.configurator-v4 .v4-payment-card__body li { color:#666; font-size:15px; line-height:1.5; }
.configurator-v4 .v4-payment-card__body p { margin:0 0 10px; }
.configurator-v4 .v4-payment-card__body ul { margin:8px 0 0; padding-left:20px; }
.configurator-v4 .v4-payment-logos {
  flex-direction:column;
  gap:9px;
  align-items:center;
}
.configurator-v4 .v4-payment-logos img { display:block; width:auto; max-width:94px; max-height:46px; object-fit:contain; }
.configurator-v4 .v4-payment-logos .v4-pay-logo--apple { max-width:92px; max-height:34px; }
.configurator-v4 .v4-payment-logos .v4-pay-logo--google { width:46px; height:46px; }

/* Advantages tab — intro card + 4x2 bordered cards like EVASOTA. */
.configurator-v4 .v4-advantages-panel,
.configurator-v4 .v4-characteristics-panel { padding:40px 28px 42px !important; }
.configurator-v4 .v4-evasota-intro-card {
  margin:0 0 18px;
  padding:26px 24px;
  border-radius:18px;
  background:#f5f5f5;
}
.configurator-v4 .v4-evasota-intro-card h2 { margin:0 0 12px; color:#171717; font:700 24px/1.2 Arial,sans-serif; }
.configurator-v4 .v4-evasota-intro-card p { max-width:none !important; margin:0; color:#666; font-size:15px; line-height:1.5; }
.configurator-v4 .v4-advantage-grid {
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:14px;
}
.configurator-v4 .v4-advantage-grid article {
  display:grid;
  grid-template-columns:26px minmax(0,1fr);
  grid-template-rows:auto 1fr;
  column-gap:10px;
  row-gap:8px;
  min-height:142px;
  padding:20px 18px;
  border:1px solid #e5e5e5;
  border-radius:18px;
  background:#fff;
}
.configurator-v4 .v4-check {
  display:grid;
  grid-row:1;
  grid-column:1;
  width:24px;
  height:24px;
  place-items:center;
  border-radius:50%;
  background:#ff3020;
  color:#fff;
  font:700 14px/1 Arial,sans-serif;
}
.configurator-v4 .v4-advantage-grid h3 {
  grid-column:2;
  margin:1px 0 0;
  color:#151515;
  font:700 16px/1.25 Arial,sans-serif;
}
.configurator-v4 .v4-advantage-grid p {
  grid-column:1 / -1;
  max-width:none !important;
  margin:0;
  color:#666;
  font-size:14px;
  line-height:1.48;
}

/* Characteristics tab — lead paragraph + centered rounded two-column rows. */
.configurator-v4 .v4-characteristics-lead {
  max-width:none !important;
  margin:4px 0 44px !important;
  color:#101010 !important;
  font-size:14px !important;
  line-height:1.65 !important;
}
.configurator-v4 .v4-spec-table {
  display:grid;
  gap:10px;
  width:min(100%,980px);
  margin:0 auto;
}
.configurator-v4 .v4-spec-table>div {
  display:grid;
  grid-template-columns:34% 66%;
  min-height:50px;
  align-items:center;
  padding:10px 20px;
  border-radius:18px;
  background:#f0f1f2;
}
.configurator-v4 .v4-spec-table dt,
.configurator-v4 .v4-spec-table dd { margin:0; }
.configurator-v4 .v4-spec-table dt { padding-right:18px; color:#111; font:700 14px/1.35 Arial,sans-serif; }
.configurator-v4 .v4-spec-table dd { color:#222; font:400 14px/1.45 Arial,sans-serif; }


@media(max-width:1050px) {
  .configurator-v4 .v4-advantage-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .configurator-v4 .v4-payment-card { grid-template-columns:96px minmax(0,1fr); padding:22px; }
  .configurator-v4 .v4-payment-card__visual--icon svg { width:76px; height:76px; }
}

@media(max-width:900px) {
  .configurator-v4 .v4-evasota-info .v4-tabs {
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    overflow:visible;
    border-radius:14px;
  }
  .configurator-v4 .v4-evasota-info .v4-tabs button {
    min-width:0;
    min-height:54px;
    padding:0 8px;
    font-size:13px;
  }
  .configurator-v4 .v4-evasota-info .v4-tabs button[aria-selected="true"]::after { right:20%; left:20%; }
  .configurator-v4 .v4-evasota-info .v4-info-panel.v4-tab-surface { border-radius:14px; }
  .configurator-v4 .v4-order-process { padding:30px 16px 22px; }
  .configurator-v4 .v4-order-process>h2 { margin-bottom:22px; font-size:29px; }
  .configurator-v4 .v4-process-track { grid-template-columns:1fr; gap:14px; }
  .configurator-v4 .v4-process-arrow { width:calc(100% - 28px); min-height:62px; margin:0 auto 12px 0; justify-content:flex-start; padding-left:52px; }
  .configurator-v4 .v4-process-arrow::before { display:none; }
  .configurator-v4 .v4-process-arrow::after { right:-28px; }
  .configurator-v4 .v4-process-item h3,
  .configurator-v4 .v4-process-item p { text-align:left; }
  .configurator-v4 .v4-process-item p { max-width:none; }
  .configurator-v4 .v4-payment-grid { grid-template-columns:1fr; padding:14px 16px 24px; }
  .configurator-v4 .v4-advantages-panel,
  .configurator-v4 .v4-characteristics-panel { padding:24px 16px 28px !important; }
  .configurator-v4 .v4-characteristics-lead { margin-bottom:26px !important; }
}

@media(max-width:620px) {
  .configurator-v4 .v4-evasota-info .v4-tabs {
    display:flex;
    overflow-x:auto;
    scroll-snap-type:x mandatory;
    -webkit-overflow-scrolling:touch;
  }
  .configurator-v4 .v4-evasota-info .v4-tabs button {
    flex:1 0 142px;
    min-width:142px;
    scroll-snap-align:start;
    white-space:nowrap;
  }
  .configurator-v4 .v4-payment-card {
    grid-template-columns:74px minmax(0,1fr);
    gap:14px;
    min-height:0;
    padding:18px 16px;
    border-radius:14px;
  }
  .configurator-v4 .v4-payment-card__visual { min-height:74px; }
  .configurator-v4 .v4-payment-card__visual--icon svg { width:62px; height:62px; }
  .configurator-v4 .v4-payment-logos img { max-width:68px; max-height:32px; }
  .configurator-v4 .v4-payment-logos .v4-pay-logo--apple { max-width:68px; max-height:26px; }
  .configurator-v4 .v4-payment-logos .v4-pay-logo--google { width:32px; height:32px; }
  .configurator-v4 .v4-payment-card__body h3 { font-size:18px; }
  .configurator-v4 .v4-payment-card__body p,
  .configurator-v4 .v4-payment-card__body li { font-size:13px; }
  .configurator-v4 .v4-advantage-grid { grid-template-columns:1fr; }
  .configurator-v4 .v4-evasota-intro-card { padding:20px 18px; border-radius:14px; }
  .configurator-v4 .v4-evasota-intro-card h2 { font-size:20px; }
  .configurator-v4 .v4-advantage-grid article { min-height:0; padding:18px 16px; border-radius:14px; }
  .configurator-v4 .v4-spec-table>div { grid-template-columns:1fr; gap:5px; padding:14px 16px; border-radius:14px; }
  .configurator-v4 .v4-spec-table dt { padding-right:0; }
    }

/* === EVASOTA mobile purchase bar final alignment patch 2026-09-11 ===
   Purpose: match the reference mobile price/Add to Cart bar and keep it
   fully above iOS/Android browser chrome instead of touching/cropping at bottom. */
@media (max-width:600px) {
  body[data-configurator-mode="mats"] {
    padding-bottom:calc(108px + env(safe-area-inset-bottom));
  }

  .configurator-v4 .v4-purchase-bar {
    right:6px;
    bottom:max(12px, env(safe-area-inset-bottom));
    left:6px;
    width:auto;
    height:78px;
    min-height:78px;
    grid-template-columns:minmax(0,1fr);
    gap:0;
    padding:9px 10px;
    border:1px solid rgba(0,0,0,.06);
    border-radius:18px;
    background:#fff;
    box-shadow:0 7px 28px rgba(0,0,0,.10);
    -webkit-backdrop-filter:none;
    backdrop-filter:none;
  }

  .configurator-v4 .v4-purchase-product {
    display:none;
  }

  .configurator-v4 .v4-purchase-actions {
    width:100%;
    height:100%;
    display:grid;
    grid-template-columns:minmax(118px,1fr) minmax(150px,42%);
    align-items:center;
    gap:10px;
  }

  .configurator-v4 .v4-purchase-price {
    min-width:0;
    height:100%;
    justify-content:flex-start;
    gap:9px;
    padding:0 10px;
  }

  .configurator-v4 .v4-purchase-price svg {
    width:25px;
    height:25px;
    flex:0 0 25px;
  }

  .configurator-v4 .v4-purchase-price strong {
    font-size:28px;
    font-weight:500;
    line-height:1;
    letter-spacing:-.035em;
  }

  .configurator-v4 .v4-quick-buy {
    display:none;
  }

  .configurator-v4 .v4-purchase-actions>.v4-add-cart {
    width:100%;
    min-width:0;
    min-height:58px;
    height:58px;
    padding:0 14px;
    border:0;
    border-radius:13px;
    background:#ff3700;
    color:#fff;
    box-shadow:none;
    font-size:13px;
    font-weight:700;
    letter-spacing:.01em;
  }

  .configurator-v4 .v4-purchase-actions>.v4-add-cart:hover:not(:disabled) {
    background:#f13600;
    transform:none;
  }
}

@media (max-width:360px) {
  .configurator-v4 .v4-purchase-actions {
    grid-template-columns:minmax(106px,1fr) minmax(138px,44%);
    gap:8px;
  }

  .configurator-v4 .v4-purchase-price {
    gap:7px;
    padding:0 6px;
  }

  .configurator-v4 .v4-purchase-price strong {
    font-size:26px;
  }

  .configurator-v4 .v4-purchase-actions>.v4-add-cart {
    min-height:56px;
    height:56px;
    padding:0 10px;
    font-size:12px;
  }
}

/* === 2026-09-11 final mobile parity: EVASOTA order flow, compact colours and purchase bar === */
.configurator-v4 .v4-process-date--mobile { display:none; }

@media (max-width:600px) {
  /* Keep Standard and 3D swatches identical in size and slot spacing. */
  .configurator-v4 .v4-colors {
    display:grid;
    grid-template-columns:repeat(8,34px);
    align-items:center;
    justify-content:start;
    gap:8px;
  }
  .configurator-v4 .v4-colors button {
    box-sizing:border-box;
    width:34px;
    height:34px;
    min-width:34px;
    min-height:34px;
    flex:0 0 34px;
    margin:0;
    padding:0;
  }
  .configurator-v4 .v4-colors i {
    width:24px;
    height:24px;
  }

  /* Three EVASOTA-style tabs remain visible together at phone width. */
  .configurator-v4 .v4-evasota-info { margin-top:22px; }
  .configurator-v4 .v4-evasota-info .v4-tabs {
    display:grid;
    width:100%;
    grid-template-columns:1.08fr .92fr 1.08fr;
    overflow:hidden;
    scroll-snap-type:none;
    border-radius:16px;
  }
  .configurator-v4 .v4-evasota-info .v4-tabs button {
    min-width:0;
    min-height:52px;
    flex:none;
    padding:0 5px;
    background:#fff;
    font-size:clamp(11px,3.15vw,13px);
    font-weight:400;
    white-space:nowrap;
  }
  .configurator-v4 .v4-evasota-info .v4-tabs button[aria-selected="true"] {
    background:#f0f0f0;
    color:#ff3700;
  }
  .configurator-v4 .v4-evasota-info .v4-tabs button[aria-selected="true"]::after {
    right:0;
    left:0;
    height:3px;
  }
  .configurator-v4 .v4-evasota-info .v4-info-panel.v4-tab-surface {
    margin-top:6px;
    border-radius:16px;
  }

  /* Mobile order process: icon chevrons on the left, dates and labels on the right. */
  .configurator-v4 .v4-order-process { padding:24px 14px 28px; }
  .configurator-v4 .v4-order-process>h2 {
    margin:0 0 20px;
    text-align:center;
    font-size:30px;
    line-height:1.05;
  }
  .configurator-v4 .v4-process-track {
    display:grid;
    grid-template-columns:1fr;
    gap:2px;
  }
  .configurator-v4 .v4-process-item {
    display:grid;
    min-height:92px;
    grid-template-columns:72px minmax(0,1fr);
    align-items:center;
    gap:16px;
    text-align:left;
  }
  .configurator-v4 .v4-process-arrow {
    display:flex;
    box-sizing:border-box;
    width:72px;
    min-height:92px;
    height:92px;
    align-items:center;
    justify-content:center;
    margin:0;
    padding:0;
    clip-path:polygon(0 0,50% 10px,100% 0,100% calc(100% - 13px),50% 100%,0 calc(100% - 13px));
  }
  .configurator-v4 .v4-process-arrow::before,
  .configurator-v4 .v4-process-arrow::after { display:none; }
  .configurator-v4 .v4-process-arrow svg {
    width:38px;
    height:38px;
    flex:0 0 38px;
  }
  .configurator-v4 .v4-process-date--desktop { display:none; }
  .configurator-v4 .v4-process-date--mobile {
    display:block;
    margin:0 0 3px;
    color:#666;
    font:700 15px/1.05 Arial,sans-serif;
  }
  .configurator-v4 .v4-process-copy { min-width:0; padding-right:4px; }
  .configurator-v4 .v4-process-copy h3 {
    margin:0;
    color:#000;
    text-align:left;
    font:400 20px/1.08 Arial,sans-serif;
  }
  .configurator-v4 .v4-process-copy p { display:none; }

  /* Fixed bar stays fully inside its white surface and above browser chrome. */
  body[data-configurator-mode="mats"] {
    padding-bottom:calc(118px + env(safe-area-inset-bottom));
  }
  .configurator-v4 .v4-purchase-bar {
    right:7px;
    bottom:max(14px, calc(env(safe-area-inset-bottom) + 6px));
    left:7px;
    box-sizing:border-box !important;
    width:auto;
    height:78px;
    min-height:78px;
    max-height:78px;
    display:block;
    overflow:hidden;
    padding:9px 10px;
    border-radius:18px;
    background:rgba(255,255,255,.97);
  }
  .configurator-v4 .v4-purchase-actions {
    box-sizing:border-box;
    width:100%;
    height:58px;
    min-height:58px;
    display:grid;
    grid-template-columns:minmax(112px,1fr) minmax(150px,44%);
    align-items:center;
    gap:8px;
    margin:0;
    padding:0;
  }
  .configurator-v4 .v4-purchase-price {
    box-sizing:border-box;
    height:58px;
    min-height:58px;
    align-items:center;
    justify-content:flex-start;
    margin:0;
    padding:0 8px;
  }
  .configurator-v4 .v4-purchase-actions>.v4-add-cart {
    position:static !important;
    inset:auto !important;
    box-sizing:border-box !important;
    width:100% !important;
    min-width:0 !important;
    height:56px !important;
    min-height:56px !important;
    max-height:56px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    align-self:center;
    margin:0 !important;
    padding:0 12px !important;
    border-radius:13px !important;
    line-height:1 !important;
    transform:none !important;
  }
}

@media (max-width:360px) {
  .configurator-v4 .v4-colors {
    grid-template-columns:repeat(8,28px);
    gap:6px;
  }
  .configurator-v4 .v4-colors button {
    width:28px;
    height:28px;
    min-width:28px;
    min-height:28px;
    flex-basis:28px;
  }
  .configurator-v4 .v4-colors i { width:20px; height:20px; }
  .configurator-v4 .v4-purchase-actions {
    grid-template-columns:minmax(104px,1fr) minmax(138px,44%);
  }
}
