/* CAPSDESURO — Elementor Pro / WooCommerce custom CSS
   Paste into: Elementor > Site Settings > Custom CSS, OR your child theme's style.css
   Load fonts first (Site Settings > Custom Fonts, or add the <link> below to your theme header). */

/* Fonts — add this in your theme's <head> (Elementor > Custom Code, "Head" location) */
/* <link href="https://fonts.googleapis.com/css2?family=Archivo+Black&family=Archivo:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;700&display=swap" rel="stylesheet"> */

:root{
  --cds-cherry:#CE1126;
  --cds-cherry-dark:#96001E;
  --cds-vanilla:#F6EBD3;
  --cds-cream:#FCF6E8;
  --cds-ink:#17130F;
  --cds-muted:#6b6055;
  --cds-border:2px solid var(--cds-ink);
}

body, .elementor, .woocommerce{
  font-family:'Archivo', Helvetica, sans-serif;
  color:var(--cds-ink);
}
/* Vanilla striped ground (from the prototype) */
body{
  background-color:var(--cds-vanilla);
  background-image:repeating-linear-gradient(135deg,#EFE2C6 0 8px,#F6EBD3 8px 16px);
}
/* let the stripe show through the theme's opaque wrappers */
#wrapper-container,
#main-content,
.site-content,
.elementor-145,
.elementor-145 > .elementor-section-wrap,
.archive #main-content{ background:transparent !important; }

/* Single product: strip the white/grey theme panels so the striped ground
   shows through (the product gallery keeps its white backdrop). */
.single-product .single-main-content,
.single-product .single-main-content > .row,
.single-product .information,
.single-product .summary,
.single-product form.cart,
.single-product .shop-now,
.single-product .woocommerce-tabs,
.single-product .wc-tabs-wrapper,
.single-product .wc-tab,
.single-product .tab-content,
.single-product .related.products,
.single-product .up-sells,
.single-product .upsells,
.single-product .product-extra-content,
.single-product .single-product-info{
  background:transparent !important;
  background-color:transparent !important;
  background-image:none !important;
}
/* keep product photos on white — ONLY the framed photo area, not the
   surrounding column (so there's no white bleeding outside the ink border) */
.single-product .woocommerce-product-gallery.images,
.single-product .woocommerce-product-gallery__image,
.single-product .woocommerce-product-gallery__wrapper,
.single-product .woocommerce-product-gallery img{
  background:#fff !important;
}
.single-product .image-mains,
.single-product .flex-viewport,
.single-product .flex-control-thumbs,
.single-product .flex-control-thumbs li{
  background:transparent !important;
  background-color:transparent !important;
}
h1,h2,h3,.elementor-heading-title{ font-family:'Archivo Black', sans-serif; letter-spacing:-.02em; }
a{ color:var(--cds-cherry); text-decoration:none; }
a:hover{ color:var(--cds-cherry-dark); text-decoration:underline; }

/* ---- Buttons (Elementor buttons + Woo add-to-cart/checkout/cart) ---- */
.elementor-button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit, .woocommerce .add_to_cart_button,
.woocommerce #place_order{
  background:var(--cds-cherry) !important;
  color:var(--cds-cream) !important;
  border:var(--cds-border) !important;
  border-radius:0 !important;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.06em;
  padding:16px 24px !important;
  box-shadow:6px 6px 0 var(--cds-ink);
  transition:transform .15s ease, box-shadow .15s ease;
}
.elementor-button:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce .add_to_cart_button:hover, .woocommerce #place_order:hover{
  transform:translate(3px,3px);
  box-shadow:3px 3px 0 var(--cds-ink);
  color:var(--cds-cream) !important;
}
/* Secondary/outline button variant — add class "cds-btn-outline" to an Elementor button */
.cds-btn-outline{ background:transparent !important; color:var(--cds-ink) !important; box-shadow:none !important; }

/* ---- Product grid (Elementor Products widget / archive) ---- */
.woocommerce ul.products li.product,
.elementor-widget-woocommerce-products ul.products li.product{
  border:var(--cds-border);
  background:var(--cds-cream);
  padding:0 !important;
  transition:transform .18s ease;
}
.woocommerce ul.products li.product:hover{ transform:translateY(-5px); }
.woocommerce ul.products li.product img{
  border-bottom:var(--cds-border);
  background:#fff;
  object-fit:contain;
  aspect-ratio:1;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  font-size:15px; font-weight:700; padding:12px 12px 0;
}
.woocommerce ul.products li.product .price{
  padding:0 12px;
  font-family:'Archivo Black', sans-serif;
  color:var(--cds-cherry);
}
.woocommerce ul.products li.product .price del{
  color:#8a8078; text-decoration:line-through; font-family:'Archivo', sans-serif; font-weight:400;
}
.woocommerce ul.products li.product .price ins{ text-decoration:none; }
.woocommerce span.onsale{
  background:var(--cds-cherry) !important;
  color:var(--cds-cream) !important;
  border-radius:0 !important;
  font-family:'JetBrains Mono', monospace;
  font-size:10px;
  letter-spacing:.06em;
  top:9px !important; left:9px !important; right:auto !important;
  min-height:0; min-width:0; padding:4px 7px; line-height:1;
}

/* ---- Single product ---- */
.woocommerce div.product .product_title{ font-family:'Archivo Black', sans-serif; letter-spacing:-.02em; }
.woocommerce div.product p.price, .woocommerce div.product span.price{
  font-family:'Archivo Black', sans-serif; color:var(--cds-cherry); font-size:28px;
}
.woocommerce div.product .woocommerce-product-gallery{ border:var(--cds-border); background:#fff; }
table.variations td, table.variations th{ border:0; padding:6px 0; }
.woocommerce div.product form.cart .variations select{
  border:var(--cds-border); background:transparent; padding:10px; font-size:14px;
}

/* ---- Cart & Checkout ---- */
.woocommerce-cart table.shop_table, .woocommerce-checkout table.shop_table{
  border:var(--cds-border); border-collapse:collapse;
}
.woocommerce-cart table.shop_table td, .woocommerce-cart table.shop_table th{
  border-bottom:2px solid var(--cds-border-color, #e2d4b8);
}
.cart_totals, .woocommerce-checkout-review-order{
  background:var(--cds-ink) !important;
  color:var(--cds-vanilla) !important;
  border:var(--cds-border);
  padding:22px;
}
.cart_totals h2, .woocommerce-checkout-review-order h3{ color:var(--cds-vanilla); font-family:'Archivo Black', sans-serif; }
.cart_totals .order-total .amount, .woocommerce-checkout-review-order .order-total .amount{
  font-family:'Archivo Black', sans-serif; font-size:22px;
}
.woocommerce form .form-row input.input-text, .woocommerce form .form-row textarea,
.woocommerce-checkout select{
  border:var(--cds-border) !important;
  background:transparent !important;
  padding:13px !important;
  border-radius:0 !important;
  min-height:48px;
}
.woocommerce form .form-row label{
  font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.08em;
}
#payment ul.payment_methods li{
  border:var(--cds-border); background:#fff; padding:14px; margin-bottom:8px;
}

/* ---- Sidebar filters (Elementor Woo "Product Filters" widgets) ---- */
.elementor-widget-woocommerce-product-categories ul li,
.woocommerce-widget-layered-nav ul li{
  font-size:14px; padding:4px 0;
}
.woocommerce-widget-layered-nav ul li a{ color:var(--cds-ink); }
.woocommerce-widget-layered-nav ul li.chosen a{ color:var(--cds-cherry); font-weight:800; }

/* ---- Announcement / free-shipping bar ---- */
.cds-announce{
  background:var(--cds-cherry); color:var(--cds-cream);
  font-family:'JetBrains Mono', monospace; font-size:12px; letter-spacing:.14em;
  text-transform:uppercase; text-align:center; padding:8px; border-bottom:2px solid var(--cds-ink);
}
.cds-announce .elementor-widget-container,
.cds-announce .tbay-store-notice *{ color:var(--cds-cream) !important; }

/* ---- Header (tbay Elementor header #939) ---- */
#tbay-header [data-id="34a664c"],
#tbay-header [data-id="34a664c"] > .e-con-inner,
#tbay-header [data-id="c6971c3"]{ align-items:center; }
#tbay-header .elementor-nav-menu{ flex-wrap:nowrap; gap:22px; align-items:center; }
#tbay-header .elementor-nav-menu > li{ flex:0 0 auto; }
#tbay-header .elementor-nav-menu .elementor-item{
  color:var(--cds-ink) !important;
  font-family:'Archivo', sans-serif; font-weight:700; font-size:15px;
  text-transform:none; letter-spacing:.2px; padding:6px 0; white-space:nowrap;
}
#tbay-header [data-id="cds1nav0"]{ width:auto; }
#tbay-header .elementor-nav-menu .elementor-item:hover,
#tbay-header .elementor-nav-menu .current-menu-item > .elementor-item,
#tbay-header .elementor-nav-menu .current-menu-ancestor > .elementor-item{ color:var(--cds-cherry) !important; }
@media (max-width:1200px){
  #tbay-header .elementor-nav-menu .elementor-item{ font-size:13px; }
}

/* ==================================================================
   POLISH PASS — home sections, newsletter form, WOOF shop sidebar,
   single-product sticky mobile add-to-cart bar
   ================================================================== */

/* ---- Home 145: resilient section styling ----------------------------
   Mirrors the Elementor settings of the CDS-inserted sections so the
   layout survives a partial post-145.css regeneration (Elementor has
   intermittently rebuilt that file without rules for programmatically
   inserted elements). IDs (cdshNNNN) are assigned by home-145-sections.php.
   ------------------------------------------------------------------- */

/* Elementor's generated CSS variables (--display / --flex-direction / --width …)
   intermittently go missing for these inserted elements, which collapses the
   containers to display:inline and stops their backgrounds painting.
   Pin the flex box model for every cdsh container here. */
.elementor-145 [class*="elementor-element-cdsh"].e-con{
  display:flex !important;
  flex-direction:column;
}
.elementor-145 [class*="elementor-element-cdsh"].e-con.e-con-boxed > .e-con-inner{
  display:flex !important;
  flex-direction:column;
  width:100%;
}

/* stats strip */
.elementor-145 .elementor-element-cdsh0013{ background-color:var(--cds-cherry) !important; }
.elementor-145 .elementor-element-cdsh0013 > .e-con-inner{
  display:flex !important; flex-direction:row !important; flex-wrap:wrap; gap:16px 20px;
  align-items:stretch; justify-content:center;
}
.elementor-145 .elementor-element-cdsh0003,
.elementor-145 .elementor-element-cdsh0006,
.elementor-145 .elementor-element-cdsh0009,
.elementor-145 .elementor-element-cdsh0012{
  flex:1 1 160px; max-width:25%; align-items:center; text-align:center;
}
.elementor-145 .elementor-element-cdsh0013 .elementor-heading-title{ color:var(--cds-cream) !important; }
.elementor-145 .elementor-element-cdsh0013 .elementor-widget-text-editor{ color:var(--cds-vanilla) !important; }

/* 3-for-60 promo banner — RED */
.elementor-145 .elementor-element-cdsh0018{
  background-color:var(--cds-cherry) !important;
  border:2px solid var(--cds-ink); box-shadow:8px 8px 0 var(--cds-ink);
  text-align:center; align-items:center;
}
.elementor-145 .elementor-element-cdsh0018 .elementor-heading-title,
.elementor-145 .elementor-element-cdsh0018 .elementor-widget-text-editor,
.elementor-145 .elementor-element-cdsh0018 .elementor-widget-text-editor *,
.elementor-145 .elementor-element-cdsh0017,
.elementor-145 .elementor-element-cdsh0017 *{ color:var(--cds-cream) !important; }
.elementor-145 .elementor-element-cdsh0017,
.elementor-145 .elementor-element-cdsh0017 *{ opacity:.85; }
/* promo button: cream on the red ground */
.elementor-145 .elementor-element-cdsh0016 .elementor-button{
  background:var(--cds-cream) !important; color:var(--cds-ink) !important;
  border:2px solid var(--cds-ink) !important; box-shadow:6px 6px 0 rgba(23,19,15,.35);
}
.elementor-145 .elementor-element-cdsh0016 .elementor-button:hover{ background:#fff !important; }

/* category grid + testimonials rows */
.elementor-145 .elementor-element-cdsh0032,
.elementor-145 .elementor-element-cdsh0046{
  display:flex !important; flex-direction:row !important; flex-wrap:wrap; gap:20px; align-items:stretch;
}
.elementor-145 .elementor-element-cdsh0032 > .elementor-element,
.elementor-145 .elementor-element-cdsh0046 > .elementor-element{ flex:1 1 200px; }
/* category cards — bordered cream boxes */
.elementor-145 .elementor-element-cdsh0022,
.elementor-145 .elementor-element-cdsh0025,
.elementor-145 .elementor-element-cdsh0028,
.elementor-145 .elementor-element-cdsh0031{
  background-color:var(--cds-cream) !important;
  border:2px solid var(--cds-ink);
  padding:22px 20px;
  text-align:center; align-items:center;
  transition:transform .18s ease;
}
.elementor-145 .elementor-element-cdsh0022:hover,
.elementor-145 .elementor-element-cdsh0025:hover,
.elementor-145 .elementor-element-cdsh0028:hover,
.elementor-145 .elementor-element-cdsh0031:hover{ transform:translateY(-4px); }

/* ---- Reviews / testimonials — cream band with ink rules (prototype) ---- */
.elementor-145 .elementor-element-cdsh0047{
  background-color:var(--cds-cream) !important;
  border-top:2px solid var(--cds-ink); border-bottom:2px solid var(--cds-ink);
}
.elementor-145 .elementor-element-cdsh0037,
.elementor-145 .elementor-element-cdsh0041,
.elementor-145 .elementor-element-cdsh0045{
  background:transparent !important;
  border:0 !important; border-left:3px solid var(--cds-cherry) !important;
  padding:6px 0 6px 16px !important;
  text-align:left; align-items:flex-start;
}
/* star rows (cdsh0034 / 0038 / 0042) */
.elementor-145 .elementor-element-cdsh0034,
.elementor-145 .elementor-element-cdsh0038,
.elementor-145 .elementor-element-cdsh0042{ color:var(--cds-cherry) !important; letter-spacing:3px; }

/* newsletter section */
.elementor-145 .elementor-element-cdsh0051{
  background-color:var(--cds-ink) !important; align-items:center; text-align:center;
}
.elementor-145 .elementor-element-cdsh0048 .elementor-heading-title,
.elementor-145 .elementor-element-cdsh0049,
.elementor-145 .elementor-element-cdsh0049 *{ color:var(--cds-vanilla) !important; }

/* ---- Existing theme product sections (ESPECIALS / HO ESTAN PETANT /
   POSA'T CUQUI / FEM UN CAFÈ? / JO VULL ANAR A LA PLATJA):
   drop the coloured panel backgrounds, reformat the headings ---- */
.elementor-145 .elementor-element-5a838cdf,
.elementor-145 .elementor-element-404b0c2,
.elementor-145 .elementor-element-050408a,
.elementor-145 .elementor-element-3e6f082,
.elementor-145 .elementor-element-743376b{
  background-color:transparent !important;
  background-image:none !important;
}
.elementor-145 .heading-tbay-title{
  font-family:'Archivo Black', sans-serif !important;
  text-transform:uppercase; letter-spacing:-.01em; color:var(--cds-ink) !important;
  border-bottom:2px solid var(--cds-ink);
  padding-bottom:12px; margin-bottom:6px;
}
.elementor-145 .heading-tbay-title .title{ font-family:inherit !important; }

/* product cards in the theme grids — align to the brand */
.elementor-145 .product-block.grid{
  border:2px solid var(--cds-ink); background:var(--cds-cream);
}
.elementor-145 .product-block.grid .price,
.elementor-145 .product-block.grid .price .amount{
  font-family:'Archivo Black', sans-serif; color:var(--cds-cherry);
}

@media (max-width:767px){
  .elementor-145 .elementor-element-cdsh0013 > .e-con-inner{
    flex-direction:column !important; align-items:center !important; gap:10px !important;
  }
  .elementor-145 .elementor-element-cdsh0003,
  .elementor-145 .elementor-element-cdsh0006,
  .elementor-145 .elementor-element-cdsh0009,
  .elementor-145 .elementor-element-cdsh0012{
    flex:0 0 auto !important;   /* stop flex-basis becoming a 160px height */
    max-width:100%; width:100%;
    padding:4px 0 !important;
  }
  .elementor-145 .elementor-element-cdsh0032,
  .elementor-145 .elementor-element-cdsh0046{ flex-direction:column !important; align-items:stretch !important; }
  .elementor-145 .elementor-element-cdsh0032 > .elementor-element,
  .elementor-145 .elementor-element-cdsh0046 > .elementor-element{ flex:0 0 auto !important; width:100%; }

  /* mobile: tighten section gutters, centre everything we can */
  .elementor-145 > .elementor-element > .e-con-inner,
  .elementor-145 .e-con.e-con-boxed > .e-con-inner{ padding-left:16px; padding-right:16px; }
  .elementor-145 .elementor-element-cdsh0013,
  .elementor-145 .elementor-element-cdsh0018,
  .elementor-145 .elementor-element-cdsh0033,
  .elementor-145 .elementor-element-cdsh0047,
  .elementor-145 .elementor-element-cdsh0051{ margin-left:14px !important; margin-right:14px !important; }
  .elementor-145 .elementor-element-cdsh0018{ padding:26px 20px !important; }

  .elementor-145 .elementor-widget-heading .elementor-heading-title,
  .elementor-145 .elementor-widget-text-editor,
  .elementor-145 .heading-tbay-title,
  .elementor-145 .elementor-element-cdsh0037,
  .elementor-145 .elementor-element-cdsh0041,
  .elementor-145 .elementor-element-cdsh0045{ text-align:center !important; align-items:center !important; }
  .elementor-145 .elementor-element-cdsh0037,
  .elementor-145 .elementor-element-cdsh0041,
  .elementor-145 .elementor-element-cdsh0045{ border-left:0 !important; border-top:3px solid var(--cds-cherry) !important; padding:14px 0 0 !important; }

  /* buttons: centred, comfortable, text centred */
  .elementor-145 .elementor-widget-button .elementor-button,
  .elementor-145 .elementor-widget-tbay-button a,
  .elementor-145 .woocommerce a.button,
  .elementor-145 .product-block .add-cart a{
    display:flex !important; width:100% !important; max-width:340px;
    margin-left:auto !important; margin-right:auto !important;
    justify-content:center !important; text-align:center !important;
  }
  .elementor-145 .elementor-button .elementor-button-content-wrapper{ justify-content:center !important; width:100%; }
}

/* ---- Mobile product cards (home grids + shop archive) ------------------ */
@media (max-width:767px){
  /* centre the whole caption: name + price */
  .product-block .caption,
  .product-block .caption .name,
  .product-block .caption .name a,
  ul.products li.product .caption{
    text-align:center !important;
  }
  .product-block .caption .price,
  .product-block .price{
    display:block !important;
    width:100%;
    text-align:center !important;
    margin:6px auto 2px !important;
    float:none !important;
  }
  .product-block .caption .price .amount,
  .product-block .caption .price ins,
  .product-block .caption .price del{ float:none !important; display:inline-block; }

  /* add-to-cart row centred */
  .product-block .group-add-to-cart,
  .product-block .add-cart{ text-align:center !important; display:block !important; }
  .product-block .add-cart a{
    display:inline-flex !important; align-items:center; justify-content:center;
    width:100% !important; max-width:300px;
    margin:0 auto !important;
    box-shadow:3px 3px 0 var(--cds-ink) !important;
    padding:12px 16px !important;
  }

  /* shorten the variable-product label so it fits the button */
  .product-block .add-cart a.product_type_variable .title-cart{
    font-size:0 !important; letter-spacing:0;
  }
  .product-block .add-cart a.product_type_variable .title-cart::after{
    content:"Selecciona";
    font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  }

  /* "Afegeix a la cistella" -> "Cistella" everywhere it shows on mobile */
  .product-block .add-cart a.product_type_simple .title-cart,
  .woocommerce ul.products li.product a.add_to_cart_button:not(.product_type_variable) .title-cart{
    font-size:0 !important; letter-spacing:0;
  }
  .product-block .add-cart a.product_type_simple .title-cart::after,
  .woocommerce ul.products li.product a.add_to_cart_button:not(.product_type_variable) .title-cart::after{
    content:"Cistella";
    font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase;
  }

  /* single-product main button + theme sticky bar button (direct text nodes) */
  .single-product .single_add_to_cart_button,
  #sticky-custom-add-to-cart,
  .tb-menu-bar #sticky-custom-add-to-cart{
    font-size:0 !important; letter-spacing:0;
    display:flex !important; align-items:center; justify-content:center;
    min-height:46px; padding:12px 20px !important;
  }
  .single-product .single_add_to_cart_button::after,
  #sticky-custom-add-to-cart::after{
    content:"Cistella";
    font-size:14px; font-weight:800; letter-spacing:.08em; text-transform:uppercase;
  }
}

/* ---- Newsletter signup (home ink section, MC4WP form) ---- */
.cds-nl-row{
  display:flex; gap:10px; flex-wrap:wrap; max-width:520px; margin:14px auto 0;
  justify-content:center;
}
.cds-nl-row input[type="email"]{
  flex:1 1 220px;
  background:var(--cds-cream);
  border:2px solid var(--cds-cream);
  border-radius:0;
  padding:14px 16px;
  font-family:'Archivo', sans-serif; font-size:15px; color:var(--cds-ink);
  min-height:48px;
}
.cds-nl-row input[type="email"]::placeholder{ color:#8a8078; }
.cds-nl-row input[type="email"]:focus{ outline:none; border-color:var(--cds-cherry); }
.cds-nl-row input[type="submit"]{
  flex:0 0 auto;
  background:var(--cds-cherry);
  color:var(--cds-cream);
  border:2px solid var(--cds-cream);
  border-radius:0;
  padding:14px 26px;
  font-family:'Archivo', sans-serif; font-weight:800; text-transform:uppercase; letter-spacing:.06em;
  font-size:14px; cursor:pointer; min-height:48px;
  transition:transform .15s ease, box-shadow .15s ease;
}
.cds-nl-row input[type="submit"]:hover{ transform:translateY(-2px); }
.mc4wp-response{ color:var(--cds-cream); font-size:13px; margin-top:8px; }
.mc4wp-response a{ color:var(--cds-cream); text-decoration:underline; }

/* ---- WOOF filter sidebar (shop page) ---- */
#sidebar-shop .widget.WOOF_Widget,
.widget.WOOF_Widget .widget-woof{ background:transparent; }
.woof_container{
  border:var(--cds-border);
  background:var(--cds-cream);
  padding:16px 16px 14px;
  margin-bottom:16px;
}
#sidebar-shop .woof_container h4,
.widget.WOOF_Widget .woof_container h4{
  margin:0 0 12px !important;
  font-family:'Archivo Black', sans-serif !important;
  font-weight:900 !important;
  font-size:14px !important; text-transform:uppercase; letter-spacing:.06em; color:var(--cds-ink) !important;
  border-bottom:2px solid var(--cds-ink); padding-bottom:8px;
}
.woof_container ul{ list-style:none; margin:0; padding:0; }
.woof_container ul li{ padding:5px 0; font-family:'Archivo', sans-serif; font-size:14px; }
.woof_container label{ cursor:pointer; color:var(--cds-ink); }
.woof_childs_list{ padding-left:14px !important; }
.woof_radio_count,.woof_checkbox_count{ color:#8a8078; font-size:12px; margin-left:4px; }
.woof_container input[type="checkbox"],
.woof_container input[type="radio"]{ accent-color:var(--cds-cherry); width:16px; height:16px; margin-right:6px; vertical-align:-3px; }
.woof_container li.woof_term_checked > label,
.woof_container li.chosen > label{ color:var(--cds-cherry); font-weight:800; }
/* price slider — WOOF uses ion.rangeSlider (.irs) */
.woof_price_filter .irs--round .irs-line,
.woof_price_filter .irs-line{ background:var(--cds-vanilla); border:2px solid var(--cds-ink); height:8px; border-radius:0; }
.woof_price_filter .irs--round .irs-bar,
.woof_price_filter .irs-bar{ background:var(--cds-cherry); height:8px; border-top:2px solid var(--cds-ink); border-bottom:2px solid var(--cds-ink); }
.woof_price_filter .irs--round .irs-handle,
.woof_price_filter .irs-handle{
  background:var(--cds-cherry) !important; border:2px solid var(--cds-ink) !important; border-radius:0 !important;
  width:16px; height:16px; top:22px; box-shadow:none !important;
}
.woof_price_filter .irs--round .irs-from,
.woof_price_filter .irs--round .irs-to,
.woof_price_filter .irs--round .irs-single{
  background:var(--cds-ink); border-radius:0; font-family:'JetBrains Mono', monospace; font-size:11px;
}
.woof_price_filter .irs--round .irs-from:before,
.woof_price_filter .irs--round .irs-to:before,
.woof_price_filter .irs--round .irs-single:before{ border-top-color:var(--cds-ink); }
.woof_price_filter .irs--round .irs-min,
.woof_price_filter .irs--round .irs-max{ background:var(--cds-vanilla); border-radius:0; font-family:'JetBrains Mono', monospace; font-size:11px; color:var(--cds-ink); }
.woof_price3_search_container input[type="text"]{
  border:2px solid var(--cds-ink); border-radius:0; background:#fff; padding:8px 10px;
  font-family:'JetBrains Mono', monospace; font-size:12px; max-width:90px;
}
/* filter submit / reset buttons */
.woof_submit_search_form_container button,
.woof_submit_search_form,
.woof_redraw_zone button[type="submit"]{
  background:var(--cds-cherry) !important; color:var(--cds-cream) !important;
  border:var(--cds-border) !important; border-radius:0 !important;
  font-weight:800; text-transform:uppercase; letter-spacing:.06em; padding:12px 20px !important;
  box-shadow:4px 4px 0 var(--cds-ink);
}
.woof_reset_search_form{ font-size:12px; text-decoration:underline; color:var(--cds-cherry); }
@media (max-width:991px){
  .woof_container{ padding:12px; }
}

/* ---- Single product: sticky mobile add-to-cart bar (injected by cds-custom.php) ---- */
.cds-sticky-atc{
  position:fixed; left:0; right:0; bottom:0; z-index:9990;
  display:none;
  gap:12px; align-items:center; justify-content:center;
  background:var(--cds-ink);
  border-top:2px solid var(--cds-cherry);
  padding:10px 14px calc(10px + env(safe-area-inset-bottom));
  box-shadow:0 -6px 18px rgba(23,19,15,.28);
}
.cds-sticky-atc .cds-sticky-atc__info{
  flex:0 1 auto; min-width:0; text-align:center;
  display:flex; align-items:baseline; gap:8px; justify-content:center;
}
.cds-sticky-atc .cds-sticky-atc__title{
  font-family:'Archivo Black', sans-serif; font-size:13px; line-height:1.2;
  white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:44vw;
  color:var(--cds-vanilla);
}
.cds-sticky-atc .cds-sticky-atc__price{
  font-family:'Archivo Black', sans-serif; font-size:14px; color:var(--cds-cream); white-space:nowrap;
}
.cds-sticky-atc .cds-sticky-atc__price del{ color:#9b8f83; font-weight:400; margin-right:5px; }
.cds-sticky-atc .cds-sticky-atc__btn{
  flex:0 0 auto;
  background:var(--cds-cherry); color:var(--cds-cream);
  border:2px solid var(--cds-cream); border-radius:0;
  padding:13px 26px; min-height:46px;
  font-family:'Archivo', sans-serif; font-weight:800; text-transform:uppercase; letter-spacing:.08em;
  font-size:13px; cursor:pointer; text-align:center;
  display:inline-flex; align-items:center; justify-content:center;
}
.cds-sticky-atc .cds-sticky-atc__btn:hover{ background:var(--cds-cherry-dark); }
@media (max-width:767px){
  .single-product.tb-addtocart-mb .cds-sticky-atc.is-ready{ display:flex; }
  .single-product.tb-addtocart-mb #wrapper-container{ padding-bottom:82px; }
  /* clear the floating chat bubble bottom-left */
  .cds-sticky-atc{ padding-left:64px; }

  /* The theme pins .single_add_to_cart_button / .tbay-buy-now / wishlist as loose
     position:fixed buttons at the bottom that collide with .cds-sticky-atc.
     Put them back in normal flow as a tidy stacked column. */
  .single-product .shop-now{
    position:static !important; height:auto !important; min-height:0 !important;
    max-height:none !important; overflow:visible !important; visibility:visible !important;
    display:flex !important; flex-direction:column !important; align-items:center !important;
    gap:10px; margin-top:16px;
  }
  .single-product .shop-now .single_add_to_cart_button,
  .single-product .shop-now .tbay-buy-now,
  .single-product .shop-now .button-wishlist,
  .single-product .shop-now .yith-wcwl-add-to-wishlist{
    position:static !important; bottom:auto !important; left:auto !important; right:auto !important;
    z-index:auto !important;
  }
  /* identical primary + secondary buttons */
  .single-product .shop-now .single_add_to_cart_button,
  .single-product .shop-now .tbay-buy-now{
    width:100% !important; max-width:320px !important;
    min-height:50px !important; height:auto !important;
    margin:0 auto !important; padding:14px 18px !important;
    box-shadow:4px 4px 0 var(--cds-ink) !important;
    display:flex !important; align-items:center; justify-content:center;
  }
  /* CTA order swapped: "Compra ara" is the primary, "Cistella" the outline.
     Put "Compra ara" visually first in the stack. */
  .single-product .shop-now .tbay-buy-now{ order:1; }
  .single-product .shop-now .single_add_to_cart_button{ order:2; }
  .single-product .shop-now .button-wishlist,
  .single-product .shop-now .yith-wcwl-add-to-wishlist{ order:3; }
  /* "Cistella" (add to cart) = subordinate outline button */
  .single-product .shop-now .single_add_to_cart_button,
  .single-product .shop-now .single_add_to_cart_button.button,
  .single-product #shop-now .single_add_to_cart_button.alt{
    background:transparent !important; background-color:transparent !important;
    color:var(--cds-ink) !important;
    border:2px solid var(--cds-ink) !important;
    box-shadow:none !important;
  }
  .single-product .shop-now .button-wishlist{ margin-top:2px !important; }

  /* single product: centre the summary block on mobile */
  .single-product div.product .summary.entry-summary,
  .single-product div.product .summary .product_title,
  .single-product div.product .summary .price,
  .single-product div.product .summary .woocommerce-product-rating,
  .single-product div.product .summary .woocommerce-product-details__short-description{ text-align:center; }
  .single-product div.product .summary .woocommerce-product-rating{ display:flex; justify-content:center; gap:8px; flex-wrap:wrap; }
  .single-product div.product .summary > *{ margin-top:14px; margin-bottom:0; }
  .single-product div.product form.cart,
  .single-product div.product form.cart .variations{ margin-left:auto; margin-right:auto; }
  .single-product div.product form.cart .quantity{ margin:0 auto; }

  /* reserve a square for the gallery so it doesn't jump while the image loads */
  .single-product .woocommerce-product-gallery.images{ aspect-ratio:1/1; overflow:hidden; }
  .single-product .woocommerce-product-gallery img{ width:100% !important; height:100% !important; object-fit:contain; }
  .single-product .tbay-after-inner-product-summary{ margin-top:8px; }

  /* express-checkout (G Pay) button: match the stack width */
  .single-product .summary .wc-stripe-payment-request-wrapper,
  .single-product .summary [id*="payment-request"],
  .single-product .summary .gpay-card-info-container{
    max-width:320px !important; margin:0 auto !important;
  }
  /* popup links row: give the chat bubble some clearance */
  .single-product .tbay-button-popup-wrap{ padding-bottom:8px; }
}

/* ==================================================================
   SINGLE-PRODUCT PASS 4 (2026-09-03, user-requested)
   - popup buttons (Guia de talles / Entrega i Devolucions) -> brutalist,
     high-contrast; "Tens dubtes?" removed
   - "COMPRA SEGURA" trust block -> brutalist ink card
   - tab headers + "Productes relacionats" -> Archivo Black
   - product image: no white outside the ink border
   - PDP CTA swap: "Compra ara" primary (cherry + shadow), "Cistella" outline
   - mobile header + offcanvas hamburger menu -> brutalist cherry/vanilla
   - CheckoutWC cart-summary card + side cart -> brand palette
   ================================================================== */

/* ---- Popup buttons: Guia de talles / Entrega i Devolucions ---- */
.single-product .tbay-button-popup-wrap{
  display:flex; flex-wrap:wrap; gap:10px; justify-content:center;
  list-style:none; margin:20px 0 0; padding:0; border:0; background:transparent;
}
.single-product .tbay-button-popup-wrap > li.item{
  flex:1 1 auto; max-width:280px; margin:0; padding:0; background:transparent;
}
/* remove "Tens dubtes?" */
.single-product .tbay-button-popup-wrap > li.tbay-aska-question{ display:none !important; }
.single-product .tbay-button-popup-wrap > li .popup-button-open{
  display:flex; align-items:center; justify-content:center; gap:8px; width:100%;
  background:var(--cds-ink); color:var(--cds-cream) !important;
  border:2px solid var(--cds-ink); box-shadow:4px 4px 0 var(--cds-cherry);
  padding:13px 16px;
  font-family:'Archivo Black', sans-serif; font-size:12px;
  text-transform:uppercase; letter-spacing:.04em; line-height:1.1;
  transition:transform .15s ease, box-shadow .15s ease, background .15s ease;
}
.single-product .tbay-button-popup-wrap > li .popup-button-open:hover{
  background:var(--cds-cherry); border-color:var(--cds-ink);
  transform:translate(2px,2px); box-shadow:2px 2px 0 var(--cds-ink);
  text-decoration:none;
}
.single-product .tbay-button-popup-wrap > li .popup-button-open i,
.single-product .tbay-button-popup-wrap > li .popup-button-open span{ color:inherit !important; }

/* ---- "COMPRA SEGURA" trust block (Elementor template #3068) ---- */
.single-product .tbay-after-inner-product-summary{
  background:var(--cds-ink) !important;
  border:2px solid var(--cds-ink);
  box-shadow:6px 6px 0 var(--cds-cherry);
  padding:22px 20px !important; margin:22px 0 !important;
}
.single-product .tbay-after-inner-product-summary .e-con,
.single-product .tbay-after-inner-product-summary .e-con-inner,
.single-product .tbay-after-inner-product-summary .e-child{
  background:transparent !important; background-color:transparent !important;
  border:0 !important; box-shadow:none !important;
}
.single-product .tbay-after-inner-product-summary .elementor-element-9680ffa{ text-align:center; margin-bottom:6px; }
.single-product .tbay-after-inner-product-summary .elementor-element-9680ffa .elementor-button{
  background:transparent !important; background-color:transparent !important;
  border:0 !important; box-shadow:none !important; padding:0 !important;
  color:var(--cds-cream) !important;
  font-family:'Archivo Black', sans-serif; font-size:15px;
  text-transform:uppercase; letter-spacing:.06em; pointer-events:none;
}
.single-product .tbay-after-inner-product-summary .elementor-icon-box-title,
.single-product .tbay-after-inner-product-summary .elementor-icon-box-title *{
  color:var(--cds-cream) !important;
  font-family:'Archivo Black', sans-serif; font-size:13px; text-transform:uppercase; letter-spacing:.02em;
}
.single-product .tbay-after-inner-product-summary .elementor-icon-box-description,
.single-product .tbay-after-inner-product-summary .elementor-icon-box-description *{
  color:var(--cds-vanilla) !important; font-size:12px;
}
.single-product .tbay-after-inner-product-summary .elementor-icon i,
.single-product .tbay-after-inner-product-summary .elementor-icon svg,
.single-product .tbay-after-inner-product-summary .elementor-icon-box-icon *{
  color:var(--cds-cherry) !important; fill:var(--cds-cherry) !important;
}
.single-product .tbay-after-inner-product-summary .elementor-element-72addd7{ display:none !important; }

/* ---- Product tabs: Descripció / Informació addicional headers ---- */
.single-product .woocommerce-tabs ul.tabs{
  border-bottom:2px solid var(--cds-ink); padding:0; margin:0 0 22px;
}
.single-product .woocommerce-tabs ul.tabs li{
  background:transparent; border:0; margin:0 4px -2px 0; padding:0;
}
.single-product .woocommerce-tabs ul.tabs li::before,
.single-product .woocommerce-tabs ul.tabs li::after{ display:none !important; }
.single-product .woocommerce-tabs ul.tabs li a{
  display:block; padding:12px 18px;
  font-family:'Archivo Black', sans-serif; font-size:14px;
  text-transform:uppercase; letter-spacing:.02em;
  color:var(--cds-ink) !important; border:2px solid transparent; border-bottom:0;
}
.single-product .woocommerce-tabs ul.tabs li.active a,
.single-product .woocommerce-tabs ul.tabs li a:hover{
  color:var(--cds-cherry) !important;
}
.single-product .woocommerce-tabs ul.tabs li.active{
  border:2px solid var(--cds-ink); border-bottom:2px solid var(--cds-cream);
  background:var(--cds-cream);
}
.single-product .woocommerce-tabs .panel h2,
.single-product .woocommerce-tabs .panel > h3{
  font-family:'Archivo Black', sans-serif; text-transform:uppercase;
  color:var(--cds-ink); letter-spacing:-.01em;
}
@media (max-width:767px){
  .single-product .woocommerce-tabs ul.tabs{
    display:flex; flex-direction:column; align-items:stretch; margin-bottom:18px;
  }
  .single-product .woocommerce-tabs ul.tabs li{ margin:0 0 -2px; width:100%; }
  .single-product .woocommerce-tabs ul.tabs li a{
    padding:12px 14px; font-size:13px; letter-spacing:.01em; text-align:center;
    border:2px solid var(--cds-ink);
  }
  .single-product .woocommerce-tabs ul.tabs li.active{ border-bottom:2px solid var(--cds-ink); }
}

/* ---- "Productes relacionats" / up-sells heading ---- */
.single-product #product-related .heading-tbay-title,
.single-product .related.products .heading-tbay-title,
.single-product .up-sells .heading-tbay-title,
.single-product .related.products > h2,
.single-product .up-sells > h2{
  font-family:'Archivo Black', sans-serif !important;
  text-transform:uppercase; letter-spacing:-.01em;
  color:var(--cds-ink) !important;
  border-bottom:2px solid var(--cds-ink);
  padding-bottom:12px; margin-bottom:20px;
}
.single-product #product-related .heading-tbay-title span,
.single-product .related.products .heading-tbay-title span{ font-family:inherit !important; }

/* ---- Product image: ink border hugs the photo, no white bleed ---- */
.single-product .image-mains{ padding:0 !important; }
.woocommerce .single-product div.product .woocommerce-product-gallery.images,
.single-product .woocommerce-product-gallery.images{
  border:2px solid var(--cds-ink) !important;
  background:#fff !important; overflow:hidden;
}
.single-product .flex-control-thumbs{ margin-top:10px; padding:0; }
.single-product .flex-control-thumbs li{ border:2px solid var(--cds-ink); }

/* ---- PDP CTA swap (all viewports): Compra ara = primary, Cistella = outline ---- */
.single-product #shop-now.has-buy-now .tbay-buy-now,
.single-product #shop-now.has-buy-now .tbay-buy-now.button,
.single-product .shop-now .tbay-buy-now.button{
  background:var(--cds-cherry) !important; background-color:var(--cds-cherry) !important;
  color:var(--cds-cream) !important;
  border:2px solid var(--cds-ink) !important;
  box-shadow:6px 6px 0 var(--cds-ink) !important;
  border-radius:0 !important; font-weight:800; text-transform:uppercase; letter-spacing:.06em;
}
.single-product #shop-now.has-buy-now .tbay-buy-now:hover{
  background:var(--cds-cherry-dark) !important;
  transform:translate(3px,3px); box-shadow:3px 3px 0 var(--cds-ink) !important;
}
.single-product #shop-now.has-buy-now .tbay-buy-now.disabled,
.single-product #shop-now.has-buy-now .tbay-buy-now:disabled{ opacity:.45; box-shadow:3px 3px 0 var(--cds-ink) !important; }
.single-product #shop-now .single_add_to_cart_button,
.single-product .shop-now .single_add_to_cart_button.button,
.single-product form.cart .single_add_to_cart_button.alt{
  background:transparent !important; background-color:transparent !important;
  color:var(--cds-ink) !important;
  border:2px solid var(--cds-ink) !important;
  box-shadow:none !important;
}
.single-product #shop-now .single_add_to_cart_button:hover,
.single-product .shop-now .single_add_to_cart_button.button:hover{
  background:var(--cds-ink) !important; color:var(--cds-cream) !important;
  transform:none; box-shadow:none !important;
}

/* ---- Offcanvas hamburger menu ---- */
/* (mobile header bar left at the theme default — user reverted the red skin 2026-09-03) */

/* jQuery.mmenu offcanvas drawer (cloned from #tbay-mobile-smartmenu into .mm-menu) */
.mm-menu{
  --mm-color-background:#F6EBD3;
  --mm-color-background-emphasis:#FCF6E8;
  --mm-color-border:#17130F;
  --mm-color-text:#17130F;
  --mm-color-text-dimmed:#6b6055;
  --mm-color-background-highlight:#FCF6E8;
  --mm-listitem-size:38px;   /* was 50px — tighter menu rows */
  background:var(--cds-vanilla) !important;
  color:var(--cds-ink) !important;
  border-right:3px solid var(--cds-ink);
}
.mm-menu .mm-panel,
.mm-menu .mm-panels{ background:var(--cds-vanilla) !important; }
.mm-menu .mm-navbar{
  background:var(--cds-cherry) !important;
  border-bottom:2px solid var(--cds-ink) !important;
  min-height:52px;
}
.mm-menu .mm-navbar,
.mm-menu .mm-navbar *,
.mm-menu .mm-navbar__title{
  color:var(--cds-cream) !important;
  font-family:'Archivo Black', sans-serif; text-transform:uppercase; letter-spacing:.04em;
}
.mm-menu #mmenu-close .btn-toggle-canvas,
.tbay-offcanvas-body #mmenu-close .btn-toggle-canvas{
  color:var(--cds-cream) !important; background:var(--cds-cherry);
  border:2px solid var(--cds-ink); border-radius:0;
}
.mm-menu .mm-listitem{
  border-color:var(--cds-ink) !important;
}
.mm-menu .mm-listitem:after{ left:0 !important; border-color:var(--cds-ink) !important; }
.mm-menu .mm-listitem__text,
.mm-menu .mm-listview a,
.mm-menu .mm-listitem > a,
.mm-menu .mm-listitem > span{
  color:var(--cds-ink) !important;
  font-family:'Archivo Black', sans-serif; font-size:14px !important;
  text-transform:uppercase; letter-spacing:.02em;
  padding-top:11px !important; padding-bottom:11px !important;
  line-height:1.2 !important;
  margin:0 !important;   /* theme's template.css put margin-bottom:25px here — that was the gap */
}
.mm-menu .mm-listitem{ line-height:1.2 !important; }
.mm-menu .mm-listview{ margin:0 !important; padding:0 !important; }
.mm-menu .mm-listitem__text .menu-title{ color:inherit !important; }
.mm-menu .mm-listitem--selected > .mm-listitem__text,
.mm-menu .mm-listitem__text:hover,
.mm-menu .mm-listitem.current-menu-item > .mm-listitem__text{
  background:var(--cds-cream) !important; color:var(--cds-cherry) !important;
}
.mm-menu .mm-btn:after,
.mm-menu .mm-btn:before{ border-color:var(--cds-ink) !important; }
.mm-menu .mm-listitem_after{ background:var(--cds-cherry) !important; }
/* the source drawer (before mmenu clones it) — keep it on-brand too */
#tbay-mobile-smartmenu.tbay-mmenu,
#tbay-mobile-smartmenu .tbay-offcanvas-body{ background:var(--cds-vanilla) !important; }

/* Elementor nav-menu widget burger (header left slot) dropdown */
.elementor-939 .elementor-nav-menu--dropdown,
#tbay-header .elementor-nav-menu--dropdown{
  background:var(--cds-vanilla) !important; border:2px solid var(--cds-ink);
}
.elementor-939 .elementor-nav-menu--dropdown a.elementor-item,
#tbay-header .elementor-nav-menu--dropdown a.elementor-item{
  color:var(--cds-ink) !important; border-bottom:2px solid var(--cds-ink);
  font-family:'Archivo Black', sans-serif; text-transform:uppercase; font-size:14px;
}
.elementor-939 .elementor-nav-menu--dropdown a.elementor-item:hover,
.elementor-939 .elementor-nav-menu--dropdown .current-menu-item a.elementor-item{
  background:var(--cds-cherry) !important; color:var(--cds-cream) !important;
}
#tbay-header .elementor-menu-toggle{ color:var(--cds-ink) !important; }

/* ---- CheckoutWC — brand the palette + brutalist cart-summary / side cart ---- */
:root, body{
  --cfw-cart-summary-background-color:#17130F !important;
  --cfw-cart-summary-mobile-background-color:#17130F !important;
  --cfw-cart-summary-text-color:#F6EBD3 !important;
  --cfw-cart-summary-link-color:#F6EBD3 !important;
  --cfw-cart-summary-item-quantity-background-color:#CE1126 !important;
  --cfw-cart-summary-item-quantity-text-color:#FCF6E8 !important;
  --cfw-buttons-primary-background-color:#CE1126 !important;
  --cfw-buttons-primary-text-color:#FCF6E8 !important;
  --cfw-buttons-primary-hover-background-color:#96001E !important;
  --cfw-buttons-primary-hover-text-color:#FCF6E8 !important;
  --cfw-buttons-secondary-background-color:transparent !important;
  --cfw-buttons-secondary-text-color:#17130F !important;
  --cfw-body-link-color:#CE1126 !important;
  --cfw-breadcrumb-current-accent-color:#CE1126 !important;
  --cfw-breadcrumb-completed-accent-color:#CE1126 !important;
  --cfw-heading-font-family:'Archivo Black' !important;
  --cfw-body-font-family:'Archivo' !important;
}
.cfw-order-summary,
.cfw-cart-summary,
.cfw-cart-summary-dark,
#cfw-order-review,
.cfw-right-column .cfw-collapsible,
.cfw-order-review-panel{
  border:2px solid var(--cds-ink) !important; border-radius:0 !important;
}
/* dark order-summary card: keep all its text legible on the ink ground */
.cfw-cart-summary-dark,
.cfw-cart-summary-dark *:not(a):not(.cfw-primary-btn):not(button){
  color:var(--cds-vanilla) !important;
  border-color:rgba(246,235,211,.25) !important;
}
.cfw-cart-summary-dark .cfw-cart-summary-heading,
.cfw-cart-summary-dark h2,
.cfw-cart-summary-dark h3,
.cfw-cart-summary-dark .order-total{
  font-family:'Archivo Black', sans-serif !important; color:var(--cds-cream) !important;
}
.cfw-cart-summary-dark a{ color:var(--cds-cream) !important; text-decoration:underline; }
.cfw-order-summary-toggle,
.cfw-mobile-order-review-toggle,
.cfw-order-review-toggle{
  background:var(--cds-ink) !important; color:var(--cds-vanilla) !important;
  border:2px solid var(--cds-ink) !important; border-radius:0 !important;
}
#cfw .cfw-side-cart,
.cfw-side-cart-container{
  background:var(--cds-vanilla) !important;
  border-left:3px solid var(--cds-ink) !important;
}
.cfw-side-cart-header,
.cfw-side-cart .cfw-side-cart-header{
  background:var(--cds-cherry) !important; color:var(--cds-cream) !important;
  border-bottom:2px solid var(--cds-ink) !important;
}
.cfw-side-cart-header *{ color:var(--cds-cream) !important; }
.cfw-side-cart-item,
.cfw-side-cart-line-item{ border-bottom:2px solid var(--cds-ink) !important; }
.cfw-button,
#cfw button.cfw-button,
.cfw-side-cart-footer a.checkout-button,
.cfw-side-cart-footer .cfw-button{
  border:2px solid var(--cds-ink) !important; border-radius:0 !important;
  box-shadow:4px 4px 0 var(--cds-ink) !important;
  font-family:'Archivo Black', sans-serif !important;
  text-transform:uppercase !important; letter-spacing:.04em;
}
.cfw-floating-cart-button,
.cfw-side-cart-floating-button{
  background:var(--cds-cherry) !important; color:var(--cds-cream) !important;
  border:2px solid var(--cds-ink) !important; border-radius:0 !important;
  box-shadow:4px 4px 0 var(--cds-ink) !important;
}
/* side-cart footer: short brutalist labels — "COMPRA" (checkout) + "CISTELLA".
   Scoped to .cfw-side-cart-contents-footer, which only exists in the slide-out
   drawer, so the real WooCommerce cart/checkout pages keep their own strings. */
.cfw-side-cart-contents-footer .cfw-primary-btn,
.cfw-side-cart-contents-footer .cfw-secondary-btn.cfw-side-cart-close-trigger{
  font-size:0 !important;
  display:flex !important; align-items:center; justify-content:center;
}
.cfw-side-cart-contents-footer .cfw-primary-btn{ padding:16px 20px !important; }
.cfw-side-cart-contents-footer .cfw-secondary-btn.cfw-side-cart-close-trigger{ padding:12px 20px !important; }
.cfw-side-cart-contents-footer .cfw-primary-btn::after{
  content:"Compra";
  font-size:15px; line-height:1;
  font-family:'Archivo Black', sans-serif; letter-spacing:.05em; text-transform:uppercase;
}
.cfw-side-cart-contents-footer .cfw-secondary-btn.cfw-side-cart-close-trigger::after{
  content:"Cistella";
  font-size:13px; line-height:1;
  font-family:'Archivo Black', sans-serif; letter-spacing:.05em; text-transform:uppercase;
}

/* ==================================================================
   HOME PASS 5 + GUIA DE TALLES (2026-09-03, user-requested)
   - 3x60 red promo (cdsh0018): contained + centred so the ink drop
     shadow is visible on the right & bottom (#wrapper-container has
     overflow-x:hidden, which was clipping the full-bleed section's
     shadow and right edge)
   - newsletter form (cdsh0051 .cds-nl-row): rebuilt to the prototype's
     single attached input+button box, properly centred
   - /guia-de-talles/ (page 115245, HTML widget dcc642b): re-skinned
     from its warm "paper/cork" system to brutalist cherry/vanilla
   ================================================================== */

/* ---- 3x60 promo: centred brutalist card, shadow clear of the clip ---- */
.elementor-145 .elementor-element-cdsh0018{
  width:min(1180px, calc(100% - 44px)) !important;
  max-width:none !important;
  margin-left:auto !important;
  margin-right:auto !important;
  margin-top:44px !important;
  margin-bottom:52px !important;          /* room for the 8px drop shadow */
  box-shadow:8px 8px 0 var(--cds-ink) !important;
}
@media (max-width:767px){
  .elementor-145 .elementor-element-cdsh0018{
    width:calc(100% - 34px) !important;   /* 17px gutter each side */
    margin-top:26px !important;
    margin-bottom:34px !important;
    box-shadow:6px 6px 0 var(--cds-ink) !important;
  }
  /* the other inserted sections are full-bleed bands (per prototype):
     drop the stale 14px side margins that PASS 3 added — they pushed
     the band off-centre and its right edge into the overflow-x clip,
     which also threw off the auto-centred newsletter form. */
  .elementor-145 .elementor-element-cdsh0013,
  .elementor-145 .elementor-element-cdsh0033,
  .elementor-145 .elementor-element-cdsh0047,
  .elementor-145 .elementor-element-cdsh0051{
    margin-left:0 !important;
    margin-right:0 !important;
  }
}

/* ---- Newsletter form: one attached box, input + button flush, centred ---- */
.elementor-145 .elementor-element-cdsh0051 .mc4wp-form,
.elementor-145 .elementor-element-cdsh0051 .mc4wp-form-fields{ text-align:center; }
.elementor-145 .elementor-element-cdsh0051 .cds-nl-row{
  display:flex; flex-wrap:nowrap; gap:0;
  width:100%; max-width:440px;
  margin:16px auto 0;
  border:2px solid var(--cds-ink);
  background:var(--cds-cream);
}
.elementor-145 .elementor-element-cdsh0051 .cds-nl-row input[type="email"]{
  flex:1 1 auto; min-width:0;
  background:transparent; border:0; border-radius:0;
  padding:14px 16px; min-height:50px;
  font-family:'Archivo', sans-serif; font-size:15px; color:var(--cds-ink);
}
.elementor-145 .elementor-element-cdsh0051 .cds-nl-row input[type="email"]:focus{ outline:none; }
.elementor-145 .elementor-element-cdsh0051 .cds-nl-row input[type="email"]::placeholder{ color:#8a8078; }
.elementor-145 .elementor-element-cdsh0051 .cds-nl-row input[type="submit"]{
  flex:0 0 auto;
  background:var(--cds-cherry); color:var(--cds-cream);
  border:0; border-left:2px solid var(--cds-ink); border-radius:0;
  padding:14px 22px; min-height:50px;
  font-family:'Archivo', sans-serif; font-weight:800; font-size:13px;
  text-transform:uppercase; letter-spacing:.06em; cursor:pointer;
  transition:background .15s ease;
}
.elementor-145 .elementor-element-cdsh0051 .cds-nl-row input[type="submit"]:hover{
  background:var(--cds-cherry-dark); transform:none;
}

/* ==================================================================
   /guia-de-talles/  — brutalist cherry / vanilla re-skin
   The page is a single self-contained HTML widget (elementor id
   dcc642b, page 115245) with its own :root palette + Bricolage /
   Instrument Sans fonts + 14px radius. Re-point the tokens and force
   the brutalist accents.
   ================================================================== */
.elementor-115245 .elementor-element-dcc642b,
.page-id-115245 .elementor-element-dcc642b{
  --paper:#FCF6E8;
  --ink:#17130F;
  --ink-soft:#6b6055;
  --cork:#CE1126;
  --cork-deep:#96001E;
  --cork-tint:#F6EBD3;
  --stripe:#F3E8CE;
  --line:#17130F;
  --radius:0px;
}
/* typography */
.elementor-115245 .elementor-element-dcc642b h1,
.elementor-115245 .elementor-element-dcc642b h2,
.elementor-115245 .elementor-element-dcc642b thead th{
  font-family:'Archivo Black', sans-serif !important;
  letter-spacing:-.01em; text-transform:uppercase;
}
.elementor-115245 .elementor-element-dcc642b h1,
.elementor-115245 .elementor-element-dcc642b h2,
.elementor-115245 .elementor-element-dcc642b .sec-head h2{
  color:var(--cds-ink) !important;
}
.elementor-115245 .elementor-element-dcc642b .lead{ color:var(--cds-ink); }
/* eyebrow + range pills -> square mono chips */
.elementor-115245 .elementor-element-dcc642b .eyebrow,
.elementor-115245 .elementor-element-dcc642b .range,
.elementor-115245 .elementor-element-dcc642b .scroll-hint{
  font-family:'JetBrains Mono', monospace !important;
  border-radius:0 !important;
}
.elementor-115245 .elementor-element-dcc642b .eyebrow{
  border:2px solid var(--cds-ink) !important;
  background:var(--cds-vanilla) !important; color:var(--cds-cherry) !important;
}
.elementor-115245 .elementor-element-dcc642b .range{
  border:2px solid var(--cds-ink) !important;
  background:var(--cds-cherry) !important; color:var(--cds-cream) !important;
}
/* panels: square, 2px ink border, ink drop shadow */
.elementor-115245 .elementor-element-dcc642b .how,
.elementor-115245 .elementor-element-dcc642b .table-scroll,
.elementor-115245 .elementor-element-dcc642b .tip{
  border:2px solid var(--cds-ink) !important;
  border-radius:0 !important;
  box-shadow:6px 6px 0 var(--cds-ink);
}
.elementor-115245 .elementor-element-dcc642b .how{ background:var(--cds-cream) !important; }
.elementor-115245 .elementor-element-dcc642b .tip{ background:var(--cds-vanilla) !important; }
/* tables */
.elementor-115245 .elementor-element-dcc642b table{ border-collapse:collapse; }
.elementor-115245 .elementor-element-dcc642b thead th{
  background:var(--cds-ink) !important; color:var(--cds-cream) !important;
}
.elementor-115245 .elementor-element-dcc642b tbody tr:nth-child(even){ background:var(--cds-vanilla); }
.elementor-115245 .elementor-element-dcc642b tbody tr:nth-child(even) th{ background:var(--cds-vanilla); }
.elementor-115245 .elementor-element-dcc642b th,
.elementor-115245 .elementor-element-dcc642b td{ border:1px solid rgba(23,19,15,.18); }
.elementor-115245 .elementor-element-dcc642b tbody th{ box-shadow:1px 0 0 var(--cds-ink); }
.elementor-115245 .elementor-element-dcc642b tr.approx th,
.elementor-115245 .elementor-element-dcc642b tr.approx td{
  background:var(--cds-vanilla) !important; color:var(--cds-cherry-dark) !important;
}
/* circular keys / dots -> square cherry chips */
.elementor-115245 .elementor-element-dcc642b .key,
.elementor-115245 .elementor-element-dcc642b tbody th .k,
.elementor-115245 .elementor-element-dcc642b .tip .dot{
  border-radius:0 !important;
  background:var(--cds-cherry) !important; color:var(--cds-cream) !important;
  font-family:'Archivo Black', sans-serif !important;
}
/* the measurement schematic SVG (hard-coded cork colours) */
.elementor-115245 .elementor-element-dcc642b .how svg path{
  fill:var(--cds-vanilla) !important; stroke:var(--cds-ink) !important;
}
.elementor-115245 .elementor-element-dcc642b .how svg line{ stroke:var(--cds-ink) !important; }
.elementor-115245 .elementor-element-dcc642b .how svg circle{ fill:var(--cds-cherry) !important; }
.elementor-115245 .elementor-element-dcc642b .how svg text{ fill:var(--cds-cream) !important; }
.elementor-115245 .elementor-element-dcc642b .how li + li{ border-top:1px dashed rgba(23,19,15,.3); }

/* ==================================================================
   /contact-us/  (page 149) — brutalist cherry / vanilla
   Elementor heading + a WPForms "modern" form (#wpforms-33647).
   Modern WPForms is driven by --wpforms-* custom props on
   .wpforms-container; re-point those + force the brutalist button.
   ================================================================== */
.page-id-149 .elementor-149 .elementor-heading-title{
  font-family:'Archivo Black', sans-serif !important;
  color:var(--cds-ink) !important;
  text-transform:uppercase; letter-spacing:-.01em;
}
.page-id-149 .wpforms-container{
  --wpforms-field-border-radius:0px;
  --wpforms-field-border-style:solid;
  --wpforms-field-border-size:2px;
  --wpforms-field-border-color:#17130F;
  --wpforms-field-border-color-spare:#17130F;
  --wpforms-field-background-color:#FCF6E8;
  --wpforms-field-text-color:#17130F;
  --wpforms-field-menu-color:#FCF6E8;
  --wpforms-label-color:#17130F;
  --wpforms-label-sublabel-color:#6b6055;
  --wpforms-button-border-radius:0px;
  --wpforms-button-border-style:solid;
  --wpforms-button-border-size:2px;
  --wpforms-button-border-color:#17130F;
  --wpforms-button-background-color:#CE1126;
  --wpforms-button-text-color:#FCF6E8;
  --wpforms-page-break-color:#CE1126;
  max-width:640px;
}
/* labels */
.page-id-149 .wpforms-field-label{
  font-family:'Archivo', sans-serif !important;
  font-weight:800 !important; font-size:12px !important;
  text-transform:uppercase; letter-spacing:.08em;
  color:var(--cds-ink) !important;
}
.page-id-149 .wpforms-field-sublabel{
  font-family:'JetBrains Mono', monospace !important;
  font-size:10px !important; text-transform:uppercase; letter-spacing:.04em;
  color:var(--cds-muted) !important;
}
.page-id-149 .wpforms-required-label{ color:var(--cds-cherry) !important; }
/* fields */
.page-id-149 .wpforms-container input.wpforms-field-medium,
.page-id-149 .wpforms-container input.wpforms-field-large,
.page-id-149 .wpforms-container input[type="text"],
.page-id-149 .wpforms-container input[type="email"],
.page-id-149 .wpforms-container input[type="tel"],
.page-id-149 .wpforms-container input[type="url"],
.page-id-149 .wpforms-container textarea,
.page-id-149 .wpforms-container select{
  background:var(--cds-cream) !important;
  border:2px solid var(--cds-ink) !important;
  border-radius:0 !important;
  box-shadow:none !important;
  padding:12px 14px !important;
  min-height:48px;
  font-family:'Archivo', sans-serif !important; font-size:15px !important;
  color:var(--cds-ink) !important;
}
.page-id-149 .wpforms-container textarea{ min-height:150px; }
.page-id-149 .wpforms-container input:focus,
.page-id-149 .wpforms-container textarea:focus,
.page-id-149 .wpforms-container select:focus{
  outline:none !important;
  border-color:var(--cds-cherry) !important;
  box-shadow:4px 4px 0 var(--cds-ink) !important;
}
.page-id-149 .wpforms-container input::placeholder,
.page-id-149 .wpforms-container textarea::placeholder{ color:#8a8078 !important; }
/* submit — brutalist cherry CTA */
.page-id-149 .wpforms-container button.wpforms-submit,
.page-id-149 button#wpforms-submit-33647{
  background:var(--cds-cherry) !important; color:var(--cds-cream) !important;
  border:2px solid var(--cds-ink) !important; border-radius:0 !important;
  box-shadow:6px 6px 0 var(--cds-ink) !important;
  font-family:'Archivo Black', sans-serif !important;
  text-transform:uppercase; letter-spacing:.06em;
  padding:15px 30px !important;
  transition:transform .15s ease, box-shadow .15s ease;
}
.page-id-149 .wpforms-container button.wpforms-submit:hover{
  background:var(--cds-cherry-dark) !important;
  transform:translate(3px,3px);
  box-shadow:3px 3px 0 var(--cds-ink) !important;
}
/* validation + confirmation */
.page-id-149 .wpforms-container .wpforms-error{
  font-family:'JetBrains Mono', monospace !important; font-size:11px !important;
  color:var(--cds-cherry) !important;
}
.page-id-149 .wpforms-container input.wpforms-error,
.page-id-149 .wpforms-container textarea.wpforms-error{ border-color:var(--cds-cherry) !important; }
.page-id-149 .wpforms-confirmation-container-full{
  background:var(--cds-vanilla) !important;
  border:2px solid var(--cds-ink) !important; border-radius:0 !important;
  box-shadow:6px 6px 0 var(--cds-ink);
  color:var(--cds-ink) !important; font-family:'Archivo', sans-serif;
}

/* ==================================================================
   /el-meu-compte/ — login + register (body.woocommerce-account)
   brutalist cherry / vanilla. Inputs + submit already inherit the
   global brutalist form rules; this adds the card frame, headings,
   cream fields and accent polish.
   ================================================================== */
.woocommerce-account .page-title{
  font-family:'Archivo Black', sans-serif !important;
  color:var(--cds-ink) !important;
  text-transform:uppercase; letter-spacing:-.02em;
}
/* the two panels -> brutalist cards */
.woocommerce-account .u-column1,
.woocommerce-account .u-column2,
.woocommerce-account .u-columns .col-1,
.woocommerce-account .u-columns .col-2{
  border:2px solid var(--cds-ink) !important;
  border-radius:0 !important;
  background:var(--cds-cream) !important;
  box-shadow:6px 6px 0 var(--cds-ink);
  padding:26px 24px 30px !important;
}
.woocommerce-account .u-column1 > h2,
.woocommerce-account .u-column2 > h2{
  font-family:'Archivo Black', sans-serif !important;
  color:var(--cds-ink) !important;
  text-transform:uppercase; letter-spacing:-.01em;
  border-bottom:2px solid var(--cds-ink);
  padding-bottom:12px !important; margin-bottom:20px !important;
}
/* labels back to ink (global rule already makes them uppercase/bold/small) */
.woocommerce-account .woocommerce-form label,
.woocommerce-account .woocommerce-form .woocommerce-form-row label{
  color:var(--cds-ink) !important;
}
/* fields on cream so they read against the card */
.woocommerce-account .woocommerce-form input.input-text,
.woocommerce-account .woocommerce-form input[type="text"],
.woocommerce-account .woocommerce-form input[type="email"],
.woocommerce-account .woocommerce-form input[type="password"]{
  background:var(--cds-vanilla) !important;
  border:2px solid var(--cds-ink) !important;
  border-radius:0 !important;
  min-height:48px;
  color:var(--cds-ink) !important;
}
.woocommerce-account .woocommerce-form input:focus{
  outline:none !important;
  border-color:var(--cds-cherry) !important;
  box-shadow:4px 4px 0 var(--cds-ink) !important;
}
.woocommerce-account .woocommerce-form input::placeholder{ color:#8a8078 !important; }
/* show/hide-password eye */
.woocommerce-account .password-input .show-password-input{ color:var(--cds-ink) !important; }
.woocommerce-account .password-input .show-password-input.display-password{ color:var(--cds-cherry) !important; }
/* remember-me / newsletter checkboxes */
.woocommerce-account .woocommerce-form-login__rememberme input[type="checkbox"],
.woocommerce-account .woocommerce-form-register input[type="checkbox"]{
  accent-color:var(--cds-cherry);
  width:16px; height:16px; margin-right:6px; vertical-align:-3px;
}
/* full-width submit buttons (already cherry + ink shadow from the global rule) */
.woocommerce-account .woocommerce-form-login__submit,
.woocommerce-account .woocommerce-form-register__submit{
  width:100%; margin-top:6px;
}
/* lost-password link */
.woocommerce-account .woocommerce-LostPassword a{
  color:var(--cds-cherry) !important;
  font-weight:800; text-transform:uppercase; font-size:12px; letter-spacing:.05em;
}
/* register-side privacy blurb */
.woocommerce-account .woocommerce-privacy-policy-text p{
  font-size:12px; line-height:1.55; color:var(--cds-muted);
}
/* "Sign in with Google" widget — a square ink frame around the wrapper */
.woocommerce-account .googlesitekit-sign-in-with-google__frontend-output,
.woocommerce-account [class*="sign-in-with-google"]{
  border:2px solid var(--cds-ink) !important;
  border-radius:0 !important;
  background:var(--cds-vanilla) !important;
  padding:6px !important;
  margin-bottom:16px;
}
@media (max-width:767px){
  .woocommerce-account .u-column1,
  .woocommerce-account .u-column2{ box-shadow:4px 4px 0 var(--cds-ink); padding:20px 16px 24px !important; }
}
