/*
Theme Name: Starter Theme
Theme URI: https://.co.uk/
Author: Starter
Author URI: https://.co.uk/
Description: A stripped-back Bootstrap 5 starter theme with WooCommerce support and a clean structure. Ready for child themes and template overrides.
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: starter-theme
Tags: blog, e-commerce, bootstrap, minimal, woocommerce
*/

.error404 article.mb-5.\34 04 {
    margin-top: 100px;
    margin-bottom: 0px!important;
}

@media(min-width: 992px){

  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu li.mega-menu-item a.mega-menu-link {
    display: block;
    background-color: transparent!important;
  }

  #mega-menu-wrap-primary #mega-menu-primary > li.mega-menu-flyout ul.mega-sub-menu {
      z-index: 999;
      position: absolute;
      width: 250px;
      max-width: none;
      padding: 10px;
      border: 0;
      background-color: #fff!important;
      border-radius: 20px!important;
      margin-top: 10px;
  }

}

.blog-load-more-wrap {
  text-align: center;
  margin: 50px 0;
}

#blog-load-more {
  border: none;
  background: #005E5D;
  color: #fff;
  padding: 14px 28px;
  border-radius: 999px;
  font-weight: 700;
}

#blog-load-more {
  opacity: 0;
  pointer-events: none;
}


.blog-filter {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  justify-content: center;
  margin: 0 0 50px;
}

.blog-filter-btn {
  border: none;
  background: #8FD6BD;
  color: #005E5D;
  padding: 12px 22px;
  border-radius: 999px;
  font-weight: 700;
  cursor: pointer;
  transition: all 0.25s ease;
}

.blog-filter-btn:hover,
.blog-filter-btn.active {
  background: #005E5D;
  color: #fff;
  transform: translateY(-2px);
}



/* ============================= */
/* Base Card (Scoped to blog grid) */
/* ============================= */

.category-blog .row > .col-12.col-md-6.col-lg-4 .card { background-size: 100%; background-repeat: no-repeat; background-position: center; border: none; overflow: visible; padding: 85px 40px 50px; margin: 11px; height: 100%; display: flex; flex-direction: column; transition: transform 0.35s ease; }

.category-blog .row > .col-12.col-md-6.col-lg-4 .card:hover {
  transform: translateY(-8px);
}





/* ============================= */
/* Image */
/* ============================= */

.category-blog .card .ratio {
  border-radius: 12px;
  overflow: hidden;
  margin-bottom: 24px;
}

/* ============================= */
/* Card Body */
/* ============================= */

.category-blog .card-body {
  padding: 0 12px;
  text-align: center;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
}

/* ============================= */
/* Typography */
/* ============================= */

.category-blog .card-title {
  margin: 0;
  line-height: 1.2;
}

.category-blog .card-title a {
  color: #fff;
  font-weight: 700;
  text-decoration: none;
}

.category-blog .card-text {
  display: none;
}

/* ============================= */
/* Alternating Shapes + Colours */
/* ============================= */

/* 1 - Pink */
.category-blog .row > .col-12.col-md-6.col-lg-4:nth-child(4n+1) .card {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 300'%3E%3Cpath fill='%23EF95CF' d='M26 28 C50 14,86 18,112 20 C138 22,166 19,192 18 C220 17,250 20,270 26 C284 34,288 46,286 60 L286 220 C288 240,282 260,266 270 C244 280,218 276,190 274 C164 272,138 274,112 276 C82 278,54 280,30 270 C16 260,12 240,14 220 L14 60 C12 44,16 32,26 28 Z'/%3E%3C/svg%3E");
}

/* 2 - Blue */
.category-blog .row > .col-12.col-md-6.col-lg-4:nth-child(4n+2) .card {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 300'%3E%3Cpath fill='%2362B5E5' d='M28 30 C56 16,90 16,116 18 C140 20,170 18,196 17 C224 16,252 22,272 28 C286 36,290 48,288 62 L288 220 C290 240,284 260,268 268 C246 274,220 272,196 272 C168 272,140 274,116 276 C88 278,60 280,34 270 C18 260,14 240,16 220 L16 62 C14 46,18 34,28 30 Z'/%3E%3C/svg%3E");
}

/* 3 - Green */
.category-blog .row > .col-12.col-md-6.col-lg-4:nth-child(4n+3) .card {
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 300'%3E%3Cpath fill='%23A9C23F' d='M24 28 C48 18,84 18,110 18 C138 18,166 20,192 18 C220 16,250 18,270 24 C284 30,288 42,288 58 L288 220 C288 250,278 268,260 274 C238 282,212 278,186 276 C160 274,134 276,110 278 C84 280,54 280,30 270 C16 260,12 240,14 220 L14 58 C14 42,18 30,24 28 Z'/%3E%3C/svg%3E");
}

/* 4 - Teal */
.category-blog .row > .col-12.col-md-6.col-lg-4:nth-child(4n+4) .card {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 300'%3E%3Cpath fill='%23005E5D' d='M28 28 C48 18,84 18,110 20 C138 22,168 20,194 18 C228 16,260 14,280 26 C294 36,298 48,296 62 L296 220 C298 240,290 260,274 268 C250 274,222 272,194 272 C168 272,140 274,114 276 C86 278,54 280,30 270 C16 260,12 240,14 220 L14 62 C14 46,18 34,28 28 Z'/%3E%3C/svg%3E");
    background-size: 97% 100%;
    background-position: left;
}


/* ============================= */
/* Responsive */
/* ============================= */

@media (max-width: 768px) {
  .category-blog .row > .col-12.col-md-6.col-lg-4 .card {
    padding: 24px 20px 40px;
  }
}



.first-sections {
    background: #f2f0e4;
}

.usps {
    display: grid;
    grid-template-columns: repeat(4, minmax(220px, 1fr));
    gap: 40px;
    align-items: stretch;
    z-index: 11;
    position: relative;
    width: 85%;
    margin: 0 auto;
}



/* New outer wrapper = safe animation layer */
.usp-wrap {
  opacity: 0;
  transform: translateY(0);
  animation: uspFadeIn 0.7s ease forwards;
  transition: transform 0.35s ease;
  will-change: transform;
}

.usp-wrap:nth-child(2) { animation-delay: 0.08s; }
.usp-wrap:nth-child(3) { animation-delay: 0.16s; }
.usp-wrap:nth-child(4) { animation-delay: 0.24s; }

/* Hover movement happens here, not on the masked shape */
.usp-wrap:hover {
  animation: uspFadeIn 0.7s ease forwards, uspFloat 1.6s ease-in-out infinite 0.7s;
}

/* ============================= */
/* Shape card */
/* ============================= */

.usp1,
.usp2,
.usp3,
.usp4 {
  position: relative;
  min-height: 300px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: 100% 100%;
  background-color: transparent;
}

/* ============================= */
/* Inner content */
/* ============================= */

.usp-inner {
  min-height: 300px;
  padding: 38px 28px 90px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: #1f2430;
}

.usps h3 {
  margin: 0 0 14px;
  font-size: 2.1rem;
  line-height: 1.1;
  font-weight: 700;
}

.usps h4 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.35;
  font-weight: 300;
}

.usps img,
.usps svg {
  width: 70px;
  height: auto;
  margin-top: 20px;
  display: block;
}

.usp1 img {
    margin-bottom: -62px;
    margin-top: 40px;
}
.usp2 img {
    margin-bottom: -58px;
    margin-top: 10px;
}
.usp3 img {
    margin-bottom: -70px;
    margin-top: 38px;
}

.usp4 img {
    margin-bottom: -72px;
    margin-top: 25px;
    margin-right: -42px;
}

/* ============================= */
/* Animations */
/* ============================= */

@keyframes uspFadeIn {
  from { opacity: 0; }
  to { opacity: 1; }
}

@keyframes uspFloat {
  0%   { transform: translateY(0); }
  50%  { transform: translateY(-12px); }
  100% { transform: translateY(0); }
}

.usp-wrap:hover {
  animation: uspFadeIn 0.7s ease forwards,
             uspFloat 1.2s cubic-bezier(.45,.05,.55,.95) infinite;
}

/* ============================= */
/* SHAPES */
/* ============================= */

.usp1 {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 230' preserveAspectRatio='none'><path fill='%23A695C0' d='M26 28 C50 14, 86 18, 112 20 C138 22, 166 19, 192 18 C220 17, 250 20, 270 26 C284 34, 288 46, 286 60 L286 122 C288 138, 282 150, 266 158 C244 168, 218 164, 190 162 C164 160, 138 162, 112 164 C82 166, 54 168, 30 158 C16 150, 12 138, 14 122 L14 60 C12 44, 16 32, 26 28 Z'/></svg>");
}

.usp2 {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 230' preserveAspectRatio='none'><path fill='%2369A1D5' d='M28 30 C56 16, 90 16, 116 18 C140 20, 170 18, 196 17 C224 16, 252 22, 272 28 C286 36, 290 48, 288 62 L288 120 C290 136, 284 150, 268 156 C246 162, 220 160, 196 160 C168 160, 140 162, 116 164 C88 166, 60 168, 34 158 C18 150, 14 136, 16 120 L16 62 C14 46, 18 34, 28 30 Z'/></svg>");
}

.usp3 {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 230' preserveAspectRatio='none'><path fill='%23A9BE49' d='M24 28 C48 18, 84 18, 110 18 C138 18, 166 20, 192 18 C220 16, 250 18, 270 24 C284 30, 288 42, 288 58 L288 126 C288 146, 278 158, 260 164 C238 172, 212 168, 186 166 C160 164, 134 166, 110 168 C84 170, 54 170, 30 160 C16 152, 12 140, 14 126 L14 58 C14 42, 18 30, 24 28 Z'/></svg>");
}

.usp4 {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 230' preserveAspectRatio='none'><path fill='%237F9F71' d='M28 28 C48 18, 84 18, 110 20 C138 22, 168 20, 194 18 C228 16, 260 14, 280 26 C294 36, 298 48, 296 62 L296 120 C298 136, 290 148, 274 154 C250 160, 222 158, 194 158 C168 158, 140 160, 114 162 C86 164, 54 166, 30 156 C16 148, 12 136, 14 120 L14 62 C14 46, 18 34, 28 28 Z'/></svg>");
}

/* ============================= */
/* Responsive */
/* ============================= */

@media (max-width: 1100px) {
  .usps {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 576px) and (max-width: 991px) {
  
  .usps {
    grid-template-columns: repeat(2, 1fr);
    gap: 0px;
  }

  .usp1,
  .usp2,
  .usp3,
  .usp4,
  .usp-inner {
    min-height: 260px;
  }

  .usp-inner {
    padding: 32px 24px 80px;
  }

  .usps h3 {
    font-size: 1.8rem;
  }

  .usps h4 {
    font-size: 1.05rem;
  }
}

@media (max-width: 575px) {
  
  .usps {
    grid-template-columns: 1fr;
    gap: 0px;
  }

  .usp1,
  .usp2,
  .usp3,
  .usp4,
  .usp-inner {
    min-height: 260px;
  }

  .usp-inner {
    padding: 32px 24px 80px;
  }

  .usps h3 {
    font-size: 1.8rem;
  }

  .usps h4 {
    font-size: 1.05rem;
  }
}


/* Base */
.box {
  padding: 40px;
  display: block;
  color: #000;
  background-color: #f3f3f3;

  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: 100% 100%;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: 100% 100%;

  opacity: 0;
  transform: translateY(20px);
  animation: boxFadeIn 0.8s ease forwards;
  transition: box-shadow 0.35s ease;
}

@keyframes boxFadeIn {
  from {
    opacity: 0;
    transform: translateY(20px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes boxFloat {
  0% { transform: translateY(0); }
  50% { transform: translateY(-8px); }
  100% { transform: translateY(0); }
}

.box:hover {
  animation: boxFloat 1.8s ease-in-out infinite;
}
/* Shape 1 – baseline rustic */
.shape-1 {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 180' preserveAspectRatio='none'><path fill='black' d='M26 28 C50 14, 86 18, 112 20 C138 22, 166 19, 192 18 C220 17, 250 20, 270 26 C284 34, 288 46, 286 60 L286 122 C288 138, 282 150, 266 158 C244 168, 218 164, 190 162 C164 160, 138 162, 112 164 C82 166, 54 168, 30 158 C16 150, 12 138, 14 122 L14 60 C12 44, 16 32, 26 28 Z'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 180' preserveAspectRatio='none'><path fill='black' d='M26 28 C50 14, 86 18, 112 20 C138 22, 166 19, 192 18 C220 17, 250 20, 270 26 C284 34, 288 46, 286 60 L286 122 C288 138, 282 150, 266 158 C244 168, 218 164, 190 162 C164 160, 138 162, 112 164 C82 166, 54 168, 30 158 C16 150, 12 138, 14 122 L14 60 C12 44, 16 32, 26 28 Z'/></svg>");
}

/* Shape 2 – top wobble + left push */
.shape-2 {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 180' preserveAspectRatio='none'><path fill='black' d='M28 30 C56 16, 90 16, 116 18 C140 20, 170 18, 196 17 C224 16, 252 22, 272 28 C286 36, 290 48, 288 62 L288 120 C290 136, 284 150, 268 156 C246 162, 220 160, 196 160 C168 160, 140 162, 116 164 C88 166, 60 168, 34 158 C18 150, 14 136, 16 120 L16 62 C14 46, 18 34, 28 30 Z'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 180' preserveAspectRatio='none'><path fill='black' d='M28 30 C56 16, 90 16, 116 18 C140 20, 170 18, 196 17 C224 16, 252 22, 272 28 C286 36, 290 48, 288 62 L288 120 C290 136, 284 150, 268 156 C246 162, 220 160, 196 160 C168 160, 140 162, 116 164 C88 166, 60 168, 34 158 C18 150, 14 136, 16 120 L16 62 C14 46, 18 34, 28 30 Z'/></svg>");
}

/* Shape 3 – heavier bottom, slight sag */
.shape-3 {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 180' preserveAspectRatio='none'><path fill='black' d='M24 28 C48 18, 84 18, 110 18 C138 18, 166 20, 192 18 C220 16, 250 18, 270 24 C284 30, 288 42, 288 58 L288 126 C288 146, 278 158, 260 164 C238 172, 212 168, 186 166 C160 164, 134 166, 110 168 C84 170, 54 170, 30 160 C16 152, 12 140, 14 126 L14 58 C14 42, 18 30, 24 28 Z'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 180' preserveAspectRatio='none'><path fill='black' d='M24 28 C48 18, 84 18, 110 18 C138 18, 166 20, 192 18 C220 16, 250 18, 270 24 C284 30, 288 42, 288 58 L288 126 C288 146, 278 158, 260 164 C238 172, 212 168, 186 166 C160 164, 134 166, 110 168 C84 170, 54 170, 30 160 C16 152, 12 140, 14 126 L14 58 C14 42, 18 30, 24 28 Z'/></svg>");
}

/* Shape 4 – right-heavy, slight lean */
.shape-4 {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 180' preserveAspectRatio='none'><path fill='black' d='M28 28 C48 18, 84 18, 110 20 C138 22, 168 20, 194 18 C228 16, 260 14, 280 26 C294 36, 298 48, 296 62 L296 120 C298 136, 290 148, 274 154 C250 160, 222 158, 194 158 C168 158, 140 160, 114 162 C86 164, 54 166, 30 156 C16 148, 12 136, 14 120 L14 62 C14 46, 18 34, 28 28 Z'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 180' preserveAspectRatio='none'><path fill='black' d='M28 28 C48 18, 84 18, 110 20 C138 22, 168 20, 194 18 C228 16, 260 14, 280 26 C294 36, 298 48, 296 62 L296 120 C298 136, 290 148, 274 154 C250 160, 222 158, 194 158 C168 158, 140 160, 114 162 C86 164, 54 166, 30 156 C16 148, 12 136, 14 120 L14 62 C14 46, 18 34, 28 28 Z'/></svg>");
}

/* Shape 5 – pinched top, looser bottom */
.shape-5 {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 180' preserveAspectRatio='none'><path fill='black' d='M32 30 C54 18, 88 20, 112 22 C138 24, 168 22, 192 20 C218 18, 244 20, 262 28 C276 36, 282 48, 282 64 L282 120 C282 138, 274 150, 260 156 C238 164, 212 162, 188 160 C162 158, 134 160, 112 162 C86 164, 56 166, 34 158 C20 150, 16 138, 18 120 L18 64 C16 48, 20 36, 32 30 Z'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 180' preserveAspectRatio='none'><path fill='black' d='M32 30 C54 18, 88 20, 112 22 C138 24, 168 22, 192 20 C218 18, 244 20, 262 28 C276 36, 282 48, 282 64 L282 120 C282 138, 274 150, 260 156 C238 164, 212 162, 188 160 C162 158, 134 160, 112 162 C86 164, 56 166, 34 158 C20 150, 16 138, 18 120 L18 64 C16 48, 20 36, 32 30 Z'/></svg>");
}

/* Shape 6 – widest, most relaxed */
.shape-6 {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 180' preserveAspectRatio='none'><path fill='black' d='M22 32 C48 22, 84 22, 112 22 C140 22, 170 22, 196 22 C226 22, 260 22, 280 30 C296 40, 300 52, 298 68 L298 114 C300 130, 292 140, 274 148 C250 156, 222 156, 196 156 C170 156, 140 156, 112 156 C84 156, 52 158, 26 148 C10 140, 6 130, 6 114 L6 68 C6 52, 10 42, 22 32 Z'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 300 180' preserveAspectRatio='none'><path fill='black' d='M22 32 C48 22, 84 22, 112 22 C140 22, 170 22, 196 22 C226 22, 260 22, 280 30 C296 40, 300 52, 298 68 L298 114 C300 130, 292 140, 274 148 C250 156, 222 156, 196 156 C170 156, 140 156, 112 156 C84 156, 52 158, 26 148 C10 140, 6 130, 6 114 L6 68 C6 52, 10 42, 22 32 Z'/></svg>");
}

/* Colour classes */
.bg-pink-light { background-color: #EF95CF; }
.bg-pink-dark { background-color: #6C1D45; color:#fff!important}

.bg-blue-light { background-color: #62B5E5; }
.bg-blue-dark { background-color: #005687; }

.bg-yellow { background-color: #FFB81C; }

.bg-green-light { background-color: #8FD6BD; }
.bg-green-mid { background-color: #A9C23F; }
.bg-green-dark { background-color: #44693D; }

.bg-teal-dark { background-color: #005E5D; }

.bg-lilac { background-color: #a796c2; }


.bg-olive { background-color: #759369; }

.bg-white { background-color: #fff; }


/* Portrait Shape 1 – baseline rustic */
.shape-p-1 {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 300' preserveAspectRatio='none'><path fill='black' d='M28 26 C18 50, 20 84, 22 112 C24 138, 20 166, 18 192 C16 220, 20 248, 28 270 C36 284, 48 288, 62 286 L118 286 C134 288, 148 282, 156 266 C166 244, 162 218, 160 190 C158 164, 160 138, 162 112 C164 82, 166 54, 156 30 C148 16, 136 12, 120 14 L62 14 C46 12, 34 16, 28 26 Z'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 300' preserveAspectRatio='none'><path fill='black' d='M28 26 C18 50, 20 84, 22 112 C24 138, 20 166, 18 192 C16 220, 20 248, 28 270 C36 284, 48 288, 62 286 L118 286 C134 288, 148 282, 156 266 C166 244, 162 218, 160 190 C158 164, 160 138, 162 112 C164 82, 166 54, 156 30 C148 16, 136 12, 120 14 L62 14 C46 12, 34 16, 28 26 Z'/></svg>");
}

/* Portrait Shape 2 – top wobble + left push */
.shape-p-2 {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 300' preserveAspectRatio='none'><path fill='black' d='M30 28 C18 56, 18 90, 20 116 C22 140, 20 170, 18 196 C16 224, 22 252, 28 272 C36 286, 48 290, 62 288 L120 288 C136 290, 150 284, 156 268 C162 246, 160 220, 160 196 C160 168, 162 140, 164 116 C166 88, 168 60, 158 34 C150 18, 136 14, 120 16 L62 16 C46 14, 34 18, 30 28 Z'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 300' preserveAspectRatio='none'><path fill='black' d='M30 28 C18 56, 18 90, 20 116 C22 140, 20 170, 18 196 C16 224, 22 252, 28 272 C36 286, 48 290, 62 288 L120 288 C136 290, 150 284, 156 268 C162 246, 160 220, 160 196 C160 168, 162 140, 164 116 C166 88, 168 60, 158 34 C150 18, 136 14, 120 16 L62 16 C46 14, 34 18, 30 28 Z'/></svg>");
}

/* Portrait Shape 3 – heavier bottom, slight sag */
.shape-p-3 {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 300' preserveAspectRatio='none'><path fill='black' d='M28 24 C20 48, 20 84, 20 110 C20 138, 22 166, 20 192 C18 220, 20 250, 26 270 C32 284, 44 288, 60 288 L124 288 C144 288, 156 278, 162 260 C170 238, 166 212, 164 186 C162 160, 164 134, 166 110 C168 84, 168 54, 158 30 C150 16, 138 12, 124 14 L60 14 C44 14, 32 18, 28 24 Z'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 300' preserveAspectRatio='none'><path fill='black' d='M28 24 C20 48, 20 84, 20 110 C20 138, 22 166, 20 192 C18 220, 20 250, 26 270 C32 284, 44 288, 60 288 L124 288 C144 288, 156 278, 162 260 C170 238, 166 212, 164 186 C162 160, 164 134, 166 110 C168 84, 168 54, 158 30 C150 16, 138 12, 124 14 L60 14 C44 14, 32 18, 28 24 Z'/></svg>");
}

/* Portrait Shape 4 – right-heavy, slight lean */
.shape-p-4 {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 300' preserveAspectRatio='none'><path fill='black' d='M28 28 C20 48, 20 84, 22 110 C24 138, 22 168, 20 194 C18 228, 16 260, 28 280 C38 294, 50 298, 64 296 L120 296 C136 298, 148 290, 154 274 C160 250, 158 222, 158 194 C158 168, 160 140, 162 114 C164 86, 166 54, 156 30 C148 16, 136 12, 120 14 L64 14 C48 14, 36 18, 28 28 Z'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 300' preserveAspectRatio='none'><path fill='black' d='M28 28 C20 48, 20 84, 22 110 C24 138, 22 168, 20 194 C18 228, 16 260, 28 280 C38 294, 50 298, 64 296 L120 296 C136 298, 148 290, 154 274 C160 250, 158 222, 158 194 C158 168, 160 140, 162 114 C164 86, 166 54, 156 30 C148 16, 136 12, 120 14 L64 14 C48 14, 36 18, 28 28 Z'/></svg>");
}

/* Portrait Shape 5 – pinched top, looser bottom */
.shape-p-5 {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 300' preserveAspectRatio='none'><path fill='black' d='M30 32 C20 54, 22 88, 24 112 C26 138, 24 168, 22 192 C20 218, 22 244, 30 262 C38 276, 50 282, 66 282 L120 282 C138 282, 150 274, 156 260 C164 238, 162 212, 160 188 C158 162, 160 134, 162 112 C164 86, 166 56, 158 34 C150 20, 138 16, 120 18 L66 18 C50 16, 38 20, 30 32 Z'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 300' preserveAspectRatio='none'><path fill='black' d='M30 32 C20 54, 22 88, 24 112 C26 138, 24 168, 22 192 C20 218, 22 244, 30 262 C38 276, 50 282, 66 282 L120 282 C138 282, 150 274, 156 260 C164 238, 162 212, 160 188 C158 162, 160 134, 162 112 C164 86, 166 56, 158 34 C150 20, 138 16, 120 18 L66 18 C50 16, 38 20, 30 32 Z'/></svg>");
}

/* Portrait Shape 6 – tallest, most relaxed */
.shape-p-6 {
  -webkit-mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 300' preserveAspectRatio='none'><path fill='black' d='M32 22 C22 48, 22 84, 22 112 C22 140, 22 170, 22 196 C22 226, 22 260, 30 280 C40 296, 52 300, 68 298 L112 298 C128 300, 140 292, 148 274 C156 250, 156 222, 156 196 C156 170, 156 140, 156 112 C156 84, 158 52, 148 26 C140 10, 130 6, 114 6 L68 6 C52 6, 42 10, 32 22 Z'/></svg>");
  mask-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 180 300' preserveAspectRatio='none'><path fill='black' d='M32 22 C22 48, 22 84, 22 112 C22 140, 22 170, 22 196 C22 226, 22 260, 30 280 C40 296, 52 300, 68 298 L112 298 C128 300, 140 292, 148 274 C156 250, 156 222, 156 196 C156 170, 156 140, 156 112 C156 84, 158 52, 148 26 C140 10, 130 6, 114 6 L68 6 C52 6, 42 10, 32 22 Z'/></svg>");
}


/* Optional text helpers */
.text-dark { color: #000; }
.text-light { color: #fff; }

/*
Buttons
*/

.btn:not(.js-qty-plus):not(.js-qty-minus):not(.btn-outline-secondary),
#pwAddProductModal button{
    font-size: 0.9em !important;
    border-radius: 20px !important;
    padding-left: 35px;
    padding-right: 35px;
    padding-top: 6px;
    padding-bottom: 6px;
    border: none;
}

.woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-status .badge{
  padding: 6px 35px;
  border-radius: 20px;
}

.woocommerce-orders-table__cell.woocommerce-orders-table__cell-order-number a,
.woocommerce-table__product-name.product-name.pw-order-name a,
.woocommerce-account .addresses .title .edit{
    color: #284241;
}

.btn-primary,
#pwAddProductModal button:not(.btn-close){
	background-color: #284241!important;
	border-color: #284241!important;
  color:#ffffff!important;
}

.btn-outline-danger{
  background-color:#dc3545!important;
  color:#ffffff!important;
}

.btn-outline-primary{
  background-color: #c97bb8!important;
  color:#ffffff!important;
}

/*
Search Modal
*/

#searchModal .modal-dialog {
  margin-top: 15vh;
}

#searchModal .modal-header{
	border:none!important;
}

/*
Header Search
*/

@media screen and (min-width: 1200px) {
  li.nav-item.site-search{
    min-width: 300px;
  }
}

#ajaxsearchpro1_1, 
#ajaxsearchpro1_2, div.asp_m.asp_m_1{
  border-radius:50px!important;
}

#ajaxsearchpro1_1 .probox .promagnifier .innericon svg, 
#ajaxsearchpro1_2 .probox .promagnifier .innericon svg, 
div.asp_m.asp_m_1 .probox .promagnifier .innericon svg{
  fill:rgb(73, 39, 116)!important;
}

#ajaxsearchpro1_1 .probox .proclose svg, 
#ajaxsearchpro1_2 .probox .proclose svg, 
div.asp_m.asp_m_1 .probox .proclose svg{
  background: rgb(73, 39, 116)!important; 
}

#ajaxsearchpro1_1 .probox .proinput input.orig, 
#ajaxsearchpro1_2 .probox .proinput input.orig, 
div.asp_m.asp_m_1 .probox .proinput input.orig{
  font-size: 0.85em!important;
  height: 26px!important;
}

/*
*********************
WOOCOMMERCE OVERRIDES
*********************
*/

.woocommerce-account .woocommerce-MyAccount-navigation{
	width: 100%;
  background:#DBE4A9;
  border-radius: 15px;
}

.list-group-item,
.list-group-item.active,
.list-group-item:hover{
  background:#DBE4A9;
  border:none;
  color:#284143;
}

.list-group-item.active{
  font-weight: 900;
}

body.woocommerce-account header h1,
body.woocommerce-account header h2,
body.woocommerce-account header h3{
	text-align: left;
}

/*
Product Page Fix
*/

.single_variation_wrap{
  padding-bottom: 60px!important;
  height: auto!important;
}

/*
Header Fix
*/

/* Keep sticky header + its dropdowns above sliders/overlays */
.site-header {
  z-index: 999 !important;  /* Bootstrap dropdown baseline */
  position: sticky;          /* ensures z-index applies */
  top: 0;
}

/* Extra safety: ensure the menu itself is above */
.site-header .dropdown-menu {
  z-index: 1000;
}

/* Hover dropdown that stays open while hovering menu */
.nav-item.dropdown {
  position: relative;
}

@media (min-width: 992px) { /* only on desktop */
  .nav-item.dropdown:hover > .dropdown-menu {
    display: block;
  }

  /* keep the "active" styling */
  .nav-item.dropdown:hover > .nav-link {
    color: inherit;
  }
}

@media (min-width: 992px) {
  .nav-item.dropdown > .dropdown-menu {
    margin-top: 0;          /* remove hover gap from spacing */
    top: 100%;
  }

  /* Create an invisible buffer area between trigger and menu */
  .nav-item.dropdown > .dropdown-menu::before {
    content: "";
    position: absolute;
    left: 0;
    right: 0;
    top: -10px;
    height: 10px;
  }
}

/*
WooCommerce Sidecart
*/
.sidecart-item {
  padding: .5rem;
}

.sidecart-sku {
  font-size: .875rem;
}

.sidecart-meta {
  font-size: .875rem;
}

.sidecart-price {
  white-space: nowrap;
}

/* Quantity input nicer width */
.sidecart-qty-input {
  max-width: 72px;
}

/*
#sidecartFreeDelivery{
  background-color:#c97bb8;
  color:#ffffff;
}
*/

#sidecartItems{
  overflow-y: auto;
}

/*
******************
STICKY CART BUTTON
******************
*/

/* Slide behavior */
.sticky-cart-btn {
  transition: transform 220ms ease;
  will-change: transform;
}

/* Hidden-ish state: keep a small tab visible (adjust tab width if needed) */
.sticky-cart-btn.is-collapsed {
  transform: translateX(80px); /* pushes most of pill off-screen */
}

/* Expanded state: fully visible */
.sticky-cart-btn.is-expanded {
  transform: translateX(0);
}

.sticky-cart-btn {
  position: fixed;
  right: 0;
  top: 30%;
  z-index: 1050;
  width: 80px;
  height: 120px;
  background: #c97bb8; /* your pink */
  border: 0;
  border-radius: 30px 0 0 30px;
  box-shadow: 0 20px 40px rgba(0,0,0,.15);
  padding: 15px 12px;
  gap: 10px;
  transition: transform 220ms ease;
}

/* Icon */
.sticky-cart-btn__icon {
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Text */
.sticky-cart-btn__text {
  color: #ffffff;
  font-size: 1em;
  font-weight: 300;
  line-height: 1;
  text-align: center;
}

/* Hide < 768px */
@media (max-width: 767.98px) {
  .sticky-cart-btn {
    display: none !important;
  }
}

.sticky-cart-btn.is-hidden {
  opacity: 0;
  pointer-events: none;
}

/*
******************
LOADER
******************
*/

.pw-loader {
  position: fixed;
  inset: 0;
  z-index: 99999;
}

.pw-loader__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.25);
}

.pw-loader__content {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  pointer-events: none;
}

/* Block scrolling while loader is active */
body.pw-loader-active {
  overflow: hidden !important;
}

/* Full screen loader */
.pw-loader {
  position: fixed;
  inset: 0;
  z-index: 99999;
}

/* Darkened backdrop */
.pw-loader__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.45);
}

/* Hard-centre content (this guarantees center even on resize) */
.pw-loader__content {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 18px;
  text-align: center;
}

/* Bigger 3-dot spinner */
.pw-dots {
  display: inline-flex;
  gap: 16px;
}

.pw-dots span {
  width: 18px;               /* bigger */
  height: 18px;
  border-radius: 50%;
  background: #DBE4A9;
  animation: pw-dot-bounce 1s infinite ease-in-out;
  opacity: .6;
}

.pw-dots span:nth-child(2) { animation-delay: .15s; }
.pw-dots span:nth-child(3) { animation-delay: .3s; }

@keyframes pw-dot-bounce {
  0%, 80%, 100% { transform: translateY(0); opacity: .35; }
  40% { transform: translateY(-12px); opacity: 1; }
}


/*
******************
ACCOUNT DHASHBOARD
******************
*/

/*
.woocommerce-account .card{
  border: none;
}
*/

/* Typography tone like screenshot */
.account-title,
.account-welcome,
.subs-title {
  color: #4D6B6B;
  text-align: left;
  font-weight: 700;
}

/* Promo card */
.promo-card {
  border-radius: 0.5rem;
  overflow: hidden;
}

.promo-media {
  background: #c983b8; /* purple panel */
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  min-height: 160px;
}

.promo-img {
  max-width: 100%;
  height: auto;
  display: block;
  /* mimic the inset look */
  filter: drop-shadow(0 8px 10px rgba(0, 0, 0, 0.12));
}

.promo-body {
  padding: 1rem 1.25rem;
}

.promo-title {
  color: #1f5f63;
  text-decoration: underline;
  font-weight: 700;
}

.promo-title:hover {
  color: #184c4f;
}

.promo-text {
  color: #7b8787;
  font-size: 0.9rem;
  line-height: 1.4;
}

/* Subscriptions card */
.subs-card {
  border-radius: 0.5rem;
}

.subs-item {
  display: grid;
  grid-template-columns: 2fr 1fr 2fr auto;
  gap: 1rem;
  align-items: center;
  padding: 0.75rem 0;
}

.subs-actions {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

.subs-name {
  color: #2f4a4a;
  font-weight: 600;
  font-size: 0.95rem;
  margin-bottom: 0.25rem;
}

.subs-lines {
  color: #6f7c7c;
  font-size: 0.85rem;
}

.subs-divider {
  margin: 0;
  opacity: 0.15;
}

/* Status pills */
.status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 92px;
  padding: 0.35rem 0.75rem;
  border-radius: 0; /* squared ends like screenshot */
  font-size: 0.8rem;
  font-weight: 600;
  color: #fff;
  border-radius: 50px;
}

.status-pill--active {
  background: #a8c47d;
}

.status-pill--paused {
  background: #d2a6a6;
}

.status-pill--cancelled{
  background: #ad1700;
}

/* Mobile tweaks */
@media (max-width: 575.98px) {
  .subs-item {
    grid-template-columns: 1fr;
  }

  .subs-actions {
    flex-direction: row;
    align-items: center;
    gap: 0.75rem;
  }

  .status-pill {
    min-width: 110px;
  }
}

/*
MISC. FIXES
*/

.news-letter{
  background-size: 100%!important;
}

/*
Cart Product Image
*/

td.wc-block-cart-item__image img{
  max-width: 180px!important;
  min-height: unset!important;
  min-width: unset!important;
}


/*
PW Subscriptions Overrides
*/

/* Make label + select inline */
.pw-subs-plan .pw-subs-plan__frequency {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap; /* prevents breaking layout on small screens */
    background: #efefef;
    padding: 7px 12px;
    border-radius: 12px;
}

.pw-subs-plan .pw-subs-plan__frequency label {
    margin: 0;
    white-space: nowrap;
}

.pw-subs-plan .pw-subs-plan__frequency select {
    width: auto;
    min-width: 240px; /* optional */
}

.pw-subs-plan__frequency {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

/* HIDE THIS FOR NOW */
.wcsatt-add-to-subscription-wrapper{
  display: none!important;
}

/*
Cart Item Meta
*/

/* Cart item meta line */
.wc-item-meta .pw-cart-sub-meta{
  display:inline-flex;
  align-items:center;
  gap:.4rem;
  padding:.15rem .45rem;
  border-radius:.4rem;
  background: rgba(0,0,0,.06);
  font-size: .9em;
  line-height: 1.2;
}

.wc-item-meta .pw-cart-sub-dot{
  opacity:.6;
}

/*
Cart Savings
*/

.pw-cart-savings th,
.pw-cart-savings td{
  padding-top:.4rem;
  border-top:1px solid rgba(0,0,0,.08);
  font-weight:600;
}

/* Mixed cart: hide the duplicate/confusing subscription-only subtotal/total in the blocks totals area */
.pw-mixed-cart .wc-block-components-totals-wrapper .wc-block-components-totals-item.wc-block-components-totals-subtotal,
.pw-mixed-cart .wc-block-components-totals-wrapper .wc-block-components-totals-item.wc-block-components-totals-footer-item {
  xdisplay:none;
}

/*
***************
PRODUCT PAGE
***************
*/


.woocommerce div.product form.cart .button.single_add_to_cart_button{
  color: #fff!important;
  background: #245254!important;
  padding: 12px 60px;
  display: block;
  border-radius: 20px!important;
  font-weight: normal;
  font-size: 0.9em;
  text-transform: none;
}

.pw-subs-plan__perks-title{
  font-weight: 600;
}

.pw-subs-plan__perks li:before{
  color: #284241;
}

/*
.pw-subs-plan__perks li:nth-child(1):before{
  content: '\f013';
}
*/

/*
Variation Pills / Active
*/

.tw-variation-pill.is-active,
.tw-variation-pill.is-active .tw-pill-price,
.tw-variation-pill.is-active .tw-pill-price .price{
  color: #245254!important;
}

.pw-subs-plan__badge{
  border-radius: 10px 10px 0 0!important;
  background: #284241!important;
  color:#ffffff;
}

.tw-variation-pill{
  border-width: 2px!important;
}

.tw-variation-pill.is-active{
  background-color: #ffffff;
}

/*
Product Specific
*/

body.product-woodshavings{

  .tw-variation-pill.is-active,
  .tw-variation-pill.is-active .tw-pill-price,
  .tw-variation-pill.is-active .tw-pill-price .price{
    color: #005687!important;
  }

}


/*
CHECKOUT
*/

h2.wc-block-components-express-payment__title{
    font-size: 1.2em!important;
    color: #4D6B6B!important;
}

h2.wc-block-components-title.wc-block-components-checkout-step__title{
  font-size: 1.4em!important;
}
