/* Opt-in continuation for the door hub and its two opening-system pages. */
html body #main[data-door-completion] { --dc-line:#e4e1dc; --dc-soft:#f6f5f1; }
html body #main[data-door-completion] .d3-section { margin-top:48px!important; }
html body #main[data-door-completion] .d3-components { grid-template-columns:1.15fr 1fr!important; gap:28px!important; }
html body #main[data-door-completion] .d3-components .d3-photo { height:320px!important; background:var(--dc-soft)!important; overflow:hidden!important; }
html body #main[data-door-completion] .d3-components .d3-photo img { height:100%!important; width:100%!important; object-fit:cover!important; }
html body #main[data-door-completion] .d3-hardware .d3-photo img { object-fit:contain!important; padding:18px!important; }
html body #main[data-door-completion] .d3-components h3 { margin:16px 0 10px!important; }
html body #main[data-door-completion] #supplied-product-gallery { margin-top:28px!important; padding:20px!important; background:var(--dc-soft)!important; }
html body #main[data-door-completion] #supplied-product-gallery figure { height:200px!important; background:white; padding:12px; }
html body #main[data-door-completion] :is(.d3-schedule,.d3-enquiry) { padding:28px!important; }
html body #main[data-door-completion] .d3-schedule { align-items:center!important; gap:36px!important; }
html body #main[data-door-completion] .d3-schedule-example { padding:22px!important; }
html body #main[data-door-completion] .d3-schedule-example dt { margin-top:14px!important; }
html body #main[data-door-completion] .d3-schedule-example dd { padding-bottom:12px!important; }
html body #main[data-door-completion] .d3-installation .cse-application { gap:32px!important; grid-template-columns:.8fr 1.2fr!important; }
html body #main[data-door-completion] .d3-installation img { width:100%!important; height:340px!important; object-fit:contain!important; }
html body #main[data-door-completion] :is(#project-specification-delivery,#often-consolidated,.dc-explore) { width:min(1360px,calc(100% - 96px))!important; margin:32px auto!important; box-sizing:border-box; }
html body #main[data-door-completion] #project-specification-delivery { padding:28px!important; border:1px solid var(--dc-line)!important; background:var(--dc-soft)!important; }
html body #main[data-door-completion] #project-specification-delivery h2 { font-size:27px!important; margin:0 0 12px!important; }
html body #main[data-door-completion] .pp26-spec-toggle { margin-top:16px!important; }
html body #main[data-door-completion] .pp26-spec-toggle>summary { padding:12px 0!important; min-height:44px; }
html body #main[data-door-completion] .pp26-spec-toggle>dl { display:grid!important; grid-template-columns:1fr 1fr!important; gap:0 28px!important; margin:8px 0 0!important; }
html body #main[data-door-completion] .pp26-spec-toggle>dl>div { display:block!important; padding:18px 0!important; border-top:1px solid var(--dc-line); }
html body #main[data-door-completion] .pp26-spec-toggle dt { font-weight:600; margin:0 0 8px!important; }
html body #main[data-door-completion] .pp26-spec-toggle dd { margin:0!important; font-size:14px!important; line-height:1.7!important; }
html body #main[data-door-completion] #often-consolidated { padding:0!important; }
html body #main[data-door-completion] #often-consolidated h2 { font-size:24px!important; margin:0 0 16px!important; }
html body #main[data-door-completion] #often-consolidated ul { margin:0!important; gap:20px!important; }
html body #main[data-door-completion] #often-consolidated a { display:flex; min-height:56px; align-items:center; padding:12px 16px!important; background:var(--dc-soft); border:1px solid var(--dc-line)!important; text-decoration:none; }
html body #main[data-door-completion] .dc-explore { padding:28px 0 0!important; border-top:1px solid var(--dc-line); }
html body #main[data-door-completion] .dc-explore-head { display:flex; justify-content:space-between; align-items:end; gap:28px; margin-bottom:20px; }
html body #main[data-door-completion] .dc-explore-head h2 { margin:0!important; font-size:28px!important; }
html body #main[data-door-completion] .dc-explore-head p { margin:0; font-size:13px; color:#686964; }
html body #main[data-door-completion] .dc-page-grid { display:grid; grid-template-columns:1fr 1fr; gap:28px; }
html body #main[data-door-completion] .dc-page-card { display:grid; grid-template-columns:44% 1fr; border:1px solid var(--dc-line); color:inherit; text-decoration:none; background:var(--dc-soft); min-width:0; }
html body #main[data-door-completion] .dc-page-card figure { margin:0; min-height:210px; position:relative; overflow:hidden; }
html body #main[data-door-completion] .dc-page-card img { position:absolute; width:100%; height:100%; object-fit:cover; }
html body #main[data-door-completion] .dc-page-copy { padding:24px; align-self:center; }
html body #main[data-door-completion] .dc-page-copy h3 { margin:0 0 12px!important; font-size:22px!important; }
html body #main[data-door-completion] .dc-page-copy p { margin:0 0 16px; font-size:14px; line-height:1.65; color:#686964; }
html body #main[data-door-completion] .dc-page-copy span { color:var(--brand-accent,#a01d6d); font-size:14px; }
html body #main[data-door-completion] .dc-page-card:hover { border-color:var(--brand-accent,#a01d6d); }
html body #main[data-door-completion] .dc-page-card:focus-visible { outline:3px solid var(--brand-accent,#a01d6d); outline-offset:4px; }
/* Subpages: consistent section rhythm and images that retain complete technical detail. */
html body #main[data-door-completion][data-gd] :is(.gd-section,.gb-related) { margin-top:48px!important; }
html body #main[data-door-completion][data-gd] .gd-hero { margin-top:24px!important; }
html body #main[data-door-completion][data-gd] .gd-hero-top { align-items:start!important; gap:40px!important; margin-bottom:26px!important; }
html body #main[data-door-completion][data-gd] .gd-hero>figure img { width:100%!important; height:auto!important; aspect-ratio:2.15!important; object-fit:cover!important; }
html body #main[data-door-completion][data-gd] .gd-operation { gap:36px!important; align-items:center!important; }
html body #main[data-door-completion][data-gd] .gd-operation>figure img { width:100%!important; height:440px!important; object-fit:cover!important; }
html body #main[data-door-completion][data-gd] .gd-heading { margin-bottom:24px!important; gap:36px!important; }
html body #main[data-door-completion][data-gd] .gd-tech-grid { gap:24px!important; }
html body #main[data-door-completion][data-gd] .gd-tech { padding:24px!important; }
html body #main[data-door-completion][data-gd] .gd-tech>img { width:100%!important; height:340px!important; object-fit:contain!important; background:white; }
html body #main[data-door-completion][data-gd] .gd-finish-detail { margin-top:24px!important; padding:24px!important; gap:32px!important; align-items:center!important; }
html body #main[data-door-completion][data-gd] .gd-finish-detail img { width:100%!important; height:180px!important; object-fit:contain!important; }
html body #main[data-door-completion][data-gd] .gd-quote { padding:30px!important; }
html body #main[data-door-completion][data-gd="windows"] :is(.d7-section,.d7-dark) { padding-top:48px!important; padding-bottom:48px!important; }
html body #main[data-door-completion][data-gd="windows"] .d7-window-hero { align-items:center!important; gap:40px!important; }
html body #main[data-door-completion][data-gd="windows"] .d7-window-image img { width:100%!important; height:480px!important; object-fit:cover!important; }
html body #main[data-door-completion][data-gd="windows"] .d7-window-reference { gap:36px!important; align-items:start!important; }
html body #main[data-door-completion][data-gd="windows"] .d7-window-reference>div>figure img { height:320px!important; width:100%!important; object-fit:cover!important; }
html body #main[data-door-completion][data-gd="windows"] .d7-finishes { margin-top:20px!important; padding:20px!important; }
html body #main[data-door-completion][data-gd="windows"] .d7-finishes img { height:90px!important; width:100%!important; object-fit:contain!important; }
html body #main[data-door-completion][data-gd="windows"] .d7-section-head { margin-bottom:24px!important; }
html body #main[data-door-completion][data-gd="windows"] .d7-detail-grid { gap:32px!important; align-items:start!important; }
html body #main[data-door-completion][data-gd="windows"] .d7-detail-grid img { height:320px!important; width:100%!important; object-fit:contain!important; }
html body #main[data-door-completion][data-gd="windows"] .d7-opening-schedule { padding:28px!important; gap:32px!important; align-items:center!important; }
html body #main[data-door-completion][data-gd="windows"] .d7-opening-drawing { min-height:0!important; padding:16px!important; }
html body #main[data-door-completion][data-gd="windows"] .d7-opening-drawing :is(.d7-sash,.d7-fixed) { height:190px!important; }
html body #main[data-door-completion][data-gd] .gb-related h2 { font-size:25px!important; }
@media(max-width:1100px) {
 html body #main[data-door-completion] :is(#project-specification-delivery,#often-consolidated,.dc-explore) { width:calc(100% - 56px)!important; }
 html body #main[data-door-completion] .dc-page-card { grid-template-columns:1fr; }
 html body #main[data-door-completion] .dc-page-card figure { min-height:0; aspect-ratio:16/9; }
 html body #main[data-door-completion] .d3-components .d3-photo { height:280px!important; }
}
@media(max-width:800px) {
 html body #main[data-door-completion] :is(#project-specification-delivery,#often-consolidated,.dc-explore) { width:calc(100% - 40px)!important; }
 html body #main[data-door-completion] :is(.d3-section,.gd-section,.gb-related) { margin-top:36px!important; }
 html body #main[data-door-completion] .d3-components { grid-template-columns:1fr!important; }
 html body #main[data-door-completion] .d3-components>div:first-child .d3-photo { height:auto!important; aspect-ratio:4/3; }
 html body #main[data-door-completion] .d3-hardware .d3-photo { height:240px!important; }
 html body #main[data-door-completion] .d3-installation .cse-application { grid-template-columns:1fr!important; }
 html body #main[data-door-completion] .d3-installation img { height:300px!important; }
 html body #main[data-door-completion] .pp26-spec-toggle>dl { grid-template-columns:1fr!important; }
 html body #main[data-door-completion] #project-specification-delivery { padding:20px!important; }
 html body #main[data-door-completion] .dc-explore-head { display:block; }
 html body #main[data-door-completion] .dc-explore-head p { margin-top:12px; }
 html body #main[data-door-completion] .dc-page-grid { grid-template-columns:1fr; gap:20px; }
 html body #main[data-door-completion][data-gd] .gd-hero>figure img { aspect-ratio:4/3!important; }
 html body #main[data-door-completion][data-gd] .gd-operation>figure img { height:auto!important; aspect-ratio:4/3!important; }
 html body #main[data-door-completion][data-gd] .gd-tech>img { height:300px!important; }
 html body #main[data-door-completion][data-gd] .gd-finish-detail { padding:20px!important; }
 html body #main[data-door-completion][data-gd="windows"] :is(.d7-section,.d7-dark) { padding-top:32px!important; padding-bottom:32px!important; }
 html body #main[data-door-completion][data-gd="windows"] .d7-window-image img { height:auto!important; aspect-ratio:4/3!important; }
 html body #main[data-door-completion][data-gd="windows"] .d7-window-reference>div>figure img { height:auto!important; aspect-ratio:4/3!important; }
 html body #main[data-door-completion][data-gd="windows"] .d7-detail-grid img { height:auto!important; max-height:320px; }
 html body #main[data-door-completion][data-gd="windows"] .d7-opening-schedule { padding:20px!important; }
 html body #main[data-door-completion][data-gd="windows"] .d7-opening-drawing :is(.d7-sash,.d7-fixed) { height:150px!important; }
}
