/* ==========================================================
   WIKIWASTE — WORKING BASE (last update 11:30pm 26.03.26 - Author JL)
   ========================================================== */


/* =========================
   CORE TOKENS
   ========================= */
:root{
  --cobalt:#1F39A2;
  --ice:#B2C6FF;
  --tangerine:#E67829;
  --sun:#FFD883;
  --dove:#D3D3D3;
  --slate:#6A6F73;
  --carbon:#4A4A4A;
  --white:#ffffff;
  --black:#000000;

  /* header offset */
  --ww-header-offset:7.5rem;          /* 120px */

  /* ww-shell inner padding */
  --ww-shell-pad-desktop:1.5rem;      /* 24px */
  --ww-shell-pad-mobile:1.125rem;     /* 18px */
}

@media (max-width:48rem){             /* 768px */
  :root{ --ww-header-offset:8.75rem; } /* 140px */
}


/* =========================
   GLOBAL BACKGROUND — FORCE WHITE
   ========================= */
html,
body,
#sp-page-body,
#sp-main-body,
#sp-body-inner,
.body-innerwrapper,
.sp-body-inner,
.wrapper,
#sp-component,
.sppb-page-wrapper,
.sppb-section:not([style*="background"]){
  background-color:#ffffff !important;
}


/* =========================
   WIKIWASTE CONTENT SCOPES (TYPOGRAPHY BASE)
   ========================= */
.ww-scope,
.ww-org-scope,
.ww-op-scope,
.ww-sub-scope,
.ww-efw-scope,
.ww-la-scope,
.ww-v2{
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-size:1.1rem !important;          
  line-height:1.55rem !important;    
  color:var(--carbon) !important;
}

.ww-scope p,
.ww-org-scope p,
.ww-op-scope p,
.ww-sub-scope p,
.ww-efw-scope p,
.ww-la-scope p,
.ww-v2 p,
.ww-scope li,
.ww-org-scope li,
.ww-op-scope li,
.ww-sub-scope li,
.ww-efw-scope li,
.ww-la-scope li,
.ww-v2 li{
  font-size:1.1rem;          
  line-height:1.55rem;   
  font-weight:400;
  color:var(--carbon);
}


/* =========================
   WW GLOBAL SECTION SPACING
   ========================= */
.ww-section{
  padding-top:3rem !important;        /* 48px */
  padding-bottom:3rem !important;     /* 48px */
}

@media (max-width:48rem){
  .ww-section{
    padding-top:2rem !important;      /* 32px */
    padding-bottom:2rem !important;   /* 32px */
  }
}

.ww-wrap{
  max-width:81.25rem;                 /* 1300px */
  margin:0 auto;
  padding:0 1.25rem;                  /* 20px */
}



/* =========================
   WW HEADINGS + BODY COLOUR LOCK
   ========================= */
.ww-section,
.ww-section p,
.ww-section li{
  color:var(--carbon) !important;
  font-weight:400 !important;
}

.ww-section .sppb-addon-header h1.sppb-addon-title,
.ww-section .sppb-addon-header h2.sppb-addon-title{
  font-family:Merriweather, Georgia, "Times New Roman", serif !important;
  font-weight:400 !important;
  color:var(--cobalt) !important;
}

.ww-section h3,
.ww-section h4,
.ww-section h5,
.ww-section h6,
.ww-section .sppb-addon-title:not(h1):not(h2){
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-weight:500 !important;
  color:var(--cobalt) !important;
}
/* =========================
   WW — TEXT LINKS (INDUSTRY STANDARD / OPTION C)
   Unvisited: cobalt
   Hover: tangerine + underline
   Visited: slate (muted)
   Focus: tangerine + underline + subtle outline
   Excludes buttons + login button
   ========================= */

#sp-page-builder .ww-section a:not(.sppb-btn):not([class*="sppb-btn"]):not(.btn):not([class*="btn"]):not(.login-btn){
  color:var(--cobalt);
  text-decoration:none;
  text-underline-offset:0.1875rem; /* 3px */
}

/* Hover */
#sp-page-builder .ww-section a:not(.sppb-btn):not([class*="sppb-btn"]):not(.btn):not([class*="btn"]):not(.login-btn):hover{
  color:var(--tangerine);
  text-decoration:underline;
  text-decoration-color:currentColor;
}

/* Visited */
#sp-page-builder .ww-section a:not(.sppb-btn):not([class*="sppb-btn"]):not(.btn):not([class*="btn"]):not(.login-btn):visited{
  color:var(--slate);
  text-decoration:none;
}

/* Keyboard focus */
#sp-page-builder .ww-section a:not(.sppb-btn):not([class*="sppb-btn"]):not(.btn):not([class*="btn"]):not(.login-btn):focus-visible{
  color:var(--tangerine);
  text-decoration:underline;
  outline:0.125rem solid rgba(230,120,41,.35);
  outline-offset:0.125rem;
}

/* =========================
   WW CARDS + LINKS
   ========================= */
.ww-card,
.ww-dyn-card{
  background:#fff;
  border:0.0625rem solid var(--dove); /* 1px */
  border-radius:0.75rem;             /* 12px */
  padding:1rem;                       /* 16px */
  margin-bottom:1rem;                 /* 16px */
}

.ww-heading,
.ww-card h2{
  font-family:Merriweather, Georgia, "Times New Roman", serif !important;
  font-size:1.5rem;                   /* 24px */
  line-height:2.125rem;               /* 34px */
  font-weight:400;
  margin:0 0 0.75rem;                 /* 12px */
  color:var(--cobalt);
}

.ww-card a,
.ww-dyn-card a{
  color:var(--cobalt);
  text-decoration:none;
  font-weight:500;
}

.ww-card a:hover,
.ww-dyn-card a:hover{
  text-decoration:underline;
}


/* ==========================================================
   WW | TABLE (TEMPLATE-SCOPED) — CLEAN + FIXES
   ========================================================== */

/* --------------------------
   A) TOKENS
   -------------------------- */
.ww-section.ww-table{
  --ww-table-bg:#ffffff;
  --ww-table-border:var(--dove);
  --ww-table-radius:0.75rem;          /* 12px */

  --ww-table-head-bg:var(--cobalt);
  --ww-table-head-txt:var(--white);

  --ww-table-row-border:#eef2f7;
  --ww-table-zebra:#ebebeb;

  --ww-table-headings-col:var(--cobalt);
  --ww-table-body-txt:var(--black);
}

/* --------------------------
   B) HEADING (“Header Text”)
   -------------------------- */
.ww-section.ww-table h3,
.ww-section.ww-table .sppb-addon-header h3,
.ww-section.ww-table .sppb-addon-header h3.sppb-addon-title{
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-weight:500 !important;
  color:var(--ww-table-headings-col) !important;
  margin:0 0 0.875rem !important;     /* 14px */
}

.ww-section.ww-table .sppb-addon-title{
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-weight:500 !important;
  color:var(--ww-table-headings-col) !important;
  margin:0 0 0.875rem !important;     /* 14px */
}

.ww-section.ww-table .sppb-addon-table{
  margin-top:0 !important;
}

/* --------------------------
   C) OPTIONAL SCROLL WRAP
   -------------------------- */
.ww-section.ww-table .ww-table-wrap{
  width:100%;
  overflow-x:auto;
  -webkit-overflow-scrolling:touch;
}
.ww-section.ww-table .ww-table-wrap table{
  min-width:45rem;                    /* 720px */
}

/* --------------------------
   D) TABLE BASE (scoped)
   -------------------------- */
.ww-section.ww-table table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  background:var(--ww-table-bg);
  border:0.0625rem solid var(--ww-table-border); /* 1px */
  border-radius:var(--ww-table-radius);
  overflow:hidden;
}

.ww-section.ww-table table thead th{
  background:var(--ww-table-head-bg) !important;
  color:var(--ww-table-head-txt) !important;
  text-align:left;
  padding:0.625rem 0.75rem;           /* 10px 12px */
  border-bottom:0.0625rem solid var(--ww-table-border) !important;

  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-size:0.9375rem !important;     /* 15px */
  line-height:1.375rem !important;    /* 22px */
  font-weight:500 !important;
  letter-spacing:0 !important;
  text-transform:none !important;
}

.ww-section.ww-table table thead th,
.ww-section.ww-table table tbody th{
  background:var(--ww-table-head-bg) !important;
  color:var(--ww-table-head-txt) !important;
  text-align:left;
  padding:0.625rem 0.75rem;           /* 10px 12px */
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-size:0.9375rem !important;     /* 15px */
  line-height:1.375rem !important;    /* 22px */
  font-weight:500 !important;
}

.ww-section.ww-table table thead th{
  border-bottom:0.0625rem solid var(--ww-table-border) !important; /* 1px */
}

.ww-section.ww-table table tbody th{
  border-bottom:0.0625rem solid var(--ww-table-row-border); /* 1px */
  vertical-align:top;
}

.ww-section.ww-table table thead tr{
  background:var(--ww-table-head-bg) !important;
}

.ww-section.ww-table table tbody td{
  padding:0.625rem 0.75rem;           /* 10px 12px */
  border-bottom:0.0625rem solid var(--ww-table-row-border); /* 1px */
  color:var(--ww-table-body-txt) !important;
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-size:0.9375rem !important;     /* 15px */
  line-height:1.375rem !important;    /* 22px */
  font-weight:400 !important;
}

.ww-section.ww-table table tbody tr:nth-child(odd){
  background:var(--ww-table-zebra);
}

.ww-section.ww-table .sppb-addon-table,
.ww-section.ww-table .sppb-addon-table table{
  box-shadow:none !important;
}

.ww-table{
  border-radius:0.75rem;              /* 12px */
  overflow:hidden;
  border:0.0625rem solid var(--dove); /* 1px */
  background:#fff;
}


/* =========================
   HEADER / NAV (HELIX/FINION) — WORKING VERSION
   ========================= */
section#sp-menu{
  background-color:rgba(235, 235, 235, 0.85) !important;
  backdrop-filter:blur(0.25rem);       /* 4px */
  padding-top:1.25rem !important;      /* 20px */
  padding-bottom:2rem !important;      /* 32px */
  position:fixed !important;
  top:0;
  left:0;
  right:0;
  z-index:9999;
}

section#sp-menu > .row{
  display:flex;
  align-items:center !important;
}

#sp-main-body{
  margin-top:var(--ww-header-offset) !important;
}

#sp-page-body,
#sp-body{
  padding-top:0 !important;
}

section#sp-menu .sp-column{
  display:flex !important;
  align-items:center !important;
}

#sp-logo .sp-column{ justify-content:flex-start !important; }
section#sp-menu div#sp-menu .sp-column{ justify-content:flex-start !important; }
#sp-position7 .sp-column{ justify-content:flex-end !important; }

#sp-position7 .sp-module{ margin:0 !important; padding:0 !important; }
#mod-custom122{ margin:0 1rem 0 0 !important; } /* already rem */
#mod-custom122 p{ margin:0 !important; }

.login-btn{
  background-color:var(--cobalt) !important;
  color:#fff !important;
  display:inline-block !important;
  padding:0.375rem 0.625rem !important; /* 6px 10px */
  line-height:1.4 !important;
  font-size:0.9375rem !important;       /* 15px */
  font-weight:500;
  border-radius:0.25rem;                /* 4px */
  text-transform:none !important;
  letter-spacing:0 !important;
  transition:background 0.25s ease, color 0.25s ease;
}
.login-btn:hover{
  background-color:var(--tangerine) !important;
  color:#fff !important;
}

section#sp-menu .sp-megamenu-wrapper{
  justify-content:flex-start !important;
  margin-left:-3.125rem !important;     /* -50px */
  padding-left:0 !important;
}

section#sp-menu .sp-megamenu-parent{ gap:0.375rem !important; } /* 6px */

section#sp-menu .sp-megamenu-parent > li > a{
  display:inline-block !important;
  padding:0 0.375rem !important;        /* 6px */
  line-height:2.25rem !important;       /* 36px */
  font-size:0.9375rem !important;       /* 15px */
  font-weight:400;
  white-space:nowrap !important;
}

.sp-megamenu-parent > li > a,
.sp-megamenu-parent > li > span{
  text-transform:none !important;
}

section#sp-menu .sp-megamenu-parent > li > a,
#sp-position7 .login-btn{
  height:2.25rem !important;            /* 36px */
  line-height:2.25rem !important;       /* 36px */
  padding-top:0 !important;
  padding-bottom:0 !important;
  display:inline-flex !important;
  align-items:center !important;
}

section#sp-menu .sp-dropdown-inner ul li a{
  font-size:0.9375rem !important;       /* 15px */
  font-weight:400 !important;
  line-height:2.25rem !important;       /* 36px */
  padding-top:0 !important;
  padding-bottom:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
}

section#sp-menu .sp-dropdown-inner ul li.parent > a{
  justify-content:space-between !important;
}

section#sp-menu .sp-dropdown:before,
section#sp-menu .sp-dropdown:after{
  display:none !important;
  content:none !important;
}

section#sp-menu .sp-dropdown{
  background:#EBEBEB !important;
  border-radius:0.75rem !important;     /* 12px */
  border:0.0625rem solid rgba(0,0,0,0.08) !important; /* 1px */
  box-shadow:0 0.5rem 1.25rem rgba(0,0,0,0.08) !important; /* 8px 20px */
  overflow:visible !important;
  margin-top:0 !important;
}

section#sp-menu .sp-dropdown-inner{
  background:#EBEBEB !important;
  border-radius:0.75rem !important;     /* 12px */
  padding:0.375rem 0 !important;        /* 6px 0 */
}

section#sp-menu .sp-dropdown-items > li > a{
  background:#EBEBEB !important;
  padding:0.625rem 0.875rem !important; /* 10px 14px */
  font-size:0.9375rem !important;       /* 15px */
  color:var(--carbon) !important;
  transition:background 0.2s ease, color 0.2s ease;
}

section#sp-menu .sp-dropdown-items > li > a:hover{
  background:var(--tangerine) !important;
  color:#ffffff !important;
}

section#sp-menu .sp-megamenu-wrapper,
section#sp-menu .sp-megamenu-parent,
section#sp-menu .sp-megamenu-parent > li,
section#sp-menu .sp-megamenu-parent > li > a{
  background:transparent !important;
  box-shadow:none !important;
}

section#sp-menu .sp-megamenu-parent > li.current-item > a,
section#sp-menu .sp-megamenu-parent > li.active > a{
  background:transparent !important;
}

section#sp-menu div#sp-menu,
section#sp-menu div#sp-menu .sp-column,
section#sp-menu div#sp-menu .sp-megamenu-wrapper,
section#sp-menu div#sp-menu .sp-megamenu-parent{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
  box-shadow:none !important;
}

#sp-menu .sp-megamenu-parent > li.sp-has-child > a::after{ display:none !important; }

#sp-menu .sp-dropdown-inner ul li.sp-has-child > a{
  position:relative;
  padding-right:1.75rem !important;     /* 28px */
}

#sp-menu .sp-dropdown-inner ul li.sp-has-child > a::after{
  position:absolute !important;
  right:0.75rem !important;             /* 12px */
  left:auto !important;
  top:50% !important;
  transform:translateY(-50%);
  margin-left:0 !important;
}

#sp-menu .sp-megamenu-parent .sp-dropdown .sp-dropdown{
  border-radius:0 0.75rem 0.75rem 0 !important; /* 12px */
  border-left:0 !important;
  margin-left:-0.0625rem !important;     /* -1px */
}
#sp-menu .sp-megamenu-parent .sp-dropdown .sp-dropdown .sp-dropdown-inner{
  border-radius:0 0.75rem 0.75rem 0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}

/* Desktop squeeze band */
@media (min-width:62rem) and (max-width:87.49875rem){
  section#sp-menu > .row{ display:flex; flex-wrap:nowrap; align-items:center; }
  section#sp-menu #sp-logo{ flex:0 0 14%; max-width:14%; }
  section#sp-menu > .row > #sp-menu{ flex:0 0 72%; max-width:72%; }
  section#sp-menu #sp-position7{ flex:0 0 14%; max-width:14%; text-align:right; }
  section#sp-menu .sp-megamenu-parent > li{ margin:0 0.5rem !important; } /* 8px */
  section#sp-menu .sp-megamenu-parent > li > a{
    padding:0 0.25rem !important;        /* 4px */
    white-space:nowrap !important;
    font-size:0.875rem;                  /* 14px */
  }
}


/* =========================
   MOBILE HEADER — SINGLE IMPLEMENTATION
   ========================= */
@media (max-width:61.99875rem){

  section#sp-menu{ padding:0.875rem 1rem 0.875rem !important; } /* 14px 16px */

  section#sp-menu > .row{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    flex-wrap:nowrap !important;
    justify-content:space-between !important;
  }

  section#sp-menu .sp-megamenu-wrapper{
    margin-left:0 !important;
    padding-left:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
  }

  section#sp-menu .sp-megamenu-parent{ display:none !important; }

  #sp-logo{ margin:0 !important; padding-left:0.375rem !important; } /* 6px */
  #sp-logo .sp-column{ justify-content:flex-start !important; }

  #sp-logo img.logo-image-phone{
    max-height:2.75rem !important;     /* 44px */
    width:auto !important;
    height:auto !important;
    display:block !important;
  }

  #sp-position7{
    position:absolute !important;
    right:4.25rem !important;         /* 68px */
    top:50% !important;
    transform:translateY(-50%) !important;
    z-index:20000 !important;
  }

  #sp-position7 .sp-module,
  #sp-position7 .sp-module-content,
  #mod-custom122,
  #mod-custom122 p{
    margin:0 !important;
    padding:0 !important;
  }

  a#offcanvas-toggler{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    position:absolute !important;
    right:1rem !important;            /* 16px */
    top:50% !important;
    transform:translateY(-50%) !important;

    width:2.875rem !important;        /* 46px */
    height:2.875rem !important;       /* 46px */
    align-items:center !important;
    justify-content:center !important;

    border-radius:0.625rem !important; /* 10px */
    background:transparent !important;
    z-index:20001 !important;
  }

  a#offcanvas-toggler i.fa.fa-bars{ display:none !important; }

  a#offcanvas-toggler::before{
    content:"";
    display:block;
    width:1.375rem;                   /* 22px */
    height:0.125rem;                  /* 2px */
    border-radius:0.125rem;           /* 2px */
    background:var(--carbon);
    box-shadow:0 0.4375rem 0 var(--carbon), 0 0.875rem 0 var(--carbon); /* 7px, 14px */
    opacity:0.85;
  }
}


/* =========================
   GLOBAL — KILL UPPERCASE ON BUTTONS
   ========================= */
body button,
body .btn,
body a.btn,
body input[type="button"],
body input[type="submit"],
body input[type="reset"],
body #sp-page-builder a.sppb-btn,
body #sp-page-builder a[class*="sppb-btn-"],
body #sp-page-builder .sppb-btn,
body #sp-page-builder .sppb-button,
body #sp-page-builder .sppb-btn-link{
  text-transform:none !important;
}


/* =========================
   PRICING HERO (AS-IS)
   ========================= */
#section-id-1628142047971,
#sppb-addon-wrapper-1628142047985{
  text-align:center !important;
  background-color:#FDFDFD !important;
  padding-left:5rem !important;
  padding-right:5rem !important;
  margin-left:auto !important;
  margin-right:auto !important;
  max-width:100% !important;
  border:none !important;
  box-shadow:none !important;
}

#sppb-addon-wrapper-1628142047985 .sppb-addon-title{
  text-align:center !important;
  margin:0 auto !important;
}


/* ==========================
   WIKIWASTE FOOTER (REFINED PALETTE + TYPE)
   ========================== */

:root{
  --ww-footer-bg: #F5F5F5;
  --ww-footer-bottom-bg: var(--dove);
  --ww-footer-border: rgba(0,0,0,0.10);
  --ww-footer-link: var(--cobalt);
  --ww-footer-link-hover: var(--tangerine);
  --ww-footer-muted: var(--slate);
}

.ww-footer{
  font-family:Roboto, Arial, Helvetica, sans-serif;
  color:var(--black);
  background:var(--ww-footer-bg);
  padding:2.625rem 0 0;               /* 42px */
  width:100vw;
  margin-left:calc(50% - 50vw);
  margin-right:calc(50% - 50vw);
}

.ww-footer-main{
  max-width:81.25rem;                 /* 1300px */
  margin:0 auto;
  padding:0 3.125rem 2.75rem;         /* 50px 44px */
  display:flex;
  flex-wrap:wrap;
  gap:1.75rem;                        /* 28px */
}

.ww-footer-col{ flex:1 1 16.25rem; min-width:13.75rem; } /* 260px / 220px */

.ww-footer-heading,
.ww-footer-heading-right{
  margin:0 0 0.625rem;                /* 10px */
  font-size:0.8125rem;                /* 13px */
  line-height:1rem;                   /* 16px */
  font-weight:600;
  letter-spacing:0.08em;
  text-transform:uppercase;
  color:var(--black);
}

.ww-footer-list,
.ww-footer-col-right p{
  font-size:0.875rem;                 /* 14px */
  line-height:1.25rem;                /* 20px */
  font-weight:400;
  color:var(--black);
  margin:0;
  padding:0;
}

.ww-footer-list li{ margin:0 0 0.5rem; list-style:none; } /* 8px */

.ww-footer a{
  color:var(--ww-footer-link);
  text-decoration:none;
  font-weight:500;
  transition: color 0.15s ease, text-decoration-color 0.15s ease;
}
.ww-footer a:hover{
  color:var(--ww-footer-link-hover);
  text-decoration:underline;
  text-decoration-color:currentColor;
  text-underline-offset:0.1875rem;    /* 3px */
}

.ww-footer-col-right{
  text-align:right;
  display:flex;
  flex-direction:column;
  align-items:flex-end;
}
.ww-footer-col-right p{ margin:0 0 0.5rem; color:var(--ww-footer-muted); } /* 8px */
.ww-footer-col-right p a{ color:var(--ww-footer-link); }

.ww-footer-qr-wrap{
  margin-top:0.75rem;                 /* 12px */
  display:inline-flex;
  flex-direction:column;
  align-items:center;
  gap:0.375rem;                       /* 6px */
}
.ww-footer-qr{ height:6rem; width:auto; display:block; } /* 96px */
.ww-footer-qr-label{
  font-size:0.6875rem;                /* 11px */
  line-height:0.875rem;               /* 14px */
  letter-spacing:0.14em;
  font-weight:600;
  text-transform:uppercase;
  color:var(--ww-footer-muted);
}

.ww-footer-bottom{
  background:var(--ww-footer-bottom-bg);
  border-top:0.0625rem solid var(--ww-footer-border); /* 1px */
  padding:0.875rem 0 !important;      /* 14px */
}

.ww-footer-bottom-inner{
  max-width:81.25rem;                 /* 1300px */
  margin:0 auto;
  padding:0.375rem 1.875rem;          /* 6px 30px */
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:1rem;                           /* 16px */
  font-size:0.8125rem;                /* 13px */
  line-height:1.125rem;               /* 18px */
  color:var(--ww-footer-muted);
}

.ww-footer-logo{
  height:3.375rem;                    /* 54px */
  width:auto;
  display:block;
  margin:0 !important;
}

.ww-footer-credit,
.ww-footer-credit a{
  color:#000000 !important;
  font-weight:400 !important;
  text-decoration:none !important;
}

.ww-footer-credit a:hover{
  color:#000000 !important;
  font-weight:400 !important;
  text-decoration:underline !important;
  text-decoration-color:#000000 !important;
  text-underline-offset:0.1875rem;    /* 3px */
}

@media (max-width:48rem){
  .ww-footer-main{
    flex-direction:column;
    padding:0 1.25rem 1.5rem;         /* 20px 24px */
    gap:1.125rem;                     /* 18px */
  }
  .ww-footer-col-right{
    align-items:flex-start;
    text-align:left;
  }
  .ww-footer-bottom-inner{
    flex-direction:column;
    align-items:flex-start;
    padding:0.625rem 1.25rem;         /* 10px 20px */
  }
}

/* ==========================================================
   HELIX — REMOVE FOOTER TOP DIVIDER (POST-COPYRIGHT)
   ========================================================== */
#sp-footer-dev{
  border-top:none !important;
  box-shadow:none !important;
  background:transparent !important;
}
#sp-footer-dev > .container,
#sp-footer-dev > .container > .container-inner{
  border-top:none !important;
  box-shadow:none !important;
}


/* ============================================
   WW SECTION TYPES — safe (only when NOT using ww-shell)
   ============================================ */
.ww-section.ww-content:not(.ww-shell) .ww-content-body{
  background:#fff;
  border:0.0625rem solid var(--dove); /* 1px */
  border-radius:0.75rem;              /* 12px */
  padding:1.125rem;                   /* 18px */
}

.ww-section.ww-gate:not(.ww-shell) .ww-content-body{
  border-radius:0.75rem;              /* 12px */
  background:linear-gradient(90deg, rgba(31,57,162,.10), rgba(178,198,255,.22));
  border:0.0625rem solid rgba(31,57,162,.20); /* 1px */
  padding:0.875rem 1rem;              /* 14px 16px */
}

.ww-section.ww-ad:not(.ww-shell) .ww-content-body{
  border-radius:0.75rem;              /* 12px */
  border:0.0625rem dashed var(--dove);/* 1px */
  background:#fcfcfc;
  padding:0.875rem 1rem;              /* 14px 16px */
}

.ww-section.ww-notice:not(.ww-shell) .ww-content-body{
  border-radius:0.75rem;              /* 12px */
  border:0.0625rem solid var(--dove); /* 1px */
  background:#fff;
  padding:0.875rem 1rem;              /* 14px 16px */
}
.ww-section.ww-notice:not(.ww-shell) .sppb-addon-title{
  color:var(--carbon) !important;
}


/* ==========================================================
   WW SHELL — SINGLE SOURCE OF TRUTH (WORKING VERSION)
   ========================================================== */
.sppb-section.ww-section{
  background:transparent !important;
  border:none !important;
  overflow:visible !important;
}

.sppb-section.ww-section.ww-shell{
  background:transparent !important;
  border:none !important;
  overflow:visible !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

.sppb-section.ww-section.ww-shell > .sppb-row-container{
  max-width:81.25rem !important;      /* 1300px */
  margin:0 auto !important;
  padding:0 1.25rem !important;       /* 20px */
}

.sppb-section.ww-section.ww-shell
  .sppb-section > .sppb-container-inner{
  max-width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  padding-left:0 !important;
  padding-right:0 !important;
  box-sizing:border-box !important;
}

.sppb-section.ww-section.ww-shell > .sppb-row-container > .sppb-row{
  background:#fff !important;
  border:0.0625rem solid var(--dove) !important; /* 1px */
  border-radius:0.75rem !important;              /* 12px */

  margin-left:0 !important;
  margin-right:0 !important;

  box-sizing:border-box !important;
  padding:var(--ww-shell-pad-desktop) !important;
  overflow:hidden !important;
}

@media (max-width:48rem){
  .sppb-section.ww-section.ww-shell > .sppb-row-container > .sppb-row{
    padding:var(--ww-shell-pad-mobile) !important;
  }
}

.sppb-section.ww-section.ww-shell .ww-content-body{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
}


/* ==========================================================
   FORCE LEFT-ALIGNED HEADERS — ONLY INSIDE WW SECTION TEMPLATES
   ========================================================== */
.ww-section .sppb-addon-header,
.ww-section .sppb-addon-header *{
  text-align:left !important;
}
.ww-section h1,
.ww-section h2,
.ww-section h3{
  text-align:left !important;
}


/* ==========================================================
   BUTTON ALIGNMENT — LEFT (ONLY INSIDE WW SECTION TEMPLATES)
   ========================================================== */
.ww-section .sppb-button-wrapper{ text-align:left !important; }
.ww-section .sppb-addon-button,
.ww-section .sppb-addon-button .sppb-addon-content{
  display:flex !important;
  justify-content:flex-start !important;
}
.ww-section .ww-card .sppb-button-wrapper{ text-align:left !important; }

.ww-card a,
.ww-dyn-card a{
  font-weight:500 !important;
}

/* 3) Articles tiles: title is Roboto + normal weight */
body:not(.home) #sp-page-builder .sppb-addon-articles .sppb-article-info-wrap h3,
body:not(.home) #sp-page-builder .sppb-addon-articles .sppb-article-info-wrap h3 a{
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-weight:500 !important;
}

/* 4) Articles tiles: stop Read More “bleeding” to the left edge */
body:not(.home) #sp-page-builder .sppb-addon-articles a.sppb-readmore{
  position:static !important;
  left:auto !important;
  right:auto !important;
  transform:none !important;

  margin-left:0 !important;
  padding-left:0.75rem !important;    /* 12px */
  max-width:fit-content !important;
}

/* H1 sizing (WW only) */
.ww-section h1,
.ww-section .sppb-addon-header h1.sppb-addon-title{
  font-size:2.75rem !important;       /* 44px */
  line-height:1.15 !important;
}

@media (max-width:48rem){
  .ww-section h1,
  .ww-section .sppb-addon-header h1.sppb-addon-title{
    font-size:2rem !important;        /* 32px */
  }
}


/* ==========================================================
   SP SECTION SPACING RESET (kills the “75px”)
   ========================================================== */
section.sppb-section,
section.sppb-section > .sppb-row-container{
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}

section.sppb-section.ww-section{
  padding-top:3rem !important;        /* 48px */
  padding-bottom:3rem !important;     /* 48px */
}
@media (max-width:48rem){
  section.sppb-section.ww-section{
    padding-top:2rem !important;      /* 32px */
    padding-bottom:2rem !important;   /* 32px */
  }
}

section.sppb-section.ww-shell{
  padding-top:0 !important;
  padding-bottom:0 !important;
}

section.sppb-section:not(.ww-section) + section.sppb-section:not(.ww-section){
  margin-top:1.5rem !important;       /* 24px */
}
@media (max-width:48rem){
  section.sppb-section:not(.ww-section) + section.sppb-section:not(.ww-section){
    margin-top:1rem !important;       /* 16px */
  }
}

section.sppb-section.ww-shell + section.sppb-section.ww-shell{
  margin-top:2.75rem !important;      /* 44px */
}
@media (max-width:48rem){
  section.sppb-section.ww-shell + section.sppb-section.ww-shell{
    margin-top:0.875rem !important;   /* 14px */
  }
}

#sp-component::after{
  content:"";
  display:block;
  height:2rem;                        /* 32px */
}
@media (max-width:48rem){
  #sp-component::after{ height:1.25rem; } /* 20px */
}


/* ==========================================================
   WW HOME TILES (Feature Box) — FIX TYPO + TRUE EQUAL HEIGHTS
   Scope: ONLY .ww-home-tiles section
   ========================================================== */
#sp-page-builder section.sppb-section.ww-home-tiles{
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  color:var(--carbon) !important;
}

#sp-page-builder section.sppb-section.ww-home-tiles p,
#sp-page-builder section.sppb-section.ww-home-tiles li{
  font-family:inherit !important;
  font-size:1.1rem !important;          
  line-height:1.55rem !important;    
  font-weight:500 !important;
  color:var(--carbon) !important;
}

#sp-page-builder section.sppb-section.ww-home-tiles .sppb-addon-title,
#sp-page-builder section.sppb-section.ww-home-tiles .sppb-addon-title a{
  font-family:inherit !important;
  font-size:1.375rem !important;      /* 22px */
  font-weight:500 !important;
  color:var(--carbon) !important;
  text-decoration:none !important;
}
/* ==========================================================
   HOME FEATURE BOXES — EQUAL HEIGHTS 
   Scope: section.sppb-section.ww-home-tiles only
   ========================================================== */

/* SP row stretch children */
#sp-page-builder section.sppb-section.ww-home-tiles .sppb-row{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:stretch !important;
}

/* Columns must be flex + stretch */
#sp-page-builder section.sppb-section.ww-home-tiles .sppb-row > [class*="sppb-col-"]{
  display:flex !important;
  align-items:stretch !important;
}

#sp-page-builder section.sppb-section.ww-home-tiles .sppb-row > [class*="sppb-col-"] > .sppb-column,
#sp-page-builder section.sppb-section.ww-home-tiles .sppb-column-addons,
#sp-page-builder section.sppb-section.ww-home-tiles .sppb-addon-wrapper,
#sp-page-builder section.sppb-section.ww-home-tiles .sppb-addon-wrapper > .clearfix,
#sp-page-builder section.sppb-section.ww-home-tiles .sppb-addon.sppb-addon-feature{
  width:100% !important;
  height:100% !important;
  display:flex !important;
  align-items:stretch !important;
}

#sp-page-builder section.sppb-section.ww-home-tiles .sppb-addon.sppb-addon-feature .sppb-addon-content{
  width:100% !important;
  height:100% !important;
  display:flex !important;
  flex-direction:column !important;
}

#sp-page-builder section.sppb-section.ww-home-tiles .sppb-addon.sppb-addon-feature .sppb-media-content{
  display:flex !important;
  flex-direction:column !important;
  flex:1 1 auto !important;
  min-height:0 !important;
}

#sp-page-builder section.sppb-section.ww-home-tiles .sppb-addon.sppb-addon-feature .sppb-addon-text{
  flex:1 1 auto !important;
  min-height:0 !important;
}

#sp-page-builder section.sppb-section.ww-home-tiles .sppb-img-container{
  flex:0 0 auto !important;
}

#sp-page-builder section.sppb-section.ww-home-tiles,
#sp-page-builder section.sppb-section.ww-home-tiles .sppb-media-content,
#sp-page-builder section.sppb-section.ww-home-tiles .sppb-addon-title,
#sp-page-builder section.sppb-section.ww-home-tiles .sppb-addon-text{
  text-align:left !important;
}
/* ==========================================================
   HOME TILES — BODY COPY (SP uses H5 inside .sppb-addon-text)
   - Keeps 1.1/1.55 rhythm
   - Removes heavy weight
   - Does NOT touch wrapper sizing (prevents image shrink)
   ========================================================== */

/* Body copy only */
#sp-page-builder section.sppb-section.ww-home-tiles .sppb-addon-text h5,
#sp-page-builder section.sppb-section.ww-home-tiles .sppb-addon-text h5 span{
  font-size:1.1rem !important;
  line-height:1.55rem !important;
  font-weight:400 !important;      /* lighter, matches paragraph above */
  color:var(--carbon) !important;
}

/* Remove default H5 margins so it behaves like body copy */
#sp-page-builder section.sppb-section.ww-home-tiles .sppb-addon-text h5{
  margin:0 !important;
}

/* Safety: ensure the image remains full width of its container */
#sp-page-builder section.sppb-section.ww-home-tiles .sppb-img-container,
#sp-page-builder section.sppb-section.ww-home-tiles .sppb-img-container img{
  width:100% !important;
  max-width:100% !important;
}
#sp-page-builder section.sppb-section.ww-home-tiles .sppb-img-container img{
  height:auto !important;
  display:block !important;
}
/* ==========================================================
   HOME FEATURE BOXES — VERTICAL ROW SPACING
   ========================================================== */

/* Space between tile rows only (not left/right) */
#sp-page-builder section.sppb-section.ww-home-tiles .sppb-row{
  row-gap:32px !important;   /* desktop vertical spacing */
}

@media (max-width:991.98px){
  #sp-page-builder section.sppb-section.ww-home-tiles .sppb-row{
    row-gap:20px !important; /* mobile */
  }
}

#sp-page-builder section.sppb-section.ww-home-tiles > .sppb-row-container{
  max-width:1300px !important;
  margin:0 auto !important;
  padding-left:20px !important;
  padding-right:20px !important;
}

/* HOME FEATURE BOXES — TUNE GUTTER */
#sp-page-builder section.sppb-section.ww-home-tiles .sppb-row{
  margin-left:-8px !important;
  margin-right:-8px !important;
}

#sp-page-builder section.sppb-section.ww-home-tiles .sppb-row > [class*="sppb-col-"]{
  padding-left:6px !important;
  padding-right:6px !important;
}

#sp-page-builder section.sppb-section.ww-home-tiles{
  padding-left:0 !important;
  padding-right:0 !important;
}

#sp-page-builder section.sppb-section.ww-home-tiles > .sppb-row-container{
  box-sizing:border-box !important;
  width:100% !important;
  max-width:1300px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:20px !important;
  padding-right:20px !important;
}

#sp-page-builder section.sppb-section.ww-home-tiles .sppb-row{
  box-sizing:border-box !important;
  width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

#sp-page-builder section.sppb-section.ww-home-tiles .sppb-row > [class*="sppb-col-"]{
  padding-left:12px !important;
  padding-right:12px !important;
}
/* HOME TILES — consistent image frame across all cards */
#sp-page-builder section.sppb-section.ww-home-tiles .sppb-img-container{
  display:block !important;
  width:100% !important;
  aspect-ratio: 4 / 3 !important;     /* change if you prefer */
  overflow:hidden !important;
  border-radius:0.625rem !important;  /* match your 10px language */
}

#sp-page-builder section.sppb-section.ww-home-tiles .sppb-img-container a{
  display:block !important;
  width:100% !important;
  height:100% !important;
}

#sp-page-builder section.sppb-section.ww-home-tiles .sppb-img-container img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}
/* ==========================================================
   WIKIWASTE — GLOBAL CONTENT WIDTH (1300 + 20 GUTTER)
   ========================================================== */

:root{
  --ww-max:81.25rem;      /* 1300px */
  --ww-gutter:1.25rem;    /* 20px */
}

#sp-main-body .container,
#sp-main-body .container-inner{
  max-width:var(--ww-max) !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:var(--ww-gutter) !important;
  padding-right:var(--ww-gutter) !important;
}

/* Common SP full-width section class */
/*
#sp-page-builder .sppb-section.sppb-section-fullwidth > .sppb-row-container{
  max-width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
*/

/* Keep ONLY intentional full width */
#sp-page-builder .sppb-section.ww-full > .sppb-row-container{
  max-width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

/* ==========================================================
   WW OUTER GUTTER — SAFE OVERRIDES (only when class is present)
   ========================================================== */

.sppb-section.ww-section.ww-shell.ww-gutter-wide > .sppb-row-container{
  padding-left:5rem !important;     /* 80px */
  padding-right:5rem !important;
}
.sppb-section.ww-section.ww-shell.ww-gutter-md > .sppb-row-container{
  padding-left:2rem !important;     /* 32px */
  padding-right:2rem !important;
}
.sppb-section.ww-section.ww-shell.ww-gutter-tight > .sppb-row-container{
  padding-left:1rem !important;     /* 16px */
  padding-right:1rem !important;
}

@media (max-width:768px){
  .sppb-section.ww-section.ww-shell.ww-gutter-wide > .sppb-row-container{
    padding-left:1.125rem !important;  /* 18px */
    padding-right:1.125rem !important;
  }
  .sppb-section.ww-section.ww-shell.ww-gutter-md > .sppb-row-container{
    padding-left:1rem !important;      /* 16px */
    padding-right:1rem !important;
  }
  .sppb-section.ww-section.ww-shell.ww-gutter-tight > .sppb-row-container{
    padding-left:0.75rem !important;   /* 12px */
    padding-right:0.75rem !important;
  }
}

/* ==========================================================
   FORCE LEFT-ALIGNED HEADERS — ONLY INSIDE WW SECTION TEMPLATES
   ========================================================== */
.ww-section .sppb-addon-header,
.ww-section .sppb-addon-header *{
  text-align:left !important;
}
.ww-section h1,
.ww-section h2,
.ww-section h3{
  text-align:left !important;
}


/* ==========================================================
   WIKIWASTE — BUTTON SYSTEM (GLOBAL)
   - Keeps your primary/secondary styles
   - Tom - ensures button text is never forced to black by link rules
   ========================================================== */
.sppb-btn,
.sppb-btn-primary,
.btn-primary,
a.sppb-btn-primary{
  background-color:var(--tangerine) !important;
  color:#ffffff !important;
  border:1px solid var(--tangerine) !important;
  font-weight:500 !important;
  border-radius:0.375rem !important;   /* 6px */
  padding:0.625rem 1rem !important;    /* 10px 16px */
  text-transform:none !important;
  letter-spacing:0 !important;
}
.sppb-btn:hover,
.sppb-btn-primary:hover,
.btn-primary:hover{
  background-color:var(--cobalt) !important;
  border-color:var(--cobalt) !important;
  color:#ffffff !important;
}

.sppb-btn-secondary,
.btn-secondary,
a.sppb-btn-secondary{
  background:#ffffff !important;
  color:var(--cobalt) !important;
  border:1px solid var(--cobalt) !important;
  font-weight:500 !important;
  border-radius:0.375rem !important;    /* 6px */
  padding:0.625rem 1rem !important;     /* 10px 16px */
}
.sppb-btn-secondary:hover,
.btn-secondary:hover{
  background:var(--ice) !important;
  color:var(--cobalt) !important;
  border-color:var(--cobalt) !important;
}


/* ==========================================================
   BUTTON ALIGNMENT — LEFT (ONLY INSIDE WW SECTION TEMPLATES)
   ========================================================== */
.ww-section .sppb-button-wrapper{ text-align:left !important; }
.ww-section .sppb-addon-button,
.ww-section .sppb-addon-button .sppb-addon-content{
  display:flex !important;
  justify-content:flex-start !important;
}
.ww-section .ww-card .sppb-button-wrapper{ text-align:left !important; }




/* -------------------------
   WIKIPEDIA / LEXIQUE VIEW
   ------------------------- */

body.itemid-283 .lexique.ww-acr-lexique{
  max-width:var(--ww-max) !important;
  margin:0 auto 1.5rem !important;  /* 24px */
  padding:0 var(--ww-gutter) !important;
  background:transparent !important;
  box-sizing:border-box !important;
}
body.itemid-283 .lexique.ww-acr-lexique > div{
  background:#fff !important;
  border:1px solid var(--dove) !important;
  border-radius:var(--ww-card-radius) !important;
  padding:var(--ww-card-pad) !important;
  box-sizing:border-box !important;
}
body.itemid-283 .wiki-ul,
body.itemid-283 .wiki-ul li{
  list-style:none !important;
  padding-left:0 !important;
  margin-left:0 !important;
}

@media (max-width:768px){
  body.itemid-283{ --ww-gutter:1.125rem; --ww-card-pad:0.875rem; } /* 18px / 14px */
  body.itemid-283 .atoz{ margin-bottom:1rem !important; }          /* 16px */
  body.itemid-283 .lexique.ww-acr-lexique{ margin-bottom:1rem !important; }
}

/* ==========================================================
   GLOBAL — ADD AIR UNDER FIXED HEADER
   ========================================================== */

body:not(.itemid-101):not(.itemid-283){
  --ww-header-offset:9.25rem !important;  /* 148px */
}

@media (max-width:768px){
  body:not(.itemid-101):not(.itemid-283){
    --ww-header-offset:9.875rem !important; /* 158px */
  }
}
/* ==========================================================
   WW — PRIVACY POLICY WIDTH/PADDING FIX
   Itemid = 410
   ========================================================== */

body.itemid-410 #sp-main-body .container,
body.itemid-410 #sp-main-body .container-inner{
  max-width:var(--ww-max) !important;
  padding-left:var(--ww-gutter) !important;
  padding-right:var(--ww-gutter) !important;
}

/* Remove Helix article side padding */
body.itemid-410 #sp-component,
body.itemid-410 #sp-component .sp-component-area,
body.itemid-410 #sp-component .sp-component-area > .container,
body.itemid-410 #sp-component .sp-component-area > .container > .container-inner,
body.itemid-410 .com-content-article,
body.itemid-410 .article-details,
body.itemid-410 .entry-content,
body.itemid-410 .entry-content-wrap{
  padding-left:0 !important;
  padding-right:0 !important;
}
/* ==========================================================
   HOME (itemid-101) — micro-adjust header offset to remove gap
   ========================================================== */
body.itemid-101{
  --ww-header-offset:7rem !important;      /* 112px */
}

@media (max-width:768px){
  body.itemid-101{
    --ww-header-offset:8.25rem !important;  /* 132px */
  }
}
/* ==========================================================
   WW | CARDS — SINGLE CLEAN RULESET
   ========================================================== */

/* Was: #sp-page-builder section.sppb-section.ww-cards{ ... } */
#sp-page-builder .ww-cards{
  --ww-card-gap:1.5rem;     /* 24px */
  --ww-col-pad:1rem;        /* 16px */
  --ww-gutter-neg:-0.75rem; /* -12px */
  --ww-col-gutter:0.75rem;  /* 12px */
  --ww-col-bg:#ffffff;
  --ww-col-border:var(--dove);
  --ww-col-radius:0.75rem;  /* 12px */
}

/* grid (stops bunching left) */
#sp-page-builder section.sppb-section.ww-cards .sppb-row{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:stretch !important;
  margin-left:var(--ww-gutter-neg) !important;
  margin-right:var(--ww-gutter-neg) !important;
}

/* columns: padding + equal height */
#sp-page-builder section.sppb-section.ww-cards .sppb-row > [class*="sppb-col-"]{
  display:flex !important;
  align-items:stretch !important;
  padding-left:var(--ww-col-gutter) !important;
  padding-right:var(--ww-col-gutter) !important;
  margin-bottom:var(--ww-card-gap) !important;
}

#sp-page-builder .ww-cards .ww-card-col{
  width:100% !important;
  height:100% !important;
  box-sizing:border-box !important;

  background:var(--ww-col-bg, #ffffff) !important;
  border:1px solid var(--ww-col-border, var(--dove)) !important;
  border-radius:var(--ww-col-radius, 12px) !important;
  padding:var(--ww-col-pad, 16px) !important;

  display:flex !important;
  flex-direction:column !important;
}


/* SP drops inside: stretch correctly */
#sp-page-builder section.sppb-section.ww-cards .ww-card-col > .sppb-column,
#sp-page-builder section.sppb-section.ww-cards .ww-card-col .sppb-column-addons{
  width:100% !important;
  height:100% !important;
}
#sp-page-builder section.sppb-section.ww-cards .ww-card-col .sppb-addon-title,
#sp-page-builder section.sppb-section.ww-cards .ww-card-col p{
  margin-top:0 !important;
  margin-bottom:0.4em !important; /* match your SP template bottom spacing */
}

#sp-page-builder section.sppb-section.ww-cards .ww-card-col .sppb-addon:last-child,
#sp-page-builder section.sppb-section.ww-cards .ww-card-col p:last-child{
  margin-bottom:0 !important;
}

/* --------------------------
   Mobile tighten
   -------------------------- */
@media (max-width:768px){
  #sp-page-builder section.sppb-section.ww-cards{
    --ww-card-gap:16px;
    --ww-col-pad:14px;
    --ww-gutter-neg:-8px;
    --ww-col-gutter:8px;
  }
}

/* ==========================================================
   WIKIWASTE — INFRASTRUCTURE: 6 CARDS GREY (USES YOUR TOKEN SYSTEM)
   ========================================================== */

/* Set the column background token for these sections */
#sp-page-builder section.sppb-section.ww-section.ww-cards.ww-cards-3{
  --ww-col-bg:#f6f6f6;
}

/* Ensure inner SP wrappers don’t paint white panels */
#sp-page-builder section.sppb-section.ww-section.ww-cards.ww-cards-3 .ww-card-col .sppb-column-addons,
#sp-page-builder section.sppb-section.ww-section.ww-cards.ww-cards-3 .ww-card-col .sppb-addon-wrapper,
#sp-page-builder section.sppb-section.ww-section.ww-cards.ww-cards-3 .ww-card-col .sppb-addon,
#sp-page-builder section.sppb-section.ww-section.ww-cards.ww-cards-3 .ww-card-col .sppb-addon-content{
  background:transparent !important;
}
/* ==========================================================
   WW | CARD PALETTE UTILITIES — HARD RESTORE
   ========================================================== */

#sp-page-builder .ww-cards .ww-card-col.ww-bg-white{ --ww-col-bg:#ffffff; }
#sp-page-builder .ww-cards .ww-card-col.ww-bg-ice{ --ww-col-bg:var(--ice); }
#sp-page-builder .ww-cards .ww-card-col.ww-bg-dove{ --ww-col-bg:var(--dove); }
#sp-page-builder .ww-cards .ww-card-col.ww-bg-cobalt{ --ww-col-bg:var(--cobalt); }
#sp-page-builder .ww-cards .ww-card-col.ww-bg-tangerine{ --ww-col-bg:var(--tangerine); }
#sp-page-builder .ww-cards .ww-card-col.ww-bg-sun{ --ww-col-bg:var(--sun); }
#sp-page-builder .ww-cards .ww-card-col.ww-bg-background{ --ww-col-bg:#f6f6f6; }


/* ==========================================================
   FIX: gap3-card nested sections (targeted)
   ========================================================== */

/* 1) Hard-reset padding/margins on the nested sections */
#section-id-d4ae492a-1c90-4268-97bf-a6dcce52a7dd,
#section-id-ebb6fdc5-dc3f-41ba-a7e6-122aec721900{
  padding-top:0 !important;
  padding-bottom:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
}

/* 2) inner wrapper that SP uses for nested sections */
#section-id-d4ae492a-1c90-4268-97bf-a6dcce52a7dd > .sppb-container-inner,
#section-id-ebb6fdc5-dc3f-41ba-a7e6-122aec721900 > .sppb-container-inner{
  padding-top:0 !important;
  padding-bottom:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
}

/* 3) controlled gap between (adjust value) */
#section-id-d4ae492a-1c90-4268-97bf-a6dcce52a7dd + #section-id-ebb6fdc5-dc3f-41ba-a7e6-122aec721900{
  margin-top:2.5rem !important; /* 40px */
}

#section-id-d4ae492a-1c90-4268-97bf-a6dcce52a7dd .sppb-row.sppb-nested-row,
#section-id-ebb6fdc5-dc3f-41ba-a7e6-122aec721900 .sppb-row.sppb-nested-row{
  margin-top:0 !important;
  margin-bottom:0 !important;
}
/* ==========================================================
   PATCH — V2.1 WW | References ONLY
   ========================================================== */

/* Reset: ensure normal ww-content-1col shells stay white */
#sp-page-builder section.sppb-section.ww-content-1col.ww-shell
> .sppb-row-container
> .sppb-row,
#sp-page-builder section.sppb-section.ww-content-1col.ww-shell
> .sppb-container-inner
> .sppb-row{
  background:#ffffff !important;
}
/* References only: grey */
#sp-page-builder section.sppb-section.ww-content-1col.ww-shell.ww-references
> .sppb-row-container > .sppb-row,
#sp-page-builder section.sppb-section.ww-content-1col.ww-shell.ww-references
> .sppb-container-inner > .sppb-row{
  background:#f6f6f6 !important;
}

/* Keep outer section transparent as before */
#sp-page-builder section.sppb-section.ww-content-1col.ww-shell{
  background:transparent !important;
}
/* ==========================================================
   PATCH — HERO BACKGROUND ONLY (SAFE)
   ========================================================== */

/* 0) Baseline: all ww-shell rows are white */
#sp-page-builder section.sppb-section.ww-section.ww-shell > .sppb-row-container > .sppb-row,
#sp-page-builder section.sppb-section.ww-section.ww-shell > .sppb-container-inner > .sppb-row{
  background:#ffffff !important;
}

/* 1) Heroes only: set the CARD (row) background to #f6f6f6 */
#sp-page-builder section.sppb-section.ww-section.ww-shell.ww-hero > .sppb-row-container > .sppb-row,
#sp-page-builder section.sppb-section.ww-section.ww-shell.ww-hero > .sppb-container-inner > .sppb-row{
  background:#f6f6f6 !important;
}

/* 2) References always wins (even if someone accidentally adds .ww-hero) */
#sp-page-builder section.sppb-section.ww-section.ww-shell.ww-references > .sppb-row-container > .sppb-row,
#sp-page-builder section.sppb-section.ww-section.ww-shell.ww-references > .sppb-container-inner > .sppb-row{
  background:#f6f6f6 !important;
}
/* ==========================================================
   PATCH — REFERENCES TITLE COLOUR (TANGERINE)
   Scope: ONLY ww-references
   ========================================================== */

#sp-page-builder
section.sppb-section.ww-references
.sppb-addon-header .sppb-addon-title{
  color: var(--tangerine) !important;
}

/* ==========================================================
   WW — BODY COPY LEADING (fix: pages not using .ww-scope wrappers)
   ========================================================== */

/* Main body copy inside WW sections */
#sp-page-builder .sppb-section.ww-section,
#sp-page-builder .sppb-section.ww-section p,
#sp-page-builder .sppb-section.ww-section li{
  font-size:1.1rem !important;      /* 17.6px */
  line-height:1.55rem !important; /* 23px */
}

/* Optional paragraph gap  */
#sp-page-builder .sppb-section.ww-section p{
  margin:0 0 0.875rem !important;  /* 14px */    
}
#sp-page-builder .sppb-section.ww-section p:last-child{
  margin-bottom:0 !important;
}
/* ==========================================================
   FINAL LOCK — WW SECTIONS
   ========================================================== */
#sp-page-builder .sppb-section.ww-section.sppb-section-fullwidth > .sppb-row-container{
  max-width:var(--ww-max) !important;
  padding-left:var(--ww-gutter) !important;
  padding-right:var(--ww-gutter) !important;
  box-sizing:border-box !important;
}

#sp-page-builder .sppb-section.ww-section.ww-full > .sppb-row-container{
  max-width:100% !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
/* ==========================================================
   FINAL NORMALISER — 
   ========================================================== */
#sp-page-builder .sppb-section.ww-section > .sppb-row-container > .sppb-row{
  margin-left:0 !important;
  margin-right:0 !important;
}

#sp-page-builder .sppb-section.ww-section > .sppb-row-container > .sppb-row
> [class*="sppb-col-"]{
  padding-left:0 !important;
  padding-right:0 !important;
}
/* ==========================================================
   GLOBAL IMAGE RADIUS — MATCH WW CARD LANGUAGE
   ========================================================== */

#sp-page-builder img{
  border-radius:0.625rem !important;  /* 10px */
  overflow:hidden !important;
}

/* V2.1 WW | Content (2col) — Editorial split */
.ww-section.ww-content-2col .ww-card{
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  padding:0 !important;
}

/* spacing + divider */
.ww-section.ww-content-2col .ww-content-left{
  padding-right:2.125rem !important;  /* 34px */
  border-right:1px solid rgba(0,0,0,0.08) !important;
}
.ww-section.ww-content-2col .ww-content-right{
  padding-left:2.125rem !important;   /* 34px */

}
/* ==========================================================
   FIX 1 — NESTED WW SECTIONS: REMOVE “BIG GAPS” INSIDE COLUMNS/CARDS   
   ========================================================== */

/* A) If a WW section is nested, kill outer spacing */
#sp-page-builder .ww-cards .ww-card-col section.sppb-section,
#sp-page-builder .ww-cards .ww-card-col .sppb-section{
  padding-top:0 !important;
  padding-bottom:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
}

/* B) Specifically: nested .ww-section should NOT apply the global 48px/32px padding */
#sp-page-builder .ww-cards .ww-card-col section.sppb-section.ww-section{
  padding-top:0 !important;
  padding-bottom:0 !important;
}

/* C) Controlled spacing between stacked nested sections (tune this) */
#sp-page-builder .ww-cards .ww-card-col section.sppb-section + section.sppb-section{
  margin-top:1.125rem !important; /* 18px */
}

/* D) Kill “extra” bottom spacing from addon wrappers inside nested content */
#sp-page-builder .ww-cards .ww-card-col .sppb-addon,
#sp-page-builder .ww-cards .ww-card-col .sppb-addon-wrapper{
  margin-bottom:0 !important;
}
#sp-page-builder .ww-cards .ww-card-col .sppb-addon + .sppb-addon{
   margin-top:0.75rem !important; /* 12px */
}
/* ==========================================================
   FIX 2 — CARD/COLUMN TYPOGRAPHY OVERRIDE
   ========================================================== */

/* Titles inside card columns */
#sp-page-builder .ww-cards .ww-card-col h3,
#sp-page-builder .ww-cards .ww-card-col h4,
#sp-page-builder .ww-cards .ww-card-col h5,
#sp-page-builder .ww-cards .ww-card-col h6,
#sp-page-builder .ww-cards .ww-card-col .sppb-addon-title:not(h1):not(h2){
  color:var(--black) !important;
  font-weight:400 !important; /* was 500 */
}

/* Body copy inside card columns */
#sp-page-builder .ww-cards .ww-card-col,
#sp-page-builder .ww-cards .ww-card-col p,
#sp-page-builder .ww-cards .ww-card-col li{
  color:var(--carbon) !important;
  font-weight:400 !important;
}

/* Links inside coloured cards */
#sp-page-builder .ww-cards .ww-card-col a{
  color:var(--cobalt) !important;
  font-weight:500 !important; /* keeps links “link-like” without cobalt */
  text-decoration:underline;
  text-underline-offset:3px;
}
/* ==========================================================
   WW CARDS — FORCE CONSISTENT IMAGE FRAMES
   ========================================================== */

#sp-page-builder .ww-cards .ww-card-col .sppb-addon-single-image-container{
  display:block !important;
  width:100% !important;
  aspect-ratio:4 / 3 !important;
  overflow:hidden !important;
  border-radius:0.625rem !important;
}

#sp-page-builder .ww-cards .ww-card-col .sppb-addon-single-image-container img{
  display:block !important;
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}
/* ==========================================================
   FIX — NESTED SECTIONS INSIDE A COLUMN (SP “container-inner” sections)
   ========================================================== */

/* 1) Kill the default WW 48px/32px padding */
#sp-page-builder .sppb-column .sppb-section.ww-section{
  padding-top:0 !important;
  padding-bottom:0 !important;
}

/* 2) Kill margins */
#sp-page-builder .sppb-column .sppb-section{
  margin-top:0 !important;
  margin-bottom:0 !important;
}

/* 3) No space */
#sp-page-builder .sppb-column .sppb-section > .sppb-container-inner{
  padding-top:0 !important;
  padding-bottom:0 !important;
  margin-top:0 !important;
  margin-bottom:0 !important;
}

/* 4) Controlled gap between stacked nested sections */
#sp-page-builder .sppb-column .sppb-section + .sppb-section{
  margin-top:1.25rem !important; /* 20px */
}

@media (max-width:768px){
  #sp-page-builder .sppb-column .sppb-section + .sppb-section{
    margin-top:0.875rem !important; /* 14px */
  }
}
/* ==========================================================
   WIKIWASTE — OVERVIEW LINKS (INSIDE-ONLY REBUILD) 
   ========================================================== */

/* 1) Title colour: “Other overview sections” = tangerine (no layout changes) */
#sp-page-builder section.sppb-section.ww-overview-links
.sppb-addon-text-block > .sppb-addon-title{
  color:var(--tangerine) !important;
}

/* 2) Buttons: default */
#sp-page-builder section.sppb-section.ww-overview-links
a.sppb-btn,
#sp-page-builder section.sppb-section.ww-overview-links
.sppb-btn{
  background:var(--tangerine) !important;
  border-color:var(--tangerine) !important;
  color:var(--white) !important;
  box-shadow:none !important;
}

#sp-page-builder section.sppb-section.ww-overview-links
a.sppb-btn:hover,
#sp-page-builder section.sppb-section.ww-overview-links
.sppb-btn:hover{
  background:var(--cobalt) !important;
  border-color:var(--cobalt) !important;
  color:var(--white) !important;
  box-shadow:none !important;
}

/* 3) Buttons: */
#sp-page-builder section.sppb-section.ww-overview-links
.sppb-addon-wrapper:has(a.sppb-btn),
#sp-page-builder section.sppb-section.ww-overview-links
.sppb-addon-wrapper:has(.sppb-btn){
  display:block !important;         
  width:100% !important;
}

#sp-page-builder section.sppb-section.ww-overview-links
a.sppb-btn,
#sp-page-builder section.sppb-section.ww-overview-links
.sppb-btn{
  display:flex !important;
  width:100% !important;            
  justify-content:center !important; 
}
/* ==========================================================
   WW OVERVIEW LINKS — SINGLE CARD BORDER ONLY (NO INNER FRAMES)
   ========================================================== */

/* A) Card border column addons wrapper */
#sp-page-builder section.sppb-section.ww-overview-links
.ww-card-col > .sppb-column-addons{
  border:1px solid rgba(31,57,162,.14) !important;
  background:var(--white) !important;
  border-radius:12px !important; /* keep if you want */
}

/* B) Kill “inset frame” borders */
#sp-page-builder section.sppb-section.ww-overview-links
.ww-card-col .sppb-addon-text-block,
#sp-page-builder section.sppb-section.ww-overview-links
.ww-card-col .sppb-addon-header,
#sp-page-builder section.sppb-section.ww-overview-links
.ww-card-col .sppb-addon-text-block .sppb-addon-content,
#sp-page-builder section.sppb-section.ww-overview-links
.ww-card-col .sppb-addon-header .sppb-addon-title{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}

/* C) If frame is being applied to wrappers, kill */
#sp-page-builder section.sppb-section.ww-overview-links
.ww-card-col .sppb-addon-wrapper{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}

/* D) If atemplate uses pseudo-elements to draw frame */
#sp-page-builder section.sppb-section.ww-overview-links
.ww-card-col .sppb-addon-text-block::before,
#sp-page-builder section.sppb-section.ww-overview-links
.ww-card-col .sppb-addon-text-block::after,
#sp-page-builder section.sppb-section.ww-overview-links
.ww-card-col .sppb-addon-wrapper::before,
#sp-page-builder section.sppb-section.ww-overview-links
.ww-card-col .sppb-addon-wrapper::after{
  content:none !important;
  border:0 !important;
  box-shadow:none !important;
}
/* ==========================================================
   WW OVERVIEW LINKS — FORCE-REMOVE INNER “FRAME” (CARD CONTENT ONLY)
   ========================================================== */

#sp-page-builder section.sppb-section.ww-overview-links .ww-card-col *,
#sp-page-builder section.sppb-section.ww-overview-links .ww-card-col *::before,
#sp-page-builder section.sppb-section.ww-overview-links .ww-card-col *::after{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;          /* kills inset “border” shadows */
}

#sp-page-builder section.sppb-section.ww-overview-links .ww-card-col{
  background:var(--white) !important;
  border:1px solid rgba(31,57,162,.14) !important;
  border-radius:0.75rem !important; /* 12px */
}

#sp-page-builder section.sppb-section.ww-overview-links .ww-card-col > .sppb-column-addons{
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}

#sp-page-builder section.sppb-section.ww-overview-links .ww-card-col{
   padding:1.375rem 1.375rem 1.125rem !important; /* 22px 22px 18px */
}
#sp-page-builder section.sppb-section.ww-overview-links .ww-card-col .sppb-addon-header .sppb-addon-title{
  margin:0 0 0.625rem !important; /* 10px */
}
#sp-page-builder section.sppb-section.ww-overview-links .ww-card-col .sppb-addon-text-block .sppb-addon-content{
  margin:0 !important;
}

/* ==========================================================
  WW TABLE: REMOVE GLOBAL WW-SECTION TOP/BOTTOM PADDING
   ========================================================== */

.ww-section.ww-table,
section.sppb-section.ww-section.ww-table{
  padding-top:0 !important;
  padding-bottom:0 !important;
}

.ww-section.ww-table .sppb-addon-table{
  margin-top:0 !important;
  margin-bottom:0 !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
.sppb-section.ww-section.ww-shell.ww-table > .sppb-row-container > .sppb-row{
  padding:var(--ww-shell-pad-desktop) !important;
}
@media (max-width:768px){
  .sppb-section.ww-section.ww-shell.ww-table > .sppb-row-container > .sppb-row{
    padding:var(--ww-shell-pad-mobile) !important;
  }
}
/* ==========================================================
   WW KPI NUMBERS — FIX TITLE/NUMBER SPACING (scoped)
   Section class: ww-kpis
   ========================================================== */

#sp-page-builder section.sppb-section.ww-kpis
.sppb-addon-animated-number .sppb-addon-content{
  display:flex !important;
  flex-direction:column !important;     
  gap:0.9375rem !important; /* 15px */              
  align-items:center !important;
}

#sp-page-builder section.sppb-section.ww-kpis
.sppb-animated-number,
#sp-page-builder section.sppb-section.ww-kpis
.sppb-animated-number-title{
  margin:0 !important;
  padding:0 !important;
}

#sp-page-builder section.sppb-section.ww-kpis
.sppb-addon-animated-number.animated-number-position-bottom .sppb-addon-content{
  flex-direction:column-reverse !important;
}
/* ==========================================================
   WW HERO (SPLIT) — CLEAN, CONSISTENT, NO PER-PAGE CLASSES
   ========================================================== */

section.sppb-section.ww-hero.ww-hero-split > .sppb-row-container > .sppb-row{
  display:flex !important;
  align-items:flex-start !important;   
}

section.sppb-section.ww-hero.ww-hero-split .ww-hero-left{
  display:flex !important;
  align-items:flex-start !important;
}
section.sppb-section.ww-hero.ww-hero-split .ww-hero-left h1,
section.sppb-section.ww-hero.ww-hero-split .ww-hero-left .sppb-addon-title{
  margin-top:0 !important;
}

section.sppb-section.ww-hero.ww-hero-split .ww-hero-right{
  display:flex !important;
  justify-content:flex-end !important;
  align-items:flex-start !important;
}

section.sppb-section.ww-hero.ww-hero-split .ww-hero-right .sppb-column-addons,
section.sppb-section.ww-hero.ww-hero-split .ww-hero-right .sppb-addon-wrapper,
section.sppb-section.ww-hero.ww-hero-split .ww-hero-right .sppb-addon,
section.sppb-section.ww-hero.ww-hero-split .ww-hero-right .sppb-addon-content{
  height:auto !important;
  min-height:0 !important;
  width:100% !important;
  display:flex !important;
  justify-content:flex-end !important;
}

section.sppb-section.ww-hero.ww-hero-split .ww-hero-right .sppb-addon-single-image-container{
  width:16.25rem !important;   /* 260px */
  height:16.25rem !important;
  overflow:hidden !important;
  border-radius:0.625rem !important; /* 10px */

  margin-left:auto !important;
  margin-right:0 !important;
  position:relative !important;
}

section.sppb-section.ww-hero.ww-hero-split .ww-hero-right img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
  display:block !important;
}

section.sppb-section.ww-hero.ww-hero-split .ww-hero-right img[src*="monksleigh-official-logo-monksleigh"]{
  object-fit:contain !important;
  padding:12px !important;
  background:#ffffff !important;
}

@media (max-width:768px){
  section.sppb-section.ww-hero.ww-hero-split > .sppb-row-container > .sppb-row{
    display:block !important;
  }

  section.sppb-section.ww-hero.ww-hero-split .ww-hero-right{
    justify-content:flex-start !important; /* looks better stacked */
    margin-top:0.875rem !important; /* 14px */
  }

  section.sppb-section.ww-hero.ww-hero-split .ww-hero-right .sppb-addon-single-image-container{
    width:13.75rem !important;  /* 220px */
    height:13.75rem !important;
    margin-left:0 !important;
  }
}
/* ==========================================================
   WW HERO (SPLIT) — LARGE VARIANT (ONLY WHEN ww-hero-large IS PRESENT)
   Use on the 4 overview pages only.
   ========================================================== */

/* Make the hero row stretch so the image can be tall again */
section.sppb-section.ww-hero.ww-hero-split.ww-hero-large
> .sppb-row-container > .sppb-row{
  align-items:stretch !important;
}

/* Keep the left content pinned to top (no “jumping”) */
section.sppb-section.ww-hero.ww-hero-split.ww-hero-large .ww-hero-left{
  align-items:flex-start !important;
}

/* Allow the right side to fill the column height */
section.sppb-section.ww-hero.ww-hero-split.ww-hero-large .ww-hero-right{
  align-items:stretch !important;
}

/* Re-enable full-height wrappers (override the square system) */
section.sppb-section.ww-hero.ww-hero-split.ww-hero-large .ww-hero-right .sppb-column-addons,
section.sppb-section.ww-hero.ww-hero-split.ww-hero-large .ww-hero-right .sppb-addon-wrapper,
section.sppb-section.ww-hero.ww-hero-split.ww-hero-large .ww-hero-right .sppb-addon,
section.sppb-section.ww-hero.ww-hero-split.ww-hero-large .ww-hero-right .sppb-addon-content{
  height:100% !important;
  min-height:100% !important;
}

/* The image container becomes “large”, not 260x260 */
section.sppb-section.ww-hero.ww-hero-split.ww-hero-large .ww-hero-right .sppb-addon-single-image-container{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  aspect-ratio:auto !important;

  margin-left:auto !important;
  margin-right:0 !important;
  overflow:hidden !important;
  border-radius:10px !important;
}

/* Photos fill the large frame */
section.sppb-section.ww-hero.ww-hero-split.ww-hero-large .ww-hero-right img{
  width:100% !important;
  height:100% !important;
  object-fit:cover !important;
}

/* Mobile: keep it strong but controlled */
@media (max-width:768px){
  section.sppb-section.ww-hero.ww-hero-split.ww-hero-large
  > .sppb-row-container > .sppb-row{
    display:block !important;
  }

  section.sppb-section.ww-hero.ww-hero-split.ww-hero-large
  .ww-hero-right .sppb-addon-single-image-container{
    height:16.25rem !important; /* 260px */
  }
}
#sp-page-builder section.sppb-section.ww-hero.ww-hero-split .ww-hero-left{
  padding-right:4.75rem !important; /* 76px */
}
@media (max-width:768px){
  #sp-page-builder section.sppb-section.ww-hero.ww-hero-split .ww-hero-left{
    padding-right:0 !important;
  }
}
/* ==========================================================
   PATCH — HERO LOGO FIT (Wiki arcticle logo only)
   ========================================================== */

/* hero split right column logo image */
section.sppb-section.ww-hero.ww-hero-split 
.ww-hero-right img[src*="monksleigh-official-logo-corporate-wikiewaste"]{
  object-fit:contain !important;
  padding:0.875rem !important; /* 14px */
  background:transparent !important;   /* remove white box */
}

/* increase the logo box size (desktop) */
section.sppb-section.ww-hero.ww-hero-split .ww-hero-right
.sppb-addon-single-image-container:has(img[src*="monksleigh-official-logo-corporate-wikiewaste"]){
  width:18.75rem !important;  /* 300px */
  height:18.75rem !important;       
}

/* mobile size for the logo box */
@media (max-width:768px){
  section.sppb-section.ww-hero.ww-hero-split .ww-hero-right
  .sppb-addon-single-image-container:has(img[src*="monksleigh-official-logo-corporate-wikiewaste"]){
    width:15rem !important;   /* 240px */
    height:15rem !important;      
  }
}
/* ==========================================================
   WW — ARTICLE LIST (Links to) — table-like rows (FINAL BLOCK)
   Targets: .sppb-addon-article / .sppb-article-info-wrap / h3
   Req:
   - Keep LEFT/RIGHT padding as-is (do not change)
   - Control ROW HEIGHT (more rows visible)
   - Add TOP/BOTTOM breathing room via CSS (remove SP spacers)
   - Whole-row dove hover + blue accent bar
   - Clear dividers between rows (table-like)
   - Remove grey rounded click/focus box
   - Vertically centre text in each row
   - Prevent any overflow “running off page”
   ========================================================== */

:root{
  --ww-list-radius:0.75rem;                 /* 12px */
  --ww-list-border:rgba(0,0,0,.10);
  --ww-list-divider:rgba(0,0,0,.10);        /* stronger like table grid */
  --ww-list-bg:#ffffff;

  --ww-list-hover:rgba(211,211,211,.28);    /* dove tint */
  --ww-list-focus:rgba(211,211,211,.40);

  --ww-list-accent:var(--cobalt);

  /* IMPORTANT: keep L/R padding stable; control height with min-height */
  --ww-list-pad-x:1.25rem;                  /* 20px (same as before) */
  --ww-list-row-minh:3rem;                  /* 48px row height target */
}

/* Stop overflow causing “run off page” */
.ww-content-body .sppb-addon-articles,
.ww-content-body .sppb-addon-articles *{
  box-sizing:border-box;
}

/* Add spacing above/below list so you can remove SP spacers Tom*/
.ww-content-body .sppb-addon-articles{
  display:block;
  width:100%;
  max-width:100%;
  overflow:hidden;

  margin:1.25rem 0;                         /* space from text above / box below */
  background:var(--ww-list-bg);
  border:1px solid var(--ww-list-border);
  border-radius:var(--ww-list-radius);
}

/* Each row */
.ww-content-body .sppb-addon-articles .sppb-addon-article{
  margin:0 !important;
  padding:0 !important;
  background:var(--ww-list-bg) !important;
  border-bottom:1px solid var(--ww-list-divider) !important;
}
.ww-content-body .sppb-addon-articles .sppb-addon-article:first-child{
  border-top:0 !important; /* container already has top border */
}
.ww-content-body .sppb-addon-articles .sppb-addon-article:last-child{
  border-bottom:0 !important;
}

/* Inner wrap: vertically centred; row height controlled via min-height */
.ww-content-body .sppb-addon-articles .sppb-article-info-wrap{
  position:relative;
  display:flex;
  align-items:center;

  width:100%;
  max-width:100%;
  min-height:var(--ww-list-row-minh);

  padding-left:var(--ww-list-pad-x) !important;
  padding-right:var(--ww-list-pad-x) !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}

/* Blue accent rule */
.ww-content-body .sppb-addon-articles .sppb-article-info-wrap:before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:0.25rem; /* 4px */
  background:transparent;
}

/* Title */
.ww-content-body .sppb-addon-articles .sppb-article-info-wrap h3{
  margin:0 !important;
  width:100%;
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-size:1rem !important;                /* slightly denser */
  line-height:1.375rem !important;          /* 22px */
  font-weight:500 !important;
}

/* Linked fills the row; prevents long titles causing overflow */
.ww-content-body .sppb-addon-articles .sppb-article-info-wrap h3 a{
  display:block;
  width:100%;
  max-width:100%;
  color:var(--carbon) !important;
  text-decoration:none !important;
  background:transparent !important;

  white-space:normal;
  overflow-wrap:anywhere;
}

/* Whole-row hover */
.ww-content-body .sppb-addon-articles .sppb-addon-article:hover{
  background:var(--ww-list-hover) !important;
}
.ww-content-body .sppb-addon-articles .sppb-addon-article:hover .sppb-article-info-wrap:before{
  background:var(--ww-list-accent) !important;
}

/* Removed grey rounded “click/focus box” on the link */
.ww-content-body .sppb-addon-articles .sppb-article-info-wrap h3 a:focus,
.ww-content-body .sppb-addon-articles .sppb-article-info-wrap h3 a:focus-visible,
.ww-content-body .sppb-addon-articles .sppb-article-info-wrap h3 a:active{
  outline:none !important;
  box-shadow:none !important;
  border-radius:0 !important;
  background:transparent !important;
}

/* JL reminder - Replace with clean row-level focus */
.ww-content-body .sppb-addon-articles .sppb-addon-article:focus-within{
  background:var(--ww-list-focus) !important;
}
.ww-content-body .sppb-addon-articles .sppb-addon-article:focus-within .sppb-article-info-wrap:before{
  background:var(--ww-list-accent) !important;
}

/*When SP injects inner backgrounds to hide dividers/hover, neutralise */
.ww-content-body .sppb-addon-articles .sppb-addon-article *{
  background:transparent !important;
}

/* Mobile: keep same L/R padding, reduce height slightly */
@media (max-width:48rem){
  :root{
    --ww-list-row-minh:2.75rem;              /* 44px */
  }
}
/* ==========================================================
   WW — RESTORED ROW DIVIDERS
   ========================================================== */

/* Remove over-aggressive background reset */
.ww-content-body .sppb-addon-articles .sppb-addon-article *{
  background:initial !important;
}

/* Force clear horizontal dividers */
.ww-content-body .sppb-addon-articles .sppb-addon-article{
  border-bottom:1px solid var(--dove) !important;
}

.ww-content-body .sppb-addon-articles .sppb-addon-article:last-child{
  border-bottom:1px solid rgba(0,0,0,.12) !important;
}
/* ==========================================================
   WW — SP TABLE FONT LOCK (without .ww-table class)
   ========================================================== */

/* Header row: bold */
#sp-page-builder .ww-section .sppb-addon-table table thead th{
  font-size:0.9375rem !important;   /* 15px */
  line-height:1.375rem !important;  /* 22px */
  font-weight:600 !important;
}

/* Body cells: uniform size */
#sp-page-builder .ww-section .sppb-addon-table table tbody td,
#sp-page-builder .ww-section .sppb-addon-table table tbody th,
#sp-page-builder .ww-section .sppb-addon-table table tfoot td,
#sp-page-builder .ww-section .sppb-addon-table table tfoot th{
  font-size:0.9375rem !important;
  line-height:1.375rem !important;
  font-weight:400 !important;
}

/* <p> mismatch inside cells (core fix) */
#sp-page-builder .ww-section .sppb-addon-table table td p,
#sp-page-builder .ww-section .sppb-addon-table table th p{
  font-size:0.9375rem !important;
  line-height:1.375rem !important;
  margin:0 !important;
}
/* ==========================================================
   WW Premium demo gate (section-level) 
   ========================================================== */

.ww-premium.ww-shell > .sppb-row-container > .sppb-row{
  position:relative !important;
  overflow:hidden !important;         
  border-radius:0.75rem !important;    
}

body.ww-subscribed .ww-premium .ww-premium-overlay{ 
  display:none !important; 
}
body.ww-subscribed .ww-premium.ww-shell .sppb-addon{
  filter:none !important;
  opacity:1 !important;
  pointer-events:auto !important;
}

body:not(.ww-subscribed) .ww-premium.ww-shell .sppb-addon{
  filter:blur(4px) !important;
  opacity:0.99 !important;
  pointer-events:none !important;
}

body:not(.ww-subscribed) .ww-premium.ww-shell .sppb-addon.ww-premium-gate{
  filter:none !important;
  opacity:1 !important;
  pointer-events:auto !important;

  position:static !important;
  z-index:10000 !important;
}
body:not(.ww-subscribed) .ww-premium.ww-shell .sppb-addon.ww-premium-gate .sppb-addon-content{
  position:static !important;
}

body:not(.ww-subscribed) .ww-premium.ww-shell .ww-premium-overlay{
  position:absolute;
  inset:0;
  z-index:9999;

  display:flex;
  align-items:center;
  justify-content:center;
  padding:1rem;

  background:rgba(255,255,255,0.12); 
}

.ww-premium .ww-premium-overlay-card{
  width:min(42rem, 100%);
  background:#ebebeb;
  border:1px solid var(--dove);
  border-radius:0.75rem;
  padding:1.25rem 1.25rem 1rem;
  box-shadow:0 0.75rem 2rem rgba(0,0,0,0.10);
}

.ww-premium .ww-premium-lock{
  width:2.25rem;
  height:2.25rem;
  margin:0 0 0.75rem;
  position:relative;
}
.ww-premium .ww-premium-lock:before{
  content:"";
  position:absolute;
  left:0.55rem;
  top:0.2rem;
  width:1.15rem;
  height:0.95rem;
  border:0.18rem solid var(--cobalt);
  border-bottom:none;
  border-radius:0.75rem 0.75rem 0 0;
}
.ww-premium .ww-premium-lock:after{
  content:"";
  position:absolute;
  left:0.45rem;
  top:0.95rem;
  width:1.35rem;
  height:1.1rem;
  border:0.18rem solid var(--cobalt);
  border-radius:0.35rem;
  background:rgba(31,57,162,0.06);
}

.ww-premium .ww-premium-title{
  margin:0 0 0.35rem !important;
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-weight:500 !important;
  color:var(--cobalt) !important;
}
.ww-premium .ww-premium-text{
  margin:0 0 0.9rem !important;
  color:var(--carbon) !important;
}
.ww-premium .ww-premium-actions{
  display:flex;
  flex-wrap:wrap;
  gap:0.5rem;
}

.ww-premium .ww-premium-btn{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;

  padding:0 1rem !important;
  height:2.25rem !important;          /* 36px */
  min-height:2.25rem !important;
  line-height:1 !important;

  font-size:0.9375rem !important;     /* 15px */
  border-radius:0.375rem !important;  /* 6px */
  white-space:nowrap !important;
}

.ww-premium.ww-shell table{
  width:100% !important;
  max-width:100% !important;
}
.ww-premium.ww-shell img{
  max-width:100% !important;
}
/* === FORCING card gradient + darker top-right === */
body:not(.ww-subscribed) .ww-premium.ww-shell .ww-premium-overlay .ww-premium-overlay-card{
  background:linear-gradient(
    155deg,
    #f6f6f6 0%,
    #ebebeb 45%,
    #b2c6ff 90%
  ) !important;
  border:1px solid #b2c6ff !important;
}
body:not(.ww-subscribed) .ww-premium.ww-shell .ww-premium-overlay{
  background:rgba(255,255,255,0.06) !important;
}
#sp-position7 .sp-column {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  flex-wrap: nowrap;
}

#sp-position7 .sp-module {
  margin: 0;
  flex: 0 0 auto;
}

#sp-position7 .sp-module:first-child {
  order: 2;
}

#sp-position7 .sp-module:last-child {
  order: 1;
}

#sp-position7 .sp-module-content p {
  margin: 0 !important;
}

.login-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  white-space: nowrap !important;
  min-width: 78px;
  padding: 0.375rem 0.75rem !important;
  line-height: 1 !important;
  vertical-align: middle;
}
/* =========================================================
   HEADER: search icon + login button
   ========================================================= */

#sp-position7 .sp-column {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 14px;
  flex-wrap: nowrap;
}

#sp-position7 .sp-module {
  margin: 0;
  flex: 0 0 auto;
}

#sp-position7 .sp-module:first-child {
  order: 2;
}

#sp-position7 .sp-module:last-child {
  order: 1;
}

#sp-position7 .sp-module-content p {
  margin: 0 !important;
}

.login-btn {
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  white-space: nowrap !important;
  min-width: 78px;
  padding: 0.375rem 0.75rem !important;
  line-height: 1 !important;
  vertical-align: middle;
}

.ww-search-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  line-height: 1;
  text-decoration: none;
  position: relative;
  top: 1px;
}

.ww-search-link svg {
  display: block;
}

/* =========================================================
   SEARCH PAGE
   ========================================================= */

.form-inline {
  max-width: 920px;
  margin: 42px auto 36px;
  padding: 0 24px;
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.form-inline > label[for="q"] {
  font-size: 0 !important;
  line-height: 0 !important;
  margin: 0 0 26px 0 !important;
}

.form-inline > label[for="q"]::before {
  content: "Search WikiWaste by facility, waste type, organisation or topic. Use Advanced Search for more precise filtering Tom.";
  display: block;
  font-size: 1.4rem !important;
  line-height: 1.3;
  font-weight: 500;
  color: var(--cobalt);
}

.form-inline .input-group {
  display: flex;
  align-items: stretch;
  gap: 0 !important;
  width: 100%;
  flex-wrap: nowrap;
}

.form-inline .awesomplete {
  flex: 1 1 auto;
  min-width: 0;
}

.form-inline input[name="q"],
.form-inline .js-finder-search-query,
.form-inline .form-control {
  width: 100% !important;
  min-height: 44px;
  height: 44px;
  padding: 0 28px !important;
  border: 1px solid var(--carbon) !important;
  border-right: 0 !important;
  border-radius: 8px 0 0 8px !important;
  background: #ebebeb !important;
  color: var(--carbon) !important;
  font-size: 1rem !important;
  line-height: 1.3;
  box-shadow: none !important;
  outline: none !important;
}

.form-inline input[name="q"]::placeholder,
.form-inline .js-finder-search-query::placeholder,
.form-inline .form-control::placeholder {
  color: var(--black) !important;
  font-size: 1rem !important;
  font-weight: 500;
}

.form-inline input[name="q"]:focus,
.form-inline .js-finder-search-query:focus,
.form-inline .form-control:focus {
  border: 1px solid var(--cobalt) !important;
  border-right: 0 !important;
  box-shadow: none !important;
  background: #ebebeb !important;
}

.form-inline .btn {
  min-height: 44px;
  height: 44px;
  padding: 0 16px;
  border-radius: 0 !important;
  font-weight: 600;
  font-size: 1rem !important;
  box-shadow: none !important;
  margin: 0 !important;
}

.form-inline .btn-primary {
  background: var(--tangerine) !important;
  border: 1px solid var(--carbon) !important;
  color: var(--white) !important;
}

.form-inline .btn-primary:hover {
  background: var(--cobalt) !important;
  border-color: var(--carbon) !important;
  color: var(--white) !important;
}

.form-inline .btn-secondary {
  background: var(--slate) !important;
  border: 1px solid var(--carbon) !important;
  color: var(--white) !important;
  border-radius: 0 8px 8px 0 !important;
  margin-left: -1px !important;
}

.form-inline .btn-secondary:hover {
  background: var(--cobalt) !important;
  border-color: var(--carbon) !important;
  color: var(--white) !important;
}

/* Advanced search hidden by default */
#advancedSearch {
  max-width: 920px;
  margin: 20px auto 0 !important;
  padding: 0 24px 24px !important;
  border: 0 !important;
  display: none;
}

#advancedSearch.show {
  display: block !important;
}

.com-finder__tips {
  display: none !important;
}

#finder-filter-window {
  margin-top: 8px;
  padding-bottom: 24px;
}

#finder-filter-window .control-group {
  margin-bottom: 18px;
}

#finder-filter-window .control-label label {
  display: block;
  margin-bottom: 6px;
  font-size: 1rem !important;
  font-weight: 600;
  color: var(--carbon);
}

#finder-filter-window .controls select {
  width: 100%;
  min-height: 44px;
  height: 44px;
  padding: 0 14px;
  border: 1px solid var(--dove);
  border-radius: 8px;
  background: var(--white);
  color: var(--carbon);
  font-size: 1rem !important;
  line-height: 1.2;
  box-shadow: none;
}

.com-finder mark,
.search-results mark,
.result-text mark,
dd.result-text mark {
  background: var(--tangerine) !important;
  color: var(--white) !important;
  padding: 0 2px;
}
/* =========================================================
   SEARCH RESULTS — TYPOGRAPHY
   ========================================================= */


.result__item{
  margin:0 0 1.5rem !important;
  padding:0 0 1.5rem !important;
}

/* Title wrapper */
.result__title{
  margin:0 0 0.35rem !important;
  font-size:1rem !important;
  line-height:1.4 !important;
}

/* Title link */
.result__title-link{
  text-decoration:none !important;
}

/* Visible title text */
.result__title-text{
  font-size:1rem !important;
  font-weight:500 !important;
  color:var(--cobalt) !important;
}

.result__title-link:hover .result__title-text{
  text-decoration:underline !important;
}

/* URL */
.result__title-url{
  display:block !important;
  margin-top:0.2rem !important;
  font-style:normal !important;
  font-size:1rem !important;
  font-weight:400 !important;
  color:#666 !important;
  word-break:break-word;
}

/* Description/snippet */
.result__description{
  margin:0 0 0.5rem !important;
  font-size:1rem !important;
  line-height:1.6 !important;
  font-weight:400 !important;
  color:#444 !important;
}

/* Date */
.result__date{
  font-size:1rem !important;
  font-weight:500 !important;
  color:#666 !important;
}

/* Taxonomy list */
.result__taxonomy{
  list-style:none !important;
  margin:0 !important;
  padding:0 !important;
}

/* Type / category line */
.result__taxonomy-item{
  font-size:1rem !important;
  font-weight:500 !important;
  color:#666 !important;
}

/* Search highlight */
.result__description mark,
.result__title mark{
  background:var(--tangerine) !important;
  color:var(--white) !important;
  padding:0.05em 0.25em !important;
  border-radius:0.18rem !important;
}

/* Results count */
.search-pages-counter{
  font-size:1rem !important;
  color:#666 !important;
}
/* ==========================================================
   WW — SCROLL TO TOP
   ========================================================== */

.ww-scroll-up{
  position:fixed;
  right:1.5rem;                       /* 24px */
  bottom:1.5rem;                      /* 24px */
  width:3rem;                         /* 48px */
  height:3rem;                        /* 48px */
  border-radius:62.4375rem;           /* 999px */
  background:var(--carbon);
  color:#fff;
  border:none !important;
  display:flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  opacity:0;
  pointer-events:none;
  transform:translateY(0.5rem);
  transition:opacity .2s ease, transform .2s ease, background-color .2s ease;
  box-shadow:0 0.375rem 1.25rem rgba(0,0,0,.25);
  z-index:9999;
}

.ww-scroll-up.is-visible{
  opacity:1;
  pointer-events:auto;
  transform:translateY(0);
}

.ww-scroll-up:hover{
  background:var(--tangerine);
}

.ww-scroll-up:focus-visible{
  outline:0.125rem solid rgba(230,120,41,.35);
  outline-offset:0.125rem;
}

.ww-scroll-up .fa{
  font-size:1rem;
  line-height:1;
}

@media (max-width:48rem){
  .ww-scroll-up{
    right:1rem;
    bottom:1rem;
    width:2.75rem;
    height:2.75rem;
  }
}
/* =========================================================
   SEARCH HIGHLIGHT
   ========================================================= */
mark,
mark[data-markjs]{
  background:none !important;
  color:inherit !important;
  font-weight:600;
  border-bottom:1px solid var(--tangerine);
}


/* ==========================================================
   MEMBERSHIP PRO — SIGNUP PAGE
   ========================================================== */

/* Outer boxes */
#osm-signup-page .ww-login-box,
#osm-signup-page .ww-signup-box{
  border:1px solid var(--dove) !important;
  border-radius:0.75rem !important;
  background:#f6f6f6 !important;
  padding:1.125rem 1.125rem 1rem !important;
  margin:0 0 1.5rem !important;
  box-sizing:border-box !important;
}

#osm-signup-page .ww-login-box > :first-child,
#osm-signup-page .ww-signup-box > :first-child{
  margin-top:0 !important;
}

#osm-signup-page .ww-login-box > :last-child,
#osm-signup-page .ww-signup-box > :last-child{
  margin-bottom:0 !important;
}

/* Page title */
#osm-signup-page .osm-page-title{
  margin:0 0 1rem !important;
}

/* Section titles outside boxes */
#osm-signup-page #osm-existing-user-login,
#osm-signup-page #osm-new-user-register{
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-weight:500 !important;
  color:var(--cobalt) !important;
  font-size:1.5rem !important;
  line-height:1.25 !important;
  margin:0 0 0.875rem !important;
}

/* Inner titles */
#osm-signup-page #osm-account-information,
#osm-signup-page .osm-heading:not(.osm-page-title){
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-weight:500 !important;
  color:var(--cobalt) !important;
  font-size:1.25rem !important;
  line-height:1.3 !important;
  margin:0 0 0.875rem !important;
}

/* Body text */
#osm-signup-page,
#osm-signup-page p,
#osm-signup-page li,
#osm-signup-page label,
#osm-signup-page .osm-message,
#osm-signup-page .osm-subheading{
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  color:var(--carbon) !important;
  font-size:1rem !important;
  line-height:1.45 !important;
}

#osm-signup-page .osm-message{
  margin:0 0 1.25rem !important;
  font-weight:500 !important;
}

#osm-signup-page .osm-message p{
  font-weight:500 !important;
}

#osm-signup-page .osm-subheading{
  font-weight:500 !important;
  color:var(--carbon) !important;
  opacity:0.55 !important;
  margin:0 0 1rem !important;
}

/* Labels */
#osm-signup-page .control-label,
#osm-signup-page .form-control-label{
  font-weight:500 !important;
  color:var(--carbon) !important;
  margin-bottom:0.375rem !important;
}

/* Field row spacing */
#osm-signup-page .control-group,
#osm-signup-page .form-group{
  margin-bottom:0.875rem !important;
}

/* Keep field area from stretching too wide */
#osm-signup-page .eb-form-control,
#osm-signup-page .controls{
  max-width:46rem !important;
}

/* Base form fields
   Note: no font-size/font-family forced on inputs Tom */
#osm-signup-page input.form-control,
#osm-signup-page select.form-select,
#osm-signup-page textarea.form-control{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  min-height:2.5rem !important;
  height:2.5rem !important;
  padding:0 0.75rem !important;
  border:1px solid var(--dove) !important;
  border-radius:0.5rem !important;
  background:#ffffff !important;
  color:var(--carbon) !important;
  box-shadow:none !important;
}

/* Focus */
#osm-signup-page input.form-control:focus,
#osm-signup-page select.form-select:focus,
#osm-signup-page textarea.form-control:focus{
  border-color:var(--cobalt) !important;
  background:#ffffff !important;
  box-shadow:none !important;
  outline:none !important;
}

/* Password field group */
#osm-signup-page .password-group .input-password-toggle{
  display:none !important;
}

#osm-signup-page .password-group .input-group{
  display:block !important;
  width:100% !important;
}

#osm-signup-page .password-group .input-group > input.form-control,
#osm-signup-page .password-group input.form-control{
  width:100% !important;
  max-width:100% !important;
  min-height:2.5rem !important;
  height:2.5rem !important;
  border:1px solid var(--dove) !important;
  border-radius:0.5rem !important;
  background:#ffffff !important;
}

/* Price row */
#osm-signup-page #osm-amount-container .osm-addon-container.input-group{
  display:inline-flex !important;
  align-items:stretch !important;
  flex-wrap:nowrap !important;
  width:auto !important;
  max-width:100% !important;
  vertical-align:top !important;
}

#osm-signup-page #osm-amount-container .input-group-text{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 auto !important;
  min-width:auto !important;
  min-height:2.5rem !important;
  height:2.5rem !important;
  padding:0 0.75rem !important;
  margin:0 !important;
  border:1px solid var(--dove) !important;
  border-right:0 !important;
  border-radius:0.5rem 0 0 0.5rem !important;
  background:#ebeff5 !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

#osm-signup-page #osm-amount-container input#amount.form-control{
  display:block !important;
  flex:0 0 9.5rem !important;
  width:9.5rem !important;
  max-width:9.5rem !important;
  min-width:9.5rem !important;
  min-height:2.5rem !important;
  height:2.5rem !important;
  margin:0 !important;
  border-radius:0 0.5rem 0.5rem 0 !important;
}

/* Buttons */
#osm-signup-page .btn-primary,
#osm-signup-page .form-actions .btn,
#osm-signup-page input[type="submit"],
#osm-signup-page input[name="osm-btn-login"]{
  min-height:2.75rem !important;
  height:2.75rem !important;
  width:12rem !important;
  padding:0 1rem !important;
  border-radius:0.5rem !important;
  line-height:1 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background-color:var(--tangerine) !important;
  border:1px solid var(--tangerine) !important;
  color:#ffffff !important;
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-weight:500 !important;
  text-align:center !important;
  white-space:nowrap !important;
  box-shadow:none !important;
}

/* Links */
#osm-signup-page a:not(.btn):not([class*="btn"]){
  color:var(--cobalt) !important;
  text-decoration:none !important;
  text-underline-offset:0.1875rem !important;
}

#osm-signup-page a:not(.btn):not([class*="btn"]):hover{
  color:var(--tangerine) !important;
  text-decoration:underline !important;
}

#osm-signup-page a:not(.btn):not([class*="btn"]):focus-visible{
  color:var(--tangerine) !important;
  text-decoration:underline !important;
  outline:0.125rem solid rgba(230,120,41,.35) !important;
  outline-offset:0.125rem !important;
}

/* Forgot links */
#osm-signup-page .osm-login-help-links{
  margin-top:1rem !important;
  margin-bottom:1.5rem !important; /* add this */

  display:flex !important;
  gap:1rem !important;
  flex-wrap:wrap !important;
}

#osm-signup-page .osm-login-help-link{
  display:inline-block !important;
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-size:1rem !important;
  font-weight:400 !important;
  line-height:1.45 !important;
  text-decoration:none !important;
}

#osm-signup-page .osm-login-help-link:hover,
#osm-signup-page .osm-login-help-link:focus-visible{
  text-decoration:none !important;
}

/* Validation error */
#osm-signup-page .formError{
  z-index:9999 !important;
}

#osm-signup-page .formError .formErrorContent{
  background:var(--carbon) !important;
  color:#ffffff !important;
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-size:1rem !important;
  font-weight:500 !important;
  line-height:1.45 !important;
  padding:0.6rem 0.75rem !important;
  border-radius:0.5rem !important;
  border:none !important;
  box-shadow:none !important;
}

#osm-signup-page .formError .formErrorArrow div{
  background:var(--carbon) !important;
  border:none !important;
}

/* Privacy policy message */
#osm-signup-page .osm-privacy-policy-message.alert,
#osm-signup-page .osm-privacy-policy-message.alert-info{
  background:var(--sun) !important;
  border:1px solid var(--dove) !important;
  border-radius:0.5rem !important;
  padding:0.875rem 1rem !important;
  color:var(--carbon) !important;
  box-shadow:none !important;
  margin:0.5rem 0 0 !important;
}

#osm-signup-page .osm-privacy-policy-message.alert p,
#osm-signup-page .osm-privacy-policy-message.alert-info p{
  margin:0 !important;
}

#osm-signup-page .osm-privacy-policy-message a,
#osm-signup-page .osm-privacy-policy-message a:hover{
  text-decoration:underline !important;
}

/* Bottom spacing under submit */
#osm-signup-page .ww-signup-box .form-actions,
#osm-signup-page .ww-signup-box .control-group:last-child,
#osm-signup-page .ww-signup-box .form-group:last-child{
  margin-bottom:2rem !important;
}

/* Disable Bootstrap/Joomla field tooltips */
#osm-signup-page .hasTooltip,
#osm-signup-page .hasTip{
  pointer-events:none !important;
  cursor:default !important;
}

/* Gap before signup section */
#osm-signup-page #osm-new-user-register{
  margin-top:2.5rem !important;
}

/* ==========================================================
   JOOMLA CORE LOGIN PAGE
   ========================================================== */

.com-users-login.login{
  max-width:72rem !important;
  margin:0 auto !important;
  padding:0 1.25rem 3rem !important;
  background:transparent !important;
}

.com-users-login.login .row.justify-content-center{
  justify-content:flex-start !important;
}

.com-users-login.login .col-lg-4{
  width:100% !important;
  max-width:100% !important;
  flex:0 0 100% !important;
}

.com-users-login__form{
  max-width:none !important;
  width:100% !important;
  background:#f6f6f6 !important;
  border:1px solid var(--dove) !important;
  border-radius:0.75rem !important;
  padding:1.5rem !important;
  padding-bottom:3.5rem !important;
  box-shadow:none !important;
  margin:0 !important;
  position:relative !important;
}

.com-users-login__form::before{
  content:"Log in to continue";
  display:block !important;
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-size:1rem !important;
  font-weight:500 !important;
  color:var(--carbon) !important;
  opacity:0.55 !important;
  margin:0 0 1rem !important;
}

.com-users-login__form .mb-3,
.com-users-login__remember,
.com-users-login__submit{
  max-width:46rem !important;
}

.com-users-login__form label{
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-size:1rem !important;
  font-weight:500 !important;
  color:var(--carbon) !important;
  margin-bottom:0.375rem !important;
}

.com-users-login__form input.form-control{
  width:100% !important;
  max-width:100% !important;
  min-height:2.5rem !important;
  height:2.5rem !important;
  padding:0 0.75rem !important;
  border:1px solid var(--dove) !important;
  border-radius:0.5rem !important;
  background:#ffffff !important;
  color:var(--carbon) !important;
  box-shadow:none !important;
}

.com-users-login__form input.form-control:focus{
  border-color:var(--cobalt) !important;
  box-shadow:none !important;
  outline:none !important;
}

.com-users-login__form .input-password-toggle{
  display:none !important;
}

.com-users-login__form .password-group .input-group{
  display:block !important;
  width:100% !important;
}

.com-users-login__form .password-group .input-group > input.form-control{
  width:100% !important;
  max-width:100% !important;
  border:1px solid var(--dove) !important;
  border-radius:0.5rem !important;
  background:#ffffff !important;
}

.com-users-login__remember{
  margin:0 0 1rem !important;
}

.com-users-login__remember .form-check{
  display:flex !important;
  align-items:center !important;
  gap:0.5rem !important;
}

.com-users-login__remember .form-check-input{
  margin:0 !important;
}

.plg_system_webauthn_login_button{
  display:none !important;
}

.com-users-login__submit .btn-primary{
  min-height:2.75rem !important;
  height:2.75rem !important;
  width:12rem !important;
  padding:0 1rem !important;
  border-radius:0.5rem !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:var(--tangerine) !important;
  border:1px solid var(--tangerine) !important;
  color:#ffffff !important;
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-size:1rem !important;
  font-weight:500 !important;
  line-height:1 !important;
  text-transform:none !important;
  box-shadow:none !important;
}

.com-users-login__submit .btn-primary:hover{
  background:var(--cobalt) !important;
  border-color:var(--cobalt) !important;
  color:#ffffff !important;
}

.com-users-login__options{
  max-width:46rem !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  gap:1rem !important;
  flex-wrap:nowrap !important;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  margin-top:-3rem !important;
  margin-left:1.5rem !important;
  position:relative !important;
  z-index:2 !important;
}

.com-users-login__options .list-group-item{
  display:inline-block !important;
  width:auto !important;
  min-width:0 !important;
  flex:0 0 auto !important;
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
  margin:0 !important;
  font-family:Roboto, Arial, Helvetica, sans-serif !important;
  font-size:1rem !important;
  font-weight:400 !important;
  line-height:1.45 !important;
  color:var(--cobalt) !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}

.com-users-login__options .list-group-item:hover,
.com-users-login__options .list-group-item:focus{
  color:var(--tangerine) !important;
  text-decoration:none !important;
  box-shadow:none !important;
}

/* ==========================================================
   MOBILE
   ========================================================== */

@media (max-width:768px){
  #osm-signup-page .osm-page-title{
    font-size:2rem !important;
  }

  #osm-signup-page #osm-existing-user-login,
  #osm-signup-page #osm-new-user-register{
    font-size:1.25rem !important;
  }

  #osm-signup-page #osm-account-information,
  #osm-signup-page .osm-heading:not(.osm-page-title){
    font-size:1.125rem !important;
  }

  #osm-signup-page .ww-login-box,
  #osm-signup-page .ww-signup-box{
    padding:1rem !important;
  }

  #osm-signup-page .eb-form-control,
  #osm-signup-page .controls{
    max-width:100% !important;
  }

  .com-users-login.login{
    padding:0 1rem 2rem !important;
  }

  .com-users-login__form{
    padding:1rem !important;
    padding-bottom:4rem !important;
  }

  .com-users-login__submit .btn-primary{
    width:100% !important;
  }

  .com-users-login__options{
    gap:0.75rem !important;
    margin-top:-3.25rem !important;
    margin-left:1rem !important;
    flex-wrap:wrap !important;
  }
}
/* ==========================================================
   MEMBERSHIP PLAN PAGE TITLES — CLEAN FINAL
   ========================================================== */

/* Shared title box */
#osm-signup-page.osm-plan-2 .osm-page-title,
#osm-signup-page.osm-plan-3 .osm-page-title{
  display:inline-block !important;
  padding:0.5rem 1rem !important;
  margin:0 0 1rem !important;

  border:1px solid var(--dove) !important;
  border-radius:0.75rem !important;
  box-shadow:none !important;

  font-family:Merriweather, Georgia, "Times New Roman", serif !important;
  font-weight:400 !important;
  font-size:2.25rem !important;
  line-height:1.1 !important;

  white-space:nowrap !important;
  text-decoration:none !important;
}

/* Removes any inherited line / pseudo decoration */
#osm-signup-page.osm-plan-2 .osm-page-title::before,
#osm-signup-page.osm-plan-2 .osm-page-title::after,
#osm-signup-page.osm-plan-3 .osm-page-title::before,
#osm-signup-page.osm-plan-3 .osm-page-title::after{
  content:none !important;
  display:none !important;
}

/* Member page */
#osm-signup-page.osm-plan-2 .osm-page-title{
  background:#f6f6f6 !important;
  color:var(--cobalt) !important;
}

/* Premium page */
#osm-signup-page.osm-plan-3 .osm-page-title{
  background:var(--cobalt) !important;
  color:#ffffff !important;
}

/* Mobile */
@media (max-width:768px){
  #osm-signup-page.osm-plan-2 .osm-page-title,
  #osm-signup-page.osm-plan-3 .osm-page-title{
    font-size:1.75rem !important;
    padding:0.4rem 0.75rem !important;
  }
}
.ww-card-col{
  display:flex;
  flex-direction:column;
}

.card-content{
  flex-grow:1;
}

.card-cta{
  margin-top:2rem;
}

/* ==========================================================
   WW — SUBSCRIPTION COMPLETE (REFINED / SYSTEM-ALIGNED)
   ========================================================== */

.ww-subscription-complete {
  padding: 2.5rem 0 3rem; /* tighter, aligns with ww-section rhythm */
}

.ww-subscription-complete__inner {
  max-width: 52rem; /* ~832px (matches your content feel) */
  margin: 0 auto;

  background: #ffffff;
  border: 0.0625rem solid var(--dove);
  border-radius: 0.75rem;

  padding: 1.75rem 1.75rem 1.5rem;
}

/* Title — bring back into WW scale */
.ww-subscription-complete .osm-page-title {
  font-size: 2.25rem; /* matches your plan titles */
  line-height: 1.15;
  margin: 0 0 0.75rem;

  color: var(--cobalt);
  font-family: Merriweather, Georgia, serif;
  font-weight: 400;
}

/* Tighten intro stack */
.ww-subscription-complete__message p {
  margin: 0 0 0.75rem;
}

/* First line (“Thank you”) — de-emphasise */
.ww-subscription-complete__message p:first-child {
  font-weight: 500;
  color: var(--slate);
  margin-bottom: 0.25rem;
}

/* Section heading */
.ww-subscription-complete__message h2 {
  margin: 1.5rem 0 0.75rem;
  font-size: 1.5rem;
  line-height: 1.25;
  color: var(--cobalt);
  font-weight: 500;
}

/* Table — align with your table language */
.ww-subscription-complete__message table {
  width: 100%;
  border-collapse: collapse;
  margin: 0.75rem 0 1.25rem;
}

.ww-subscription-complete__message table td {
  padding: 0.625rem 0;
  border-bottom: 0.0625rem solid var(--dove);
  font-size: 0.95rem;
  line-height: 1.35;
}

.ww-subscription-complete__message table td:first-child {
  width: 34%;
  font-weight: 500;
  color: var(--carbon);
  padding-right: 1rem;
}

/* Button — let your global system handle most of it */
.ww-subscription-complete__message a.sppb-btn {
  margin-top: 0.5rem;
}

/* Mobile */
@media (max-width: 768px) {
  .ww-subscription-complete {
    padding: 1.75rem 0 2rem;
  }

  .ww-subscription-complete__inner {
    padding: 1.25rem;
  }

  .ww-subscription-complete .osm-page-title {
    font-size: 1.75rem;
  }
}
/* ==========================================================
   MEMBERSHIP PRO — USER ROLE RADIO FIELD
   ========================================================== */

#field_user_role .oms-radio-container{
  display:grid !important;
  grid-template-columns:repeat(2, minmax(8rem, max-content)) !important;
  column-gap:0.75rem !important;
  row-gap:0.375rem !important;
}

#field_user_role .oms-radio-container > .row{
  display:block !important;
  margin:0 !important;
}

#field_user_role .oms-radio-container > .row > .col-md-12{
  width:100% !important;
  max-width:100% !important;
  flex:0 0 auto !important;
  padding:0 !important;
}

#field_user_role label.radio{
  display:flex !important;
  align-items:center !important;
  margin:0 !important;
  font-size:1rem !important;
  line-height:1.4 !important;
  color:var(--carbon) !important;
}

#field_user_role input[type="radio"]{
  margin-right:0.5rem !important;
}

@media (max-width:768px){
  #field_user_role .oms-radio-container{
    grid-template-columns:1fr !important;
  }
}
/* make radios look like square checkboxes */
#field_user_role input[type="radio"]{
  appearance: none;
  -webkit-appearance: none;
  width: 16px;
  height: 16px;
  border: 2px solid #ccc;
  border-radius: 3px; /* 👈 square */
  background: #fff;
  display: inline-block;
  position: relative;
  margin-right: 0.5rem;
  cursor: pointer;
}

/* checked state */
#field_user_role input[type="radio"]:checked{
  background: #e87722; /* your orange */
  border-color: #e87722;
}

/* inner indicator */
#field_user_role input[type="radio"]:checked::after{
  content: '';
  position: absolute;
  top: 3px;
  left: 3px;
  width: 6px;
  height: 6px;
  background: white;
}
/* ==========================================================
   CHECKBOX SPACING (TERMS + PRIVACY)
   ========================================================== */

.eb-form-control input[type="checkbox"]{
  margin-right:0.5rem !important;
}

.eb-form-control label{
  display:flex;
  align-items:center;
  gap:0.5rem; /* 👈 controls spacing cleanly */
}
