/*
Theme Name: Blocksy Child - Circulando
Template: blocksy
Version: 1.0
*/

/* ===== CIRCULANDO CLOTHING BRAND VARIABLES ===== */
:root {
  --cir-green: #2d4a35;
  --cir-green-dark: #1e3325;
  --cir-green-light: #3a5e44;
  --cir-gold: #C8A050;
  --cir-gold-light: #e0bb72;
  --cir-gold-dark: #a07830;
  --cir-beige: #F5EFE0;
  --cir-cream: #FAF7F0;
  --cir-black: #111111;
  --cir-text: #2a2a2a;
  --cir-text-light: #666666;
}

/* ===== GLOBAL ===== */
body {
  font-family: 'Lato', sans-serif;
  color: var(--cir-text);
  background: #fff;
}

/* ===== HEADER ===== */
.site-header {
  background: var(--cir-green) !important;
  border-bottom: 2px solid var(--cir-gold);
}

.ct-header .ct-logo img {
  max-height: 55px;
}

/* Nav links */
.ct-menu a {
  color: #fff !important;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-size: 13px;
}

.ct-menu a:hover,
.ct-menu .current-menu-item > a {
  color: var(--cir-gold) !important;
}

/* Cart icon */
.ct-header .cart-icon svg {
  fill: #fff;
}

/* ===== BUTTONS ===== */
.wp-element-button,
button,
input[type=submit],
.button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
  background: var(--cir-green) !important;
  color: #fff !important;
  border: none;
  border-radius: 2px;
  font-weight: 700;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  padding: 14px 28px;
  transition: background 0.2s ease;
}

.wp-element-button:hover,
button:hover,
.button:hover,
.woocommerce a.button:hover,
.woocommerce button.button:hover {
  background: var(--cir-gold) !important;
  color: var(--cir-green) !important;
}

/* CTA/highlight button variant */
.btn-gold,
.woocommerce .single_add_to_cart_button {
  background: var(--cir-gold) !important;
  color: var(--cir-green) !important;
  font-weight: 800 !important;
}

.btn-gold:hover,
.woocommerce .single_add_to_cart_button:hover {
  background: var(--cir-green) !important;
  color: #fff !important;
}

/* ===== WOOCOMMERCE SHOP ===== */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  color: var(--cir-text);
}

.woocommerce ul.products li.product .price {
  color: var(--cir-green);
  font-weight: 700;
  font-size: 15px;
}

.woocommerce ul.products li.product a img {
  border: 1px solid #e8e0d0;
  transition: transform 0.3s ease;
}

.woocommerce ul.products li.product:hover a img {
  transform: scale(1.03);
}

/* Sale badge */
.woocommerce ul.products li.product .onsale {
  background: var(--cir-gold);
  color: var(--cir-green);
  font-weight: 800;
  border-radius: 2px;
}

/* ===== FOOTER ===== */
.ct-footer {
  background: var(--cir-green-dark) !important;
  color: var(--cir-beige);
}

.ct-footer a {
  color: var(--cir-gold-light) !important;
}

.ct-footer a:hover {
  color: #fff !important;
}

.ct-footer h3,
.ct-footer .widget-title {
  color: var(--cir-gold) !important;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 13px;
  font-weight: 800;
  border-bottom: 1px solid var(--cir-gold-dark);
  padding-bottom: 8px;
  margin-bottom: 16px;
}

/* ===== SECTION TITLES ===== */
.cir-section-title {
  font-family: 'Lato', sans-serif;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--cir-green);
}

.cir-section-title span {
  color: var(--cir-gold);
}

.cir-gold-line {
  width: 60px;
  height: 3px;
  background: var(--cir-gold);
  margin: 12px auto;
}

/* ===== CATEGORY CARDS ===== */
.cir-cat-card {
  position: relative;
  overflow: hidden;
}

.cir-cat-card img {
  width: 100%;
  height: 400px;
  object-fit: cover;
  transition: transform 0.4s ease;
}

.cir-cat-card:hover img {
  transform: scale(1.05);
}

.cir-cat-card .cir-cat-overlay {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  background: linear-gradient(transparent, rgba(30,51,37,0.85));
  padding: 32px 24px 24px;
}

.cir-cat-card .cir-cat-label {
  color: #fff;
  font-weight: 800;
  font-size: 22px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.cir-cat-card .cir-cat-sub {
  color: var(--cir-gold-light);
  font-size: 13px;
  letter-spacing: 0.08em;
}

/* ===== HERO ===== */
.cir-hero {
  background: var(--cir-green);
  min-height: 85vh;
  display: flex;
  align-items: center;
}

.cir-hero-tag {
  color: var(--cir-gold);
  font-weight: 800;
  letter-spacing: 0.2em;
  text-transform: uppercase;
  font-size: 13px;
}

.cir-hero-h1 {
  color: #fff;
  font-weight: 900;
  font-size: clamp(40px, 6vw, 82px);
  line-height: 1.05;
  letter-spacing: -0.01em;
  text-transform: uppercase;
}

.cir-hero-h1 em {
  font-style: normal;
  color: var(--cir-gold);
}

.cir-hero-sub {
  color: rgba(255,255,255,0.75);
  font-size: 16px;
  max-width: 480px;
}

/* ===== BADGE OUTLET ===== */
.cir-badge-outlet {
  display: inline-block;
  background: var(--cir-gold);
  color: var(--cir-green);
  font-weight: 900;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-size: 12px;
  padding: 5px 14px;
  border-radius: 2px;
}

/* ===== BRANDS STRIP ===== */
.cir-brands-strip {
  background: var(--cir-cream);
  padding: 28px 0;
  border-top: 1px solid #e8e0d0;
  border-bottom: 1px solid #e8e0d0;
}

.cir-brands-strip .cir-brand-tag {
  color: var(--cir-text-light);
  font-size: 13px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
}

/* ===== PRODUCT HIGHLIGHT SECTION ===== */
.cir-highlight-bg {
  background: var(--cir-beige);
}

/* ===== MOBILE ===== */
@media (max-width: 768px) {
  .cir-hero-h1 { font-size: clamp(32px, 8vw, 52px); }
  .cir-cat-card img { height: 280px; }
}

/* === CONTENT PAGES === */
.cir-page-content {
  max-width: 860px;
  margin: 0 auto;
  padding: 60px 40px 80px;
}
.cir-page-content h1 {
  color: #2d4a35;
  font-size: clamp(28px, 4vw, 44px);
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  margin-bottom: 8px;
}
.cir-page-content h1::after {
  content: '';
  display: block;
  width: 60px;
  height: 3px;
  background: #C8A050;
  margin-top: 16px;
  margin-bottom: 32px;
}
.cir-page-content h2 {
  color: #2d4a35;
  font-size: clamp(18px, 2.5vw, 24px);
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  margin-top: 40px;
  margin-bottom: 12px;
  padding-bottom: 8px;
  border-bottom: 1px solid #e8e0d0;
}
.cir-page-content h3 {
  color: #3a5e44;
  font-size: 17px;
  font-weight: 700;
  margin-top: 24px;
  margin-bottom: 8px;
}
.cir-page-content p {
  color: #444;
  line-height: 1.7;
  margin-bottom: 16px;
}
.cir-page-content ul, .cir-page-content ol {
  color: #444;
  line-height: 1.7;
  padding-left: 24px;
  margin-bottom: 16px;
}
.cir-page-content li {
  margin-bottom: 6px;
}
.cir-page-content a {
  color: #2d4a35;
  font-weight: 600;
  text-decoration: underline;
}
.cir-page-content a:hover {
  color: #C8A050;
}
.cir-page-content em {
  color: #888;
  font-size: 13px;
}
.cir-page-content hr {
  border: none;
  border-top: 2px solid #e8e0d0;
  margin: 40px 0;
}
@media (max-width: 600px) {
  .cir-page-content { padding: 40px 20px 60px; }
}


/* === CART & CHECKOUT (WooCommerce Blocks) === */

/* Page-level padding — blocks bypass theme container */
.woocommerce-cart .wp-block-woocommerce-cart,
.woocommerce-checkout .wp-block-woocommerce-checkout {
  max-width: 1180px;
  margin: 0 auto;
  padding: 50px 40px 80px;
}
@media (max-width: 768px) {
  .woocommerce-cart .wp-block-woocommerce-cart,
  .woocommerce-checkout .wp-block-woocommerce-checkout { padding: 30px 16px 60px; }
}

/* ---- CART BLOCKS ---- */
/* Table header */
.wc-block-cart-items .wc-block-cart-items__header {
  background: #2d4a35;
  padding: 12px 20px;
}
.wc-block-cart-items .wc-block-cart-items__header span {
  color: #fff !important;
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.15em;
  text-transform: uppercase;
  padding: 12px 20px;
  display: block;
}
/* Cart item rows */
.wc-block-cart-items__row {
  border-bottom: 1px solid #e8e0d0 !important;
}
.wc-block-cart-item__product-name,
.wc-block-cart-item__product-name a {
  color: #2d4a35 !important;
  font-weight: 700 !important;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-size: 13px;
}
.wc-block-cart-item__product-name a:hover { color: #C8A050 !important; }
.wc-block-cart-item__total,
.wc-block-cart-item__prices {
  color: #2d4a35 !important;
  font-weight: 700;
}
/* Quantity input */
.wc-block-components-quantity-selector {
  border: 1px solid #c8b88a !important;
  border-radius: 0 !important;
}
.wc-block-components-quantity-selector__button {
  background: #2d4a35 !important;
  color: #fff !important;
  border-radius: 0 !important;
}
.wc-block-components-quantity-selector__button:hover { background: #C8A050 !important; }
.wc-block-components-quantity-selector__value {
  border: none !important;
  font-weight: 700;
  color: #2d4a35;
}
/* Remove button */
.wc-block-cart-item__remove-link { color: #999 !important; }
.wc-block-cart-item__remove-link:hover { color: #c0392b !important; }

/* Cart totals sidebar */
.wc-block-cart__totals-title {
  background: #2d4a35 !important;
  color: #fff !important;
  padding: 14px 24px !important;
  font-size: 12px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  margin: 0 !important;
}
.wc-block-components-totals-wrapper {
  border: 1px solid #e0d8c8;
}
.wc-block-components-totals-item__label,
.wc-block-components-totals-item__value { font-size: 14px; color: #333; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-size: 16px !important;
  font-weight: 800 !important;
  color: #2d4a35 !important;
}
/* Proceed to checkout button */
.wc-block-cart__submit-button,
.wc-block-components-checkout-place-order-button {
  background: #2d4a35 !important;
  color: #fff !important;
  font-size: 12px !important;
  font-weight: 700 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 16px !important;
  border: none !important;
  width: 100% !important;
}
.wc-block-cart__submit-button:hover { background: #1e3325 !important; }
/* Coupon input */
.wc-block-components-totals-coupon__input input {
  border: 1px solid #c8b88a !important;
  border-radius: 0 !important;
}
.wc-block-components-totals-coupon__button {
  background: transparent !important;
  color: #2d4a35 !important;
  border: 1px solid #2d4a35 !important;
  border-radius: 0 !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
}
.wc-block-components-totals-coupon__button:hover {
  background: #2d4a35 !important;
  color: #fff !important;
}

/* ---- CHECKOUT BLOCKS ---- */
/* Section headings */
.wc-block-components-checkout-step__title {
  color: #2d4a35 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.15em !important;
  padding-bottom: 10px !important;
  border-bottom: 2px solid #C8A050 !important;
}
/* Input fields */
.wc-block-components-text-input input,
.wc-block-components-select select,
.wc-block-components-country-input input,
.wc-block-components-state-input input,
.wc-block-components-address-form input,
.wc-block-components-address-form select {
  border: 1px solid #d0c8b8 !important;
  border-radius: 0 !important;
  padding: 12px 16px !important;
  font-size: 14px !important;
  color: #333 !important;
  background: #fff !important;
}
.wc-block-components-text-input input:focus,
.wc-block-components-select select:focus,
.wc-block-components-address-form input:focus,
.wc-block-components-address-form select:focus {
  border-color: #2d4a35 !important;
  box-shadow: none !important;
  outline: none !important;
}
/* Labels */
.wc-block-components-text-input label,
.wc-block-components-select label,
.wc-block-components-address-form label {
  font-size: 10px !important;
  font-weight: 700 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.1em !important;
  color: #555 !important;
}
/* Checkbox */
.wc-block-components-checkbox input[type=checkbox] { accent-color: #2d4a35; }
/* Order summary sidebar */
.wc-block-checkout__sidebar .wc-block-components-order-summary {
  background: #fff;
  border: 1px solid #e0d8c8;
}
.wc-block-components-order-summary__button-text {
  background: #2d4a35;
  color: #fff !important;
  font-size: 11px !important;
  letter-spacing: 0.15em !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  padding: 14px 24px !important;
}
.wc-block-components-order-summary-item__quantity { background: #2d4a35 !important; color: #fff !important; }
.wc-block-components-totals-footer-item .wc-block-components-totals-item__label,
.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
  font-weight: 800 !important;
  color: #2d4a35 !important;
}
/* Place order button */
.wc-block-components-checkout-place-order-button {
  background: #C8A050 !important;
  color: #2d4a35 !important;
  font-size: 12px !important;
  font-weight: 800 !important;
  letter-spacing: 0.2em !important;
  text-transform: uppercase !important;
  border-radius: 0 !important;
  padding: 18px !important;
  width: 100% !important;
  border: none !important;
}
.wc-block-components-checkout-place-order-button:hover { background: #b8903f !important; }
/* Step number circle */
.wc-block-components-checkout-step__number {
  background: #2d4a35 !important;
  color: #fff !important;
}

/* === MOBILE HEADER FIXES === */
@media (max-width: 767px) {
  /* Outer container: add side padding so logo has left margin */
  .elementor-location-header [data-id='4ccac061'].e-con {
    padding-left: 16px !important;
    padding-right: 16px !important;
  }

  /* Logo: force left align inside its container */
  .elementor-location-header [data-id='1a205c44'].e-con {
    justify-content: flex-start !important;
    align-items: center !important;
  }
  .elementor-location-header .elementor-widget-theme-site-logo {
    text-align: left !important;
    display: flex !important;
    align-items: center !important;
  }
  .elementor-location-header .elementor-widget-theme-site-logo img {
    max-width: 56px !important;
    width: 56px !important;
    height: auto !important;
    object-fit: contain !important;
  }

  /* Mobile menu dropdown: push below the header bar */
  .elementor-location-header .elementor-nav-menu--dropdown.elementor-nav-menu__container {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    margin-top: 8px !important;
    z-index: 9999 !important;
    box-shadow: 0 8px 24px rgba(0,0,0,0.15) !important;
    border-top: 2px solid #C8A050 !important;
  }
  .elementor-location-header .elementor-nav-menu--main.elementor-nav-menu__container.elementor-nav-menu--dropdown {
    position: absolute !important;
    top: 100% !important;
    left: -16px !important;
    right: -16px !important;
    margin-top: 8px !important;
    z-index: 9999 !important;
  }
}

/* === 4-COLUMN CATEGORIES GRID === */
.cir-cats-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
}
.cir-cats-grid-4 .cir-cat-card-bg {
  position: relative;
  height: 380px;
  overflow: hidden;
}
/* Gradient backgrounds per category — defined in template-homepage.php */
@media (max-width: 900px) {
  .cir-cats-grid-4 { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 480px) {
  .cir-cats-grid-4 { grid-template-columns: 1fr; }
  .cir-cats-grid-4 .cir-cat-card-bg { height: 200px; }
}

/* removed broken image block */
/* Card container: clean white bg */
.woocommerce ul.products li.product {
  background: #fff;
  border: 1px solid #ede8de;
  transition: box-shadow 0.25s, transform 0.25s;
}
.woocommerce ul.products li.product:hover {
  box-shadow: 0 6px 24px rgba(45,74,53,0.12);
  transform: translateY(-3px);
}
/* Product info area padding */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  padding: 12px 14px 4px !important;
  margin: 0 !important;
  font-size: 12px !important;
  letter-spacing: 0.08em !important;
  text-align: center !important;
}
.woocommerce ul.products li.product .price {
  padding: 0 14px 8px !important;
  display: block !important;
  text-align: center !important;
}
.woocommerce ul.products li.product .button {
  margin: 0 14px 14px !important;
  width: calc(100% - 28px) !important;
  font-size: 11px !important;
  padding: 10px !important;
  letter-spacing: 0.12em !important;
  text-align: center !important;
}

/* === HERO BUTTONS MOBILE FIX === */
.cir-hero-buttons {
  display: flex;
  flex-wrap: wrap;
  gap: 16px;
  align-items: center;
  margin-top: 32px;
}
.cir-btn-gold {
  padding: 16px 32px !important;
  font-size: 14px !important;
  letter-spacing: 0.15em !important;
  display: inline-block !important;
  white-space: nowrap !important;
}
.cir-btn-outline {
  padding: 14px 28px !important;
  font-size: 14px !important;
  letter-spacing: 0.15em !important;
  display: inline-block !important;
  white-space: nowrap !important;
}
@media (max-width: 480px) {
  .cir-hero-buttons {
    flex-direction: column;
    align-items: flex-start;
    gap: 12px;
  }
  .cir-btn-gold, .cir-btn-outline {
    width: 100% !important;
    text-align: center !important;
    box-sizing: border-box !important;
  }
}

/* === CATEGORY CARDS: 1 COLUMN ON MOBILE === */
@media (max-width: 767px) {
  .cir-cats-grid,
  .cir-cats-grid-4 {
    grid-template-columns: 1fr !important;
  }
  .cir-cats-grid-4 .cir-cat-card-bg {
    height: 160px !important;
  }
  /* Category card: horizontal layout on mobile */
  .cir-cat-card {
    display: flex !important;
    align-items: stretch !important;
  }
  .cir-cat-card-bg {
    flex: 1 !important;
    position: relative !important;
  }
  .cir-cat-overlay {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: space-between !important;
    padding: 20px 24px !important;
    position: absolute !important;
    inset: 0 !important;
    background: linear-gradient(90deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.25) 100%) !important;
  }
  .cir-cat-label {
    font-size: 20px !important;
    min-width: 100px !important;
  }
  .cir-cat-count {
    font-size: 11px !important;
    flex: 1 !important;
    padding: 0 12px !important;
    line-height: 1.6 !important;
  }
  .cir-cat-arrow {
    font-size: 20px !important;
  }
}

/* === PRODUCT CARDS: 1 COLUMN ON MOBILE, 3 ON DESKTOP === */
@media (max-width: 767px) {
  .woocommerce ul.products,
  .woocommerce-page ul.products {
    grid-template-columns: 1fr !important;
    columns: 1 !important;
  }
  .woocommerce ul.products li.product,
  .woocommerce-page ul.products li.product {
    width: 100% !important;
    margin: 0 0 20px !important;
    float: none !important;
    clear: both !important;
  }
  .woocommerce ul.products li.product .button {
    font-size: 13px !important;
    padding: 14px !important;
    white-space: normal !important;
    line-height: 1.3 !important;
  }
  /* Product title: menos letter-spacing en mobile */
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    letter-spacing: 0.04em !important;
    font-size: 14px !important;
  }
}
/* Desktop: 3 columnas ocupa todo el ancho */
@media (min-width: 768px) {
  .woocommerce ul.products,
  ul.products.elementor-grid,
  .woocommerce-page ul.products {
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 24px !important;
    width: 100% !important;
    float: none !important;
  }
  .woocommerce ul.products li.product,
  ul.products.elementor-grid li.product,
  .woocommerce-page ul.products li.product {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    min-width: 0 !important;
  }
}

/* === GLOBAL BUTTON PADDING FIX === */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.wp-element-button,
.wc-block-components-button {
  padding: 14px 20px !important;
  min-width: 0 !important;
  white-space: normal !important;
}

/* === NAV DESKTOP: FORCE SINGLE ROW === */
.elementor-location-header .elementor-nav-menu {
  flex-wrap: nowrap !important;
  white-space: nowrap !important;
}
.elementor-location-header .elementor-nav-menu > li > a {
  font-size: 11px !important;
  letter-spacing: 0.1em !important;
  padding: 6px 8px !important;
  white-space: nowrap !important;
}
/* Container navega no corte */
.elementor-location-header [data-id='110b604b'].e-con {
  flex-wrap: nowrap !important;
  overflow: visible !important;
  flex-shrink: 1 !important;
  min-width: 0 !important;
}

/* === PRODUCT CARDS IMPROVEMENTS === */
/* Hide category label on cards (clutters the card) */
.woocommerce ul.products li.product .woocommerce-loop-product__category,
.woocommerce ul.products li.product .meta-categories,
.woocommerce ul.products li.product .ast-woo-product-category,
.woocommerce ul.products li.product .product_meta,
.woocommerce ul.products li.product .posted_in {
  display: none !important;
}
/* Price: no wrap, consistent size */
.woocommerce ul.products li.product .price {
  white-space: nowrap !important;
  font-size: 14px !important;
  letter-spacing: 0 !important;
}
.woocommerce ul.products li.product .price bdi,
.woocommerce ul.products li.product .price .woocommerce-Price-amount {
  white-space: nowrap !important;
}
/* Title: tight but readable */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  white-space: normal !important;
  word-break: normal !important;
  font-size: 13px !important;
  line-height: 1.4 !important;
  min-height: 2.8em !important;
}
/* Image: portrait 3:4 ratio via Blocksy ct-media-container */
.woocommerce ul.products li.product .ct-media-container {
  display: block !important;
  aspect-ratio: 3 / 4 !important;
  overflow: hidden !important;
  position: relative !important;
  width: 100% !important;
}
.woocommerce ul.products li.product .ct-media-container img {
  position: absolute !important;
  top: 0 !important;
  left: 0 !important;
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  object-position: top center !important;
  aspect-ratio: unset !important;
  background: #f9f7f4 !important;
}

/* === NAV DESKTOP: FORCE SINGLE ROW — extra selectors === */
@media (min-width: 768px) {
  .elementor-location-header .elementor-nav-menu--main.elementor-nav-menu__container {
    flex-wrap: nowrap !important;
    overflow: visible !important;
  }
  .elementor-location-header .elementor-nav-menu--main .elementor-nav-menu {
    flex-wrap: nowrap !important;
    flex-direction: row !important;
  }
  .elementor-location-header .elementor-nav-menu > li {
    flex-shrink: 0 !important;
  }
  .elementor-location-header .elementor-nav-menu > li > a,
  .elementor-location-header .elementor-nav-menu > li > a.elementor-item {
    font-size: 10px !important;
    letter-spacing: 0.08em !important;
    padding: 4px 7px !important;
    white-space: nowrap !important;
    word-break: keep-all !important;
  }
}

/* === SHOP LAYOUT: FULL WIDTH, NO SIDEBAR === */
body.woocommerce .ct-sidebar,
body.woocommerce-page .ct-sidebar,
body.post-type-archive-product .ct-sidebar {
  display: none !important;
}
/* WooCommerce figure wrapping ct-media-container: no extra height */
.woocommerce ul.products li.product figure {
  display: block !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}
/* Remove any padding-bottom trick Blocksy uses on figure */
.woocommerce ul.products li.product figure::before,
.woocommerce ul.products li.product figure::after {
  display: none !important;
}
/* Product card: clean layout */
.woocommerce ul.products li.product {
  display: flex !important;
  flex-direction: column !important;
}
.woocommerce ul.products li.product .ct-woo-card-extra {
  flex: 1 !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 12px !important;
}
/* Title + price centered */
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  text-align: center !important;
  padding: 0 !important;
  margin: 8px 0 4px !important;
}
.woocommerce ul.products li.product .price {
  text-align: center !important;
  margin: 0 0 10px !important;
}

/* === PRODUCT CARD IMAGE: REMOVE BLOCKSY ::before PADDING TRICK === */
/* Blocksy uses ::before{padding-bottom:100%} to force 1:1 square — override it */
.woocommerce ul.products li.product .ct-media-container::before {
  content: none !important;
  display: none !important;
  padding-bottom: 0 !important;
}
/* Re-declare container as block with 3:4 portrait (clean, no conflict) */
.woocommerce ul.products li.product .ct-media-container {
  display: block !important;
  aspect-ratio: 3 / 4 !important;
  position: relative !important;
  overflow: hidden !important;
  width: 100% !important;
}
/* Figure: zero spacing, no own height */
.woocommerce ul.products li.product figure {
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
  display: block !important;
}
