/* ============================================
   MARLSBOX — Go Hard CSS
   ============================================ */

:root {
  --orange: #f1601c;
  --purple: #7B3F8B;
  --dark: #1a1a1a;
  --cream: #fdf6f0;
}

a { color: var(--orange); }
a:hover { color: #d4501a; }

body {
  font-family: "Lato", sans-serif;
  font-size: 16px;
  color: #333;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4, h5 {
  font-family: "Montserrat", sans-serif;
  font-weight: 900;
  color: var(--dark);
  line-height: 1.1;
  letter-spacing: -0.5px;
}

/* ── HEADER ── */
#header { box-shadow: none !important; border-bottom: 3px solid var(--dark) !important; }
.header-main { background: #fff !important; }
.header-bottom { background: var(--dark) !important; }
.header-bottom-nav.nav > li > a {
  color: #fff !important;
  font-weight: 800 !important;
  font-size: 0.78em !important;
  text-transform: uppercase !important;
  letter-spacing: 1.5px !important;
  padding: 0 16px !important;
  transition: color 0.15s !important;
}
.header-bottom-nav.nav > li > a:hover { color: var(--orange) !important; }
.nav-dropdown { border-top: 3px solid var(--orange) !important; border-radius: 0 !important; }
.nav-dropdown li a {
  padding: 9px 18px !important;
  font-size: 0.85em !important;
  font-weight: 600 !important;
  text-transform: none !important;
  letter-spacing: 0 !important;
  color: #333 !important;
}
.nav-dropdown li a:hover { color: var(--orange) !important; background: #fdf6f0 !important; }
#logo { width: 150px !important; }
#logo img { max-height: 44px !important; }

/* ── HERO ANIMATION ── */
@keyframes drift1 { 0%,100%{transform:translate(0,0) rotate(0deg)} 33%{transform:translate(6px,-18px) rotate(45deg)} 66%{transform:translate(-4px,-8px) rotate(-20deg)} }

.home .section:first-of-type {
  position: relative;
  overflow: hidden;
  clip-path: polygon(0 0, 100% 0, 100% 92%, 0 100%);
  padding-bottom: 40px;
}
@media (max-width: 549px) {
  .home .section:first-of-type { clip-path: none !important; }
}
.home .section:first-of-type::after {
  content: "★  ♥  ★  ♥  ★  ♥";
  position: absolute;
  top: 12%;
  right: 4%;
  font-size: 1.1em;
  color: rgba(241,96,28,0.18);
  letter-spacing: 10px;
  line-height: 2.8;
  pointer-events: none;
  animation: drift1 7s ease-in-out infinite;
  max-width: 120px;
  text-align: center;
}
.home .section:first-of-type h1 {
  font-size: 3.4em !important;
  line-height: 1.0 !important;
  letter-spacing: -2px !important;
}
@media (max-width: 549px) {
  .home .section:first-of-type h1 { font-size: 2.6em !important; letter-spacing: -1px !important; }
}
.home .section:first-of-type .col:last-child {
  position: relative;
  overflow: hidden;
}
.home .section:first-of-type .col:last-child::before {
  content: "✂";
  position: absolute;
  font-size: 320px;
  color: rgba(255,255,255,0.07);
  bottom: -50px;
  right: -30px;
  line-height: 1;
  pointer-events: none;
  transform: rotate(-20deg);
}

/* ── SECTION NUMBERS ── */
.home .section:nth-of-type(2) { border-top: 4px solid var(--dark); position: relative; }
.home .section:nth-of-type(2)::before {
  content: "01";
  position: absolute; top: -2px; right: 40px;
  font-size: 7em; font-weight: 900; color: rgba(0,0,0,0.04);
  font-family: "Montserrat",sans-serif; line-height: 1; pointer-events: none;
}
.home .section:nth-of-type(3) { position: relative; }
.home .section:nth-of-type(3)::before {
  content: "02";
  position: absolute; top: -2px; right: 40px;
  font-size: 7em; font-weight: 900; color: rgba(255,255,255,0.08);
  font-family: "Montserrat",sans-serif; line-height: 1; pointer-events: none;
}
.home .section:nth-of-type(4) { position: relative; }
.home .section:nth-of-type(4)::before {
  content: "03";
  position: absolute; top: -2px; right: 40px;
  font-size: 7em; font-weight: 900; color: rgba(0,0,0,0.03);
  font-family: "Montserrat",sans-serif; line-height: 1; pointer-events: none;
}

/* ── PRODUCT CARDS ── */
.home .products .product-small .box {
  border-radius: 0 !important;
  border: 2px solid var(--dark) !important;
  transition: box-shadow 0.15s, transform 0.15s !important;
  background: #fff !important;
}
.home .products .product-small:nth-child(odd) .box { transform: rotate(-0.4deg); }
.home .products .product-small:nth-child(even) .box { transform: rotate(0.3deg); }
.home .products .product-small .box:hover {
  box-shadow: 5px 5px 0 var(--orange) !important;
  transform: rotate(0deg) translateY(-3px) !important;
  border-color: var(--orange) !important;
  z-index: 2; position: relative;
}
.home .products .product-small .box-image { aspect-ratio: 1/1; overflow: hidden; }
.home .products .product-small .box-image img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.4s ease; }
.home .products .product-small .box:hover .box-image img { transform: scale(1.06); }
.home .products .product-small .box-text { padding: 10px 12px 14px !important; border-top: 2px solid var(--dark) !important; }
.home .products .product-small .title {
  font-size: 0.82em !important; font-weight: 900 !important;
  text-transform: uppercase !important; letter-spacing: 1px !important; color: var(--dark) !important;
}
.home .products .product-small .price { font-size: 0.82em !important; color: #888 !important; font-weight: 700 !important; }
.products .iconic-was-swatches--loop { display: none !important; }
.products .price .from { display: none; }

/* ── OCCASION PANELS ── */
.home .section:nth-of-type(3) .col { transition: filter 0.2s ease; }
.home .section:nth-of-type(3) .col:hover { filter: brightness(1.07); }
.home .section:nth-of-type(3) h3 {
  font-size: 1.3em !important; letter-spacing: -0.3px !important;
}
.home .section:nth-of-type(3) h3::before {
  content: ""; display: block; width: 28px; height: 3px;
  background: rgba(255,255,255,0.5); margin-bottom: 14px;
}
.home .section:nth-of-type(3) .button {
  border-radius: 0 !important; border-width: 2px !important;
  font-size: 0.78em !important; letter-spacing: 2px !important;
  text-transform: uppercase !important; font-weight: 800 !important;
  padding: 10px 20px !important;
}

/* ── STORY SECTION h2 ── */
.home .section:nth-of-type(4) h2 { font-size: 2em !important; line-height: 1.1 !important; }

/* ── MARQUEE STRIP ── */
@keyframes scrolltext {
  0% { transform: translateX(0); }
  100% { transform: translateX(-50%); }
}
.home .section:last-of-type { position: relative; overflow: hidden; }
.home .section:last-of-type::before {
  content: "✂ 26 COLOURS ✂ 30+ SHAPES ✂ £3.50 EACH ✂ HANDMADE ✂ NORTH WALES ✂ 26 COLOURS ✂ 30+ SHAPES ✂ £3.50 EACH ✂ HANDMADE ✂ NORTH WALES ✂";
  position: absolute; white-space: nowrap; font-size: 0.62em;
  font-weight: 800; letter-spacing: 3px; color: rgba(255,255,255,0.18);
  top: 7px; animation: scrolltext 22s linear infinite; width: max-content;
}

/* ── BUTTONS ── */
.button, .btn, input[type="submit"] {
  border-radius: 0 !important; font-weight: 800 !important;
  letter-spacing: 1.5px !important; text-transform: uppercase !important;
  font-size: 0.8em !important;
  transition: box-shadow 0.15s, transform 0.1s, background 0.15s !important;
}
.button:not([class*="outline"]):not([class*="secondary"]) {
  background-color: var(--orange) !important;
  color: #fff !important; border: 2px solid var(--orange) !important;
}
.button:not([class*="outline"]):hover {
  box-shadow: 3px 3px 0 var(--dark) !important;
  transform: translate(-1px,-1px) !important;
}
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
  background: var(--orange) !important; color: #fff !important;
  border-radius: 0 !important;
}

/* ── SINGLE PRODUCT PAGE ── */
/* Full-width dark title bar at top */
.single-product .product_title {
  font-size: 2em !important; font-weight: 900 !important;
  letter-spacing: -0.5px !important;
  border-bottom: 3px solid var(--dark) !important;
  padding-bottom: 14px !important; margin-bottom: 12px !important;
}
.single-product .price { font-size: 2em !important; font-weight: 900 !important; color: var(--dark) !important; }
.single-product .woocommerce-product-details__short-description {
  border-left: 4px solid var(--orange) !important;
  padding-left: 16px !important; font-size: 0.98em !important;
  color: #555 !important; line-height: 1.8 !important;
}

/* Product title bar — full width dark banner */
.single-product .entry-summary > .product_title,
.single-product .summary .product_title {
  background: var(--dark) !important;
  color: #fff !important;
  text-transform: uppercase !important;
  letter-spacing: -1px !important;
  font-size: 2.2em !important;
  font-weight: 900 !important;
  margin: 0 -24px 24px !important;
  padding: 28px 24px 22px !important;
  border-bottom: none !important;
  line-height: 1.05 !important;
}
@media (max-width: 768px) {
  .single-product .entry-summary > .product_title,
  .single-product .summary .product_title {
    margin: 0 -16px 20px !important;
    padding: 20px 16px 16px !important;
    font-size: 1.7em !important;
  }
}

/* 2-col summary layout */
.single-product div.product {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 0 40px !important;
  align-items: start !important;
}
.single-product div.product .woocommerce-product-gallery {
  grid-column: 1 !important;
  grid-row: 1 !important;
}
.single-product div.product .entry-summary {
  grid-column: 2 !important;
  grid-row: 1 !important;
}
.single-product div.product .woocommerce-tabs {
  grid-column: 1 / -1 !important;
}
.single-product div.product .related {
  grid-column: 1 / -1 !important;
}
@media (max-width: 768px) {
  .single-product div.product {
    display: block !important;
  }
}

/* "CHOOSE YOUR COLOUR" label */
.variations .label label {
  font-weight: 900 !important; font-size: 0.78em !important;
  text-transform: uppercase !important; letter-spacing: 1.5px !important; color: var(--dark) !important;
}
.variations .label label::after {
  content: " YOUR COLOUR";
}

/* ATC button */
.single_add_to_cart_button {
  background: var(--dark) !important; color: #fff !important;
  border: 3px solid var(--dark) !important; border-radius: 0 !important;
  font-weight: 900 !important; font-size: 0.85em !important;
  letter-spacing: 2px !important; text-transform: uppercase !important;
  padding: 18px 32px !important; width: 100% !important;
  transition: background 0.15s, box-shadow 0.15s, transform 0.1s !important;
}
.single_add_to_cart_button:hover {
  background: var(--orange) !important; border-color: var(--orange) !important;
  box-shadow: 4px 4px 0 var(--dark) !important;
  transform: translate(-2px,-2px) !important;
}

/* Product tabs */
.woocommerce-tabs .tabs li { border-radius: 0 !important; }
.woocommerce-tabs .tabs li a {
  font-weight: 900 !important; font-size: 0.8em !important;
  text-transform: uppercase !important; letter-spacing: 1.5px !important;
  border-radius: 0 !important;
}
.woocommerce-tabs .tabs li.active a {
  color: var(--orange) !important;
  border-bottom: 3px solid var(--orange) !important;
}

/* Related products — match home card style */
.single-product .related h2 {
  font-size: 1.4em !important; text-transform: uppercase !important;
  letter-spacing: -0.3px !important; border-bottom: 3px solid var(--dark) !important;
  padding-bottom: 10px !important; margin-bottom: 20px !important;
}
.single-product .related .products .product-small .box {
  border-radius: 0 !important;
  border: 2px solid var(--dark) !important;
  transition: box-shadow 0.15s, transform 0.15s !important;
  background: #fff !important;
}
.single-product .related .products .product-small:nth-child(odd) .box { transform: rotate(-0.4deg); }
.single-product .related .products .product-small:nth-child(even) .box { transform: rotate(0.3deg); }
.single-product .related .products .product-small .box:hover {
  box-shadow: 5px 5px 0 var(--orange) !important;
  transform: rotate(0deg) translateY(-3px) !important;
  border-color: var(--orange) !important;
}
.single-product .related .products .product-small .box-text {
  padding: 10px 12px 14px !important;
  border-top: 2px solid var(--dark) !important;
}
.single-product .related .products .product-small .title {
  font-size: 0.82em !important; font-weight: 900 !important;
  text-transform: uppercase !important; letter-spacing: 1px !important; color: var(--dark) !important;
}

/* ── SWATCHES ── */
.iconic-was-swatches,
.iconic-was-swatches.iconic-was-swatches--loading {
  display: flex !important; flex-wrap: wrap !important;
  gap: 8px !important; margin: 10px 0 16px !important;
  overflow: visible !important; white-space: normal !important;
  list-style: none !important;
}
.iconic-was-swatches li {
  width: 28px !important; height: 28px !important;
  border-radius: 50% !important; border: 2px solid #ddd !important;
  margin: 0 !important; flex-shrink: 0;
  transition: transform 0.12s, border-color 0.12s !important;
}
.iconic-was-swatches li:hover { border-color: #888 !important; transform: scale(1.2) !important; }
.iconic-was-swatches li.iconic-was--is-selected {
  border-color: var(--orange) !important;
  box-shadow: 0 0 0 2px rgba(241,96,28,0.3) !important;
}
.iconic-was-swatches li.iconic-was--is-unavailable { opacity: 0.25 !important; }
@media (max-width: 549px) {
  .iconic-was-swatches { flex-wrap: nowrap !important; overflow-x: auto !important; padding-bottom: 8px !important; }
}
.iconic-was-chosen-attribute {
  font-size: 0.78em !important; font-weight: 900 !important;
  text-transform: uppercase !important; letter-spacing: 1.5px !important;
  color: var(--orange) !important; display: block !important; margin-bottom: 8px !important;
}

/* ── SHOP / CATEGORY PAGES ── */
/* Dark title bar */
.page-title-bar { background: var(--dark) !important; padding: 40px 0 !important; }
.page-title-bar h1 {
  color: #fff !important; text-transform: uppercase !important;
  font-size: 2.2em !important; letter-spacing: -0.5px !important;
}
.home .page-title-bar, .home .page-title, .home .breadcrumb { display: none !important; }
.tax-pa_colour .page-title { display: none !important; }

/* Shop product grid — 4 col, match home card style */
.woocommerce .products.columns-4 { display: grid !important; grid-template-columns: repeat(4, 1fr) !important; gap: 20px !important; }
.woocommerce .products.columns-3 { display: grid !important; grid-template-columns: repeat(3, 1fr) !important; gap: 20px !important; }

.products .product-small .box {
  border-radius: 0 !important;
  border: 2px solid var(--dark) !important;
  transition: box-shadow 0.15s, border-color 0.15s, transform 0.15s !important;
  background: #fff !important;
}
.products .product-small:nth-child(odd) .box { transform: rotate(-0.3deg); }
.products .product-small:nth-child(even) .box { transform: rotate(0.25deg); }
.products .product-small .box:hover {
  border-color: var(--orange) !important;
  box-shadow: 4px 4px 0 var(--orange) !important;
  transform: rotate(0deg) translate(-2px,-2px) !important;
}
.products .product-small .box-text {
  padding: 10px 12px 14px !important;
  border-top: 2px solid var(--dark) !important;
}
.woocommerce-loop-product__title {
  font-size: 0.88em !important; font-weight: 800 !important;
  text-transform: uppercase !important; letter-spacing: 0.5px !important;
}
.woocommerce ul.products li.product .price { font-weight: 900 !important; color: var(--dark) !important; }
.woocommerce ul.products li.product a.button {
  border-radius: 0 !important; background: var(--orange) !important;
  color: #fff !important; font-weight: 800 !important;
  font-size: 0.75em !important; letter-spacing: 1px !important; text-transform: uppercase !important;
}

/* ── OCCASION PAGES (mb- classes) ── */

/* Page hero banners */
.mb-page-hero {
  padding: 80px 40px;
  background: var(--dark);
  color: #fff;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.mb-page-hero--purple { background: #7B3F8B !important; }
.mb-page-hero--orange { background: #f1601c !important; }
.mb-page-hero--teal   { background: #2a7f7f !important; }
.mb-page-hero--dark   { background: #2d2d2d !important; }
.mb-page-hero::before {
  content: "✦ ✦ ✦ ✦ ✦ ✦ ✦ ✦";
  position: absolute; bottom: 18px; left: 0; right: 0;
  text-align: center; font-size: 1.4em;
  color: rgba(255,255,255,0.12); pointer-events: none; letter-spacing: 20px;
}
.mb-eyebrow {
  font-family: "Montserrat", sans-serif !important;
  font-weight: 900 !important; font-size: 0.7em !important;
  letter-spacing: 3px !important; text-transform: uppercase !important;
  color: rgba(255,255,255,0.7) !important;
  margin: 0 0 16px !important; display: block;
}
.mb-page-hero__h1 {
  font-family: "Montserrat", sans-serif !important;
  font-size: 3.6em !important; font-weight: 900 !important;
  color: #fff !important; text-transform: uppercase !important;
  letter-spacing: -2px !important; line-height: 1.0 !important;
  margin: 0 0 20px !important;
}
.mb-page-hero__sub {
  font-size: 1.1em !important; color: rgba(255,255,255,0.85) !important;
  max-width: 540px; margin: 0 auto !important; line-height: 1.6 !important;
}

/* Page intro — 2 col: copy + products */
.mb-page-intro {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 40px;
  max-width: 1200px;
  margin: 60px auto;
  padding: 0 40px;
  align-items: start;
}
.mb-page-intro__copy {
  font-size: 1.05em; line-height: 1.8; color: #444;
}
.mb-page-intro__copy p { margin-bottom: 1.2em; }
.mb-page-intro__shapes {}

/* Colour strip */
.mb-colour-strip {
  background: var(--dark);
  color: #fff;
  padding: 36px 40px;
  text-align: center;
}
.mb-colour-strip p {
  font-family: "Montserrat", sans-serif;
  font-weight: 900; font-size: 0.72em;
  letter-spacing: 2.5px; text-transform: uppercase;
  color: rgba(255,255,255,0.7); margin: 0 0 16px;
}
.mb-colour-dots {
  display: flex; flex-wrap: wrap; gap: 10px;
  justify-content: center; align-items: center;
}
.mb-colour-dot {
  width: 32px; height: 32px; border-radius: 50%;
  border: 2px solid rgba(255,255,255,0.3);
  display: inline-block;
  transition: transform 0.15s, border-color 0.15s;
}
.mb-colour-dot:hover { transform: scale(1.25); border-color: rgba(255,255,255,0.8); }

/* Shop section inside occasion pages */
.mb-shop-section {
  max-width: 1200px;
  margin: 60px auto;
  padding: 0 40px;
}
.mb-shop-header {
  display: flex; align-items: center;
  justify-content: space-between;
  border-bottom: 3px solid var(--dark);
  padding-bottom: 16px; margin-bottom: 30px;
}
.mb-section-h2 {
  font-family: "Montserrat", sans-serif !important;
  font-size: 1.8em !important; font-weight: 900 !important;
  text-transform: uppercase !important; letter-spacing: -0.5px !important;
  margin: 0 !important;
}
.mb-btn {
  display: inline-block; padding: 12px 24px;
  font-family: "Montserrat", sans-serif;
  font-weight: 900; font-size: 0.78em;
  letter-spacing: 1.5px; text-transform: uppercase;
  text-decoration: none; border-radius: 0;
  transition: box-shadow 0.15s, transform 0.1s;
}
.mb-btn--orange {
  background: var(--orange); color: #fff; border: 2px solid var(--orange);
}
.mb-btn--orange:hover {
  box-shadow: 4px 4px 0 var(--dark);
  transform: translate(-2px,-2px); color: #fff;
}

/* Colours CTA strip */
.mb-colours-cta {
  background: var(--cream);
  border-top: 3px solid var(--dark);
  border-bottom: 3px solid var(--dark);
  padding: 60px 40px;
  text-align: center;
}
.mb-colours-cta h2 {
  font-size: 2em !important; text-transform: uppercase !important;
  letter-spacing: -1px !important; margin-bottom: 12px !important;
}
.mb-colours-cta p {
  font-size: 1.05em; color: #555; margin-bottom: 28px; max-width: 500px; margin-left: auto; margin-right: auto;
}

/* Colour strip accent colours */
.mb-colour-strip--wedding   { background: #5a2a6e !important; }
.mb-colour-strip--birthday  { background: #c44d10 !important; }
.mb-colour-strip--baby      { background: #206060 !important; }
.mb-colour-strip--christmas { background: #111 !important; }

/* ── ABOUT PAGE ── */
.mb-about-hero {
  background: var(--dark);
  color: #fff;
  padding: 100px 40px 80px;
  text-align: center;
  position: relative;
  overflow: hidden;
}
.mb-about-hero::before {
  content: "★ ♥ ★ ♥ ★";
  position: absolute; bottom: 20px; left: 0; right: 0;
  text-align: center; font-size: 2em;
  color: rgba(241,96,28,0.15); pointer-events: none; letter-spacing: 24px;
}
.mb-about-hero h1 {
  font-family: "Montserrat", sans-serif !important;
  font-size: 3.4em !important; font-weight: 900 !important;
  color: #fff !important; text-transform: uppercase !important;
  letter-spacing: -2px !important; line-height: 1.0 !important;
  margin-bottom: 20px !important;
}
.mb-about-hero p {
  font-family: "Montserrat", sans-serif;
  font-size: 0.72em; font-weight: 900;
  letter-spacing: 3px; text-transform: uppercase;
  color: var(--orange); margin: 0;
}

/* Name breakdown section */
.mb-about-name {
  background: var(--cream);
  border-top: 3px solid var(--dark);
  border-bottom: 3px solid var(--dark);
  padding: 60px 40px;
  text-align: center;
}
.mb-about-name__word {
  font-family: "Montserrat", sans-serif;
  font-size: 3em; font-weight: 900;
  letter-spacing: -1px; line-height: 1.2;
  margin-bottom: 20px;
}
.mb-name-letter {
  color: var(--c, var(--orange));
  font-size: 1.2em; display: inline-block;
  transition: transform 0.15s;
}
.mb-name-letter:hover { transform: scale(1.3) rotate(-5deg); }
.mb-about-name > p:last-child {
  font-size: 1.1em; color: #555; max-width: 520px;
  margin: 0 auto; line-height: 1.8;
}

/* About story body copy */
.mb-about-story {
  max-width: 900px;
  margin: 60px auto;
  padding: 0 40px;
  font-size: 1.05em;
  line-height: 1.9;
  color: #444;
}
.mb-about-story h2 {
  font-size: 1.6em !important; text-transform: uppercase !important;
  letter-spacing: -0.3px !important;
  border-bottom: 3px solid var(--dark) !important;
  padding-bottom: 10px !important; margin: 40px 0 20px !important;
}
.mb-about-story ul {
  list-style: none; padding: 0; margin: 0 0 1.5em;
}
.mb-about-story ul li::before {
  content: "▸ "; color: var(--orange); font-weight: 900;
}

/* ── FOOTER ── */
#footer { background: var(--dark) !important; }
.footer-1 { background: var(--dark) !important; color: #888 !important; padding: 40px 0 !important; }
.footer-1 a { color: #aaa !important; }
.footer-1 a:hover { color: #fff !important; }
.footer-1 .widget-title {
  font-family: "Montserrat", sans-serif !important;
  font-weight: 900 !important; font-size: 0.72em !important;
  letter-spacing: 2.5px !important; text-transform: uppercase !important;
  color: rgba(255,255,255,0.5) !important;
  border-bottom: 1px solid rgba(255,255,255,0.1) !important;
  padding-bottom: 10px !important; margin-bottom: 16px !important;
}
.footer-2 { background: #111 !important; color: #555 !important; font-size: 0.82em !important; }
.footer-credit { display: none !important; }

/* Footer confetti motif */
.mb-footer-dots {
  display: flex; gap: 8px; flex-wrap: wrap; margin-top: 16px;
}
.mb-footer-dot {
  width: 12px; height: 12px; border-radius: 50%;
  opacity: 0.4;
}

/* ── MISC ── */
.woocommerce-info { border-top-color: var(--orange) !important; }
.woocommerce span.onsale { background: var(--orange) !important; border-radius: 0 !important; }
.quantity .qty { border: 2px solid var(--dark) !important; border-radius: 0 !important; font-weight: 800 !important; width: 60px !important; text-align: center !important; }
.woocommerce-tabs .tabs li a { font-weight: 800 !important; font-size: 0.8em !important; text-transform: uppercase !important; letter-spacing: 1px !important; }
.breadcrumb { font-size: 0.8em !important; color: #bbb !important; }

/* ── SWATCH OVERRIDE (border style fix) ── */
.iconic-was-swatches--border .iconic-was-swatch {
  padding: 3px !important;
  border-radius: 50% !important;
  border: 2px solid #ddd !important;
  display: block !important;
  width: 36px !important;
  height: 36px !important;
  transition: border-color 0.12s, transform 0.12s !important;
}
.iconic-was-swatches--border .iconic-was-swatch::before { display: none !important; }
.iconic-was-swatches--border .iconic-was-swatch:hover {
  border-color: #777 !important;
  transform: scale(1.18) !important;
}
.iconic-was-swatches--border .iconic-was-swatch--selected {
  border-color: var(--orange) !important;
  box-shadow: 0 0 0 2px rgba(241,96,28,0.25) !important;
  transform: scale(1.1) !important;
}
.iconic-was-swatches--border .iconic-was-swatch__graphic {
  border-radius: 50% !important;
  width: 100% !important;
  height: 100% !important;
  border: none !important;
}
.iconic-was-swatches__item { padding: 2px !important; }
.iconic-was-swatches__text { display: none !important; }

/* ═══════════════════════════════════════════
   MOBILE CSS PASS — max-width: 549px
   ═══════════════════════════════════════════ */
@media (max-width: 549px) {

  /* Page heroes */
  .mb-page-hero { padding: 50px 20px 40px !important; }
  .mb-page-hero__h1 { font-size: 2.2em !important; letter-spacing: -1px !important; }
  .mb-page-hero__sub { font-size: 0.95em !important; }

  /* Page intro — stack to 1 col */
  .mb-page-intro {
    display: block !important;
    padding: 0 20px !important;
    margin: 40px auto !important;
  }
  .mb-page-intro__copy { margin-bottom: 30px; }
  .mb-page-intro__shapes {}

  /* Colour strip */
  .mb-colour-strip { padding: 28px 20px !important; }
  .mb-colour-dot { width: 26px !important; height: 26px !important; }

  /* Shop section */
  .mb-shop-section { padding: 0 20px !important; margin: 40px auto !important; }
  .mb-shop-header {
    flex-direction: column !important;
    align-items: flex-start !important;
    gap: 14px !important;
  }

  /* Occasion product grids — 1 col */
  .mb-shop-section .products,
  .mb-page-intro__shapes .products {
    grid-template-columns: repeat(2, 1fr) !important;
  }

  /* Colours CTA */
  .mb-colours-cta { padding: 40px 20px !important; }
  .mb-colours-cta h2 { font-size: 1.5em !important; }

  /* About page */
  .mb-about-hero { padding: 60px 20px 50px !important; }
  .mb-about-hero h1 { font-size: 2em !important; letter-spacing: -1px !important; }
  .mb-about-name { padding: 40px 20px !important; }
  .mb-about-name__word { font-size: 1.9em !important; }
  .mb-about-story { padding: 0 20px !important; margin: 40px auto !important; }

  /* General shop grid on mobile — 2 col */
  .woocommerce .products.columns-4 { grid-template-columns: repeat(2, 1fr) !important; }
  .woocommerce .products.columns-3 { grid-template-columns: repeat(2, 1fr) !important; }

  /* Ticker works on mobile */
  .home .section:last-of-type::before {
    font-size: 0.58em !important;
    letter-spacing: 2px !important;
    animation-duration: 18s !important;
  }

  /* Single product — full width */
  .single-product div.product { display: block !important; }
  .single-product .entry-summary > .product_title,
  .single-product .summary .product_title {
    margin: 0 -16px 20px !important;
    padding: 18px 16px 14px !important;
    font-size: 1.5em !important;
  }

  /* Page title */
  .page-title-bar { padding: 28px 0 !important; }
  .page-title-bar h1 { font-size: 1.6em !important; }

  /* Buttons on mobile */
  .mb-btn { padding: 12px 18px !important; font-size: 0.74em !important; }

  /* Section numbers — hide on mobile (too large) */
  .home .section:nth-of-type(2)::before,
  .home .section:nth-of-type(3)::before,
  .home .section:nth-of-type(4)::before { display: none !important; }
}

/* ── TABLET (550px–768px) ── */
@media (min-width: 550px) and (max-width: 768px) {
  .mb-page-hero__h1 { font-size: 2.8em !important; }
  .mb-page-intro { grid-template-columns: 1fr !important; }
  .woocommerce .products.columns-4 { grid-template-columns: repeat(2, 1fr) !important; }
  .mb-shop-header { flex-wrap: wrap !important; gap: 12px !important; }
}

/* ── CRITICAL FIXES ── */

/* Swatch container — stop clipping on mobile */
.variations_form .iconic-was-swatches,
.variations_form .iconic-was-swatches.iconic-was-swatches--loading,
.variations_form .iconic-was-swatches.iconic-was-swatches--scroll {
  overflow-x: auto !important;
  overflow-y: visible !important;
  white-space: nowrap !important;
  display: block !important;
  padding: 6px 2px 12px !important;
}
.variations_form .iconic-was-swatches .iconic-was-swatches__item {
  display: inline-block !important;
  vertical-align: top !important;
  margin-right: 8px !important;
  margin-bottom: 0 !important;
}

/* Add to basket — force dark */
.single_add_to_cart_button,
.woocommerce div.product form.cart .single_add_to_cart_button {
  background: #1a1a1a !important;
  background-color: #1a1a1a !important;
  border-color: #1a1a1a !important;
  color: #fff !important;
}
.single_add_to_cart_button:hover,
.woocommerce div.product form.cart .single_add_to_cart_button:hover {
  background: #f1601c !important;
  background-color: #f1601c !important;
  border-color: #f1601c !important;
  box-shadow: 4px 4px 0 #1a1a1a !important;
  transform: translate(-2px, -2px) !important;
}

/* Hide SKU */
.sku_wrapper, .product_meta .sku_wrapper { display: none !important; }

/* Mobile logo — force image show */
.mobile-header #logo img,
#logo img.header_logo,
#logo img { 
  display: block !important; 
  opacity: 1 !important;
  max-height: 40px !important;
  width: auto !important;
}

/* Hide text logo fallback */
.logo .site-title,
#logo .logo-text { display: none !important; }

/* Quantity +/- buttons styling */
.quantity button, .quantity .plus, .quantity .minus {
  background: #1a1a1a !important;
  color: #fff !important;
  border: none !important;
  border-radius: 0 !important;
  font-weight: 900 !important;
}
.quantity button:hover { background: #f1601c !important; }

/* ── PRODUCT PAGE CLEANUP ── */

/* Hide variation description (generic old copy) */
.woocommerce-variation-description,
.wc-tab .woocommerce-product-attributes { display: none !important; }

/* Hide categories + tags on product page */
.product_meta .posted_in,
.product_meta .tagged_as,
.product_meta { display: none !important; }

/* Hide social share buttons */
.social-icons, .sharedaddy, .sd-sharing,
.woocommerce div.product .social-share { display: none !important; }

/* Hide Additional Information tab */
.woocommerce-tabs .additional_information_tab,
#tab-additional_information,
.woocommerce-tabs li.additional_information_tab { display: none !important; }

/* Double logo fix — hide mobile duplicate */
.header-mobile #logo + #logo,
.mobile-header .logo-mobile + .logo,
#Top_bar .logo ~ .logo { display: none !important; }

/* Related products — hide swatches in loop */
.related .iconic-was-swatches { display: none !important; }

/* Fix copyright year */

/* ── FIX: Hide site name text logo fallback ── */
.header-main .logo .site-name,
.header-main .logo p.site-description,
#logo .site-title,
.header-main #logo .logo-text,
.header-main .logo-text { display: none !important; }

/* Ensure only one logo renders — hide any duplicate logo container */
.header-main .flex-col.logo + .flex-col.logo { display: none !important; }

/* Mobile header: single logo, correct size */
@media (max-width: 549px) {
  #logo { width: 120px !important; }
  #logo img { max-height: 36px !important; }
  .header-main { height: 60px !important; }
}
