/*
Theme Name: Hello Elementor Child
Theme URI: https://github.com/elementor/hello-theme-child/
Description: Hello Elementor Child for BWI Enterprises, built from the Acme Bag child theme.
Author: Ben Coyour Design
Author URI: https://bencoyourdesign.com/
Template: hello-elementor
Version: 2.1.0
Text Domain: hello-elementor-child
License: GNU General Public License v3 or later.
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/

/* GLOBAL - content lists, links and spacing (carried over from Acme, recolored for BWI) */
.elementor-widget-theme-post-content ul {padding:0 0 0 1.25em; margin:0 0 1.4em; list-style-type:disc;}
.elementor-widget-theme-post-content ul li {padding-bottom:12px;}
.elementor-widget-theme-post-content .wp-block-rank-math-toc-block ul {list-style:none; padding:0 0 12px;}
.elementor-widget-text-editor ul {padding:0 0 0 1.25em; margin:0 0 1.4em; list-style-type:disc;}
.elementor-widget-text-editor ul li {padding-bottom:12px;}
.elementor-widget-theme-post-content ul li::marker, .elementor-widget-text-editor ul li::marker {color:#25345F;}
.light ul li::marker, .elementor-widget-text-editor.light ul li::marker {color:#fff;}

.elementor-widget-theme-post-content ol, .elementor-widget-text-editor ol {padding:0; margin:0 0 1em; list-style:none; counter-reset:ol-counter;}
.elementor-widget-theme-post-content ol li, .elementor-widget-text-editor ol li {padding:0 0 12px 1.25em; counter-increment:ol-counter; position:relative;}
.elementor-widget-theme-post-content ol li::before, .elementor-widget-text-editor ol li::before {
  content:counter(ol-counter); color:#25345F; font-weight:700;
  width:1.5em; line-height:1.8em; display:block; position:absolute; left:0; top:.45em; font-size:.7em;
}
.elementor-widget-theme-post-content h2 {margin-top:2.3em;}
.elementor-widget-theme-post-content h3 {margin-top:1.6em;}
.elementor-widget-theme-post-content strong, .elementor-widget-text-editor strong {color:#25345F; font-weight:600;}
.light strong {color:#fff !important;}
legend {border-bottom:0 !important;}

.elementor-widget-theme-post-content a,
.elementor-widget-text-editor a:not(.nohighlight .elementor-widget-text-editor a) {
  color:#194786; font-weight:600; text-decoration:none;
  background-image:linear-gradient(#D3D9E9, #D3D9E9), linear-gradient(#194786, #194786);
  background-size:100% 2px, 0 2px; background-position:100% 100%, 0 100%; background-repeat:no-repeat;
  transition:background-size .6s ease-out;
}
.elementor-widget-theme-post-content a:hover,
.elementor-widget-text-editor a:not(.nohighlight .elementor-widget-text-editor a):hover {background-size:0 2px, 100% 2px;}

.elementor-widget-text-editor p, .elementor-widget-theme-post-content p,
.elementor-widget-text-editor ul, .elementor-widget-theme-post-content ul,
.elementor-widget-text-editor ol, .elementor-widget-theme-post-content ol {margin-bottom:1.3em; margin-top:0;}
.elementor-widget-text-editor > *:last-child, .elementor-widget-text-editor .elementor-widget-container > *:last-child {margin-bottom:0;}

/* ANCHOR LINKS */
html, body {scroll-padding-top:140px;}

/* FORMS (Gravity Forms) */
.gform_required_legend {display:none !important;}
.gform-theme--foundation .gform_fields {row-gap:15px !important;}
.gform-theme--foundation input.gform_button {
  background:#BA5A25 !important; font-size:17px !important; inline-size:100% !important; line-height:56px !important;
  font-weight:600 !important; transition:background .25s ease !important; border:0 !important; border-radius:100px !important;
}
.gform-theme--foundation input.gform_button:hover {background:#25345F !important;}
/* === BWI - SITE SYSTEM (bwi-*) ===
   1. Tokens and shared pieces
   2. Header, dropdowns and off-canvas
   3. Hero
   4. Product bento
   5. Stats (unused)
   7. BWI Advantage
   8. Burlap spotlight
   9. Industries
   10. Custom work story (Dignity Bag panel)
   11. Footer
   12. Interior shared: wrap, eyebrow, pills, breadcrumb
   13. Product cards, origin badges, grids
   14. Product listing template
   15. FAQ accordion
   16. Single product
   17. Forms on light pages
   18. News and article
   19. Interior page blocks
   20. Breakpoints
*/

/* 1. Tokens and shared pieces */
:root {
  --bwi-navy:#25345F; --bwi-copper:#BA5A25; --bwi-gray:#55575E; --bwi-blue:#194786;
  --bwi-lblue:#D3D9E9; --bwi-lnavy:#F1F3F8; --bwi-cream:#FBF5EF; --bwi-stone:#F4F2EE;
  --bwi-dnavy:#0E162A; --bwi-dcopper:#4C2410; --bwi-hero-tint:#FDF9F5;
  --bwi-ease:cubic-bezier(.22,.61,.36,1);
}
:where(a, button, .elementor-button):focus-visible {outline:3px solid var(--bwi-copper); outline-offset:3px;}
.elementor-widget.bwi-maxw-640 {max-width:640px !important; margin-left:auto; margin-right:auto;}   /* beats Elementor's widget max-width:100% */
.elementor-widget.bwi-maxw-760 {max-width:760px !important; margin-left:auto; margin-right:auto;}   /* centred page intros: wide enough that no word hangs on its own line */
.elementor-heading-title, .elementor-widget-text-editor p, .bwi-card__title, .bwi-card__sub {text-wrap:pretty;}   /* browser balances the last line, no orphans */
.elementor-widget.bwi-maxw-560 {max-width:560px !important;}
.bwi-intro {max-width:900px; margin-left:auto; margin-right:auto;}
.bwi-intro .elementor-widget-text-editor {max-width:640px !important;}
.elementor-button {border-radius:100px;}                                       /* pills everywhere, kit radius is 100 too */
.bwi-btn-eq .elementor-button {min-width:250px; justify-content:center;}
.elementor-button .elementor-button-icon {display:flex; align-items:center; line-height:0;}
.elementor-button .elementor-button-icon svg {width:.95em; height:.95em;}
.elementor-button {transition:background-color .25s ease, color .25s ease, border-color .25s ease, box-shadow .3s ease, transform .25s var(--bwi-ease) !important;}
.elementor-button:hover {transform:translateY(-1px);}
.bwi-btn-ondark .elementor-button {box-shadow:inset 0 0 0 2px rgba(244,160,110,.7);}   /* copper on navy: lighter edge lifts the button off the band */
/* buttons on navy bands glow only on hover: copper gets a warm glow, white a soft bright one */
:is(#sec-footer-cta, #sec-burlap, .bwi-bento--call, #quote-call, #ind-card-call) .elementor-button:hover {box-shadow:0 10px 32px rgba(255,255,255,.30);}
:is(#sec-footer-cta, #sec-burlap) .bwi-btn-ondark .elementor-button:hover {box-shadow:inset 0 0 0 2px rgba(244,160,110,.7), 0 10px 32px rgba(244,140,80,.45);}
.bwi-glass {background:rgba(255,255,255,.08); border:1px solid rgba(255,255,255,.16); backdrop-filter:blur(10px); -webkit-backdrop-filter:blur(10px);}

/* 2. Header, dropdowns and off-canvas */
.bwi-phone a {color:inherit; white-space:nowrap; transition:color .2s ease;}
.bwi-phone a:hover {color:var(--bwi-navy);}
#sec-header .elementor-button {white-space:nowrap;}
.bwi-hd-icon .elementor-icon {display:flex; cursor:pointer;}
.bwi-hd-num {margin:0 6px 0 0 !important;} .bwi-hd-num .elementor-heading-title {font-size:15px; font-weight:700; line-height:1;}   /* mobile header: the real number, not an icon */
.bwi-nav .elementor-nav-menu--main .sub-arrow {padding-left:6px;}
.bwi-nav .elementor-nav-menu--main .sub-arrow svg {width:.65em; height:.65em; transition:transform .25s var(--bwi-ease);}
.bwi-nav .elementor-nav-menu--main li:hover > a .sub-arrow svg {transform:rotate(180deg);}
.bwi-nav .elementor-nav-menu--main .sub-menu,
.bwi-nav .elementor-nav-menu--main .elementor-nav-menu--dropdown {
  min-width:270px !important; padding:10px !important; background:#fff; border-radius:16px; border:1px solid rgba(37,52,95,.08);
  box-shadow:0 18px 44px rgba(14,22,42,.16), 0 2px 6px rgba(14,22,42,.06); overflow:hidden;
}
.bwi-nav .elementor-nav-menu--main .sub-menu a {border-radius:10px; border-left:0 !important; transition:background-color .2s ease, color .2s ease, padding .2s var(--bwi-ease);}
.bwi-nav .elementor-nav-menu--main .sub-menu a:hover {padding-left:22px !important; color:var(--bwi-copper) !important;}
/* off-canvas: submenus open in place under their parent instead of flying out sideways */
.bwi-ocnav .elementor-nav-menu .sub-menu {position:static !important; width:100% !important; min-width:0 !important; max-width:none !important; margin:0 !important; left:auto !important; top:auto !important; transform:none !important; box-shadow:none !important; border:0 !important; padding:6px 0 !important; margin:4px 0 8px !important; border-radius:14px !important; background:#F5F5F5 !important;}   /* very light neutral gray */
.bwi-ocnav .elementor-nav-menu .sub-menu a:hover, .bwi-ocnav .elementor-nav-menu .sub-menu a:focus {background:var(--bwi-cream) !important; color:var(--bwi-copper) !important;}
.elementor-location-header .e-off-canvas .elementor-widget-button .elementor-button {min-width:220px; justify-content:center;}   /* Contact and Request a Quote match */
.bwi-ocnav .elementor-nav-menu .sub-menu a {justify-content:center !important; text-align:center; font-size:16px !important; font-weight:400 !important; padding:8px 14px !important; border:0 !important;}
.bwi-ocnav .elementor-nav-menu > li > a .sub-arrow svg {width:.7em; height:.7em;}

/* 3. Heroes */
/* A: warm gradient, photo trio, feature row */
.bwi-car-wrap {width:100%; align-self:stretch;}   /* the widget must span the hero, its photos are absolutely placed on phones */
.bwi-car {position:relative; width:100%; max-width:1180px; margin:0 auto; overflow:hidden;}
.bwi-car__track {display:flex; align-items:flex-end; height:440px;}   /* fixed height: nothing below moves while the photos swap */
.bwi-car__item {flex:0 0 auto; width:calc(27% - 16px); height:340px; margin:0 16px 0 0 !important; border-radius:22px; overflow:hidden; background:var(--bwi-stone);
  transition:width .9s var(--bwi-ease), height .9s var(--bwi-ease), margin .9s var(--bwi-ease), opacity .9s var(--bwi-ease);}   /* spacing is margin, not gap, so the outgoing photo collapses to exactly nothing; !important beats Elementor's figure{margin:0} */
.bwi-car__item img {display:block; width:100%; height:100%; object-fit:cover;}
.bwi-car__item:nth-child(2), .bwi-car__item.is-next {width:46%; height:440px; box-shadow:0 30px 60px rgba(76,36,16,.14);}   /* the centred photo is always the big one */
.bwi-car__item.is-prev {width:calc(27% - 16px); height:340px; box-shadow:none;}
.bwi-car__item.is-out {width:0; margin-right:0 !important; opacity:0;}
.bwi-car__item:nth-child(n+4):not(.is-in) {opacity:0;}   /* the next photo fades in as it slides in from the right, no hard edge */
.bwi-points {max-width:1180px; margin:0 auto;}
.bwi-point + .bwi-point {border-left:1px solid rgba(37,52,95,.12);}
/* Google rating badge (homepage hero, About) */
.bwi-greview {display:flex; flex-direction:column; align-items:center; gap:12px;}
.bwi-greview .bwi-greview__card {display:inline-flex; align-items:center; gap:16px; padding:14px 22px; border-radius:18px; background:#fff; border:1px solid rgba(37,52,95,.10); box-shadow:0 14px 36px rgba(14,22,42,.13), 0 1px 3px rgba(14,22,42,.06); text-decoration:none !important; background-image:none !important;}   /* static shadow and fine border, no hover; two classes beat Elementor's '.elementor a {box-shadow:none}' */
.bwi-greview__logo svg {display:block; width:84px; height:auto;}
.bwi-greview__stars {display:inline-flex; gap:2px;}
.bwi-greview__stars svg {width:17px; height:17px; fill:#F9A825;}
.bwi-greview__score {display:flex; flex-direction:column; line-height:1.1;}
.bwi-greview__score strong {font-size:19px; color:#000;}
.bwi-greview__score small {font-size:13px; color:var(--bwi-gray);}
.bwi-greview__link {font-size:16px; font-weight:700; color:var(--bwi-blue) !important; text-decoration:underline; text-underline-offset:4px; background-image:none !important;}
.bwi-greview__link:hover {color:var(--bwi-navy) !important;}
/* 4. Product bento */
.bwi-span-2 {grid-column:span 2;}
/* photo cards (homepage, Products, Industries): one strong navy wash at rest; on hover it fades to that card's own brand colour.
   Registered colour properties let the gradient itself animate. Cards do not move, so the edge never jitters. */
@property --bwi-ov-a {syntax:'<color>'; inherits:false; initial-value:rgba(14,22,42,.42);}
@property --bwi-ov-b {syntax:'<color>'; inherits:false; initial-value:rgba(14,22,42,.94);}
.bwi-bento {overflow:hidden; position:relative; transition:box-shadow .45s var(--bwi-ease);}
.bwi-bento:hover {box-shadow:0 18px 40px rgba(14,22,42,.16);}
.bwi-bento--photo {background-size:cover; --bwi-hov:14,22,42;}
.bwi-bento--photo::before {background-image:linear-gradient(180deg, var(--bwi-ov-a) 0%, var(--bwi-ov-b) 100%) !important; opacity:1 !important; transition:--bwi-ov-a .5s ease, --bwi-ov-b .5s ease !important;}
.bwi-bento--photo:hover::before, .bwi-bento--photo:focus-visible::before {--bwi-ov-a:rgba(var(--bwi-hov),.80); --bwi-ov-b:rgba(var(--bwi-hov),.95);}
.bwi-bento--photo:nth-child(6n+1) {--bwi-hov:25,71,134;}   /* blue */
.bwi-bento--photo:nth-child(6n+2) {--bwi-hov:168,72,14;}   /* copper */
.bwi-bento--photo:nth-child(6n+3) {--bwi-hov:37,52,95;}    /* navy */
.bwi-bento--photo:nth-child(6n+4) {--bwi-hov:76,36,16;}    /* dark copper */
.bwi-bento--photo:nth-child(6n+5) {--bwi-hov:68,70,77;}    /* gray */
.bwi-bento--photo:nth-child(6n+6) {--bwi-hov:14,22,42;}    /* dark navy */
.bwi-bento__arrow {position:absolute !important; top:24px; right:24px; width:auto !important; margin:0 !important;}
.bwi-bento__arrow .elementor-icon {transition:transform .3s var(--bwi-ease);}
.bwi-bento:hover .bwi-bento__arrow .elementor-icon {transform:translateX(3px) rotate(-45deg);}
.bwi-bento__text {max-width:440px;}
.bwi-bento--photo .elementor-heading-title, .bwi-bento--photo p {text-shadow:0 1px 14px rgba(14,22,42,.6);}

/* 5. Stats */
.bwi-stat__num .elementor-heading-title {line-height:1;}

/* 7. BWI Advantage */
.bwi-adv-img img {display:block; width:100%; aspect-ratio:4/5; object-fit:cover; border-radius:24px;}

/* 8. Burlap spotlight */
.bwi-burlap-img img {display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:24px; box-shadow:0 24px 50px rgba(5,10,25,.35);}

/* 9. Industries: equal tiles, the hovered tile grows, the rest give way */
.bwi-ind-row {height:370px; align-items:center !important;}
.bwi-ind {flex:1 1 0 !important; min-width:0; height:340px; overflow:hidden;
  transition:flex-grow .28s var(--bwi-ease), height .28s var(--bwi-ease), box-shadow .28s var(--bwi-ease) !important;}
.bwi-ind-row:hover .bwi-ind {flex-grow:.94 !important;}
.bwi-ind-row .bwi-ind:hover {flex-grow:1.4 !important; height:358px; box-shadow:0 16px 34px rgba(14,22,42,.18);}
.bwi-ind__title .elementor-heading-title {line-height:1.2;}
.bwi-ind--all {display:none !important;}                                  /* 'all industries' tile only fills the 2x2 grid on tablet and phone */

/* 10. Custom work story: Dignity Bag panel */
.bwi-dignity .bwi-story-item {border-top:1px solid rgba(210,255,91,.28);}
.bwi-dignity .bwi-story-item:last-child {border-bottom:1px solid rgba(210,255,91,.28);}
.bwi-video {position:relative; overflow:hidden; border-radius:24px; min-height:100%;}
.bwi-video__img, .bwi-video__img .elementor-widget-container {height:100%;}
.bwi-video__img img {display:block; width:100%; height:100%; min-height:460px; object-fit:cover; transition:transform .8s var(--bwi-ease);}
.bwi-video:hover .bwi-video__img img {transform:scale(1.03);}
.bwi-play {position:absolute !important; left:50%; top:50%; transform:translate(-50%,-50%); width:auto !important; margin:0 !important;}
.bwi-play .elementor-icon {transition:transform .3s var(--bwi-ease); box-shadow:0 0 0 10px rgba(0,0,0,.16), 0 14px 70px 26px rgba(0,0,0,.55);}   /* wide dark halo separates it from the photo */
.bwi-video:hover .bwi-play .elementor-icon {transform:scale(1.08);}
.bwi-video__label {position:absolute !important; left:24px; bottom:22px; width:auto !important; margin:0 !important;}
.bwi-video__label .elementor-heading-title {display:inline-block; padding:8px 16px; border-radius:100px; background:#00341E; text-transform:uppercase; letter-spacing:.6px;}

/* 11. Footer */
#footer-brand .elementor-icon-list-item a {color:inherit;}
.bwi-badge-tile {height:104px;}
.bwi-badge-img, .bwi-badge-img .elementor-widget-container {width:100%; height:100%; display:flex; align-items:center; justify-content:center;}
.bwi-badge-img img {max-height:64px; max-width:100%; width:auto; object-fit:contain;}

/* 12. Interior shared: wrap, eyebrow, pills, breadcrumb */
.bwi-wrap {max-width:1280px; margin:0 auto; padding:0 40px;}
.bwi-wrap--narrow {max-width:900px;}
.bwi-eyebrow {margin:0 0 10px; font-size:14px; font-weight:700; letter-spacing:2px; text-transform:uppercase; color:var(--bwi-blue);}
.bwi-pill {display:inline-flex; align-items:center; justify-content:center; gap:10px; padding:15px 30px; border-radius:100px; font-size:17px; font-weight:700; line-height:1.2; text-decoration:none !important; transition:background-color .25s ease, transform .25s var(--bwi-ease);}
.bwi-pill:hover {transform:translateY(-1px);}
.bwi-pill--copper {background:var(--bwi-copper); color:#fff !important;}
.bwi-pill--copper:hover {background:#A8480E;}
.bwi-pill--blue {background:var(--bwi-blue); color:#fff !important;}
.bwi-pill--blue:hover {background:#12366A;}
.bwi-crumbs {display:flex; flex-wrap:wrap; gap:8px; margin:0 0 22px; font-size:15px; color:var(--bwi-gray);}
.bwi-crumbs a {color:var(--bwi-gray); text-decoration:none;}
.bwi-crumbs a:hover {color:var(--bwi-blue);}
.bwi-crumbs span {opacity:.6;}

/* 13. Product cards, origin badges, grids */
.bwi-grid {display:flex; flex-wrap:wrap; justify-content:center; align-items:stretch; gap:24px;}   /* centred, so short rows sit in the middle; cards in a row share one height */
.bwi-grid > .bwi-card {flex:0 0 calc((100% - 72px) / 4); max-width:calc((100% - 72px) / 4);}
.bwi-grid--3 > .bwi-card {flex-basis:calc((100% - 48px) / 3); max-width:calc((100% - 48px) / 3);}
.bwi-card {position:relative; display:flex; flex-direction:column; background:#fff; border:1px solid rgba(37,52,95,.09); border-radius:20px; text-decoration:none !important; color:inherit; transition:transform .35s var(--bwi-ease), box-shadow .35s var(--bwi-ease), border-color .35s ease;}
.bwi-card::after {content:""; position:absolute; left:0; right:0; top:100%; height:8px;}   /* keeps the hover alive in the gap the lift opens, so the card never jitters */
.bwi-card:hover {transform:translateY(-4px); box-shadow:0 18px 40px rgba(14,22,42,.12); border-color:rgba(37,52,95,.22);}
.bwi-card__media {position:relative; display:block; aspect-ratio:1/1; background:#fff; overflow:hidden; border-radius:19px 19px 0 0; border-bottom:1px solid rgba(37,52,95,.06);}
.bwi-card__img {position:absolute; inset:0; display:block; width:100% !important; height:100% !important; max-width:none; object-fit:cover;}   /* fills the square at any image ratio */
.bwi-card__body {display:flex; flex-direction:column; align-items:flex-start; gap:8px; padding:20px 22px 22px; flex:1;}
.bwi-card__title {font-size:21px; font-weight:700; line-height:1.2; color:#000;}
.bwi-card__sub {font-size:15px; line-height:1.45; color:var(--bwi-gray); margin-bottom:auto;}
.bwi-origin {display:inline-flex; align-items:center; gap:7px; margin-top:6px; padding:6px 12px; border-radius:100px; font-size:13px; font-weight:700; line-height:1; letter-spacing:.2px;}
.bwi-origin svg {width:14px; height:14px; fill:currentColor; flex:0 0 auto;}
.bwi-origin--canada, .bwi-origin--both {background:var(--bwi-cream); color:#A8480E; box-shadow:inset 0 0 0 1px rgba(186,90,37,.2);}
.bwi-origin--distributed {background:var(--bwi-lnavy); color:var(--bwi-navy); box-shadow:inset 0 0 0 1px rgba(37,52,95,.12);}

/* 14. Product listing template (inc/productlisting.php) */
.bwi-listing__hero {padding:70px 0 56px; text-align:center; background:linear-gradient(180deg, var(--bwi-hero-tint) 0%, #fff 50%);}
.bwi-listing__title {margin:0 0 16px; font-size:54px; line-height:1.1; color:#000 !important;}   /* beats the kit heading colour */
.bwi-listing__desc {max-width:720px; margin:0 auto; font-size:18px; line-height:1.6; color:var(--bwi-gray);}
.bwi-listing__desc p:last-child {margin-bottom:0;}
.bwi-listing__jumps {display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:28px;}
.bwi-listing__jumps a {padding:8px 16px; border-radius:100px; background:#fff; border:1px solid rgba(37,52,95,.14); font-size:15px; font-weight:700; color:var(--bwi-navy); text-decoration:none;}
.bwi-listing__jumps a:hover {border-color:var(--bwi-blue); color:var(--bwi-blue);}
.bwi-listing__products {padding:30px 0 110px;}
.bwi-listing__heading {margin:64px 0 36px; padding-top:10px; font-size:24px; line-height:1.2; text-align:center; color:#000 !important; scroll-margin-top:110px;}
.bwi-listing__heading:first-child {margin-top:10px;}
.bwi-listing__subheading {margin:30px 0 18px; font-size:21px; text-align:center; color:var(--bwi-navy);}
.bwi-listing__faqs {padding:100px 0; background:var(--bwi-stone);}
.bwi-listing__content {padding:0 0 90px;}
.bwi-listing-cta {padding:40px 44px; border-radius:24px; background:var(--bwi-navy); text-align:center; color:#fff;}   /* quote and availability card on a category page */
.bwi-listing-cta h2 {margin:0 0 10px; font-size:30px; line-height:1.2; color:#fff !important;}
.bwi-listing-cta p {margin:0 auto 22px; max-width:560px; font-size:18px; line-height:1.6; color:#D3D9E9;}
.bwi-listing-cta__btns {display:flex; flex-wrap:wrap; justify-content:center; gap:12px;}
.bwi-listing-cta .bwi-pill--white {background:#fff; color:var(--bwi-navy) !important;}
.bwi-listing-cta .bwi-pill--white:hover {background:#FBF5EF;}
.bwi-listing-cta .bwi-pill:hover {box-shadow:0 10px 32px rgba(255,255,255,.28);}

/* 15. FAQ accordion */
.bwi-faqs__title {margin:0 0 30px; font-size:28px; line-height:1.2; color:#000 !important;}
.bwi-faqs--center .bwi-faqs__title {text-align:center;}
.bwi-faq {background:#fff; border:1px solid rgba(37,52,95,.1); border-radius:16px; margin-bottom:12px; transition:box-shadow .3s ease;}
.bwi-faq[open] {box-shadow:0 10px 26px rgba(14,22,42,.07);}
.bwi-faq summary {position:relative; list-style:none; cursor:pointer; padding:20px 60px 20px 24px; font-size:19px; font-weight:700; line-height:1.35; color:var(--bwi-navy);}
.bwi-faq summary::-webkit-details-marker {display:none;}
.bwi-faq summary:hover {color:var(--bwi-blue);}
.bwi-faq__icon {position:absolute; right:22px; top:50%; width:22px; height:22px; margin-top:-11px; border-radius:50%; background:var(--bwi-lnavy);}
.bwi-faq__icon::before, .bwi-faq__icon::after {content:""; position:absolute; left:6px; right:6px; top:10px; height:2px; background:var(--bwi-blue); transition:transform .25s var(--bwi-ease);}
.bwi-faq__icon::after {transform:rotate(90deg);}
.bwi-faq[open] .bwi-faq__icon::after {transform:rotate(0);}
.bwi-faq__a {padding:0 24px 20px; font-size:17px; line-height:1.6; color:var(--bwi-gray);}
.bwi-faq__a p:last-child {margin-bottom:0;}

/* 16. Single product (Theme Builder "Single - Product") */
.bwi-prod-content h3 {margin:38px 0 14px; font-size:24px; line-height:1.25; color:#000;}
.bwi-prod-content p, .bwi-prod-content li {font-size:18px; line-height:1.65; color:var(--bwi-gray);}
.bwi-prod-content ul {margin:0 0 18px; padding:0; list-style:none;}
.bwi-prod-content li {position:relative; padding-left:26px; margin-bottom:4px; line-height:1.5 !important;}
.bwi-prod-content li::before {content:""; position:absolute; left:4px; top:.62em; width:8px; height:8px; border-radius:50%; background:var(--bwi-blue);}
.bwi-prod-content a {color:var(--bwi-blue);}
.bwi-prod-content > .elementor-widget-container > *:first-child, .bwi-prod-content p:first-child {margin-top:0;}
.bwi-prod-content figure.wp-block-table {margin:0 0 20px; overflow-x:auto; border-radius:16px; border:1px solid rgba(37,52,95,.12);}
.bwi-prod-content table {width:100%; border-collapse:collapse; margin:0; font-size:16px;}
.bwi-prod-content th {background:var(--bwi-navy); color:#fff; text-align:left; font-weight:700; padding:12px 16px; border:0 !important;}   /* beats the theme's grey rule under the head */
.bwi-prod-content td {padding:11px 16px; border:0 !important; border-top:1px solid rgba(37,52,95,.1) !important; color:var(--bwi-gray);}
.bwi-prod-content thead, .bwi-prod-content thead tr, .bwi-prod-content tbody tr:first-child td {border:0 !important;}   /* the navy head runs straight into the first row */
.bwi-prod-content tbody tr:nth-child(even) td {background:var(--bwi-stone);}
.bwi-prod-figure {margin:6px 0 30px;}
.bwi-prod-figure a {display:block; position:relative; border-radius:20px; overflow:hidden; cursor:zoom-in; background-image:none !important; box-shadow:0 18px 44px rgba(14,22,42,.12), 0 1px 3px rgba(14,22,42,.06);}
.bwi-prod-figure img {display:block; width:100%; height:auto; transition:transform .6s var(--bwi-ease);}
.bwi-prod-figure a:hover img {transform:scale(1.02);}
.bwi-prod-figure a::after {content:"View larger"; position:absolute; right:14px; bottom:14px; padding:7px 14px; border-radius:100px; background:rgba(14,22,42,.78); color:#fff; font-size:13px; font-weight:700;}   /* tells people the photo opens big */
.bwi-prod-figure figcaption {margin-top:12px; font-size:15px; line-height:1.5; color:var(--bwi-gray);}
.bwi-calc {margin:34px 0 10px; padding:30px 32px; border-radius:20px; background:var(--bwi-lnavy); border:1px solid rgba(37,52,95,.08);}   /* FIBC capacity calculator */
.bwi-calc__head {display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:12px; margin-bottom:6px;}
.bwi-prod-content .bwi-calc__title {margin:0;}
.bwi-calc__units {display:inline-flex; padding:3px; border-radius:100px; background:#fff; border:1px solid rgba(37,52,95,.14);}
.bwi-calc__units button {padding:6px 14px; border:0; border-radius:100px; background:transparent; font-size:14px; font-weight:700; color:var(--bwi-navy); cursor:pointer;}
.bwi-calc__units button[aria-pressed="true"] {background:var(--bwi-navy); color:#fff;}
.bwi-prod-content .bwi-calc__intro {margin:0 0 18px; font-size:16px;}
.bwi-calc__step {display:flex; gap:14px; align-items:flex-end; margin-bottom:14px;}
.bwi-calc__num {flex:0 0 auto; display:flex; align-items:center; justify-content:center; width:32px; height:32px; margin-bottom:9px; border-radius:50%; background:var(--bwi-blue); color:#fff; font-size:15px; font-weight:700;}
.bwi-calc__fields {flex:1; display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px;}
.bwi-calc__fields label {display:flex; flex-direction:column; gap:6px; font-size:14px; font-weight:700; color:var(--bwi-navy);}
.bwi-calc__fields em {font-style:normal; font-weight:400; color:var(--bwi-gray);}
.bwi-calc__fields input {width:100%; padding:11px 13px; border-radius:12px; border:1px solid rgba(37,52,95,.18); background:#fff; font-size:16px; color:#000;}
.bwi-calc__out {display:grid; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px; margin:18px 0 0 46px;}
.bwi-calc__out div {padding:16px 18px; border-radius:14px; background:var(--bwi-navy); color:#fff;}
.bwi-calc__out span {display:block; font-size:13px; letter-spacing:.4px; text-transform:uppercase; color:#D3D9E9;}
.bwi-calc__out strong {display:block; margin-top:4px; font-size:22px; line-height:1.25; color:#fff !important;}   /* beats the navy strong colour in product copy */
.bwi-prod-content .bwi-calc__flag {margin:12px 0 0 46px; padding:10px 14px; border-radius:12px; background:#FBF5EF; border:1px solid rgba(186,90,37,.25); font-size:15px; color:#4C2410;}
.bwi-prod-content .bwi-calc__note {margin:14px 0 0 46px; font-size:14px;}
.bwi-prod-media img {display:block; width:100%; aspect-ratio:1/1; object-fit:cover; border-radius:24px; background:#fff; box-shadow:0 22px 50px rgba(14,22,42,.14), 0 2px 8px rgba(14,22,42,.06);}   /* lifted card like Acme */
.bwi-origin-row-quote {display:flex; flex-wrap:wrap; align-items:stretch; gap:10px;}
.bwi-origin-row-quote .bwi-origin {margin-top:0; padding:0 14px; height:34px; font-size:14px;}
.bwi-mini-quote {display:inline-flex; align-items:center; height:34px; padding:0 16px; border-radius:100px; background:var(--bwi-copper); color:#fff !important; font-size:14px; font-weight:700; text-decoration:none !important; background-image:none !important; transition:background-color .25s ease;}
.bwi-mini-quote:hover {background:#A8480E;}
.bwi-sidebar {position:sticky; top:30px;}
.bwi-quickquote .gform_wrapper {margin:0 !important;}
.bwi-quickquote .gform-theme--foundation .gform_fields {row-gap:12px; column-gap:12px;}
.bwi-quickquote .gform_wrapper .gfield_label {color:#fff !important; font-size:14px !important; font-weight:700 !important;}
.bwi-quickquote .gform_wrapper input:not([type=submit]), .bwi-quickquote .gform_wrapper textarea {border-radius:12px !important; border:0 !important; padding:12px 14px !important; font-size:16px !important; background:#fff !important;}
.bwi-quickquote .gform_wrapper textarea {min-height:110px !important; height:110px !important;}
.bwi-quickquote .gform_wrapper .gform_footer {margin-top:14px !important; padding:0 !important;}
.bwi-quickquote .gform_wrapper .gform_button, .bwi-form .gform_wrapper .gform_button {width:100% !important; padding:15px 26px !important; border-radius:100px !important; background:var(--bwi-copper) !important; color:#fff !important; font-size:17px !important; font-weight:700 !important; border:0 !important; line-height:1.2 !important; transition:background-color .25s ease !important;}
.bwi-quickquote .gform_wrapper .gform_button:hover, .bwi-form .gform_wrapper .gform_button:hover {background:#A8480E !important;}
.bwi-quickquote .gform_confirmation_message {color:#fff; font-size:17px;}
.bwi-quickquote .gfield_required {color:#F3D3BC !important;}
.bwi-related {padding:0;}
.bwi-related__title {margin:0 0 34px; font-size:28px; text-align:center; color:#000 !important;}

/* 17. Forms on light pages (Request a Quote, Contact) */
.bwi-form .gform_wrapper input:not([type=submit]), .bwi-form .gform_wrapper textarea, .bwi-form .gform_wrapper select {border-radius:12px !important; border:1px solid rgba(37,52,95,.18) !important; padding:13px 15px !important; font-size:16px !important; background:#fff !important; box-shadow:none !important;}
.bwi-form .gform_wrapper .gfield_label {font-size:15px !important; font-weight:700 !important; color:var(--bwi-navy) !important;}
.bwi-form .gform_wrapper .gform_button {width:auto !important; min-width:240px;}
.bwi-form .gform_wrapper select {height:auto !important; min-height:50px; line-height:1.3 !important;}
.bwi-form .gform_wrapper input[type=file] {height:auto !important; min-height:52px; padding:10px 14px !important; line-height:1.6 !important; overflow:visible !important;}   /* no clipped 'No file chosen' */

/* 18. News and article */
.bwi-article {max-width:780px; margin:0 auto;}
.bwi-article p, .bwi-article li {font-size:19px; line-height:1.7; color:#33353b;}
.bwi-article h2 {margin:44px 0 16px; font-size:32px; line-height:1.2; color:#000 !important;}
.bwi-article figure {margin:36px 0;}
.bwi-article figure img {width:100%; height:auto; border-radius:20px;}
.bwi-article figcaption {margin-top:10px; font-size:15px; color:var(--bwi-gray);}
.bwi-article blockquote {margin:36px 0; padding:26px 30px; border-radius:20px; background:#00341E; color:#F4FFD6; font-size:22px; line-height:1.5; border:0;}
.bwi-article blockquote p {color:#F4FFD6; font-size:22px; margin:0;}
.bwi-article a {color:var(--bwi-blue);}
.bwi-article .bwi-video-link {display:inline-flex; gap:10px; align-items:center; padding:14px 26px; border-radius:100px; background:#D2FF5B; color:#00341E !important; font-weight:700; text-decoration:none;}

/* 19. Interior page blocks (Elementor pages) */
.bwi-hero-img img, .bwi-split-img img {display:block; width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:24px; box-shadow:0 26px 54px rgba(76,36,16,.14);}
.bwi-list ul {margin:6px 0 0; padding:0; list-style:none;}
.bwi-list li {position:relative; padding-left:26px; margin-bottom:5px; line-height:1.5;}
.bwi-list li::before {content:""; position:absolute; left:4px; top:.62em; width:8px; height:8px; border-radius:50%; background:var(--bwi-blue);}
.bwi-list a {color:var(--bwi-blue);}
.bwi-tile {height:100%; border:1px solid rgba(37,52,95,.08); transition:box-shadow .35s var(--bwi-ease);}
.bwi-tile:hover {box-shadow:0 16px 34px rgba(14,22,42,.08);}
.bwi-chips {display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:20px;}
.bwi-chips span {padding:8px 15px; border-radius:100px; background:#fff; border:1px solid rgba(37,52,95,.12); font-size:15px; color:var(--bwi-navy);}
.bwi-origin-row > .e-con {flex:1 1 0;}
.bwi-origin-card .bwi-origin {margin:0 0 12px; font-size:14px; padding:8px 14px;}   /* air between the badge and the column title */
#story-media {position:relative;}
.bwi-archive-wrap {position:absolute !important; right:-34px; bottom:-48px; width:42% !important; max-width:270px; margin:0 !important; z-index:2;}   /* the 1990 advert sits over the corner of the story photo like a clipping */
.bwi-archive {margin:0; padding:9px 9px 10px; background:#fff; border-radius:6px; transform:rotate(-3deg); box-shadow:0 22px 44px rgba(14,22,42,.22), 0 2px 6px rgba(14,22,42,.10);}
.bwi-archive a {display:block; background-image:none !important; cursor:zoom-in;}
.bwi-archive img {display:block; width:100%; height:auto; border-radius:2px;}
.bwi-archive figcaption {margin-top:7px; font-size:12px; line-height:1.35; color:var(--bwi-gray);}
.bwi-tl-row {border-top:2px solid var(--bwi-lblue);}
.bwi-tl {position:relative; border-right:1px solid rgba(37,52,95,.1);}
.bwi-tl:last-child {border-right:0;}
.bwi-tl::before {content:""; position:absolute; top:-7px; left:24px; width:12px; height:12px; border-radius:50%; background:var(--bwi-blue); box-shadow:0 0 0 4px #fff;}
.bwi-facts > .e-con + .e-con {border-left:1px solid rgba(211,217,233,.25);}
.bwi-iso-mark img {max-width:240px; height:auto;}
.bwi-info-value a {color:#000 !important; background-image:none !important; font-weight:400 !important; text-decoration:none;}
.bwi-info-value a:hover {color:var(--bwi-blue) !important;}
.bwi-info-value p {margin:0;}
.bwi-form-card {box-shadow:0 20px 50px rgba(14,22,42,.08);}
.bwi-step-num {flex:0 0 auto; width:auto !important;}
.bwi-step-num .elementor-heading-title {display:flex; align-items:center; justify-content:center; width:44px; height:44px; border-radius:50%; background:var(--bwi-blue); font-size:20px !important;}
.bwi-map iframe {display:block; width:100%; height:440px; border:0; filter:saturate(.85);}
.bwi-post-img img {display:block; width:100%; max-height:560px; object-fit:cover; border-radius:24px;}
.bwi-news .elementor-post__card {border-radius:20px !important; border:1px solid rgba(37,52,95,.09) !important; box-shadow:none !important; transition:box-shadow .35s var(--bwi-ease), border-color .35s ease;}
.bwi-news .elementor-post__card:hover {box-shadow:0 18px 40px rgba(14,22,42,.12) !important; border-color:rgba(37,52,95,.22) !important;}
.bwi-news .elementor-post__title a {color:#000 !important; font-size:22px; font-weight:700;}
.bwi-news .elementor-post__read-more {color:var(--bwi-blue) !important; font-weight:700; font-size:15px;}
.bwi-article .bwi-lead {font-size:22px; line-height:1.6; color:#000;}
.bwi-qq-phone a, .bwi-qq-phone a:hover {color:#fff !important; font-weight:700; background-image:none !important; text-decoration:underline; text-underline-offset:3px;}

/* 20. Breakpoints */
@media (min-width:1400px) {
  .bwi-grid {margin-left:-40px; margin-right:-40px;}   /* product grids run 80px wider than the text column, so the cards get bigger */
}
@media (max-width:1366px) {
  .bwi-car__track {height:390px;}
  .bwi-car__item {height:300px;} .bwi-car__item:nth-child(2), .bwi-car__item.is-next {height:390px;}
  .bwi-car__item.is-prev {height:300px;}
}
@media (max-width:1024px) {
  .bwi-grid > .bwi-card, .bwi-grid--3 > .bwi-card {flex-basis:calc((100% - 48px) / 3); max-width:calc((100% - 48px) / 3);}   /* 3 across on tablet */
  .bwi-wrap {padding:0 30px;}
  .bwi-listing__title {font-size:44px;}
  .bwi-sidebar {position:static;}
  .bwi-tl {width:50% !important; border-bottom:1px solid rgba(37,52,95,.1);}
  .bwi-archive-wrap {right:-12px; bottom:-36px;}
  #story-media {margin-bottom:40px;}   /* tablet: room for the advert before the heading */
  .bwi-tl:nth-child(2) {border-right:0;}
  .bwi-car__track {height:320px;}
  .bwi-car__item {height:250px;} .bwi-car__item:nth-child(2), .bwi-car__item.is-next {height:320px;}
  .bwi-car__item.is-prev {height:250px;}
  .bwi-span-2 {grid-column:span 2;}
  .bwi-ind-row {display:grid !important; grid-template-columns:repeat(2, minmax(0,1fr)); gap:14px !important; height:auto;}   /* tablet and phone: 2 x 2 tiles, no side scroll */
  .bwi-ind, .bwi-ind-row:hover .bwi-ind, .bwi-ind-row .bwi-ind:hover {flex:none !important; width:auto !important; min-width:0; height:240px; box-shadow:none;}
  .bwi-ind--all {display:flex !important;}
  .bwi-adv-img img {aspect-ratio:16/10;}
  #adv-media {order:-1;}
  #adv-left, #adv-right {width:calc(50% - 20px) !important; justify-content:flex-start;}
  .bwi-bento--call {grid-column:span 2;}
}
@media (max-width:767px) {
  .bwi-grid {gap:14px;}
  .bwi-grid > .bwi-card, .bwi-grid--3 > .bwi-card {flex-basis:calc((100% - 14px) / 2); max-width:calc((100% - 14px) / 2);}   /* phone: two cards per row */
  .bwi-card__body {padding:14px 14px 16px;}
  .bwi-card__title {font-size:17px;}
  .bwi-card__sub {font-size:14px;}
  .bwi-origin {font-size:12px; padding:5px 9px;}
  .bwi-wrap {padding:0 20px;}
  .bwi-listing__hero {padding:44px 0 40px;}
  .bwi-listing__title {font-size:36px;}
  .bwi-listing__desc {font-size:18px;}
  .bwi-listing__products {padding:10px 0 70px;}
  .bwi-listing__faqs {padding:64px 0;}
  .bwi-listing__content {padding:0 0 64px;}
  .bwi-listing-cta {padding:30px 22px;}
  .bwi-listing-cta h2 {font-size:25px;}
  .bwi-faqs__title, .bwi-related__title {font-size:28px;}
  .bwi-faq summary {font-size:17px; padding:16px 52px 16px 18px;}
  .bwi-faq__a {padding:0 18px 16px;}
  .bwi-prod-content p, .bwi-prod-content li {font-size:17px;}
  .bwi-tl {width:100% !important; border-right:0;}
  .bwi-facts > .e-con + .e-con {border-left:0;}
  .bwi-map iframe {height:320px;}
  .bwi-article p, .bwi-article li {font-size:18px;}
  .bwi-pill {width:100%;}
  .bwi-origin-row {flex-direction:column !important;}                     /* made vs distributed cards stack */
  .bwi-origin-row > .e-con {flex:0 0 auto; width:100% !important;}
  #about-badges {grid-template-columns:repeat(2, minmax(0,1fr)) !important;}   /* badges two across */
  .bwi-car__track {position:relative; display:block; height:350px;}   /* phone: one fixed 100% x 350px frame, photos cross-fade inside it */
  .bwi-car__item, .bwi-car__item.is-prev, .bwi-car__item.is-out, .bwi-car__item:nth-child(2), .bwi-car__item.is-next {position:absolute; inset:0; width:100%; height:350px; margin:0 !important; box-shadow:none; opacity:0; transition:opacity .9s ease;}
  .bwi-car__item:nth-child(2), .bwi-car__item.is-next {opacity:1;}
  .bwi-car__item.is-prev {opacity:0;}
  .bwi-point + .bwi-point {border-left:0;}
  .bwi-span-2, .bwi-bento--call {grid-column:span 1;}
  #adv-left, #adv-right {width:100% !important;}
  .bwi-btn-eq, .bwi-btn-eq .elementor-button {width:100%;}
  .bwi-btn-eq .elementor-button {min-width:0;}
  .bwi-ind, .bwi-ind-row:hover .bwi-ind, .bwi-ind-row .bwi-ind:hover {height:200px;}
  #footer-brand .elementor-widget-theme-site-logo img, #footer-brand .elementor-widget-image img {max-width:150px !important;}   /* smaller footer logo on phones */
  .bwi-video__img img {min-height:260px;}
  .bwi-badge-tile {height:88px;}
  .bwi-badge-img img {max-height:52px;}
  .bwi-origin-row-quote {flex-wrap:nowrap; gap:8px;}
  .bwi-origin-row-quote .bwi-origin, .bwi-mini-quote {font-size:12.5px; padding:0 11px; white-space:nowrap;}   /* phone: badge and quote button stay on one line */
  .bwi-greview .bwi-greview__card {gap:12px; padding:12px 16px;}
  .bwi-calc {padding:22px 18px;}
  .bwi-archive-wrap {position:relative !important; right:auto; bottom:auto; width:72% !important; max-width:300px; margin:-56px 0 0 auto !important;}   /* phone: tucked under the photo's corner, in flow */
  .bwi-calc__grid, .bwi-calc__out {grid-template-columns:repeat(2, minmax(0,1fr));}
  .bwi-greview__logo svg {width:70px;}
}
