/* Door category and placement pages. Type scale follows the updated mock; CTA yellow stays Nivo #ffb00b. */
.door-refresh {
  --nivo-ink: #272c25;
  --nivo-text: #4c514a;
  --nivo-muted: #686e63;
  --nivo-white: #fff;
  --nivo-surface: #f5f5f1;
  --nivo-surface-alt: #eeeee8;
  --nivo-line: #e1e3da;
  --nivo-yellow: #ffb00b;
  --nivo-yellow-hover: #efaa13;
  --nivo-yellow-soft: #fff3d0;
  --nivo-accent-ink: #775d17;
  --nivo-type-display: clamp(40px, 4.45vw, 64px);
  --nivo-type-page: clamp(32px, 3vw, 40px);
  --nivo-type-section: clamp(28px, 2.5vw, 36px);
  --nivo-type-title: clamp(20px, 1.67vw, 24px);
  --nivo-type-lead: 18px;
  --nivo-type-body: 16px;
  --nivo-type-meta: 14px;
  --nivo-type-price: 32px;
  --nivo-section-gap: 96px;
  --nivo-heading-gap: 32px;
  --nivo-panel-padding: 32px;
  --nivo-grid-gap: 24px;
  --nivo-hero-height: clamp(640px, 54vw, 780px);
  --nivo-radius-control: 10px;
  --nivo-radius-panel: 20px;
  --nivo-control-height: 52px;
  --yellow: #ffb00b;
  --header-height: 80px;
  --page-gutter: clamp(20px, 4vw, 56px);
  --section-space: var(--nivo-section-gap);
  --radius-control: var(--nivo-radius-control);
  --display-size: var(--nivo-type-display);
  --section-title-size: var(--nivo-type-section);
  --door-display: var(--nivo-type-display);
  --door-section-title: var(--nivo-type-section);
  --door-card-title: var(--nivo-type-title);
  --door-body: var(--nivo-type-body);
  --door-meta: var(--nivo-type-meta);
  display: block;
  width: 100%;
  min-width: 0;
  background: var(--nivo-white);
  color: var(--nivo-ink);
  padding: 0 var(--page-gutter) 80px;
  margin: 0 auto;
  font-family: Poppins, sans-serif;
  font-size: var(--nivo-type-body);
  line-height: 1.6;
}
.door-refresh h1 { font-weight: 500; letter-spacing: -.035em; line-height: 1.1; color: var(--nivo-ink); }
.door-refresh h2, .door-refresh h3 { font-weight: 500; color: var(--nivo-ink); margin: 0; }
.door-refresh p { color: var(--nivo-text); }
.door-refresh a { color: inherit; }
.door-refresh button, .door-refresh summary, .door-refresh input, .door-refresh select { font-family: inherit; color: inherit; }
.door-refresh button { cursor: pointer; }
.door-refresh .gr-kicker { font-size: var(--nivo-type-meta); text-transform: none; letter-spacing: .025em; color: var(--nivo-text); margin: 0; font-weight: 500; }
.door-refresh .gr-primary { display: inline-flex; align-items: center; justify-content: center; gap: 12px; min-height: var(--nivo-control-height); padding: 15px 23px; border: 0; border-radius: var(--nivo-radius-control); background: var(--yellow); color: #191919; font-size: var(--nivo-type-body); font-weight: 600; text-decoration: none; line-height: 1.4; }
.door-refresh .gr-primary:hover { background: var(--nivo-yellow-hover); }
.door-refresh .gr-text-link { display: inline-flex; align-items: center; gap: 14px; min-height: 46px; color: var(--nivo-ink); text-decoration: none; background: none; border: 0; padding: 0; font-size: var(--nivo-type-meta); }
.door-refresh .gr-text-link:hover { opacity: .7; }
.door-refresh .gr-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: var(--nivo-heading-gap); }
.door-refresh .gr-section-heading h2 { margin: 12px 0 0; }
.door-refresh .gr-help { background: var(--nivo-ink); color: var(--nivo-white); padding: clamp(28px, 4.5vw, 64px); border-radius: 8px; margin-block: var(--section-space); display: flex; justify-content: space-between; align-items: center; gap: 40px; }
.door-refresh .gr-help h2 { color: var(--nivo-white); margin: 0 0 16px; }
.door-refresh .gr-help p, .door-refresh .gr-help .gr-kicker { color: var(--nivo-line); margin: 0; }
.door-refresh .gr-help .door-actions { flex-shrink: 0; }
.door-refresh .gr-help .gr-text-link { color: var(--nivo-white); }
.door-refresh .gr-help .gr-primary { color: #191919; }
.door-refresh .sr-only, .door-refresh .visually-hidden { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.door-refresh .door-question { border-bottom: 1px solid var(--nivo-line); }

.door-model-heading { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin: 28px 0 36px; }
.door-model-heading-copy p { font-size: 12px; color: #767c71; margin: 0 0 6px; }
.door-model-heading h1 { font-size: 38px; line-height: 1.1; letter-spacing: -1.5px; font-weight: 500; margin: 0; color: #30362f; }
.door-model-heading .door-model-usp { margin: 10px 0 0; max-width: 420px; font-size: 15px; line-height: 1.5; color: #5c6356; }
.door-model-heading nav { display: flex; gap: 5px; background: #f5f5f1; border-radius: 30px; padding: 5px; flex-shrink: 0; }
.door-model-heading nav a { font-size: 12px; padding: 8px 15px; border-radius: 22px; white-space: nowrap; text-decoration: none; color: #30362f; }
.door-model-heading nav a[aria-current="page"] { background: #fff; box-shadow: 0 2px 8px #2732220c; }
.door-model-heading-select { display: none; }
@media (max-width: 700px) {
  .door-model-heading { display: block; margin: 18px 0 24px; }
  .door-model-heading h1 { font-size: 29px; }
  .door-model-heading nav { display: none; }
  .door-model-heading-select { display: flex; align-items: center; gap: 14px; margin-top: 16px; }
  .door-model-heading-select span { font-size: 14px; color: #697160; white-space: nowrap; }
  .door-model-heading-select select { flex: 1; min-height: 48px; border: 1px solid #e5e6df; border-radius: 12px; padding: 10px 12px; background: #fff; font: inherit; }
}
dialog.door-lightbox { width: min(900px, calc(100vw - 32px)); max-width: 900px; max-height: calc(100dvh - 32px); overflow: auto; border: 0; border-radius: 16px; padding: 24px; }
dialog.door-lightbox::backdrop { background: rgba(20, 22, 18, .72); }
dialog.door-lightbox img { width: 100%; height: 60dvh; object-fit: contain; }
.door-lightbox-controls { display: flex; justify-content: center; align-items: center; gap: 24px; margin-top: 12px; }
.door-lightbox-controls button { width: 44px; height: 44px; border: 0; border-radius: 50%; background: #f4f2ec; }
dialog.door-lightbox a { display: inline-block; margin-top: 12px; margin-right: 16px; }

/* door-category.css */
/* Page-scoped composition; typography, buttons and card rhythm use garden-refresh. */
.door-category section[id] { scroll-margin-top:calc(var(--header-height) + 24px); }
.door-refresh.door-category { max-width:none; padding-top:var(--header-height); }
.door-category .door-hero { position:relative; display:flex; align-items:center; min-height:640px; height:min(54vw,780px); margin-inline:calc(-1 * var(--page-gutter)); overflow:hidden; }
.door-category .door-hero>div { position:relative; z-index:1; width:50%; padding:30px 0 30px clamp(24px,5.5vw,88px); }
.door-category .door-hero>img { position:absolute; inset:0; width:100%; height:100%; object-fit:cover; }
.door-category .door-hero p:not(.gr-kicker) { max-width:380px; font-size:var(--nivo-type-body); margin:24px 0 30px; color:var(--nivo-ink); }
.door-category .door-hero .gr-kicker { color:var(--nivo-ink); font-weight:500; }
.door-category .door-hero .door-actions { max-width:460px; }
.door-category .door-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px 24px; }
.door-category .gr-text-link { text-decoration:none; }
.door-category .gr-text-link:hover { opacity:.65; }
.door-category .door-benefits { display:grid; grid-template-columns:repeat(4,1fr); gap:24px; padding:34px 0; border-bottom:1px solid var(--nivo-line); }
.door-category .door-benefits>a { display:flex; align-items:center; justify-content:center; gap:14px; font-size:var(--nivo-type-meta); }
.door-category .door-section { margin-block:var(--section-space); }
.door-category .door-placements { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
.door-category .door-placements :is(button,a) { text-align:left; border:0; padding:0; background:transparent; border-radius:6px; overflow:hidden; cursor:pointer; }
.door-category .door-placements img { width:100%; height:auto; aspect-ratio:16/9; object-fit:cover; object-position:center; border-radius:6px; }
.door-category .door-placements :is(button,a)>span { display:flex; justify-content:space-between; align-items:center; padding:22px 0; gap:16px; border-bottom:2px solid var(--nivo-line); }
.door-category .door-placements strong { display:block; font-size:var(--nivo-type-title); font-weight:500; }
.door-category .door-placements small { display:block; font-size:var(--nivo-type-meta); margin-top:6px; }
.door-category .door-placements [aria-pressed=true]>span { border-color:var(--yellow); }
.door-category .door-placements [aria-pressed=true] svg { background:var(--yellow); border-radius:50%; padding:6px; width:36px; height:36px; }
.door-category .door-guidance { font-size:var(--nivo-type-meta); max-width:940px; margin-top:24px; }
.door-category .door-guidance a { text-decoration:underline; text-underline-offset:3px; }
.door-category .door-result { display:block; font-size:var(--nivo-type-meta); margin-bottom:24px; }
.door-category .door-model-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:28px; }
.door-category .door-product-photo { position:relative; display:block; padding:0 0 38px!important; background:transparent; border-radius:0; }
.door-category .door-product-photo img { height:300px; width:100%; object-fit:contain; border-radius:0; }
.door-category .door-product-photo>span { position:absolute; bottom:8px; left:0; font-size:var(--nivo-type-meta); color:var(--nivo-text); }
.door-category .gr-product-card>p { min-height:72px; font-size:var(--nivo-type-meta); }
.door-category .gr-product-card:hover h3 { text-decoration:none; }
.door-category .door-view { display:flex; gap:12px; align-items:center; min-height:44px; font-size:var(--nivo-type-meta); }
.door-category .door-compare { background:var(--nivo-surface); padding:clamp(24px,4vw,56px); border-radius:var(--radius-control); }
.door-category .door-compare-select { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-bottom:24px; }
.door-category .door-compare label { display:grid; gap:8px; font-size:var(--nivo-type-meta); }
.door-category select { width:100%; min-height:48px; padding:12px; background:white; border:1px solid var(--nivo-line); border-radius:var(--radius-control); font:inherit; }
.door-category table { width:100%; table-layout:fixed; border-collapse:collapse; font-size:var(--nivo-type-meta); }
.door-category th,.door-category td { text-align:left; vertical-align:top; padding:18px 16px; border-bottom:1px solid var(--nivo-line); overflow-wrap:anywhere; }
.door-category th { font-weight:500; }
.door-category th:first-child { width:25%; padding-left:0; }
.door-category summary { cursor:pointer; min-height:48px; padding:20px 0; }
.door-category details>p { font-size:var(--nivo-type-meta); }
.door-category .door-details { display:grid; grid-template-columns:1.1fr 1fr; gap:clamp(36px,7vw,100px); align-items:center; }
.door-category .door-details-intro>img { margin-top:32px; width:100%; height:310px; object-fit:cover; object-position:50% 55%; border-radius:6px; }
.door-category .door-details h2 { margin:14px 0 24px; }
.door-category .door-detail-grid { display:grid; grid-template-columns:1fr 1fr; gap:36px; }
.door-category .door-detail-grid h3 { margin:20px 0 12px; }
.door-category .door-detail-grid p { font-size:var(--nivo-type-meta); }
.door-category .door-materials { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; }
.door-category .door-crop { position:relative; overflow:hidden; aspect-ratio:4/3; border-radius:var(--radius-control); background:var(--nivo-surface); }
.door-category .door-crop img { position:absolute; width:100%; height:100%; object-fit:cover; }
.door-category .door-crop.surface img { transform:scale(2.3); object-position:50% 40%; }
.door-category .door-crop.handle img { transform:scale(2.4); transform-origin:75% 56%; }
.door-category .door-crop.glass img { transform:scale(1.7); transform-origin:50% 35%; }
.door-category .door-gallery { display:flex; gap:24px; overflow-x:auto; scroll-snap-type:x mandatory; padding-bottom:20px; }
.door-category .door-gallery figure { margin:0; min-width:0; flex:0 0 32%; scroll-snap-align:start; }
.door-category .door-gallery button { display:block; width:100%; cursor:zoom-in; border:0; padding:0; background:var(--nivo-surface); border-radius:var(--radius-control); overflow:hidden; }
.door-category .door-gallery img { width:100%; height:480px; object-fit:cover; }
.door-category .door-gallery a { font-size:var(--nivo-type-meta); }
.door-category .door-final { margin-bottom:0; }
.door-category .door-model-grid h3 { font-size:var(--nivo-type-title)!important; }
.door-category .door-final>div:first-child { max-width:650px; }
.door-lightbox[data-slot=dialog-content] { width:min(900px,calc(100vw - 32px)); max-width:900px; max-height:calc(100dvh - 32px); overflow:auto; z-index:120; }
.door-lightbox>img { width:100%; height:60dvh; object-fit:contain; }
.door-lightbox-controls { display:flex; justify-content:center; align-items:center; gap:24px; }
.door-category :is(select,a,button,summary):focus-visible { outline:2px solid var(--nivo-ink); outline-offset:4px; }

@media(max-width:991px) {
 .door-category .door-hero { min-height:540px; height:65vw; margin-inline:-24px; }
 .door-category .door-hero>div { padding:44px 0 0 24px; width:48%; align-self:flex-start; }
 .door-category .door-hero h1 { font-size:var(--nivo-type-display)!important; }
 .door-category .door-hero p:not(.gr-kicker) { font-size:var(--nivo-type-body); max-width:300px; margin:18px 0 20px; }
 .door-category .door-hero>img { object-position:60% center; }
 .door-category .door-model-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 20px; }
 .door-category .door-model-grid h3 { font-size:var(--nivo-type-title)!important; }
 .door-category .door-product-photo img { height:230px; }
 .door-category .door-product-photo>span { font-size:var(--nivo-type-meta); }
 .door-category .door-model-grid .gr-product-card>p { font-size:var(--nivo-type-meta); min-height:110px; }
 .door-category .door-benefits { grid-template-columns:1fr 1fr; }
 .door-category .door-benefits>a { justify-content:flex-start; }
 .door-category .door-details { grid-template-columns:1fr; gap:36px; }
 .door-category .door-details-intro>img { height:360px; }
 .door-category .door-gallery figure { flex-basis:44%; }
 .door-category .door-compare { padding:24px; }
 .door-category .door-materials { gap:16px; }
}
@media(max-width:600px) {
 .door-category .door-hero { display:flex; flex-direction:column; align-items:stretch; height:auto; min-height:0; margin-inline:-20px; }
 .door-category .door-hero>div { width:100%; padding:26px 20px 24px; }
 .door-category .door-hero h1 { font-size:var(--nivo-type-display)!important; margin:10px 0 14px!important; }
 .door-category .door-hero p:not(.gr-kicker) { font-size:var(--nivo-type-body); max-width:330px; margin:14px 0 18px; }
 .door-category .door-hero>img { position:static; width:100%; height:350px; object-fit:cover; object-position:78% center; }
 .door-category .door-hero .door-actions { gap:6px 18px; }
 .door-category .door-hero .gr-primary { min-height:48px; padding:12px 18px; }
 .door-category .door-hero .gr-text-link { font-size:var(--nivo-type-meta); gap:8px; }
 .door-category .door-benefits { gap:24px 16px; padding:26px 0; }
 .door-category .door-benefits>a { font-size:var(--nivo-type-meta); align-items:flex-start; }
 .door-category .door-benefits svg { flex-shrink:0; width:22px; }
 .door-category .door-section { margin-block:60px; }
 .door-category .door-placements { grid-template-columns:1fr; gap:24px; }
 .door-category .door-placements img { height:auto; aspect-ratio:4/3; object-position:65% center; }
 .door-category .door-placements :is(button,a)>span { padding:16px 0; }
 .door-category .door-placements strong { font-size:var(--nivo-type-title); }
 .door-category .door-model-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:30px 18px; }
 .door-category .door-product-photo img { height:240px; }
 .door-category .door-model-grid .gr-product-card>p { font-size:var(--nivo-type-meta); min-height:100px; }
 .door-category .door-product-photo>span { font-size:var(--nivo-type-meta); }
 .door-category .gr-section-heading { align-items:flex-start; flex-direction:column; gap:12px; }
 .door-category .door-compare { padding:24px 14px; }
 .door-category .door-compare-select { gap:12px; }
 .door-category table { font-size:var(--nivo-type-meta); }
 .door-category th,.door-category td { padding:14px 8px; }
 .door-category th:first-child { width:31%; }
 .door-category .door-detail-grid { grid-template-columns:1fr; gap:24px; }
 .door-category .door-materials { grid-template-columns:1fr; gap:28px; }
 .door-category .door-gallery { margin-inline:-20px; padding-inline:20px; gap:16px; }
 .door-category .door-gallery figure { flex-basis:84%; }
 .door-category .door-gallery img { height:420px; object-fit:cover; }
 .door-category .door-final { padding:28px 24px; }
}

/* Consistent, complete model portraits and uncropped authentic references. */
.door-category .door-product-photo img { border-radius:6px; background:var(--nivo-surface); }
.door-category .door-model-grid { gap:24px; }
.door-category .door-gallery img { object-fit:contain; background:var(--nivo-surface); }
.door-category .door-gallery button { border-radius:10px; }
.door-category .door-crop.handle img { transform:scale(2.2); transform-origin:75% 60%; }
.door-category .door-crop.glass img { transform:scale(1.5); transform-origin:48% 36%; }
@media(max-width:600px) { .door-category .door-model-grid { gap:24px 16px; } .door-category .door-gallery img { object-fit:contain; } }

/* Choice-led category: compact solutions, inline comparison and tactile details. */
.door-category :is(section,article)[id] { scroll-margin-top:calc(var(--header-height) + 24px); }
.door-category .door-solution-grid { display:grid; grid-template-columns:1fr 1fr; gap:34px 64px; }
.door-category .door-solution-grid h3 { margin:0 0 12px; font-size:var(--nivo-type-title); font-weight:500; letter-spacing:-.025em; }
.door-category .door-solution-grid p { font-size:var(--nivo-type-meta); line-height:1.75; color:var(--nivo-text); margin:0 0 12px; }
.door-category .door-solution-grid a { font-size:var(--nivo-type-meta); }
.door-category .door-solutions { margin-block:72px; }
.door-category .door-model-card { min-width:0; display:flex; flex-direction:column; }
.door-category .door-model-card .door-product-photo { padding:0!important; width:100%; overflow:hidden; border-radius:6px; }
.door-category .door-model-card .door-product-photo img { display:block; width:100%; height:auto; aspect-ratio:3/4; object-fit:cover; }
.door-category .door-model-placement { font-size:var(--nivo-type-meta); color:var(--nivo-muted); margin:15px 0 10px; min-height:36px; }
.door-category .door-model-card h3 { font-size:var(--nivo-type-title); font-weight:500; line-height:1.3; margin:0 0 12px; }
.door-category .door-model-card>p { font-size:var(--nivo-type-meta); line-height:1.6; min-height:68px; margin:0 0 22px; color:var(--nivo-text); }
.door-category .door-model-price { margin-top:auto; margin-bottom:18px; }
.door-category .door-model-price small { display:block; font-size:var(--nivo-type-meta); line-height:1.6; color:var(--nivo-muted); }
.door-category .door-model-price strong { display:block; font-size:var(--nivo-type-title); font-weight:500; letter-spacing:-.04em; white-space:nowrap; margin:5px 0; }
.door-category .door-plan { display:flex; justify-content:space-between; width:100%; padding:14px; font-size:var(--nivo-type-meta); min-height:48px; gap:8px; }
.door-category .door-model-detail { font-size:var(--nivo-type-meta); align-self:center; padding:14px; text-decoration:none; color:var(--nivo-text); }
.door-category .door-model-detail:hover { color:var(--nivo-ink); }
.door-category .door-price-terms { margin-top:24px; max-width:920px; color:var(--nivo-text); font-size:var(--nivo-type-meta); line-height:1.7; }
.door-category .door-price-terms summary { min-height:44px; padding:12px 0; color:var(--nivo-ink); }
.door-category .door-price-terms details>p { font-size:var(--nivo-type-meta); }
.door-category .door-price-terms a { text-decoration:underline; text-underline-offset:3px; }
.door-category .door-comparison { background:var(--nivo-surface); border-radius:10px; padding:32px; margin-top:-24px; }
.door-category .door-comparison .gr-section-heading { margin-bottom:0; }
.door-category .door-comparison.is-open .gr-section-heading { margin-bottom:26px; }
.door-category .door-comparison h2 { font-size:var(--nivo-type-section); }
.door-category .door-compare-tools { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:20px; font-size:var(--nivo-type-meta); }
.door-category .door-compare-tools label { display:flex; gap:10px; align-items:center; min-height:44px; }
.door-category input[type=checkbox] { accent-color:var(--nivo-ink); width:16px; height:16px; }
.door-category .door-comparison-table { width:100%; table-layout:fixed; }
.door-category .door-comparison-table th:first-child { width:26%; }
.door-category .door-comparison-table thead th { vertical-align:bottom; border:0; padding-top:0; }
.door-category .door-comparison-table thead th>img { width:60px; height:80px; object-fit:cover; border-radius:4px; margin:0 0 14px; }
.door-category .door-comparison-table select { border:0; background:white; padding:10px 8px; font-weight:500; font-size:var(--nivo-type-lead); min-height:48px; }
.door-category .door-comparison-table :is(th,td) { padding:18px 14px; border-color:var(--nivo-line); font-size:var(--nivo-type-meta); line-height:1.6; overflow-wrap:break-word; }
.door-category .door-comparison-table th { font-weight:400; color:var(--nivo-text); }
.door-category .door-comparison-table td[data-field='Bruttó induló ár'] { font-weight:500; font-size:var(--nivo-type-title); color:var(--nivo-ink); }
.door-category .door-comparison-table tfoot :is(td,th) { border:0; }
.door-category .door-comparison-table tfoot a { display:inline-flex; align-items:center; gap:12px; min-height:44px; font-size:var(--nivo-type-meta); text-decoration:none; }
.door-category .door-compare-note,.door-category .door-technical>p { font-size:var(--nivo-type-meta); color:var(--nivo-muted); line-height:1.7; max-width:900px; margin:10px 0 0; }
.door-category .door-technical summary { font-size:var(--nivo-type-meta); }
.door-category .door-materials figure { margin:0; min-width:0; }
.door-category .door-detail-photo { width:100%; aspect-ratio:4/3; overflow:hidden; border-radius:6px; }
.door-category .door-detail-photo img { display:block; width:100%; height:100%; object-fit:cover; }
.door-category .door-materials h3 { font-size:var(--nivo-type-title); font-weight:500; margin:20px 0 8px; }
.door-category .door-materials p { font-size:var(--nivo-type-meta); line-height:1.6; color:var(--nivo-muted); margin:0; }
.door-category .door-gallery { max-width:1100px; margin-inline:auto; gap:28px; }
.door-category .door-gallery figure { flex:0 0 calc((100% - 56px)/3); }
.door-category .door-gallery button { aspect-ratio:3/5; background:transparent; border-radius:6px; }
.door-category .door-gallery img { display:block; width:100%; height:100%; object-fit:cover; }
.door-category .door-gallery figcaption p { font-size:var(--nivo-type-meta); margin:16px 0 8px; }
@media(max-width:991px) { .door-category .door-model-card>p { min-height:68px; } .door-category .door-solution-grid { gap:28px; } .door-category .door-gallery { gap:18px; } .door-category .door-gallery figure { flex-basis:calc((100% - 36px)/3); } }
@media(max-width:600px) {
 .door-category .door-solution-grid { grid-template-columns:1fr; gap:28px; }
 .door-category .door-solutions { margin-block:56px; }
 .door-category .door-solution-grid h3 { font-size:var(--nivo-type-title); }
 .door-category .door-model-card h3 { font-size:var(--nivo-type-title)!important; }
 .door-category .door-model-card>p { min-height:90px; font-size:var(--nivo-type-meta); margin-bottom:18px; }
 .door-category .door-model-placement { min-height:34px; font-size:var(--nivo-type-meta); }
 .door-category .door-model-price strong { font-size:var(--nivo-type-title); }
 .door-category .door-plan { font-size:var(--nivo-type-meta); padding:12px 10px; }
 .door-category .door-comparison { padding:22px 14px; margin-inline:-8px; }
 .door-category .door-comparison-table :is(th,td) { font-size:var(--nivo-type-meta); padding:13px 7px; }
 .door-category .door-comparison-table th:first-child { width:26%; }
 .door-category .door-comparison-table select { font-size:var(--nivo-type-meta); padding:8px 2px; }
 .door-category .door-comparison-table td[data-field='Bruttó induló ár'] { font-size:var(--nivo-type-body); }
 .door-category .door-comparison-table tfoot a { font-size:var(--nivo-type-meta); gap:4px; }
 .door-category .door-comparison-table thead th>img { width:48px; height:64px; }
 .door-category .door-materials { gap:32px; }
 .door-category .door-gallery { margin-inline:-20px; padding-inline:20px; gap:18px; }
 .door-category .door-gallery figure { flex-basis:84%; }
 .door-category .door-gallery img { height:100%; object-fit:cover; }
}
@media(max-width:600px) {
 .door-category .door-comparison .gr-section-heading { gap:16px; }
 .door-category .door-comparison .gr-section-heading p { font-size:var(--nivo-type-meta); margin-top:12px; }
 .door-category .door-comparison-table :is(thead,tbody,tfoot) { display:block; width:100%; }
 .door-category .door-comparison-table tr { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
 .door-category .door-comparison-table thead th:first-child,.door-category .door-comparison-table tfoot th { display:none; }
 .door-category .door-comparison-table tbody tr { border-bottom:1px solid var(--nivo-line); padding:12px 0; }
 .door-category .door-comparison-table tbody th:first-child { grid-column:1/-1; width:auto; padding:0 7px 7px; border:0; font-size:var(--nivo-type-meta); color:var(--nivo-muted); }
 .door-category .door-comparison-table tbody td { padding:0 7px; border:0; font-size:var(--nivo-type-meta); }
 .door-category .door-comparison-table select { font-size:var(--nivo-type-body); }
 .door-category .door-comparison-table td[data-field='Bruttó induló ár'] { font-size:var(--nivo-type-body); }
}
/* Integrated model choice and native mobile rails. */
.door-category .door-model-results { margin-top:28px; }
.door-model-result-heading { display:flex; justify-content:space-between; align-items:center; gap:16px; margin-bottom:22px; }
.door-category .door-model-result-heading .door-result { margin:0; }
.door-placement-help { font-size:var(--nivo-type-meta); margin-top:12px; }
.door-category .door-placement-help .door-guidance { margin:0; }
.door-rail { min-width:0; }.door-rail-controls { display:none; }
.door-category .door-solution-grid { gap:32px; }
.door-category .door-solution-grid article { min-width:0; }
.door-category .door-solution-photo { width:100%; aspect-ratio:16/9; height:auto; object-fit:cover; border-radius:12px; margin-bottom:22px; }
.door-category .door-solution-grid details summary { padding:6px 0; min-height:40px; font-size:var(--nivo-type-meta); color:var(--nivo-muted); }
.door-category .door-solution-grid details { margin-bottom:10px; }
.door-experience-tabs { display:none; }
@media(max-width:600px) {
 .door-category { --section-space:44px; }
 .door-category .door-hero>div { padding:22px 20px; }
 .door-category .door-hero h1 { font-size:var(--nivo-type-display)!important; }
 .door-category .door-hero>img { height:220px; }
 .door-category .door-hero .gr-text-link { display:none; }
 .door-category .door-benefits { display:flex; justify-content:space-between; padding:18px 0; border:0; }
 .door-category .door-benefits>a:nth-child(n+3) { display:none; }
 .door-category .door-section { margin-block:44px; }
 .door-category #elhelyezes { margin-top:26px; }
 .door-category #elhelyezes>.gr-section-heading { flex-direction:row; align-items:center; margin-bottom:18px; gap:12px; }
 .door-category #elhelyezes>.gr-section-heading h2 { font-size:var(--nivo-type-section); }
 .door-category #elhelyezes>.gr-section-heading .gr-text-link { font-size:var(--nivo-type-meta); white-space:nowrap; }
 .door-category .door-placements { grid-template-columns:1fr 1fr; gap:12px; }
 .door-category .door-placements img { aspect-ratio:16/9; object-position:72% center; }
 .door-category .door-placements :is(button,a)>span { padding:10px 0; gap:4px; }
 .door-category .door-placements strong { font-size:var(--nivo-type-body); }
 .door-category .door-placements small { display:none; }
 .door-category .door-placements :is(button,a) svg { width:20px; height:20px; }
 .door-category .door-placements [aria-pressed=true] svg { padding:3px; width:24px; height:24px; }
 .door-category .door-model-results { margin-top:18px; }
 .door-model-result-heading { margin-bottom:16px; }.door-model-result-heading .gr-text-link { font-size:var(--nivo-type-meta); }
 .door-category .door-model-grid,.door-category .door-solution-grid { display:flex; position:relative; gap:16px; overflow-x:auto; scroll-snap-type:x proximity; scrollbar-width:none; overscroll-behavior-x:contain; padding-bottom:8px; }
 .door-category .door-model-grid::-webkit-scrollbar,.door-category .door-solution-grid::-webkit-scrollbar { display:none; }
 .door-category .door-model-card,.door-category .door-solution-grid article { flex:0 0 84%; scroll-snap-align:start; }
 .door-category .door-model-grid.is-single .door-model-card { flex-basis:100%; }
 .door-category .door-model-card .door-product-photo img { height:230px; aspect-ratio:auto; object-fit:contain; background:transparent; }
 .door-category .door-model-placement { margin:12px 0 6px; min-height:0; font-size:var(--nivo-type-meta); }
 .door-category .door-model-card h3 { margin:0 0 8px; }
 .door-category .door-model-card>p { min-height:42px; font-size:var(--nivo-type-meta); margin:0 0 12px; }
 .door-category .door-model-price { margin-bottom:12px; }
 .door-category .door-model-price strong { font-size:var(--nivo-type-title); margin:2px 0; }
 .door-category .door-plan { font-size:var(--nivo-type-meta); }
 .door-rail-controls { display:flex; justify-content:space-between; align-items:center; margin-top:12px; font-size:var(--nivo-type-meta); }
 .door-rail-controls>div { display:flex; gap:8px; }.door-rail-controls button { width:44px; height:44px; display:grid; place-items:center; border:0; border-radius:50%; background:var(--nivo-surface); }.door-rail-controls button:disabled { opacity:.3; }
 .door-category .door-solution-photo { aspect-ratio:16/10; margin-bottom:18px; }
 .door-category .door-solution-grid h3 { font-size:var(--nivo-type-title); }
 .door-category .door-solution-grid article>div { display:flex; flex-direction:column; }
 .door-category .door-solution-grid article>div>p { min-height:72px; }
 .door-experience-tabs { display:block; margin-bottom:22px; }
 .door-category .door-experience-tabs h2 { font-size:var(--nivo-type-section); margin-bottom:20px; }
 .door-experience-tabs>div { display:flex; gap:8px; }
 .door-experience-tabs button { flex:1; min-height:48px; border:0; background:var(--nivo-surface); border-radius:8px; font-size:var(--nivo-type-meta); }.door-experience-tabs button[aria-pressed=true] { background:var(--nivo-yellow-soft); }
 .door-experience-switch[data-view=makeover] .door-sound,.door-experience-switch[data-view=sound] .door-makeover { display:none; }
 .door-category .door-experience-switch .door-section { margin-top:0; }
 .door-category .door-experience-switch .gr-section-heading h2,.door-category .door-experience-switch .gr-kicker { display:none; }
 .door-category .door-experience-switch .gr-section-heading { margin-bottom:20px; }
 .door-category .door-makeover-frame { aspect-ratio:1/1; }
 .door-category .door-materials { display:grid; grid-template-columns:1fr; gap:20px; }
 .door-category .door-materials figure { display:grid; grid-template-columns:110px 1fr; gap:16px; align-items:center; }
 .door-category .door-materials h3 { margin:0 0 6px; font-size:var(--nivo-type-title); }.door-category .door-materials p { font-size:var(--nivo-type-meta); }
 .door-category .door-detail-photo { aspect-ratio:1; }
 .door-category .door-service { padding:24px 20px; }.door-category .door-service ol { gap:16px; margin:22px 0; }.door-category .door-service li h3 { font-size:var(--nivo-type-title); margin-bottom:3px; }.door-category .door-service li p { font-size:var(--nivo-type-meta); }
 .door-category .door-service .gr-section-heading { margin-bottom:20px; }
 .door-category .door-gallery figure { flex-basis:72%; }.door-category .door-gallery button { aspect-ratio:3/4; }.door-category .door-gallery img { object-fit:contain; background:transparent; }
}

/* Shared hierarchy: display / section / card / body / meta. */
.door-category { --door-display:clamp(36px,4.5vw,64px); --door-section-title:clamp(28px,3vw,40px); --door-card-title:22px; --door-body:14px; --door-meta:12px; --door-action:14px; }
.door-category .door-hero h1 { font-size:var(--door-display)!important; }
.door-category :is(.gr-section-heading,.door-experience-tabs,.door-service,.door-final) h2,
.door-category #elhelyezes>.gr-section-heading h2 { font-size:var(--door-section-title); line-height:1.15; }
.door-category :is(.door-model-card,.door-solution-grid,.door-materials,.door-service) h3 { font-size:var(--door-card-title)!important; line-height:1.3; }
.door-category :is(.door-solution-grid,.door-materials,.door-service,.door-gallery) p,
.door-category .gr-section-heading p { font-size:var(--door-body); line-height:1.6; }
.door-category :is(.gr-primary,.gr-text-link,.door-plan,.door-model-detail) { font-size:var(--door-action); }
.door-category :is(.door-price-terms,.door-compare-note,.door-model-placement,.door-model-context) { font-size:var(--door-meta); line-height:1.6; }
.door-category .door-model-result-heading { margin-bottom:6px; }
.door-category .door-model-context { margin:0 0 20px; color:var(--nivo-muted); }
.door-category .door-model-placement { min-height:0; margin:14px 0 4px; }
.door-category .door-model-card h3 { margin:0 0 6px; }
.door-category .door-model-card>p { font-size:var(--door-body); line-height:1.5; min-height:42px; margin:0 0 12px; }
.door-category .door-model-price { margin-top:auto; margin-bottom:12px; }
.door-category .door-model-price strong { font-size:var(--nivo-type-title); margin:0; line-height:1.3; }
.door-category .door-model-actions { display:flex; flex-direction:column; gap:0; }
.door-category .door-model-actions .door-plan { min-height:44px; padding:11px 14px; }
.door-category .door-model-actions .door-model-detail { min-height:44px; display:flex; align-items:center; padding:8px 14px; }
.door-category .door-price-terms { margin-top:12px; }
.door-category .door-comparison-table img { object-fit:contain; }
@media(max-width:600px) {
 .door-category { --door-card-title:20px; }
 .door-category .door-model-placement { margin-top:10px; }
 .door-category .door-model-card>p { min-height:0; }
 .door-category .door-model-context { margin-bottom:16px; }
}
.door-category h2 { font-size:var(--door-section-title)!important; line-height:1.15; }

/* Mobile refinement: connected category choices and three-model comparison. */
.door-category .door-model-price small { display:block; font-size:var(--nivo-type-meta); color:var(--nivo-muted); margin-bottom:2px; }
.door-category .door-compare-trigger { min-height:46px; padding:12px 20px; white-space:nowrap; }
.door-category .door-placements { gap:18px; }
.door-category .door-placements :is(button,a) { background:var(--nivo-surface); border-radius:14px; }
.door-category .door-placements :is(button,a)>span { padding:14px 16px; border:0; }
.door-category .door-placements :is(button,a)[aria-pressed=true] { background:var(--nivo-yellow-soft); }
.door-category .door-placements img { border-radius:0; }
.door-category .door-gallery button { aspect-ratio:3/4; background:var(--nivo-surface); border-radius:14px; }
.door-category .door-gallery img { object-fit:contain; }
@media(max-width:700px) {
 .door-category .door-section { margin-block:32px; }
 .door-category .door-placements { gap:10px; }
 .door-category .door-placements :is(button,a)>span { padding:10px; }
 .door-category .door-placements strong { font-size:var(--nivo-type-body); }
 .door-category .door-model-results { margin-top:14px; }
 .door-category .door-model-result-heading { gap:10px; flex-wrap:wrap; }
 .door-category .door-model-result-heading .door-compare-trigger { padding:10px 14px; font-size:var(--nivo-type-meta); }
 .door-category .door-comparison { margin-top:0; padding:20px 12px; margin-inline:0; border-radius:16px; }
 .door-category .door-comparison .door-compare-trigger { width:100%; justify-content:center; }
 .door-category .door-comparison-table tr { grid-template-columns:repeat(3,minmax(0,1fr)); }
 .door-category .door-comparison-table :is(th,td) { min-width:0; }
 .door-category .door-comparison-table select { width:100%; font-size:var(--nivo-type-meta); min-height:44px; padding:8px 0; }
 .door-category .door-comparison-table tbody td { font-size:var(--nivo-type-meta); padding:0 4px; line-height:1.5; }
 .door-category .door-comparison-table td[data-field='Bruttó induló ár'] { font-size:var(--nivo-type-meta); }
 .door-category .door-comparison-table tfoot a { font-size:var(--nivo-type-meta); gap:2px; }
 .door-category .door-comparison-table tfoot a svg { display:none; }
 .door-category .door-comparison-table tbody th:first-child { font-size:var(--nivo-type-meta); padding-left:4px; }
 .door-category .door-gallery { gap:14px; }
 .door-category .door-gallery figure { flex-basis:86%; }
 .door-category .door-service { padding:24px 18px; }
 .door-service-intro { gap:18px; margin-bottom:24px; }
 .door-coverage img { max-width:270px; }
}
@media(min-width:701px) and (max-width:1199px) {
 .door-category .door-comparison-table select { width:100%; font-size:var(--nivo-type-meta); }
}

.door-compare-model-name { display:none; }
.door-category .door-makeover-frame { aspect-ratio:3/4; }
@media(max-width:360px) { .door-compare-model-name { display:block; font-size:var(--nivo-type-meta); font-weight:500; margin-bottom:6px; color:var(--nivo-ink); } }

.door-model-colors { display:flex; flex-wrap:wrap; gap:2px 6px; font-size:var(--nivo-type-meta); line-height:1.5; color:var(--nivo-muted); margin:4px 0 8px; }
.door-model-colors span:last-child { white-space:nowrap; }
.door-model-colors span:last-child::before { content:'·'; margin-right:6px; }
@media(min-width:992px) {
 .door-category .door-hero>div { padding-left:clamp(112px,12vw,220px); width:58%; }
 .door-category .door-hero h1 { font-size:var(--nivo-type-display)!important; }
 .door-category .door-hero .door-actions { max-width:400px; }
}
@media(min-width:601px) and (max-width:991px) {
 .door-category .door-hero>div { padding-left:7vw; width:55%; }
}
@media(min-width:992px) { .door-category .door-hero>div { transform:translateY(-28px); } }
.door-mobile-models,.door-mobile-comparison{display:none}
@media(max-width:700px){
.door-desktop-models,.door-category .door-compare-trigger,.door-comparison #door-comparison-content{display:none!important}
.door-mobile-models,.door-mobile-comparison{display:block}.door-mobile-model-rail{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;padding:4px 2px 12px;scrollbar-width:thin}.door-mobile-model-rail button{flex:0 0 44%;scroll-snap-align:start;border-radius:16px;background:var(--nivo-surface);padding:12px;display:grid;justify-items:center;gap:8px;border:0;transition:background .16s,box-shadow .16s}.door-mobile-model-rail button[aria-pressed=true]{background:var(--nivo-yellow-soft);box-shadow:inset 0 0 0 2px var(--nivo-yellow)}.door-mobile-model-rail img{height:96px;width:100%;object-fit:contain}.door-mobile-model-rail strong{font-size:var(--nivo-type-meta);font-weight:600}.door-mobile-active-model{padding:18px 0 4px}.door-mobile-active-model>small{font-size:var(--nivo-type-meta);color:var(--nivo-muted)}.door-mobile-active-model h3{font-size:var(--nivo-type-title);margin:4px 0 6px;font-weight:500;letter-spacing:-.5px}.door-mobile-active-model p{font-size:var(--nivo-type-meta);line-height:1.5;margin:0 0 12px}.door-mobile-active-model>div{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px;gap:12px}.door-mobile-active-model>div small{font-size:var(--nivo-type-meta);color:var(--nivo-muted)}.door-mobile-active-model strong{font-size:var(--nivo-type-title);font-weight:500}.door-mobile-active-model .gr-primary{display:flex;justify-content:space-between;width:100%;min-height:46px}.door-model-context{font-size:var(--nivo-type-meta)!important;line-height:1.5}
.door-mobile-compare-selects{display:grid;grid-template-columns:1fr 1fr;gap:12px;position:sticky;top:64px;background:var(--nivo-white);z-index:2;padding:10px 0}.door-mobile-compare-selects label{min-width:0}.door-mobile-compare-selects label span{display:block;font-size:var(--nivo-type-meta);color:var(--nivo-muted);margin-bottom:5px}.door-mobile-compare-selects select{width:100%;border:0;border-radius:12px;padding:12px 8px;background:var(--nivo-surface);font-size:var(--nivo-type-meta);font-weight:600;color:var(--nivo-ink)}.door-mobile-compare-row{display:grid;grid-template-columns:1fr 1fr;gap:8px 18px;padding:13px 0;border-bottom:1px solid var(--nivo-surface-alt)}.door-mobile-compare-row dt{grid-column:1/-1;font-size:var(--nivo-type-meta);color:var(--nivo-muted)}.door-mobile-compare-row dd{font-size:var(--nivo-type-meta);line-height:1.5;margin:0}.door-mobile-comparison .door-technical{margin-top:12px}
}

.door-category .door-placements a{display:block;color:inherit;text-decoration:none}

.door-category .door-benefits>a{color:inherit;text-decoration:none;min-height:44px;border-radius:10px;padding:8px;transition:background .15s}
.door-category .door-benefits>a:hover{background:#faf3df}
.door-category .door-benefits>a:focus-visible{outline:2px solid var(--nivo-accent-ink);outline-offset:3px}
.door-category .door-benefits .door-benefit-arrow{width:14px;flex-shrink:0;color:var(--nivo-accent-ink)}
.door-category article[id]{scroll-margin-top:calc(var(--header-height) + 24px);scroll-margin-inline:20px}
@media(max-width:700px){.door-category .door-benefits{display:grid;grid-template-columns:1fr 1fr;gap:8px}.door-category .door-benefits>a:nth-child(n){display:flex;align-items:center;font-size:var(--nivo-type-meta);gap:8px}.door-category .door-benefits .door-benefit-arrow{display:none}}

/* Swipe surfaces continue to the viewport edge, while cards align to the copy. */
@media(max-width:700px){
 .door-category :is(.door-mobile-model-rail,.door-solution-grid,.door-gallery,.door-model-grid){margin-inline:calc(-1 * var(--page-gutter));padding-inline:var(--page-gutter);scroll-padding-inline:var(--page-gutter);width:auto;max-width:none;box-sizing:border-box}
 .door-category .door-mobile-compare-selects{top:var(--header-height);padding:10px 0;gap:12px}
 .door-mobile-compare-selects label{display:grid;grid-template-columns:48px minmax(0,1fr);align-items:center;column-gap:8px;background:var(--nivo-surface);border-radius:14px;padding:8px}
 .door-mobile-compare-selects label img{width:48px;height:64px;object-fit:contain;grid-row:1/3;border-radius:6px}
 .door-mobile-compare-selects label span{margin:0;font-size:var(--nivo-type-meta)}
 .door-mobile-compare-selects label select{min-width:0;padding:8px 2px;font-size:var(--nivo-type-meta);background:transparent}
}
@media(max-width:700px){
 .door-mobile-compare-selects label img{width:36px;height:48px;grid-row:1}
 .door-mobile-compare-selects label{grid-template-columns:36px minmax(0,1fr);row-gap:4px}
 .door-mobile-compare-selects label select{grid-column:1/-1;width:100%;font-size:var(--nivo-type-meta)}
 .door-category .door-mobile-compare-selects{background:var(--nivo-surface)}
}

/* Custom select triggers occupy the full card, not the old native-select column. */
.door-mobile-compare-selects .door-compare-choice{display:grid;grid-template-columns:40px minmax(0,1fr);gap:8px;align-items:center;min-width:0;padding:10px;background:var(--nivo-surface);border-radius:16px}
.door-compare-choice>img{width:40px;height:56px;object-fit:contain;border-radius:6px}
.door-compare-choice-label{font-size:var(--nivo-type-meta);line-height:1.4;color:var(--nivo-muted)}
.door-category .door-compare-choice>.door-select-trigger{grid-column:1/-1;width:100%;min-width:0;min-height:48px;padding:10px;font-size:var(--nivo-type-meta);border:1px solid var(--nivo-line);background:var(--nivo-white);border-radius:12px;text-align:left}
.door-category .door-comparison-table .door-select-trigger{width:100%;min-height:48px;font-size:var(--nivo-type-body);text-align:left}
.door-category .door-comparison-table .door-compare-model-name{display:none}
.door-category .door-select-trigger .door-select-label{font-size:inherit;line-height:1.4;color:var(--nivo-ink);margin:0}
.door-category .door-select-trigger .door-select-label>span{font-size:inherit;color:inherit;margin:0}
@media(max-width:360px){.door-mobile-compare-selects .door-compare-choice{padding:8px;gap:6px}.door-category .door-compare-choice>.door-select-trigger{padding:8px;font-size:var(--nivo-type-meta)}}

/* door-experience.css */
.door-sound { display:grid; grid-template-columns:1fr 1.1fr; gap:8%; align-items:center; }
.door-sound .gr-section-heading { margin:0; }
.door-sound .gr-text-link { margin-top:22px; }
.door-sound-panel { padding:32px; border-radius:20px; background:var(--nivo-surface); }
.door-sound-source { display:flex; gap:14px; align-items:center; margin-bottom:26px; font-size:var(--nivo-type-body); }
.door-sound-source small,.door-sound-options small { display:block; font-size:var(--nivo-type-meta); color:var(--nivo-muted); margin-top:4px; }
.door-sound-options { display:grid; gap:6px; border:0; padding:0; margin:0; min-width:0; }
.door-sound-options button { border:0; background:transparent; text-align:left; padding:14px 18px; border-radius:10px; cursor:pointer; }
.door-sound-options strong { font-size:var(--nivo-type-body); font-weight:500; }
.door-sound-options button[aria-pressed=true] { background:white; box-shadow:0 3px 20px #22222206; }
.door-sound-options button[aria-pressed=true] strong::after { content:'✓'; float:right; color:var(--nivo-accent-ink); }
.door-sound-play { display:flex; align-items:center; gap:16px; margin:24px 0 18px; }
.door-sound-play>output { font-size:var(--nivo-type-meta); color:var(--nivo-muted); flex:1; }
.door-category .door-experience-note { color:var(--nivo-muted); font-size:var(--nivo-type-meta); line-height:1.65; margin:0; }
.door-makeover .gr-section-heading>p,.door-service .gr-section-heading>div:last-child { max-width:500px; }
.door-makeover .gr-section-heading>p,.door-service .gr-section-heading p:not(.gr-kicker) { font-size:var(--nivo-type-body); line-height:1.8; color:var(--nivo-muted); }
.door-makeover-frame { position:relative; aspect-ratio:16/9; overflow:hidden; border-radius:16px; background:var(--nivo-surface-alt); }
.door-makeover-frame>img { position:absolute; width:100%; height:100%; object-fit:cover; object-position:center; }
.door-makeover-before { clip-path:inset(0 calc(100% - var(--split)) 0 0); }
.door-makeover-divider { position:absolute; left:var(--split); top:0; bottom:0; width:2px; background:white; transform:translateX(-50%); pointer-events:none; }
.door-makeover-divider>span { position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); display:grid; place-items:center; width:48px; height:48px; border-radius:50%; background:white; box-shadow:0 3px 20px #0002; }
.door-makeover-frame input { position:absolute; inset:0; width:100%; height:100%; opacity:0; margin:0; cursor:ew-resize; touch-action:pan-y; }
.door-makeover-frame:focus-within { outline:3px solid var(--nivo-yellow); outline-offset:4px; }
.door-makeover-label { position:absolute; top:20px; padding:8px 14px; font-size:var(--nivo-type-meta); background:#fffc; border-radius:30px; pointer-events:none; }
.door-makeover-label.before { left:20px; }.door-makeover-label.after { right:20px; }
.door-makeover-caption { display:flex; justify-content:space-between; gap:16px; margin-top:12px; color:var(--nivo-muted); font-size:var(--nivo-type-meta); }
.door-service { background:var(--nivo-surface); border-radius:20px; padding:48px; }
.door-service ol { display:grid; grid-template-columns:repeat(4,1fr); gap:32px; padding:0; list-style:none; margin:38px 0 26px; }
.door-service li>span { font-size:var(--nivo-type-meta); color:var(--nivo-accent-ink); }
.door-service li h3 { margin:12px 0 8px; font-size:var(--nivo-type-title); font-weight:500; }.door-service li p { font-size:var(--nivo-type-meta); line-height:1.7; color:var(--nivo-muted); }
.door-sound button:focus-visible { outline:2px solid var(--nivo-yellow); outline-offset:3px; }
@media(max-width:900px) { .door-sound { grid-template-columns:1fr; gap:28px; }.door-service ol { grid-template-columns:1fr 1fr; }.door-service { padding:30px; } }
@media(max-width:600px) { .door-sound-panel { padding:22px; }.door-sound-play { flex-wrap:wrap; }.door-makeover-frame { aspect-ratio:4/5; }.door-makeover-frame>img { object-position:76% center; }.door-makeover-caption { flex-direction:column; gap:6px; }.door-service { padding:26px 22px; }.door-service ol { grid-template-columns:1fr; gap:22px; }.door-service li { padding-left:36px; position:relative; }.door-service li>span { position:absolute; left:0; top:2px; }.door-service li h3 { margin-top:0; } }
.door-category .door-service li h3 { font-size:var(--nivo-type-title); line-height:1.4; letter-spacing:-.025em; }

.door-service-intro { display:grid; grid-template-columns:1fr 1fr; align-items:center; gap:8%; margin-bottom:40px; }
.door-service-intro h2 { font-size:var(--door-section-title); line-height:1.15; letter-spacing:-.04em; font-weight:500; margin:12px 0 20px; }
.door-service-intro p:not(.gr-kicker) { font-size:var(--nivo-type-body); line-height:1.8; color:var(--nivo-muted); max-width:500px; }
.door-service-intro .gr-text-link { margin-top:20px; min-height:44px; }
.door-coverage { margin:0; text-align:center; }
.door-coverage img { display:block; width:100%; max-width:460px; height:auto; margin:auto; }
.door-coverage figcaption { margin-top:16px; color:var(--nivo-muted); font-size:var(--nivo-type-meta); }
.door-service .door-service-quote { margin-top:16px; min-height:44px; padding:12px 18px; font-size:var(--nivo-type-meta); gap:10px; }
@media(max-width:700px) { .door-service-intro { grid-template-columns:1fr; gap:26px; margin-bottom:32px; }.door-service-intro h2 { font-size:var(--nivo-type-section); }.door-coverage img { max-width:360px; } }

.door-category .door-makeover { display:grid; grid-template-columns:1fr minmax(0,.85fr); align-items:center; gap:7%; }
.door-category .door-makeover .gr-section-heading { margin-bottom:24px; }
.door-makeover-choices { border:0; padding:0; margin:0; min-width:0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.door-makeover-choices button { border:0; border-radius:12px; padding:10px; background:var(--nivo-surface); cursor:pointer; text-align:center; font-size:var(--nivo-type-meta); }
.door-makeover-choices button[aria-pressed=true] { background:var(--nivo-yellow-soft); }
.door-makeover-choices button:focus-visible { outline:2px solid var(--nivo-accent-ink); outline-offset:3px; }
.door-makeover-choices img { width:100%; height:90px; object-fit:contain; margin-bottom:8px; }
.door-makeover-choices span { display:block; }
.door-makeover-description { font-size:var(--nivo-type-meta); margin:18px 0 10px; }
.door-category .door-makeover-frame { aspect-ratio:3/4; max-height:620px; background:var(--nivo-surface); }
.door-category .door-makeover-frame>img { object-fit:contain; object-position:center; }
@media(max-width:700px) {
 .door-category .door-makeover { grid-template-columns:1fr; gap:16px; }
 .door-category .door-makeover .gr-section-heading { margin-bottom:14px; }
 .door-makeover-choices { gap:8px; }
 .door-makeover-choices button { padding:8px 4px; font-size:var(--nivo-type-meta); }
 .door-makeover-choices img { height:64px; margin-bottom:6px; }
 .door-category .door-makeover-frame { aspect-ratio:3/4; max-height:none; }
 .door-makeover-description { margin:12px 0 8px; }
 .door-makeover-caption { font-size:var(--nivo-type-meta); margin-top:10px; }
}

/* door-questions.css */
.door-category .door-question-list { max-width:920px; margin-top:24px; }
.door-category .door-question { padding:0; scroll-margin-top:calc(var(--header-height,80px) + 24px); }
.door-category .door-question summary { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:18px 0; cursor:pointer; font-size:var(--nivo-type-body); font-weight:500; line-height:1.45; list-style:none; }
.door-category .door-question summary::-webkit-details-marker { display:none; }
.door-category .door-question summary::after { content:'+'; color:var(--nivo-accent-ink); font-size:var(--nivo-type-title); font-weight:400; }
.door-category .door-question[open] summary::after { content:'−'; }
.door-category .door-question[open] { margin-bottom:8px; }
.door-category .door-question>div { max-width:76ch; padding:0 0 16px; }
.door-category .door-question p { margin:0 0 8px; font-size:var(--door-body,14px); line-height:1.7; color:var(--nivo-text); }
.door-category .door-question summary:focus-visible,.door-category .door-faq-more:focus-visible { outline:2px solid var(--nivo-accent-ink); outline-offset:5px; border-radius:4px; }
.door-category .door-faq-more { border:0; background:transparent; min-height:48px; margin-top:12px; padding:0; }
.door-category .door-faq-source { max-width:920px; font-size:var(--door-meta,12px); line-height:1.6; color:var(--nivo-muted); margin-top:24px; }
.door-category #ajto-rendeles,.door-category #ajto-elhelyezesi-utmutato { scroll-margin-top:calc(var(--header-height,80px) + 24px); }
.door-category .door-order-question { font-size:var(--door-card-title,22px); font-weight:500; margin:26px 0 0; }
@media(max-width:600px) { .door-category .door-question-list { margin-top:16px; }.door-category .door-question summary { padding:16px 0; }.door-category .door-question p { font-size:var(--nivo-type-meta); } }

.door-category .door-order-question:focus { outline:none; }

/* door-warranty.css */
.door-warranty{display:grid;grid-template-columns:1fr 1.15fr;gap:48px;background:var(--nivo-surface);border-radius:20px;padding:clamp(24px,4vw,52px);margin:72px 0;scroll-margin-top:calc(var(--header-height) + 24px)}.dw-heading>svg{color:var(--nivo-accent-ink);margin-bottom:20px}.dw-heading h2{font-size:var(--nivo-type-section);line-height:1.18;font-weight:500;letter-spacing:-.03em;margin:12px 0 0}.dw-content>p{font-size:var(--nivo-type-body);line-height:1.7;color:var(--nivo-text);margin:0 0 18px}.dw-content>p:first-child{color:var(--nivo-ink)}.dw-links{display:flex;flex-direction:column;gap:14px;margin:24px 0}.dw-links a{display:inline-flex;align-items:center;gap:10px;color:inherit;text-decoration:none;font-size:var(--nivo-type-meta);min-height:32px}.dw-links a:hover{opacity:.7}.dw-links a:focus-visible{outline:2px solid var(--nivo-accent-ink);outline-offset:5px}.dw-content>small{font-size:var(--nivo-type-meta);color:var(--nivo-muted);line-height:1.5;display:block}@media(max-width:700px){.door-warranty{grid-template-columns:1fr;gap:24px;margin:44px 0}.dw-content>p{font-size:var(--nivo-type-meta)}.dw-heading>svg{margin-bottom:12px}}

/* Same warranty treatment on the category and both placement pages. */
.door-refresh .door-warranty{background:var(--nivo-ink);color:var(--nivo-white)}
.door-warranty .dw-heading>svg,.door-warranty .dw-heading h2>span{color:var(--nivo-yellow)}
.door-refresh .door-warranty .gr-kicker,.door-warranty .dw-content>p{color:var(--nivo-line)}
.door-warranty .dw-content>p:first-child{color:var(--nivo-white)}
.door-warranty .dw-links a>svg{color:var(--nivo-yellow)}
.door-warranty .dw-links a:focus-visible{outline-color:var(--nivo-yellow)}

/* door-sound.css */
.door-sound-comparison { grid-template-columns:minmax(0,.72fr) minmax(0,1.3fr); gap:5%; }
.door-sound-comparison .door-sound-panel { min-width:0; padding:28px; }
.sound-sides,.sound-models { margin:0; padding:0; border:0; min-width:0; }
.sound-sides { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.sound-sides button { display:flex; align-items:center; gap:14px; min-width:0; border:0; padding:18px 14px; background:transparent; border-radius:12px; text-align:left; cursor:pointer; }
.sound-sides button[aria-pressed=true] { background:var(--nivo-yellow-soft); }
.sound-door-picture { flex:0 0 62px; height:100px; display:grid; place-items:center; color:var(--nivo-accent-ink); }
.sound-door-picture img { width:62px; height:100px; object-fit:contain; }
.sound-sides strong { display:block; font-size:var(--nivo-type-body); font-weight:500; line-height:1.45; }
.sound-sides small,.sound-sides em { display:block; font-size:var(--nivo-type-meta); line-height:1.5; margin-top:5px; color:var(--nivo-muted); font-style:normal; }
.sound-models { margin-top:25px; }
.sound-models legend { font-size:var(--nivo-type-meta); margin-bottom:12px; color:var(--nivo-accent-ink); }
.sound-models>div { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:6px; }
.sound-models button { min-width:0; display:flex; flex-direction:column; align-items:center; gap:7px; border:0; border-radius:9px; background:transparent; padding:12px 3px; cursor:pointer; }
.sound-models button[aria-pressed=true] { background:var(--nivo-yellow-soft); }
.sound-models strong { font-size:var(--nivo-type-meta); line-height:1.4; font-weight:500; white-space:nowrap; }
.sound-models button>span { font-size:var(--nivo-type-meta); color:var(--nivo-accent-ink); text-align:center; line-height:1.4; }
.sound-common-controls { display:flex; align-items:center; gap:24px; margin-top:26px; }
.sound-common-controls button:disabled { opacity:.45; cursor:not-allowed; }
.sound-volume { display:flex; align-items:center; gap:10px; flex:1; min-width:0; color:var(--nivo-muted); }
.sound-volume input { min-width:0; width:100%; accent-color:var(--nivo-yellow); cursor:pointer; height:44px; }
.sound-volume output { font-size:var(--nivo-type-meta); min-width:32px; }
.sound-volume svg { flex-shrink:0; }
.sound-current { display:block; font-size:var(--nivo-type-meta); margin:20px 0 14px; line-height:1.5; }
.sound-current small { display:block; font-size:var(--nivo-type-meta); color:var(--nivo-muted); margin-top:4px; }
@media(max-width:1100px) { .door-sound-comparison { grid-template-columns:1fr; gap:28px; }.door-sound-comparison .gr-section-heading>div { max-width:620px; } }
@media(max-width:600px) { .door-sound-comparison .door-sound-panel { padding:18px; }.sound-sides { gap:8px; }.sound-sides button { flex-direction:column; align-items:flex-start; gap:12px; padding:14px 10px; }.sound-door-picture { flex-basis:auto; align-self:center; }.sound-sides strong { font-size:var(--nivo-type-meta); }.sound-models>div { grid-template-columns:repeat(6,minmax(0,1fr)); gap:8px; }.sound-models button { grid-column:span 2; padding:12px 4px; }.sound-models button:nth-last-child(-n+2) { grid-column:span 3; }.sound-common-controls { flex-wrap:wrap; gap:14px; }.sound-volume { flex-basis:100%; }.sound-models strong { font-size:var(--nivo-type-meta); } }
.sound-method { margin-top:14px; color:var(--nivo-muted); font-size:var(--nivo-type-meta); line-height:1.65; }
.sound-method summary { cursor:pointer; padding:6px 0; color:var(--nivo-accent-ink); }
.sound-method p { margin:12px 0; }.sound-method a { color:var(--nivo-accent-ink); text-decoration:underline; }


.sound-sides button { background:#fff8; border-radius:16px; padding:20px 16px; }
.sound-sides strong { font-size:var(--nivo-type-body); line-height:1.35; }
.sound-sides small { font-size:var(--nivo-type-meta); }
.sound-models legend { font-size:var(--nivo-type-meta); }
.sound-models button { padding:10px 3px; }
.sound-models button[aria-pressed=true] { background:var(--nivo-yellow-soft); }
.sound-method { font-size:var(--nivo-type-meta); }
.sound-method summary { min-height:44px; display:flex; align-items:center; }
.sound-method summary::after { content:'+'; margin-left:auto; }
.sound-method[open] summary::after { content:'−'; }
.sound-method summary::-webkit-details-marker { display:none; }
@media(max-width:600px) { .sound-sides button { padding:16px 10px; }.sound-sides strong { font-size:var(--nivo-type-body); }.sound-door-picture,.sound-door-picture img { height:108px; }.sound-common-controls .gr-primary { width:100%; justify-content:center; } }

.sound-models { margin:20px 0 24px; }

/* door-use-page.css */
.door-refresh.door-use-page{padding-top:calc(var(--header-height) + 24px);max-width:1480px;margin:auto;padding-bottom:56px}
.du-breadcrumb{display:flex;gap:12px;font-size:var(--nivo-type-meta);color:var(--nivo-muted);margin-bottom:28px}.du-breadcrumb a,.du-back{text-decoration:none;color:inherit}
.du-hero{display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:center}.du-hero h1{font-size:var(--nivo-type-display);line-height:1.08;letter-spacing:-.04em;font-weight:500;max-width:580px}.du-hero p:not(.gr-kicker){font-size:var(--nivo-type-body);line-height:1.65;color:var(--nivo-text);margin:24px 0;max-width:500px}.du-hero>img{width:100%;aspect-ratio:4/3;object-fit:cover;object-position:68% center;border-radius:20px}
.du-guide{display:grid;grid-template-columns:1fr 1.15fr;gap:48px;margin:80px 0}.door-use-page h2{font-size:var(--nivo-type-section);line-height:1.2;letter-spacing:-.025em;font-weight:500}.du-guide p:not(.gr-kicker){font-size:var(--nivo-type-body);color:var(--nivo-text);line-height:1.7;margin:0 0 16px}.du-heading{margin-bottom:26px}.du-heading>p{font-size:var(--nivo-type-meta);color:var(--nivo-text);margin-top:14px}.du-models{scroll-margin-top:calc(var(--header-height) + 24px)}.du-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:24px}.du-grid article{min-width:0}.du-model-image{display:block;background:var(--nivo-surface);border-radius:16px;overflow:hidden}.du-model-image img{width:100%;height:280px;object-fit:contain}.du-model-copy{padding-top:16px}.du-meta{font-size:var(--nivo-type-meta);color:var(--nivo-muted)}.du-model-copy h3{font-size:var(--nivo-type-title);font-weight:500;margin:5px 0 8px}.du-model-copy>p{font-size:var(--nivo-type-meta);color:var(--nivo-muted);margin:0 0 14px}.du-model-copy .du-price{font-size:var(--nivo-type-title);color:var(--nivo-ink);margin:16px 0}.du-price small{font-size:var(--nivo-type-meta);color:var(--nivo-muted)}.du-model-copy .gr-primary{display:flex;justify-content:center;gap:16px}.du-detail{display:block;text-align:center;font-size:var(--nivo-type-meta);color:inherit;margin-top:12px;text-decoration:none}.du-single{grid-template-columns:1fr}.du-single article{display:grid;grid-template-columns:1fr 1.15fr;gap:48px;align-items:center;background:var(--nivo-surface);border-radius:20px;padding:24px}.du-single .du-model-image img{height:380px}.du-single .du-model-copy{max-width:360px}.du-price-info{font-size:var(--nivo-type-meta);color:var(--nivo-muted);margin-top:24px;max-width:850px}.du-price-info p{line-height:1.7;margin:14px 0}.du-faq{margin:80px 0;max-width:900px}.du-faq h2{margin-bottom:24px}.du-faq details{padding:20px 0;border-bottom:1px solid var(--nivo-line)}.door-use-page summary{cursor:pointer;line-height:1.5}.du-faq details p{color:var(--nivo-text);line-height:1.7;margin:14px 0 0}.du-related{display:flex;gap:32px;align-items:center;justify-content:space-between;padding:32px;background:var(--nivo-surface);border-radius:20px}.du-related h2{font-size:var(--nivo-type-section)}.du-related p{color:var(--nivo-text);margin:12px 0 0}.du-related .gr-primary{flex-shrink:0}.du-back{display:inline-flex;gap:10px;margin-top:32px;font-size:var(--nivo-type-meta)}.door-use-page a:focus-visible,.door-use-page summary:focus-visible{outline:2px solid var(--nivo-accent-ink);outline-offset:5px}
@media(max-width:1000px){.du-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.du-single{grid-template-columns:1fr}.du-hero,.du-guide{gap:28px}.du-related{flex-wrap:wrap}}
@media(max-width:600px){.du-breadcrumb{font-size:var(--nivo-type-meta);margin-bottom:20px}.du-hero{display:flex;flex-direction:column;align-items:stretch;gap:24px}.du-hero h1{font-size:var(--nivo-type-display)}.du-hero p:not(.gr-kicker){font-size:var(--nivo-type-body);margin:18px 0}.du-hero>img{aspect-ratio:16/9;border-radius:14px}.du-guide{grid-template-columns:1fr;gap:20px;margin:40px 0}.du-guide p:not(.gr-kicker){font-size:var(--nivo-type-body)}.du-grid{gap:24px 12px}.du-model-image img{height:210px}.du-model-copy h3{font-size:var(--nivo-type-title)}.du-model-copy>p{font-size:var(--nivo-type-meta);line-height:1.5}.du-model-copy .du-price{font-size:var(--nivo-type-lead)}.du-price small{display:block}.du-model-copy .gr-primary{font-size:var(--nivo-type-meta);padding:12px 10px;gap:6px}.du-single article{grid-template-columns:1fr;gap:8px;padding:18px}.du-single .du-model-image img{height:300px}.du-single .du-model-copy{width:100%;max-width:none}.du-faq{margin:44px 0}.du-related{padding:24px;gap:24px}.du-related h2{font-size:var(--nivo-type-section)}}
.door-use-page .du-model-copy .gr-primary{min-width:0;width:100%;box-sizing:border-box}

.du-next-steps{display:grid;grid-template-columns:1fr 1.15fr;gap:48px;margin:64px 0}.du-next-steps p{color:var(--nivo-text);line-height:1.7;font-size:var(--nivo-type-body);margin:14px 0}.du-next-steps ol{list-style:decimal;padding-left:24px;margin:0}.du-next-steps li{padding-left:8px;margin-bottom:24px}.du-next-steps strong{font-size:var(--nivo-type-body);font-weight:500}@media(max-width:700px){.du-next-steps{grid-template-columns:1fr;gap:24px;margin:44px 0}}
/* Subcategory rhythm: quiet typography, tactile images, compact entry points. */
.door-use-page section[id]{scroll-margin-top:calc(var(--header-height) + 24px)}
.door-use-page .du-hero h1{font-size:var(--nivo-type-display);max-width:560px;line-height:1.04;font-weight:500;text-wrap:balance}
.du-usps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:28px 0 0;padding:12px 0}
.du-usps a{display:flex;align-items:center;gap:12px;min-height:56px;padding:10px;color:inherit;font-size:var(--nivo-type-meta);text-decoration:none;border-radius:12px;line-height:1.4}.du-usps a:hover{background:#faf3df}.du-usps svg{flex-shrink:0}.du-usps svg:last-child{margin-left:auto;color:var(--nivo-accent-ink)}
.du-inspiration{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:clamp(28px,6vw,88px);margin:88px 0}.du-inspiration-photo{position:relative;min-width:0;background:var(--nivo-surface);border-radius:18px;overflow:hidden}.du-inspiration-photo>img{width:100%;height:560px;object-fit:contain;display:block}.du-inspiration-photo>span{position:absolute;bottom:14px;left:14px;background:#fffffff0;border-radius:20px;padding:6px 12px;font-size:var(--nivo-type-meta);color:var(--nivo-text)}.du-inspiration-copy>p:not(.gr-kicker){color:var(--nivo-text);font-size:var(--nivo-type-body);line-height:1.7;margin:20px 0;max-width:460px}.du-inspiration-copy h2{max-width:450px;text-wrap:balance}.du-reference-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;max-width:390px;margin:26px 0}.du-reference-choices button{border:0;border-radius:12px;padding:6px;background:var(--nivo-surface);cursor:pointer;color:inherit}.du-reference-choices button[aria-pressed=true]{outline:2px solid var(--nivo-ink);outline-offset:3px}.du-reference-choices button:focus-visible{outline:3px solid var(--nivo-accent-ink);outline-offset:3px}.du-reference-choices img{width:100%;height:102px;object-fit:contain;border-radius:8px}.du-reference-choices span{display:block;font-size:var(--nivo-type-meta);margin:8px 0 4px}.du-reference-caption>span{color:var(--nivo-text);font-size:var(--nivo-type-meta)}.du-reference-caption h3{font-size:var(--nivo-type-title);font-weight:500;line-height:1.3;margin:6px 0 20px}.du-inspiration-copy>small{display:block;color:var(--nivo-muted);font-size:var(--nivo-type-meta);line-height:1.6;max-width:350px;margin-top:14px}.du-guide{margin-top:52px}.du-guide h2{max-width:460px;text-wrap:balance}
@media(max-width:800px){.du-usps{grid-template-columns:1fr 1fr;gap:8px}.du-inspiration{gap:28px}.du-inspiration-photo>img{height:460px}}
@media(max-width:600px){.door-use-page .du-hero h1{font-size:var(--nivo-type-display)}.du-hero .gr-kicker{font-size:var(--nivo-type-meta)}.du-usps{margin-top:20px}.du-usps a{font-size:var(--nivo-type-meta);gap:8px;padding:6px;min-height:52px}.du-usps svg:last-child{display:none}.du-inspiration{grid-template-columns:1fr;gap:24px;margin:48px 0}.du-inspiration-photo>img{height:360px}.du-inspiration-copy>p:not(.gr-kicker){font-size:var(--nivo-type-body);margin:14px 0}.du-reference-choices{margin:20px 0}.du-reference-choices img{height:84px}.du-guide{margin-top:32px}}

/* Shared premium treatment for indoor and outdoor landing pages. */
.door-refresh.door-use-page{max-width:1520px;padding-bottom:72px}
.door-use-page .du-breadcrumb{margin-bottom:22px}
.door-use-page .du-hero{grid-template-columns:.95fr 1.15fr;gap:0;background:var(--nivo-surface);border-radius:28px;overflow:hidden;min-height:520px}
.du-hero-copy{padding:clamp(28px,4vw,64px);min-width:0}
.door-refresh.door-use-page .du-hero h1{font-size:var(--nivo-type-display);line-height:1.04;letter-spacing:-.045em;text-wrap:balance;margin:18px 0 24px}
.door-use-page .du-hero p:not(.gr-kicker){font-size:var(--nivo-type-body);line-height:1.65;margin:0 0 28px}
.door-use-page .du-hero>img{height:100%;min-height:520px;aspect-ratio:auto;object-fit:cover;object-position:75% center;border-radius:0}
.door-use-page .gr-kicker{font-size:var(--nivo-type-meta);font-weight:600;letter-spacing:.08em;line-height:1.6;text-transform:uppercase;color:var(--nivo-accent-ink)}
.door-use-page .du-usps{margin:18px 0 0;gap:12px}
.door-use-page .du-usps a{padding:16px 12px;font-size:var(--nivo-type-meta)}
.door-use-page .du-usps a>svg:first-child{color:var(--nivo-accent-ink)}
.door-use-page .du-guide{margin:68px 0 30px;gap:clamp(28px,5vw,80px)}
.door-refresh.door-use-page h2{font-size:var(--nivo-type-section);line-height:1.12;letter-spacing:-.035em;text-wrap:balance}
.door-use-page .du-guide h2{margin-top:12px}
.du-facts{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;padding:28px 36px;background:var(--nivo-surface);border-radius:22px;margin:0 0 76px}
.du-facts>div{display:flex;flex-direction:column;gap:6px}
.du-facts strong{font-size:var(--nivo-type-page);font-weight:500;letter-spacing:-.035em;line-height:1.2}
.du-facts span{font-size:var(--nivo-type-meta);color:var(--nivo-muted);line-height:1.5}
.door-use-page .du-heading{margin-bottom:30px;max-width:760px}
.door-use-page .du-heading h2{margin:10px 0 0}
.door-use-page .du-heading>p:not(.gr-kicker){line-height:1.6;margin-top:16px}
.door-use-page .du-grid{gap:18px}
.door-use-page .du-grid article{background:var(--nivo-surface);border-radius:24px;padding:12px 12px 20px}
.door-use-page .du-model-image{background:transparent;border-radius:16px}
.door-use-page .du-model-image img{height:300px;display:block;transition:transform .3s ease}
@media(hover:hover){.door-use-page .du-model-image:hover img{transform:scale(1.025)}}
.door-use-page .du-model-copy{padding:14px 10px 0}
.door-refresh.door-use-page .du-model-copy h3{font-size:var(--nivo-type-title);letter-spacing:-.025em;margin:8px 0}
.door-use-page .du-model-copy>p{line-height:1.5}
.door-use-page .du-model-copy .du-price{font-size:var(--nivo-type-title);margin:18px 0}
.door-use-page .du-model-copy .du-price small{font-size:var(--nivo-type-meta);display:block;margin-bottom:2px}
.door-use-page .du-detail{margin-top:10px;min-height:32px;display:flex;align-items:center;justify-content:center}
.door-use-page .du-single article{padding:32px;gap:48px}
.door-use-page .du-single .du-model-image img{height:400px}
.door-use-page .du-single .du-model-copy{max-width:390px}
.door-refresh.door-use-page .du-single h3{font-size:var(--nivo-type-title)}
.door-use-page .du-inspiration{margin:88px 0;background:var(--nivo-surface);border-radius:28px;gap:0;overflow:hidden;align-items:stretch}
.door-use-page .du-inspiration-photo{border-radius:0;background:var(--nivo-surface-alt);display:flex;align-items:center}
.door-use-page .du-inspiration-photo>img{height:620px;max-height:100%;object-fit:contain}
.door-use-page .du-inspiration-copy{padding:clamp(28px,4vw,60px);align-self:center;min-width:0}
.door-use-page .du-reference-choices{border:0;padding:0;margin:24px 0;gap:12px}
.door-use-page .du-reference-choices button{background:var(--nivo-white);padding:7px;border-radius:12px;transition:background .2s}
.door-use-page .du-reference-choices button[aria-pressed=true]{outline:2px solid var(--nivo-yellow);background:var(--nivo-surface)}
.door-use-page .du-reference-choices img{height:94px;display:block}
.door-use-page .du-next-steps{margin:76px 0;gap:clamp(28px,5vw,80px)}
.door-use-page .du-next-steps h2{margin-top:12px}
.door-use-page .du-next-steps ol{list-style:none;padding:0;counter-reset:steps}
.door-use-page .du-next-steps li{counter-increment:steps;position:relative;padding:0 0 0 56px;margin-bottom:26px}
.door-use-page .du-next-steps li:before{content:'0' counter(steps);position:absolute;left:0;top:-3px;width:36px;height:36px;border-radius:50%;background:var(--nivo-yellow-soft);display:grid;place-items:center;color:var(--nivo-accent-ink);font-size:var(--nivo-type-meta)}
.door-use-page .du-next-steps li p{margin:8px 0 0}
.door-use-page .du-faq{max-width:none;display:grid;grid-template-columns:.9fr 1.1fr;column-gap:70px;margin:76px 0}
.door-use-page .du-faq h2{grid-column:1;grid-row:1 / span 4;max-width:420px}
.door-use-page .du-faq details{grid-column:2;padding:18px 22px;border:0;background:var(--nivo-surface);border-radius:16px;margin-bottom:10px}
.door-use-page .du-faq details[open]{background:var(--nivo-surface)}
.door-use-page .du-related{background:var(--nivo-ink);color:var(--nivo-white);padding:40px 44px;border-radius:24px}
.door-refresh.door-use-page .du-related h2{font-size:var(--nivo-type-section);max-width:580px}
.door-use-page .du-related p{color:var(--nivo-line)}
@media(max-width:1000px){.door-use-page .du-hero{grid-template-columns:1fr 1fr;min-height:470px}.door-use-page .du-hero>img{min-height:470px}.du-hero-copy{padding:30px}.door-use-page .du-inspiration-copy{padding:28px}.door-use-page .du-faq{column-gap:32px}}
@media(max-width:700px){
 .door-use-page .du-hero{display:flex;flex-direction:column;min-height:0;border-radius:22px;gap:0}
 .du-hero-copy{padding:28px 24px}
 .door-refresh.door-use-page .du-hero h1{font-size:var(--nivo-type-display);margin:14px 0 18px}
 .door-use-page .du-hero p:not(.gr-kicker){font-size:var(--nivo-type-body);margin-bottom:22px}
 .door-use-page .du-hero>img{height:auto;min-height:0;aspect-ratio:16/9;object-position:center;display:block}
 .door-use-page .du-usps{gap:8px;margin-top:12px}.door-use-page .du-usps a{font-size:var(--nivo-type-meta);padding:10px 4px;gap:8px}
 .door-use-page .du-guide{grid-template-columns:1fr;gap:18px;margin:40px 0 20px}
 .du-facts{gap:16px;padding:22px 18px;margin-bottom:44px;border-radius:18px;grid-template-columns:1fr}
 .du-facts>div{flex-direction:row;align-items:center;gap:16px}.du-facts strong{font-size:var(--nivo-type-title);min-width:118px}.du-facts span{font-size:var(--nivo-type-meta);max-width:185px}
 .door-use-page .du-grid{gap:12px}.door-use-page .du-grid article{border-radius:18px;padding:8px 8px 14px}.door-use-page .du-model-image img{height:220px}
 .door-use-page .du-model-copy{padding:12px 2px 0}.door-refresh.door-use-page .du-model-copy h3{font-size:var(--nivo-type-title)}.door-use-page .du-model-copy .du-price{font-size:var(--nivo-type-lead);margin:12px 0}
 .door-use-page .du-meta{font-size:var(--nivo-type-meta)}.door-use-page .du-model-copy .gr-primary{min-height:46px;padding:10px 8px}.door-use-page .du-detail{font-size:var(--nivo-type-meta)}
 .door-use-page .du-single article{grid-template-columns:1fr;gap:8px;padding:22px}.door-use-page .du-single .du-model-image img{height:300px}
 .door-use-page .du-inspiration{grid-template-columns:1fr;margin:48px 0;border-radius:22px}.door-use-page .du-inspiration-photo{justify-content:center}.door-use-page .du-inspiration-photo>img{height:390px;max-height:none;width:100%}.door-use-page .du-inspiration-copy{padding:26px 22px}.door-use-page .du-reference-choices{max-width:none}
 .door-use-page .du-next-steps{margin:48px 0;gap:26px}.door-use-page .du-next-steps li{padding-left:48px}
 .door-use-page .du-faq{display:block;margin:48px 0}.door-use-page .du-faq h2{margin-bottom:24px}.door-use-page .du-faq details{padding:16px 18px;font-size:var(--nivo-type-meta)}
 .door-use-page .du-related{padding:28px 24px;gap:24px}.door-refresh.door-use-page .du-related h2{font-size:var(--nivo-type-section)}.door-use-page .du-related .gr-primary{width:100%}
}
@media(prefers-reduced-motion:reduce){.door-use-page .du-model-image img{transition:none}}

.door-refresh.door-category { padding-top: 0; }
.door-refresh.door-use-page { padding-top: 28px; }
.door-category .door-comparison-table td.is-price { font-weight: 500; color: #20241c; }
.door-comparison.is-open .door-compare-trigger svg { transform: rotate(180deg); }
.door-refresh .door-compare-trigger svg { transition: transform .2s ease; }
@media (max-width: 900px) {
  .door-refresh .gr-help { flex-direction: column; align-items: flex-start; }
}

.door-refresh .door-comparison:not(.is-open) #door-comparison-content { display: none; }
.door-refresh .door-comparison .gr-section-heading { align-items: center; }
.door-refresh .door-comparison .gr-section-heading > div { min-width: 0; }
.door-refresh .door-comparison h2 { margin: 0; }
.door-refresh .door-comparison .gr-section-heading p { margin: 8px 0 0; }
@media (min-width: 701px) {
  .door-refresh .door-comparison-table { display: table; width: 100%; table-layout: fixed; border-collapse: collapse; }
  .door-refresh .door-comparison-table thead { display: table-header-group; }
  .door-refresh .door-comparison-table tbody { display: table-row-group; }
  .door-refresh .door-comparison-table tfoot { display: table-footer-group; }
  .door-refresh .door-comparison-table tr { display: table-row; }
  .door-refresh .door-comparison-table :is(th, td) { display: table-cell; vertical-align: top; }
  .door-refresh .door-comparison-table thead th { vertical-align: bottom; }
}
.door-refresh .door-comparison-table thead th > img { display: block; width: 60px; max-width: 60px; height: 80px; object-fit: contain; }
.door-refresh .door-comparison-table select { display: block; width: 100%; max-width: 100%; box-sizing: border-box; }
.door-refresh .door-comparison-table td.is-price { font-weight: 500; font-size: var(--nivo-type-title); color: var(--nivo-ink); }

/* Shared type roles from the mock brand system, scoped to these pages. */
.door-refresh.door-category h1,
.door-refresh.door-use-page h1 {
  font-size: var(--nivo-type-display) !important;
  font-weight: 500;
  line-height: 1.1;
  letter-spacing: -.035em;
  text-wrap: balance;
}
.door-refresh.door-category h2,
.door-refresh.door-use-page h2 {
  font-size: var(--nivo-type-section) !important;
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: -.03em;
  text-wrap: balance;
}
.door-refresh.door-category h3,
.door-refresh.door-use-page h3 {
  font-size: var(--nivo-type-title) !important;
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -.02em;
  text-wrap: balance;
}
.door-refresh .gr-kicker {
  font-size: var(--nivo-type-meta) !important;
  line-height: 1.5;
  font-weight: 500;
  letter-spacing: .025em;
  text-transform: none;
  color: var(--nivo-text);
}
.door-refresh :is(input, textarea, select) { font-size: var(--nivo-type-body); line-height: 1.5; }
.door-refresh .gr-primary {
  min-height: var(--nivo-control-height);
  border-radius: var(--nivo-radius-control);
  font-size: var(--nivo-type-body) !important;
  font-weight: 600;
  line-height: 1.4;
  gap: 12px;
  background: #ffb00b;
  color: #191919;
}
.door-refresh .gr-primary:hover { background: #efaa13; color: #191919; }
.door-refresh .gr-help .gr-primary { color: #191919; }
.door-refresh :is(.door-section, .du-guide, .du-models, .du-next-steps, .du-faq, .du-inspiration, .door-warranty) { margin-block: var(--nivo-section-gap); }
.door-refresh .gr-section-heading { margin-bottom: var(--nivo-heading-gap); gap: var(--nivo-grid-gap); }
.door-refresh .door-solution-grid { gap: var(--nivo-grid-gap); }
.door-refresh .door-model-price > strong { font-size: var(--nivo-type-title); line-height: 1.3; }
.door-refresh.door-use-page .du-related h2 { font-size: var(--nivo-type-title) !important; color: var(--nivo-white); }
.door-refresh .du-related h2 { color: var(--nivo-white); }
.door-refresh .du-related p { color: var(--nivo-line); }
.door-category .door-model-grid { display: grid; }
.door-refresh .door-warranty h2 { color: var(--nivo-white); }
.door-refresh .door-warranty h2 > span { color: var(--nivo-yellow); }
.door-refresh .door-warranty .dw-content > p { color: var(--nivo-line); }
.door-refresh .door-warranty .dw-content > p:first-child { color: var(--nivo-white); }
.co-category-help { margin: var(--nivo-section-gap) 0 32px; display: flex; align-items: center; justify-content: space-between; gap: 24px; background: var(--nivo-surface); padding: var(--nivo-panel-padding); border-radius: var(--nivo-radius-panel); }
.co-category-help > div { max-width: 620px; }
.co-category-help > .gr-primary { flex-shrink: 0; }
@media (min-width: 701px) {
  .door-refresh .door-hero { height: var(--nivo-hero-height); min-height: 0; }
}
@media (min-width: 701px) and (max-width: 991px) {
  .door-refresh { --nivo-hero-height: max(540px, 65vw); }
}
@media (max-width: 700px) {
  .door-refresh {
    --nivo-type-display: 40px;
    --nivo-type-page: 32px;
    --nivo-type-section: 28px;
    --nivo-type-title: 20px;
    --nivo-section-gap: 64px;
    --nivo-heading-gap: 24px;
    --nivo-panel-padding: 24px;
    --nivo-grid-gap: 16px;
  }
  .co-category-help { flex-direction: column; align-items: stretch; gap: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .door-refresh .gr-primary:hover { transform: none; }
}

/* The site header is in normal flow, so these pages do not reserve overlay space. */
.door-refresh.door-category { padding-top: 0; }
.door-refresh.door-use-page { padding-top: 28px; }

/* Model cards: one primary action, about 1.5× the previous 44px plan button. */
.door-refresh.door-category .door-model-actions .door-plan {
  min-height: 66px;
  padding: 16px 23px;
  font-size: var(--nivo-type-body);
  font-weight: 600;
  line-height: 1.4;
  gap: 12px;
}

/* Price and placement notes follow the mock's 14px meta type, not the 12px card meta. */
.door-refresh.door-category .door-price-terms,
.door-refresh.door-category .door-placement-help {
  font-size: var(--nivo-type-meta);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: normal;
}
.door-refresh.door-category .door-price-terms { color: var(--nivo-text); }
.door-refresh.door-category .door-price-terms summary,
.door-refresh.door-category .door-placement-help summary {
  font-size: var(--nivo-type-meta);
  font-weight: 400;
  line-height: 1.6;
  letter-spacing: normal;
  color: var(--nivo-ink);
}
.door-refresh.door-category .door-price-terms summary { min-height: 44px; padding: 12px 0; }
.door-refresh.door-category .door-placement-help summary { min-height: 48px; padding: 20px 0; }
.door-refresh.door-category .door-price-terms details > p,
.door-refresh.door-category .door-placement-help .door-guidance {
  font-size: var(--nivo-type-meta);
  font-weight: 400;
  line-height: 1.6;
  color: var(--nivo-text);
}
.door-refresh.door-category .door-price-terms details > p { margin: 12px 0; }
.door-refresh.door-category .door-placement-help .door-guidance { margin: 0; }
.door-refresh.door-category .door-price-terms a,
.door-refresh.door-category .door-placement-help a {
  text-decoration: underline;
  text-underline-offset: 3px;
}

/* Comparison and showroom selects match the mock trigger: full width, 48px, chevron. */
.door-refresh.door-category .door-comparison-table th,
.door-refresh.door-category .door-comparison-table td,
.door-refresh.door-category .door-comparison-table label,
.door-refresh.door-category .door-compare-choice label,
.door-refresh.door-category .dsm-location label {
  min-width: 0;
}
.door-refresh.door-category .door-comparison-table label,
.door-refresh.door-category .dsm-location label {
  display: block;
  width: 100%;
}
.door-refresh.door-category .door-comparison-table select,
.door-refresh.door-category .door-compare-choice select,
.door-refresh.door-category .dsm-location select {
  display: block;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  min-height: 48px;
  margin: 0;
  padding: 12px 40px 12px 14px;
  border: 1px solid var(--nivo-line);
  border-radius: 12px;
  background-color: var(--nivo-white);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2320241c' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 14px center;
  background-size: 16px 16px;
  appearance: none;
  -webkit-appearance: none;
  font-family: inherit;
  font-size: var(--nivo-type-body);
  font-weight: 500;
  line-height: 1.4;
  color: var(--nivo-ink);
  text-align: left;
}
.door-refresh.door-category .dsm-location select { background-color: var(--nivo-surface); }
.door-refresh.door-category .door-comparison-table tr.door-compare-empty td {
  color: var(--nivo-muted);
  font-size: var(--nivo-type-meta);
  font-weight: 400;
}
.door-refresh.door-category .door-mobile-comparison .door-compare-diff {
  display: flex;
  gap: 10px;
  align-items: center;
  min-height: 44px;
  margin: 8px 0 4px;
  font-size: var(--nivo-type-meta);
}
.door-refresh.door-category .door-mobile-compare-row.door-compare-empty { display: block; }
.door-refresh.door-category .door-mobile-compare-row.door-compare-empty dd {
  color: var(--nivo-muted);
  margin: 0;
}

.door-refresh .door-showroom-map { container-type: inline-size; min-width: 0; width: 100%; max-width: 600px; margin-inline: auto; }
.door-refresh .dsm-figure { margin: 0; }
.door-refresh .dsm-country { position: relative; width: 100%; aspect-ratio: 600 / 390; }
.door-refresh .dsm-country > img { display: block; width: 100%; height: 100%; object-fit: contain; }
.door-refresh .dsm-figure figcaption { text-align: center; font-size: var(--nivo-type-meta); line-height: 1.5; color: var(--nivo-muted); margin: 6px 0 16px; }
.door-refresh .dsm-pins { display: none; }
.door-refresh .dsm-pin { position: absolute; transform: translate(-50%, -50%); display: grid; place-items: center; width: 40px; height: 40px; border: 0; padding: 0; background: transparent; color: var(--nivo-ink); cursor: pointer; z-index: 1; }
.door-refresh .dsm-pin > span { display: grid; place-items: center; width: 26px; height: 26px; border-radius: 50%; background: var(--nivo-white); font-size: var(--nivo-type-meta); font-weight: 600; }
.door-refresh .dsm-pin small { position: absolute; top: 36px; left: 50%; transform: translateX(-50%); white-space: nowrap; font-size: var(--nivo-type-meta); line-height: 1.3; font-weight: 500; }
.door-refresh .dsm-pin[data-label="above"] small { top: auto; bottom: 36px; }
.door-refresh .dsm-pin[aria-pressed="true"] { z-index: 2; }
.door-refresh .dsm-pin[aria-pressed="true"] > span { color: var(--nivo-white); background: var(--nivo-ink); box-shadow: 0 0 0 3px var(--nivo-white); }
.door-refresh .dsm-pin:focus-visible { outline: 2px solid var(--nivo-ink); outline-offset: 2px; border-radius: 50%; }
.door-refresh .dsm-dot { position: absolute; transform: translate(-50%, -50%); width: 11px; height: 11px; border: 2px solid var(--nivo-white); border-radius: 50%; background: var(--nivo-ink); color: var(--nivo-ink); font-size: var(--nivo-type-meta); line-height: 20px; text-align: center; font-weight: 600; }
.door-refresh .dsm-dot.is-cluster { width: 24px; height: 24px; background: var(--nivo-white); }
.door-refresh .dsm-dot.is-active { background: var(--nivo-ink); color: var(--nivo-white); box-shadow: 0 0 0 3px var(--nivo-white); border-color: var(--nivo-ink); }
.door-refresh .dsm-location { max-width: 430px; margin-inline: auto; padding: 16px; background: var(--nivo-white); border-radius: 16px; }
.door-refresh .door-service-intro .dsm-location-details p { font-size: var(--nivo-type-meta); line-height: 1.5; color: var(--nivo-text); margin: 12px 0 0; max-width: none; }
.door-refresh .dsm-location-details a { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-top: 4px; color: var(--nivo-ink); font-size: var(--nivo-type-meta); font-weight: 500; text-decoration: none; }
.door-refresh .dsm-location-details a:hover { color: var(--nivo-accent-ink); }
.door-refresh .dsm-location-details a:focus-visible { outline: 2px solid var(--nivo-accent-ink); outline-offset: 3px; border-radius: 4px; }
@container (min-width: 480px) {
  .door-refresh .dsm-pins { display: block; }
  .door-refresh .dsm-dots { display: none; }
}

.door-refresh.door-category #referenciak > .gr-section-heading {
  flex-direction: row;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px 24px;
}
.door-refresh.door-category #referenciak > .gr-section-heading > .gr-text-link {
  flex: 0 0 auto;
  margin: 0;
}
@media (max-width: 700px) {
  .door-refresh.door-category #referenciak > .gr-section-heading > .gr-text-link {
    max-width: 46%;
    text-align: right;
  }
}

/* Inspiration rail matches the solution swipe and runs the full viewport width. */
.door-refresh.door-category .door-gallery {
  display: flex;
  gap: 16px;
  max-width: none;
  width: auto;
  margin-inline: calc(-1 * var(--page-gutter));
  padding: 0 var(--page-gutter) 8px;
  overflow-x: auto;
  scroll-snap-type: x proximity;
  scroll-padding-inline: var(--page-gutter);
  scrollbar-width: none;
  overscroll-behavior-x: contain;
  box-sizing: border-box;
}
.door-refresh.door-category .door-gallery::-webkit-scrollbar { display: none; }
.door-refresh.door-category .door-gallery figure {
  flex: 0 0 calc((100% - (2 * var(--page-gutter)) - 112px) / 5);
  min-width: 0;
  margin: 0;
  scroll-snap-align: start;
}
.door-refresh.door-category .door-gallery button { aspect-ratio: 3 / 4; }
.door-refresh.door-category .door-gallery img {
  width: 100%;
  height: 100%;
  object-fit: contain;
  background: var(--nivo-surface);
}
@media (max-width: 991px) {
  .door-refresh.door-category .door-gallery figure {
    flex-basis: calc((100% - (2 * var(--page-gutter)) - 40px) / 3);
  }
}
@media (max-width: 700px) {
  .door-refresh.door-category .door-gallery figure { flex-basis: 44%; }
  .door-refresh.door-category .door-gallery button { aspect-ratio: auto; }
  .door-refresh.door-category .door-gallery img { height: 230px; }
}

.door-refresh dialog.door-lightbox:not([open]) { display: none; }
.door-refresh dialog.door-lightbox[open] {
  position: fixed;
  inset: 0;
  width: min(900px, calc(100vw - 32px));
  max-width: 900px;
  height: fit-content;
  max-height: calc(100dvh - 32px);
  margin: auto;
  padding: 16px;
  border: 0;
  border-radius: 12px;
  background: var(--nivo-white);
  color: var(--nivo-ink);
  box-shadow: 0 0 0 1px rgb(39 44 37 / 10%);
  display: grid;
  gap: 16px;
  overflow: auto;
}
.door-refresh dialog.door-lightbox::backdrop {
  background: rgb(0 0 0 / 10%);
  backdrop-filter: blur(2px);
}
.door-refresh dialog.door-lightbox h2 {
  font-size: 16px !important;
  font-weight: 500;
  line-height: 1;
  letter-spacing: normal;
  margin: 0;
  padding-right: 48px;
  text-wrap: wrap;
}
.door-refresh dialog.door-lightbox > p {
  margin: 0;
  font-size: var(--nivo-type-meta);
  line-height: 1.5;
  color: var(--nivo-muted);
}
.door-refresh dialog.door-lightbox > img {
  display: block;
  width: 100%;
  height: 60dvh;
  margin: 0;
  object-fit: contain;
  background: transparent;
}
.door-refresh dialog.door-lightbox .door-lightbox-controls {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 24px;
  margin: 0;
}
.door-refresh dialog.door-lightbox .door-lightbox-controls span {
  font-size: var(--nivo-type-meta);
  color: var(--nivo-ink);
}
.door-refresh dialog.door-lightbox .door-lightbox-controls button,
.door-refresh dialog.door-lightbox .door-lightbox-close {
  display: grid;
  place-items: center;
  width: 44px;
  height: 44px;
  min-height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: var(--nivo-surface);
  color: var(--nivo-ink);
  cursor: pointer;
  box-shadow: none;
}
.door-refresh dialog.door-lightbox .door-lightbox-close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 36px;
  height: 36px;
  min-height: 36px;
  border-radius: 8px;
  background: transparent;
}
.door-refresh dialog.door-lightbox .door-lightbox-close:hover { background: var(--nivo-surface); }
.door-refresh dialog.door-lightbox > a {
  display: block;
  width: fit-content;
  margin: 0;
  color: var(--nivo-ink);
  font-size: var(--nivo-type-body);
  font-weight: 500;
  line-height: 1.4;
  text-decoration: none;
}
.door-refresh dialog.door-lightbox > a:hover { color: var(--nivo-accent-ink); }
.door-refresh dialog.door-lightbox form { margin: 0; }

/* Custom menus matching the mock door select: soft panel, yellow selected row, check. */
.door-refresh .door-select { position: relative; width: 100%; min-width: 0; }
.door-refresh.door-category .door-mobile-compare-selects .door-compare-choice > .door-select {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
}
.door-refresh.door-category select.door-select-native {
  position: absolute;
  width: 1px;
  height: 1px;
  min-height: 0;
  margin: 0;
  padding: 0;
  border: 0;
  background: transparent;
  opacity: 0;
  pointer-events: none;
  appearance: none;
}
.door-refresh .door-select-trigger {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  width: 100%;
  min-width: 0;
  min-height: 48px;
  margin: 0;
  padding: 12px 14px;
  border: 1px solid var(--nivo-line);
  border-radius: 12px;
  background: var(--nivo-white);
  color: var(--nivo-ink);
  box-shadow: none;
  font-family: inherit;
  font-size: var(--nivo-type-body);
  font-weight: 500;
  line-height: 1.4;
  text-align: left;
  cursor: pointer;
}
.door-refresh .door-select-label { display: flex; min-width: 0; flex: 1; }
.door-refresh .door-select-label > span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.door-refresh .door-select-trigger > svg { flex-shrink: 0; color: var(--nivo-muted); }
.door-refresh .door-select.is-open .door-select-trigger {
  border-color: var(--nivo-accent-ink);
  background: var(--nivo-surface);
}
.door-refresh .door-select-trigger:focus-visible {
  outline: 2px solid var(--nivo-accent-ink);
  outline-offset: 2px;
}
.door-refresh .dsm-location .door-select-trigger { background: var(--nivo-surface); }
.door-refresh .door-select-menu {
  position: absolute;
  z-index: 40;
  top: calc(100% + 8px);
  left: 0;
  width: max(100%, 240px);
  max-height: 320px;
  margin: 0;
  padding: 6px;
  overflow: auto;
  border: 1px solid var(--nivo-line);
  border-radius: 16px;
  background: var(--nivo-white);
  color: var(--nivo-ink);
  box-shadow: 0 12px 36px #2530211a;
}
.door-refresh .door-select-item {
  position: relative;
  display: flex;
  align-items: center;
  width: 100%;
  min-height: 48px;
  margin: 0;
  padding: 12px 36px 12px 14px;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: inherit;
  box-shadow: none;
  font-family: inherit;
  font-size: var(--nivo-type-body);
  font-weight: 400;
  line-height: 1.4;
  text-align: left;
  cursor: pointer;
}
.door-refresh .door-select-item > span { min-width: 0; white-space: normal; }
.door-refresh .door-select-item > svg { position: absolute; right: 12px; }
.door-refresh .door-select-item[aria-selected="true"] {
  background: var(--nivo-yellow-soft);
  font-weight: 600;
}
.door-refresh .door-select-item:hover,
.door-refresh .door-select-item:focus-visible { background: var(--nivo-surface); }
.door-refresh .door-select-item[aria-selected="true"]:hover,
.door-refresh .door-select-item[aria-selected="true"]:focus-visible { background: var(--nivo-yellow-soft); }
.door-refresh .door-comparison-table :is(thead, tr, th),
.door-refresh .dsm-location { overflow: visible; }
@media (max-width: 700px) {
  .door-refresh dialog.door-lightbox[open] {
    width: calc(100vw - 24px);
    max-height: calc(100dvh - 24px);
    padding: 18px;
    border-radius: 18px;
  }
  .door-refresh dialog.door-lightbox > img { height: 52dvh; }
}
