/* Keep decorative movement inside its section without breaking sticky cards. */
html{overflow-x:clip}
body{max-width:100%;min-width:0}
.hero.hero-film{overflow:clip;contain:paint}
.hero-film-media{right:0!important;max-width:100%;overflow:hidden}
.home-product-shadow{right:0!important;max-width:100%;overflow:clip}
.brands-section,.brands-intro,.brand-wall.brand-marquee{min-width:0;max-width:100%;box-sizing:border-box}
body:has(.hero-film) .brand-wall.brand-marquee{display:flex;width:100%;overflow-x:auto;overflow-y:hidden;box-shadow:none}
.catalogue-main>.catalogue-depth{right:0;max-width:100%;overflow:clip;contain:paint}
.catalogue-premium .workspace-heading h1.product-code-heading{font-size:clamp(28px,4vw,52px);font-weight:800;overflow-wrap:anywhere;letter-spacing:-.04em}
.catalogue-premium #workspace-documents{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 18px}
.catalogue-premium #workspace-documents a{display:inline-flex;align-items:center;min-height:42px;padding:10px 14px;border:1px solid #bac5cb;border-radius:4px;background:#f2f4f3;color:#001c31;font-size:12px;font-weight:800;text-decoration:none}
.catalogue-premium #workspace-documents a:first-child{background:#001c31;border-color:#001c31;color:#fff}
.catalogue-premium #workspace-documents:empty{display:none}
.catalogue-premium .workspace-specification>.workspace-inline-glands{padding:22px 0 0;margin:22px 0 0;border-top:1px solid #d4dcdf;background:none;box-shadow:none;color:#001c31}
.workspace-inline-glands .workspace-section-heading h2{font-size:20px!important;font-weight:800;letter-spacing:-.03em}
.catalogue-premium .premium-workspace .workspace-inline-glands .workspace-section-heading{padding:15px 17px;margin-bottom:16px;border-radius:4px}
.workspace-inline-glands .workspace-tabs:empty{display:none}
.workspace-inline-glands .cable-gland-panel .gland-option{grid-template-columns:76px minmax(0,1fr);padding:14px;gap:14px}
.workspace-inline-glands .gland-image img{height:95px}
.workspace-inline-glands .cable-gland-panel .gland-option h3{font-size:19px}
.workspace-inline-glands .gland-actions{gap:8px;margin-top:12px}
.workspace-inline-glands .gland-actions button{font-size:12px;padding:11px}
.workspace-inline-glands .gland-controls select{width:100%}
.workspace-inline-glands .gland-footnote{font-size:11px;line-height:1.55}
.catalogue-parts-index{margin-block:28px 40px;color:#001c31;border-top:1px solid #cbd3d7}
.catalogue-parts-index>summary{padding:22px 0;font-size:16px;font-weight:800;cursor:pointer}
.catalogue-part-links{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 28px}
.catalogue-part-links li{min-width:0;border-bottom:1px solid #dbe0e2}
.catalogue-part-links a{display:flex;flex-direction:column;gap:7px;padding:17px 0;text-decoration:none}
.catalogue-part-links strong{font-size:15px;font-weight:800;overflow-wrap:anywhere}
.catalogue-part-links span{font-size:12px;line-height:1.6;color:#4b5b65}
.catalogue-part-links a:hover strong{text-decoration:underline;text-underline-offset:4px}
.catalogue-index-pagination{display:flex;align-items:center;flex-wrap:wrap;gap:18px;padding:22px 0;font-size:13px;font-weight:800}
.catalogue-index-pagination a{padding:10px 0;text-decoration:underline;text-underline-offset:4px}
.catalogue-index-heading{padding-block:45px 18px}
.catalogue-index-heading h1{font-size:clamp(30px,4vw,48px);font-weight:800;letter-spacing:-.04em}
.catalogue-index-heading p{font-size:14px;line-height:1.6}
@media(max-width:680px){.catalogue-part-links{grid-template-columns:1fr}.workspace-inline-glands .gland-actions{grid-column:1/-1}.catalogue-premium #workspace-documents a{font-size:11px;padding:10px}.workspace-inline-glands .gland-actions button{width:auto}}

/* Mobile header controls occupy their own space instead of covering the page. */
@media(max-width:960px){
 .site-header .mobile-trade-tools{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:7px 9px;padding-block:8px 10px}
 .mobile-trade-tools .nav-search{grid-column:1/-1;width:100%;min-width:0}
 .mobile-trade-tools .nav-search input{min-width:0;width:100%}
 .mobile-trade-tools .mobile-opening-hours{grid-row:2;grid-column:1;text-align:left;white-space:normal;font-size:10px;line-height:1.5;margin:0}
 .mobile-trade-tools .mobile-call{grid-row:2;grid-column:2;min-height:38px;padding:8px 10px;font-size:11px}
 .site-nav .nav-links>.nav-builder{white-space:normal}
}
/* Equal card rows, with direct links and no scrolling overlays. */
body:has(.hero-film) .home-grouped-directory{align-items:stretch;gap:22px}
body:has(.hero-film) .home-product-department{align-self:stretch;height:100%}
body:has(.hero-film) .home-product-department .home-department-heading{min-height:144px;padding:22px 25px;grid-template-columns:minmax(0,1fr) 96px;gap:20px}
body:has(.hero-film) .home-product-department .home-department-heading .home-department-art{width:96px;height:96px}
body:has(.hero-film) .home-product-department .home-department-heading h3{font-size:clamp(23px,2vw,29px)}
body:has(.hero-film) .home-product-department .home-department-body{display:flex;flex:1}
body:has(.hero-film) .home-product-department .home-department-links{width:100%;padding:10px 25px 18px;align-content:stretch}
body:has(.hero-film) .home-product-department .home-department-links>a{min-height:46px;align-items:center;overflow-wrap:normal;line-height:1.45}
@media(min-width:761px){body:has(.hero-film) .home-product-department:is([aria-labelledby=home-panel-accessories],[aria-labelledby=home-sensors],[aria-labelledby=home-plugs-sockets]) .home-department-links{grid-template-columns:minmax(0,1fr)}}
@media(min-width:1200px){body:has(.hero-film) .home-product-department[aria-labelledby=home-control-panel] .home-department-links{grid-template-columns:repeat(3,minmax(0,1fr));gap:0 18px}}
@media(max-width:760px){
 body:has(.hero-film) .home-product-department{height:auto}
 body:has(.hero-film) .home-product-department .home-department-heading{grid-template-columns:minmax(0,1fr) 76px;min-height:128px;padding:20px;gap:15px}
 body:has(.hero-film) .home-product-department .home-department-heading .home-department-art{width:76px;height:86px}
 body:has(.hero-film) .home-product-department .home-department-heading h3{font-size:23px}
 body:has(.hero-film) .home-product-department .home-department-links{padding:8px 20px 16px;gap:0 18px}
}
/* Legacy fixed logo sizes must not override optical framing. */
.brand-tile .brand-logo-stage>img:is(.brand-rittal,.brand-unitrunk){width:var(--logo-width)!important;height:auto!important;max-width:none!important;max-height:none!important;left:var(--logo-left)!important;top:var(--logo-top)!important}
body:has(.hero-film) .brand-marquee .brand-tile{padding:12px 10px;overflow:hidden;display:flex;align-items:center;justify-content:center}
body:has(.hero-film) .brand-marquee .brand-logo-stage{width:100%;max-width:148px}
.studio-mobile-note{display:none}
@media(max-width:760px){
 .studio-mobile-note{display:block;margin:0 0 16px;padding:12px 14px;background:#e8edef;border-left:3px solid #001c31;font-size:12px;line-height:1.6;color:#001c31}
 .project-studio .project-mobile-tabs{top:var(--header-height,170px);z-index:20}
 .project-studio>#project-feedback{position:static;left:auto;bottom:auto;transform:none!important;width:auto;max-width:100%;margin:0;padding:0;border:0;box-shadow:none;max-height:0;overflow:hidden;opacity:0}
 .project-studio>#project-feedback.is-visible{max-height:none;margin:0 0 12px;padding:12px 14px;border:1px solid #c2cdd1;opacity:1}
}

/* Clear contact details and an honest delivery/confirmation state. */
#quote-dialog{width:min(760px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow:auto;overscroll-behavior:contain}
#quote-dialog [hidden]{display:none!important}
#quote-dialog .quote-dialog-inner{padding:34px;min-width:0}
#quote-dialog .form-pair{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
#quote-dialog label{min-width:0}
#quote-dialog input,#quote-dialog select,#quote-dialog textarea{max-width:100%;min-width:0}
#quote-dialog .enquiry-optional{font-size:10px;font-weight:500;color:#64737b}
#quote-dialog .enquiry-details{display:grid;gap:15px}
#quote-dialog .enquiry-honey{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}
#quote-dialog .enquiry-copy-choice{display:flex;align-items:center;gap:10px;font-size:12px}
#quote-dialog .enquiry-copy-choice input{width:18px;height:18px;min-height:0;accent-color:#001c31}
#quote-dialog .enquiry-backup-actions{display:flex;flex-wrap:wrap;gap:12px 22px}
#quote-dialog .enquiry-backup-actions button{padding:5px 0;min-height:38px;font-size:12px;font-weight:750;text-decoration:underline;text-underline-offset:4px;background:none;border:0;color:#001c31}
#quote-dialog #quote-status{font-size:12px;line-height:1.65;overflow-wrap:anywhere;margin:0}
#quote-dialog #quote-status:empty{display:none}
#quote-dialog .enquiry-confirmation{padding:24px;background:#f1f4f3;border-top:4px solid #001c31;color:#001c31}
#quote-dialog .enquiry-confirmation h3{font:800 25px/1.25 Manrope,Arial,sans-serif;letter-spacing:-.035em}
#quote-dialog .enquiry-confirmation p{font-size:13px;line-height:1.7}
#quote-dialog .enquiry-confirmation .button{display:flex;margin-top:24px}
#quote-dialog .enquiry-confirmation strong{font-size:17px;font-weight:800}
#quote-dialog [aria-busy=true] [type=submit]{opacity:.7;cursor:wait}
@media(max-width:600px){#quote-dialog .quote-dialog-inner{padding:28px 20px}#quote-dialog .form-pair{gap:14px}#quote-dialog input,#quote-dialog select,#quote-dialog textarea{font-size:16px}#quote-dialog .enquiry-details .form-pair{grid-template-columns:1fr}#quote-dialog #quote-title{font-size:32px}}
@media print{
 body:has(#quotation-items) :is(.site-header,.site-footer,.ask-launch,.quotation-summary,.breadcrumbs,.quotation-heading+noscript,.quotation-project-note button,.quotation-line .remove-part,.quotation-line label,#quotation-update,.quotation-layout .text-link){display:none!important}
 body:has(#quotation-items){background:white!important;color:#001c31!important}
 body:has(#quotation-items) .quotation-layout{display:block!important;width:100%!important;max-width:none!important}
 body:has(#quotation-items) .quotation-group{break-inside:avoid;border:1px solid #bcc8cd;box-shadow:none;margin:0 0 14px}
 body:has(#quotation-items) .quotation-line{grid-template-columns:60px minmax(0,1fr) auto!important;gap:12px}
 body:has(#quotation-items) .quotation-product-image{width:60px;height:65px}
 body:has(#quotation-items) .quotation-line label{display:block!important}
 body:has(#quotation-items) .quotation-line input{border:0;background:none;color:inherit;width:65px}
 body:has(#quotation-items) a{text-decoration:none}
}
/* Project and quotation lists are for requesting a Swift quotation. */
#quotation-items,.studio-schedule,#project-components,#review-content{user-select:none;-webkit-user-select:none}
#quotation-items :is(input,textarea),.studio-schedule :is(input,textarea),#project-components :is(input,textarea),#review-content :is(input,textarea){user-select:text;-webkit-user-select:text}
@media print{body:has(#quotation-items) main,.project-main{display:none!important}body:has(#quotation-items)::after,body:has(.project-main)::after{content:'Swift Electrical Supplies — request your quotation at swiftelectricalsupplies.co.uk or call 01706 360 360.';display:block;padding:40px;font:16px Arial,sans-serif;color:#001c31}}

/* Launch review: tools stay in the header and never cover buying controls. */
.site-header .header-inner{min-height:72px;gap:18px}
.header-phone-number,.header-phone{white-space:nowrap}.nav-group-heading{align-items:center;min-height:48px}.nav-group-heading .nav-expand{align-self:stretch;height:auto;min-height:44px;padding:0;line-height:1;vertical-align:middle}.nav-group-heading .nav-department-link{align-self:stretch;align-items:center}
@media(min-width:961px) and (max-width:1180px){.site-header .header-utility{display:none}}
@media(max-width:960px){.site-header .header-inner{min-height:60px;gap:10px}.site-header .mobile-trade-tools{padding-block:5px 7px;gap:5px 8px}.mobile-trade-tools .nav-search input,.mobile-trade-tools .nav-search button{min-height:44px;height:44px}.mobile-trade-tools .mobile-call{min-height:34px;padding-block:4px}.mobile-trade-tools .mobile-opening-hours{font-size:9px}}
/* Collapsed ranges are a phone-only convenience; every group remains visible. */
.home-group-toggle{display:none}.home-department-body[hidden]{display:none!important}
@media(max-width:760px){.js .home-group-toggle{display:inline-flex;align-items:center;justify-content:space-between;gap:20px;min-height:44px;margin-top:12px;padding:8px 12px;border:1px solid #ffffff50;background:transparent;color:#fff;font:800 12px/1.3 Manrope,Arial,sans-serif;cursor:pointer}.home-group-toggle::after{content:'+';font-size:22px}.home-group-toggle[aria-expanded=true]::after{content:'−'}.home-group-toggle:focus-visible{outline:2px solid #fff;outline-offset:4px}body:has(.hero-film) .home-department-heading{min-height:120px}}
/* A map starts as a location view, so the page keeps scrolling normally. */
.visit-map-viewport{position:relative}.js .visit-map-viewport iframe{pointer-events:none}.js .visit-map-viewport[data-map-interactive] iframe{pointer-events:auto}
.visit-map-activate,.visit-map-finish{position:absolute;z-index:2;border:1px solid #ffffff80;border-radius:4px;background:#001c31ed;color:#fff;font:800 12px/1.4 Manrope,Arial,sans-serif;cursor:pointer;min-height:44px;padding:12px 18px;box-shadow:0 5px 20px #00132130}
.visit-map-activate{left:50%;top:50%;transform:translate(-50%,-50%);white-space:nowrap}.visit-map-finish{right:12px;top:12px}.visit-map-viewport [hidden]{display:none!important}.visit-map-activate:focus-visible,.visit-map-finish:focus-visible{outline:3px solid #001c31;outline-offset:3px}
/* All three cable makers share a single row with room for the full Eland mark. */
#cables .range-supplier-logos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:100%;max-width:400px;align-items:stretch}
#cables .range-supplier-logos>a{display:grid;place-items:center;min-width:0;min-height:88px;background:#fff;border:1px solid #001c3118;padding:10px;border-radius:3px}
#cables .range-supplier-logos img{width:100%;max-width:100px;height:32px;object-fit:contain;max-height:none;padding:0}#cables .range-supplier-logos img[src$='logo-eland.png']{width:auto;height:68px;max-width:100%}
.not-found-page{background:#001c31;color:#fff;padding-block:90px;position:relative;isolation:isolate;overflow:clip}.not-found-page::before{content:'S';position:absolute;right:-.05em;top:-.15em;font:850 min(70vw,650px)/1 Manrope,Arial,sans-serif;opacity:.035;z-index:-1}.not-found-page h1{font:800 clamp(42px,6vw,76px)/1.1 Manrope,Arial,sans-serif;letter-spacing:-.04em;color:#fff}.not-found-page p{max-width:600px;font-size:16px;line-height:1.8}.not-found-search{display:flex;gap:10px;max-width:600px;margin-block:30px}.not-found-search input{min-width:0;flex:1;padding:15px;font:16px Manrope,sans-serif;border:1px solid #ffffff80;border-radius:3px}.not-found-search button,.not-found-links a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 18px;border:1px solid #ffffff80;color:#fff;background:#001321;font:800 13px Manrope,sans-serif;border-radius:3px}.not-found-links{display:flex;gap:12px;flex-wrap:wrap}

/* The final basket action is the clear next step, in the approved palette. */
.quotation-summary #quote-selected{background:#fff;color:#001c31;border:1px solid #fff;min-height:52px;font-weight:800;box-shadow:0 5px 18px #0003}
.quotation-summary #quote-selected:hover:not(:disabled){background:#f2f1ec;color:#001c31;border-color:#f2f1ec}
.quotation-summary #quote-selected:focus-visible{outline:2px solid #fff;outline-offset:5px}
.quotation-line input[aria-invalid="true"]{outline:2px solid #001c31;outline-offset:3px}
/* The typing headline never gates navigation. */
.hero-film .hero-film-actions{opacity:1;visibility:visible;animation:none}

/* Product identity and accessory relationships retain Swift's bold catalogue type. */
.catalogue-premium .selected-product-name{font:800 clamp(17px,1.7vw,23px)/1.35 Manrope,Arial,sans-serif;color:inherit;margin:0 0 10px;letter-spacing:-.025em}
.catalogue-premium .workspace-heading-product-name{font-size:clamp(20px,2.2vw,29px);margin:0 0 10px;max-width:900px}
.catalogue-premium .selected-product-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:18px 0 20px;border-block:1px solid currentColor;border-color:#788d9b50}
.selected-product-facts>div{min-width:0;padding:12px 14px 12px 0}
.selected-product-facts>div+div{padding-left:14px;border-left:1px solid #788d9b50}
.selected-product-facts dt{font-size:10px;font-weight:600;line-height:1.45;opacity:.8;margin-bottom:5px}
.selected-product-facts dd{font-size:15px;font-weight:800;line-height:1.4;margin:0;overflow-wrap:normal}
.catalogue-premium .workspace-heading-product-facts{max-width:900px;margin-top:20px}
.catalogue-premium .premium-workspace .workspace-accessory-copy>.accessory-matched,.quotation-matched{font-size:10px;font-weight:800;line-height:1.5;margin:0 0 12px;padding-bottom:9px;border-bottom:1px solid #001c3126;color:#001c31}
.catalogue-premium .premium-workspace .workspace-accessory-copy>.accessory-quantity-note,.quotation-quantity-note{font-size:11px;line-height:1.65;margin:0 0 12px;padding:10px 12px;border-left:2px solid #001c31;background:#001c3108;color:#001c31}
.quotation-line.is-accessory{border-left:3px solid #001c31}
@media(max-width:960px){.site-header .mobile-trade-tools{grid-template-columns:minmax(0,1fr) auto}}
@media(max-width:600px){
 .catalogue-premium .selected-product-facts{grid-template-columns:1fr;gap:0}
 .selected-product-facts>div,.selected-product-facts>div+div{display:grid;grid-template-columns:minmax(100px,.85fr) minmax(0,1fr);gap:14px;padding:9px 0;border-left:0}
 .selected-product-facts>div+div{border-top:1px solid #788d9b30}
 .selected-product-facts dt{font-size:10px;margin:0}
 .selected-product-facts dd{font-size:14px;text-align:right;line-height:1.5}
}
/* Discoverable enclosure services retain the approved Swift palette. */
.panel-service-products{padding-block:48px}.panel-service-products h2{font:800 clamp(24px,3vw,36px)/1.15 Manrope,sans-serif;color:#001c31;margin-bottom:24px}.panel-service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,200px),1fr));gap:18px}.panel-service-card{background:#001c31;color:#fff;padding:18px;text-decoration:none;border-radius:8px}.panel-service-image{height:140px;padding:12px;background:#f3f5f6;border-radius:5px;margin-bottom:18px}.panel-service-image img{width:100%;height:100%;object-fit:contain;mix-blend-mode:multiply}.panel-service-card h3{font:800 18px/1.3 Manrope,sans-serif;color:#fff;margin:0 0 8px}.panel-service-card>strong{font-size:16px;font-weight:800}.panel-service-card p{font-size:12px;line-height:1.65;color:#e0e6eb;margin:10px 0 0}.panel-service-card:hover,.panel-service-card:focus-visible{background:#001321;outline:2px solid #001c31;outline-offset:3px}
