/*
Theme Name: Casa Viva Storefront
Theme URI: https://casavivadecuba.com/
Author: Casa Viva
Description: Tema comercial ligero y móvil para la tienda Casa Viva.
Version: 1.0.2
Text Domain: casa-viva-storefront
*/

:root {
  --cv-petroleo: #006068;
  --cv-verde: #004042;
  --cv-beige: #f2e9dc;
  --cv-arena: #e5d6bd;
  --cv-blanco-roto: #fafaf7;
  --cv-tinta: #222222;
  --cv-gris: #555555;
  --cv-borde: #e0e0e0;
  --cv-exito: #28a745;
  --cv-max: 1200px;
  --cv-radio: 24px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  background: #fff;
  color: var(--cv-tinta);
  font-family: Inter, "Helvetica Neue", Arial, sans-serif;
  font-size: 16px;
  line-height: 1.6;
}
a { color: inherit; }
img { display: block; max-width: 100%; }
.cv-container { width: min(100% - 32px, var(--cv-max)); margin-inline: auto; }
.cv-section { padding: 64px 0; }
.cv-section--soft { background: var(--cv-blanco-roto); }
.cv-eyebrow {
  margin: 0 0 14px;
  color: var(--cv-petroleo);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: .2em;
  text-transform: uppercase;
}
.cv-title {
  margin: 0;
  max-width: 820px;
  font-size: clamp(30px, 4vw, 48px);
  line-height: 1.08;
  letter-spacing: -.035em;
}
.cv-copy { color: var(--cv-gris); max-width: 720px; }
.cv-button {
  align-items: center;
  background: var(--cv-petroleo);
  border: 1px solid var(--cv-petroleo);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  font-weight: 700;
  justify-content: center;
  min-height: 48px;
  padding: 10px 24px;
  text-decoration: none;
  transition: .2s ease;
}
.cv-button:hover { background: var(--cv-verde); border-color: var(--cv-verde); }
.cv-button--ghost { background: #fff; color: var(--cv-petroleo); }
.cv-button--light { background: #fff; border-color: #fff; color: var(--cv-petroleo); }
.cv-button:focus-visible, .cv-nav a:focus-visible, .cv-category:focus-visible {
  outline: 3px solid var(--cv-arena);
  outline-offset: 3px;
}

.cv-header {
  background: rgba(255,255,255,.96);
  border-bottom: 1px solid var(--cv-borde);
  position: relative;
  top: auto;
  z-index: 50;
}
.admin-bar .cv-header { top: auto; }
.cv-header__inner { align-items: center; display: flex; min-height: 74px; justify-content: space-between; gap: 20px; }
.cv-brand {
  color: var(--cv-verde);
  font-size: 19px;
  letter-spacing: .22em;
  line-height: 1;
  text-decoration: none;
}
.cv-brand span { display: block; }
.cv-nav { align-items: center; display: flex; gap: 26px; }
.cv-nav a { font-size: 14px; font-weight: 650; text-decoration: none; }
.cv-nav a:hover { color: var(--cv-petroleo); }
.cv-mobile-nav { display: none; position: relative; }
.cv-mobile-nav summary { cursor: pointer; font-weight: 700; list-style: none; }
.cv-mobile-nav summary::-webkit-details-marker { display: none; }
.cv-mobile-nav__panel {
  background: #fff;
  border: 1px solid var(--cv-borde);
  border-radius: 16px;
  box-shadow: 0 16px 40px rgba(0,64,66,.12);
  display: grid;
  gap: 2px;
  min-width: 220px;
  padding: 10px;
  position: absolute;
  right: 0;
  top: 38px;
}
.cv-mobile-nav__panel a { border-radius: 10px; padding: 10px 12px; text-decoration: none; }

.cv-hero { padding: 56px 0 68px; }
.cv-hero__grid { align-items: center; display: grid; gap: 48px; grid-template-columns: 1.05fr .95fr; }
.cv-hero h1 {
  font-size: clamp(40px, 5vw, 68px);
  letter-spacing: -.05em;
  line-height: 1.02;
  margin: 0;
}
.cv-hero__lead { color: var(--cv-gris); font-size: 18px; margin: 24px 0 0; max-width: 650px; }
.cv-actions { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 30px; }
.cv-trust { color: var(--cv-verde); font-size: 13px; font-weight: 650; letter-spacing: .03em; margin: 24px 0 0; }
.cv-hero__media { aspect-ratio: 1/1; border-radius: 32px; overflow: hidden; }
.cv-hero__media img { height: 100%; object-fit: cover; width: 100%; }

.cv-steps, .cv-benefits, .cv-products { display: grid; gap: 16px; margin-top: 32px; }
.cv-steps { grid-template-columns: repeat(4, 1fr); }
.cv-step, .cv-benefit, .cv-product {
  background: #fff;
  border: 1px solid var(--cv-borde);
  border-radius: var(--cv-radio);
  padding: 22px;
}
.cv-step__number { color: var(--cv-petroleo); font-size: 13px; font-weight: 800; }
.cv-step h3, .cv-benefit h3 { font-size: 17px; margin: 10px 0 0; }
.cv-categories { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.cv-category {
  background: #fff;
  border: 1px solid var(--cv-borde);
  border-radius: 14px;
  font-size: 14px;
  font-weight: 700;
  padding: 12px 16px;
  text-decoration: none;
}
.cv-category:hover { border-color: var(--cv-petroleo); color: var(--cv-petroleo); }
.cv-products { grid-template-columns: repeat(3, 1fr); }
.cv-product {
  display: flex;
  flex-direction: column;
  min-width: 0;
  overflow: hidden;
  padding: 14px;
}
.cv-product__image {
  aspect-ratio: 4/3;
  background: var(--cv-blanco-roto);
  border-radius: 16px;
  display: block;
  flex: 0 0 auto;
  overflow: hidden;
  width: 100%;
}
.cv-product__image img { height: 100%; object-fit: cover; width: 100%; }
.cv-product h3 { clear: both; font-size: 18px; line-height: 1.25; margin: 18px 4px 8px; overflow-wrap: anywhere; }
.cv-product__price { color: var(--cv-petroleo); font-weight: 800; margin: 0 4px 16px; }
.cv-products-empty { background: var(--cv-blanco-roto); border-radius: var(--cv-radio); margin-top: 28px; padding: 28px; }
.cv-benefits { grid-template-columns: repeat(3, 1fr); }
.cv-benefit p { color: var(--cv-gris); font-size: 14px; margin-bottom: 0; }
.cv-footer { background: var(--cv-blanco-roto); border-top: 1px solid var(--cv-borde); padding: 42px 0; }
.cv-footer__grid { display: flex; justify-content: space-between; gap: 30px; }
.cv-footer p { color: var(--cv-gris); font-size: 14px; margin: 8px 0 0; }
.cv-footer nav { display: flex; flex-wrap: wrap; gap: 18px; }
.cv-footer a { font-size: 14px; text-decoration: none; }

.cv-content { min-height: 65vh; padding: 52px 0; }
.woocommerce .products ul, .woocommerce ul.products { display: grid; gap: 20px; grid-template-columns: repeat(3, 1fr); }
.woocommerce ul.products::before, .woocommerce ul.products::after { display: none; }
.woocommerce ul.products li.product {
  background: #fff;
  border: 1px solid var(--cv-borde);
  border-radius: 20px;
  display: flex;
  float: none;
  flex-direction: column;
  margin: 0;
  min-width: 0;
  overflow: hidden;
  padding: 14px;
  width: 100% !important;
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link { display: block; width: 100%; }
.woocommerce ul.products li.product a img {
  aspect-ratio: 1 / 1;
  border-radius: 14px;
  height: auto;
  margin: 0 0 14px;
  object-fit: cover;
  width: 100%;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  color: var(--cv-tinta);
  font-size: 17px;
  line-height: 1.3;
  margin: 0;
  min-height: 2.6em;
  padding: 0;
}
.woocommerce ul.products li.product .price { color: var(--cv-petroleo); font-size: 17px; font-weight: 800; margin: 10px 0 14px; }
.woocommerce ul.products li.product .button { align-self: stretch; margin-top: auto; text-align: center; }
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
  background: var(--cv-petroleo); border-radius: 999px; color: #fff; padding: 13px 20px;
}
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover { background: var(--cv-verde); color: #fff; }
.woocommerce-account .woocommerce{display:grid;gap:24px;grid-template-columns:220px minmax(0,1fr)}.woocommerce-account .woocommerce-notices-wrapper{grid-column:1/-1}.woocommerce-account .woocommerce-MyAccount-navigation{float:none;width:auto}.woocommerce-account .woocommerce-MyAccount-navigation ul{background:var(--cv-verde);border-radius:18px;display:grid;gap:4px;list-style:none;margin:0;padding:9px}.woocommerce-account .woocommerce-MyAccount-navigation li a{border-radius:11px;color:#fff;display:block;font-size:14px;font-weight:750;padding:10px 12px;text-decoration:none}.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{background:#fff;color:var(--cv-verde)}.woocommerce-account .woocommerce-MyAccount-content{float:none;width:auto}.woocommerce-account:not(.logged-in) .woocommerce{display:block;max-width:620px}.woocommerce-account form.login{border:1px solid var(--cv-borde);border-radius:24px;box-shadow:0 18px 60px rgba(0,64,66,.08);margin:20px 0;padding:clamp(22px,5vw,42px)}.woocommerce-account form.login input.input-text{border:1px solid #bdc9c6;border-radius:12px;min-height:50px;padding:10px 13px}
@media(max-width:800px){.woocommerce-account .woocommerce{grid-template-columns:1fr}.woocommerce-account .woocommerce-MyAccount-navigation ul{display:flex;overflow-x:auto}.woocommerce-account .woocommerce-MyAccount-navigation li{flex:0 0 auto}}
.cv-catalog-filters{background:var(--cv-crema);border:1px solid var(--cv-borde);border-radius:18px;clear:both;margin:0 0 24px;padding:0 18px}.cv-catalog-filters summary{color:var(--cv-petroleo);cursor:pointer;font-weight:800;padding:16px 0}.cv-catalog-filters form{align-items:end;border-top:1px solid var(--cv-borde);display:grid;gap:12px;grid-template-columns:1.4fr 1fr 1fr auto auto;padding:16px 0}.cv-catalog-filters label{display:grid;font-size:12px;font-weight:750;gap:5px}.cv-catalog-filters select,.cv-catalog-filters input[type=number]{background:#fff;border:1px solid #bdc9c6;border-radius:10px;font:inherit;min-height:44px;padding:8px 10px;width:100%}.cv-catalog-filters .cv-filter-check{align-items:center;display:flex;font-size:14px;min-height:44px}.cv-filter-actions{align-items:center;display:flex;gap:10px}.cv-filter-actions a{color:var(--cv-petroleo);font-size:13px;font-weight:750}

.single-product div.product .product_meta { display: none; }
.single-product div.product .stock { color: var(--cv-petroleo); font-weight: 800; }
.single-product div.product form.cart .button { background: var(--cv-petroleo); }
.single-product div.product form.cart .button,
.single-product div.product form.cart .button.alt { background: var(--cv-petroleo) !important; color: #fff !important; }
.single-product div.product form.variations_form { background: #fafaf7; border: 1px solid var(--cv-borde); border-radius: 18px; padding: 16px; }
.single-product div.product form.variations_form table.variations { margin-bottom: 14px; width: 100%; }
.single-product div.product form.variations_form table.variations tr { display: grid; gap: 7px; }
.single-product div.product form.variations_form table.variations th,
.single-product div.product form.variations_form table.variations td { display: block; padding: 0; text-align: left; width: 100%; }
.single-product div.product form.variations_form table.variations label { color: var(--cv-verde); font-size: 15px; font-weight: 800; }
.single-product div.product form.variations_form table.variations select {
  appearance: none;
  background: #fff linear-gradient(45deg, transparent 50%, var(--cv-petroleo) 50%) calc(100% - 18px) 50% / 6px 6px no-repeat;
  border: 2px solid #8bb4b6;
  border-radius: 12px;
  color: var(--cv-tinta);
  font-size: 16px;
  min-height: 52px;
  padding: 10px 42px 10px 13px;
  width: 100%;
}
.single-product div.product form.variations_form table.variations select:focus { border-color: var(--cv-petroleo); outline: 3px solid rgba(0,96,104,.14); }
.single-product div.product form.cart .quantity.cv-quantity-control {
  align-items: center;
  background: #fff;
  border: 1px solid #c9d6d7;
  border-radius: 999px;
  display: inline-flex;
  float: none;
  gap: 4px;
  margin: 0 0 12px;
  padding: 4px;
}
.cv-quantity-label { color: var(--cv-gris); font-size: 13px; font-weight: 800; margin: 0 7px 0 9px; }
.single-product .cv-quantity-control .qty { border: 0; font-size: 16px; font-weight: 800; height: 38px; padding: 4px; text-align: center; width: 44px; }
.cv-quantity-button { align-items: center; background: var(--cv-blanco-roto); border: 0; border-radius: 50%; color: var(--cv-verde); cursor: pointer; display: inline-flex; font-size: 22px; height: 38px; justify-content: center; line-height: 1; width: 38px; }
.cv-quantity-button:hover { background: var(--cv-beige); }
.woocommerce ul.products li.product .added_to_cart.wc-forward {
  align-items: center;
  background: var(--cv-beige);
  border: 1px solid var(--cv-arena);
  border-radius: 12px;
  color: var(--cv-verde);
  display: flex;
  font-size: 14px;
  font-weight: 850;
  justify-content: center;
  margin-top: 9px;
  min-height: 44px;
  padding: 9px 10px;
  text-align: center;
  text-decoration: none;
  width: 100%;
}
.woocommerce ul.products li.product .added_to_cart.wc-forward::before { content: "✓"; margin-right: 7px; }
.cv-product-accordions { clear: both; margin-top: 34px; }
.cv-product-accordions details { border-bottom: 1px solid var(--cv-borde); }
.cv-product-accordions summary { cursor: pointer; font-size: 17px; font-weight: 800; list-style: none; padding: 18px 34px 18px 0; position: relative; }
.cv-product-accordions summary::-webkit-details-marker { display: none; }
.cv-product-accordions summary::after { content: "+"; font-size: 24px; font-weight: 400; position: absolute; right: 4px; top: 12px; }
.cv-product-accordions details[open] summary::after { content: "−"; }
.cv-product-accordion__content { color: var(--cv-gris); padding: 0 0 24px; }
.cv-product-accordion__content > :first-child { margin-top: 0; }
.cv-product-accordion__content > h1:first-child,
.cv-product-accordion__content > h2:first-child { display: none; }

@media (max-width: 900px) {
  .cv-hero__grid { grid-template-columns: 1fr; }
  .cv-hero__media { aspect-ratio: 16/10; }
  .cv-steps { grid-template-columns: repeat(2, 1fr); }
  .cv-products, .cv-benefits { grid-template-columns: repeat(2, 1fr); }
  .cv-nav { display: none; }
  .cv-mobile-nav { display: block; }
}

@media (max-width: 600px) {
  .admin-bar .cv-header { top: 46px; }
  .cv-container { width: min(100% - 24px, var(--cv-max)); }
  .cv-section { padding: 48px 0; }
  .cv-hero { padding: 38px 0 50px; }
  .cv-hero__grid { gap: 30px; }
  .cv-hero__lead { font-size: 16px; }
  .cv-actions { display: grid; }
  .cv-steps, .cv-products, .cv-benefits { grid-template-columns: 1fr; }
  .cv-categories { flex-wrap: nowrap; margin-right: -12px; overflow-x: auto; padding-bottom: 8px; }
  .cv-category { flex: 0 0 auto; }
  .cv-footer__grid { display: grid; }
  .woocommerce .products ul, .woocommerce ul.products { gap: 12px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .woocommerce ul.products li.product { border-radius: 16px; padding: 9px; }
  .woocommerce ul.products li.product a img { border-radius: 11px; margin-bottom: 10px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    display: -webkit-box;
    font-size: 14px;
    min-height: 2.65em;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .woocommerce ul.products li.product .price { font-size: 16px; margin: 8px 0 10px; }
  .woocommerce ul.products li.product .button { font-size: 13px; min-height: 44px; padding: 10px 8px; }
	.woocommerce ul.products[class*="columns-"] li.product,
	.woocommerce-page ul.products[class*="columns-"] li.product { clear: none !important; float: none !important; margin: 0 !important; width: 100% !important; }
	.single-product .related.products ul.products { align-items: stretch; }
	.single-product .related.products ul.products li.product { min-height: 100%; }
	.single-product .related.products ul.products li.product .button { border-radius: 12px; line-height: 1.2; white-space: normal; }
  .woocommerce .woocommerce-result-count { float: none; font-size: 14px; margin-bottom: 10px; }
  .woocommerce .woocommerce-ordering { float: none; margin: 0 0 20px; width: 100%; }
  .woocommerce .woocommerce-ordering select { min-height: 44px; width: 100%; }
  .single-product div.product .summary { margin-bottom: 24px; }
  .single-product div.product .woocommerce-product-details__short-description {
    display: -webkit-box;
    font-size: 15px;
    line-height: 1.55;
    margin-bottom: 16px;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 3;
  }
  .single-product div.product form.cart .button { clear: both; min-height: 50px; width: 100%; }
  .single-product .woocommerce-product-gallery { overflow: hidden; width: 100%; }
  .single-product .woocommerce-product-gallery img { height: auto; max-width: 100%; width: 100%; }
  .single-product .woocommerce-tabs { margin-top: 24px; }
  .woocommerce-cart .cv-whatsapp, .woocommerce-checkout .cv-whatsapp { display: none; }
}

/* Portada marketplace v0.6: búsqueda, categorías y productos antes que contenido institucional. */
.cv-market-home{background:#fff}.cv-market-discovery{background:linear-gradient(180deg,#f7f2e9 0,#fff 100%);border-bottom:1px solid var(--cv-borde);padding:20px 0 22px}.cv-market-search{margin:0 auto;max-width:980px}.cv-quick-category-grid{display:grid;gap:10px;grid-template-columns:repeat(10,minmax(0,1fr));margin-top:18px}.cv-quick-category-grid a{align-items:center;border-radius:14px;color:var(--cv-tinta);display:flex;flex-direction:column;gap:7px;min-width:0;padding:9px 4px;text-align:center;text-decoration:none}.cv-quick-category-grid a:hover{background:#fff;box-shadow:0 8px 24px rgba(0,64,66,.08);color:var(--cv-petroleo)}.cv-quick-category-grid span{align-items:center;background:#fff;border:1px solid #d8e2de;border-radius:50%;color:var(--cv-petroleo);display:flex;height:54px;justify-content:center;width:54px}.cv-quick-category-grid svg{fill:none;height:27px;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.6;width:27px}.cv-quick-category-grid strong{font-size:12px;line-height:1.25;overflow-wrap:anywhere}
.cv-market-section{padding:38px 0 18px}.cv-market-section:nth-of-type(odd){background:var(--cv-blanco-roto)}.cv-market-heading{align-items:end;display:flex;gap:20px;justify-content:space-between;margin-bottom:18px}.cv-market-heading p{color:var(--cv-petroleo);font-size:11px;font-weight:800;letter-spacing:.14em;margin:0 0 4px;text-transform:uppercase}.cv-market-heading h2{font-size:clamp(25px,3vw,36px);letter-spacing:-.035em;line-height:1.1;margin:0}.cv-market-heading>a{color:var(--cv-petroleo);font-size:13px;font-weight:800;text-decoration:none;white-space:nowrap}.cv-market-shelf{display:grid;gap:13px;grid-template-columns:repeat(5,minmax(0,1fr))}.cv-market-product{background:#fff;border:1px solid var(--cv-borde);border-radius:16px;display:flex;flex-direction:column;min-width:0;overflow:hidden;padding:9px}.cv-market-product__image{aspect-ratio:1/1;background:var(--cv-blanco-roto);border-radius:11px;display:block;overflow:hidden;position:relative}.cv-market-product__image img{height:100%;object-fit:cover;width:100%}.cv-sale-badge{background:#b92323;border-radius:999px;color:#fff;font-size:10px;font-weight:850;left:7px;padding:4px 8px;position:absolute;top:7px;z-index:2}.cv-market-product h3{font-size:14px;line-height:1.32;margin:11px 3px 8px;min-height:2.65em}.cv-market-product h3 a{display:-webkit-box;overflow:hidden;text-decoration:none;-webkit-box-orient:vertical;-webkit-line-clamp:2}.cv-market-product__bottom{align-items:center;display:flex;gap:8px;justify-content:space-between;margin:auto 3px 2px}.cv-market-product__price{color:var(--cv-petroleo);font-size:16px;font-weight:850;line-height:1.2}.cv-market-product__price del{color:#777;font-size:11px;font-weight:500}.cv-market-product__price ins{text-decoration:none}.woocommerce .cv-market-product a.cv-product-buy,.cv-market-product a.cv-product-buy{align-items:center;background:var(--cv-petroleo);border-radius:999px;color:#fff;display:inline-flex;font-size:11px;font-weight:800;justify-content:center;min-height:36px;padding:7px 12px;text-decoration:none;white-space:nowrap}.cv-market-product a.cv-product-buy:hover{background:var(--cv-verde)}
.cv-room-section{padding-bottom:42px}.cv-room-grid{display:grid;gap:14px;grid-template-columns:repeat(4,1fr)}.cv-room-grid a{aspect-ratio:4/3;border-radius:18px;overflow:hidden;position:relative;text-decoration:none}.cv-room-grid img{height:100%;object-fit:cover;transition:transform .25s;width:100%}.cv-room-grid a:hover img{transform:scale(1.025)}.cv-room-grid span{background:linear-gradient(90deg,rgba(0,64,66,.94),rgba(0,64,66,.72));bottom:0;color:#fff;font-size:15px;font-weight:800;left:0;padding:12px 14px;position:absolute;right:0}.cv-room-grid b{float:right}.cv-market-benefits{border-top:1px solid var(--cv-borde);padding:24px 0 34px}.cv-market-benefits .cv-container{display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}.cv-market-benefits .cv-container>div{background:var(--cv-blanco-roto);border-radius:14px;display:grid;grid-template-columns:auto 1fr;column-gap:9px;padding:15px}.cv-market-benefits span{font-size:21px;grid-row:1/3}.cv-market-benefits strong{font-size:14px}.cv-market-benefits small{color:var(--cv-gris);font-size:11px;line-height:1.4}
@media(max-width:1000px){.cv-quick-category-grid{grid-template-columns:repeat(5,1fr)}.cv-market-shelf{grid-template-columns:repeat(4,1fr)}}
@media(max-width:700px){.cv-market-discovery{padding:12px 0 14px}.cv-market-search{position:relative}.cv-market-search button{font-size:13px;padding-inline:12px}.cv-quick-category-grid{display:flex;gap:6px;margin-left:-4px;margin-right:-12px;overflow-x:auto;padding:0 12px 5px 4px;scrollbar-width:none}.cv-quick-category-grid::-webkit-scrollbar{display:none}.cv-quick-category-grid a{flex:0 0 78px;padding:5px 2px}.cv-quick-category-grid span{height:48px;width:48px}.cv-quick-category-grid svg{height:24px;width:24px}.cv-quick-category-grid strong{font-size:11px}.cv-market-section{padding:28px 0 10px}.cv-market-heading{margin-bottom:14px}.cv-market-heading h2{font-size:25px}.cv-market-heading p{font-size:10px}.cv-market-shelf{display:flex;gap:10px;margin-right:-12px;overflow-x:auto;padding:0 12px 12px 0;scroll-snap-type:x proximity;scrollbar-width:none}.cv-market-shelf::-webkit-scrollbar{display:none}.cv-market-product{flex:0 0 46%;scroll-snap-align:start}.cv-market-product__bottom{align-items:stretch;display:grid}.woocommerce .cv-market-product a.cv-product-buy,.cv-market-product a.cv-product-buy{min-height:38px;width:100%}.cv-room-grid{display:flex;margin-right:-12px;overflow-x:auto;padding-right:12px;scroll-snap-type:x proximity;scrollbar-width:none}.cv-room-grid a{flex:0 0 76%;scroll-snap-align:start}.cv-market-benefits .cv-container{grid-template-columns:1fr 1fr}.cv-market-benefits .cv-container>div{padding:12px}.cv-market-benefits small{font-size:10px}}
@media(max-width:360px){.cv-market-product{flex-basis:70%}.cv-market-benefits .cv-container{grid-template-columns:1fr}}

/* Servicios enlazados, páginas informativas y compra consistente. */
.cv-market-benefits .cv-container{grid-template-columns:repeat(3,1fr)}
.cv-market-benefits .cv-container>a{background:var(--cv-blanco-roto);border:1px solid transparent;border-radius:14px;color:inherit;display:grid;grid-template-columns:auto 1fr;column-gap:9px;padding:17px;text-decoration:none;transition:border-color .2s,transform .2s}
.cv-market-benefits .cv-container>a:hover{border-color:var(--cv-arena);transform:translateY(-2px)}
.cv-market-benefits .cv-container>a span{grid-row:1/4}.cv-market-benefits .cv-container>a b{color:var(--cv-petroleo);font-size:11px;margin-top:8px}
.woocommerce ul.products li.product .button.added::after,.cv-market-product .button.added::after{display:none!important}
.woocommerce ul.products li.product .button,.woocommerce ul.products li.product .added_to_cart.wc-forward{box-sizing:border-box;font-weight:800;min-height:48px;width:100%}
.cv-info-page{margin:0 auto;max-width:960px;padding:10px 0 44px}.cv-info-kicker{color:var(--cv-petroleo);font-size:12px;font-weight:850;letter-spacing:.16em;text-transform:uppercase}.cv-info-page h1{font-size:clamp(36px,6vw,62px);letter-spacing:-.05em;line-height:1.03;margin:8px 0 18px}.cv-info-lead{color:var(--cv-gris);font-size:clamp(18px,2vw,22px);line-height:1.6;max-width:780px}.cv-info-grid{display:grid;gap:16px;grid-template-columns:1fr 1fr;margin:32px 0}.cv-info-grid section{background:var(--cv-blanco-roto);border:1px solid var(--cv-borde);border-radius:20px;padding:24px}.cv-info-grid h2{font-size:21px;margin-top:0}.cv-info-grid p,.cv-info-page li,.cv-info-note{color:var(--cv-gris);line-height:1.65}.cv-payment-grid{display:grid;gap:10px;grid-template-columns:repeat(3,1fr);margin:30px 0}.cv-payment-grid span{background:var(--cv-blanco-roto);border:1px solid var(--cv-borde);border-radius:14px;color:var(--cv-petroleo);font-weight:800;padding:16px}.cv-info-note{background:#fff8e9;border-left:4px solid var(--cv-arena);border-radius:8px;padding:16px}.woocommerce a.cv-info-cta,.cv-info-cta{background:var(--cv-petroleo);border-radius:999px;color:#fff;display:inline-flex;font-weight:800;margin-top:12px;min-height:50px;padding:12px 22px;text-decoration:none}.cv-info-page--center{text-align:center}.cv-info-page--center .cv-info-lead{margin-inline:auto}.cv-info-cta--whatsapp{font-size:17px}.cv-info-address{color:var(--cv-gris);margin-top:28px}
@media(max-width:700px){.cv-market-benefits .cv-container{grid-template-columns:1fr}.cv-market-benefits .cv-container>a{padding:15px}.cv-market-benefits small{font-size:11px}.cv-info-grid,.cv-payment-grid{grid-template-columns:1fr}.cv-info-page{padding-top:0}}

@media (max-width: 339px) {
  .woocommerce .products ul, .woocommerce ul.products { grid-template-columns: 1fr; }
}

@media (max-width: 700px) {
  .cv-catalog-filters form { grid-template-columns: 1fr 1fr; }
  .cv-catalog-filters label:first-child,
  .cv-catalog-filters .cv-filter-check,
  .cv-catalog-filters .cv-filter-actions { grid-column: 1 / -1; }
  .cv-catalog-filters .cv-filter-actions .button { flex: 1; }
}

/* Portada v0.2: experiencia de tienda centrada en búsqueda y categorías. */
.cv-logo { display: block; height: 56px; overflow: visible; width: 136px; }
.cv-logo text {
  fill: var(--cv-verde);
  font-family: Georgia, "Times New Roman", serif;
  font-size: 25px;
  font-weight: 400;
  letter-spacing: 9px;
}
.cv-brand { align-items: center; display: inline-flex; flex: 0 0 auto; }
.cv-header__inner { min-height: 84px; }
.cv-account-link { color: var(--cv-gris); }
.cv-cart-link {
  align-items: center;
  background: var(--cv-petroleo);
  border-radius: 999px;
  color: #fff;
  display: inline-flex;
  gap: 7px;
  min-height: 44px;
  padding: 8px 15px;
}
.cv-cart-link svg { fill: none; height: 20px; stroke: currentColor; stroke-linecap: round; stroke-linejoin: round; stroke-width: 1.8; width: 20px; }
.cv-cart-link span { align-items: center; background: #fff; border-radius: 50%; color: var(--cv-petroleo); display: inline-flex; font-size: 11px; height: 20px; justify-content: center; width: 20px; }

.cv-hero { padding: 42px 0 48px; }
.cv-hero__grid { gap: clamp(32px, 5vw, 72px); }
.cv-hero h1 { font-size: clamp(42px, 5.3vw, 72px); max-width: 680px; }
.cv-hero__lead { font-size: 17px; line-height: 1.7; max-width: 600px; }
.cv-search {
  align-items: center;
  background: #fff;
  border: 1px solid #c9d6d7;
  border-radius: 18px;
  box-shadow: 0 12px 34px rgba(0, 64, 66, .08);
  display: flex;
  margin-top: 28px;
  max-width: 660px;
  padding: 6px;
  position: relative;
}
.cv-search svg { fill: none; flex: 0 0 auto; height: 22px; margin-left: 13px; stroke: var(--cv-petroleo); stroke-linecap: round; stroke-width: 1.8; width: 22px; }
.cv-search input[type="search"] { border: 0; color: var(--cv-tinta); flex: 1 1 auto; font: inherit; min-width: 80px; outline: 0; padding: 11px 12px; }
.cv-search input[type="search"]::placeholder { color: #7b8585; }
.cv-search button { background: var(--cv-petroleo); border: 0; border-radius: 13px; color: #fff; cursor: pointer; font: inherit; font-weight: 750; min-height: 44px; padding: 8px 20px; }
.cv-search button:hover { background: var(--cv-verde); }
.cv-search-suggestions {
  background: #fff;
  border: 1px solid #c9d6d7;
  border-radius: 16px;
  box-shadow: 0 18px 44px rgba(0,64,66,.16);
  display: none;
  left: 0;
  list-style: none;
  margin: 8px 0 0;
  max-height: min(440px, 60vh);
  overflow-y: auto;
  padding: 6px;
  position: absolute;
  right: 0;
  top: 100%;
  z-index: 80;
}
.cv-search-suggestions.is-open { display: block; }
.cv-search-suggestion { margin: 0; }
.cv-search-suggestion a { align-items: center; border-radius: 12px; display: grid; gap: 11px; grid-template-columns: 54px 1fr auto; padding: 8px; text-decoration: none; }
.cv-search-suggestion a:hover,
.cv-search-suggestion.is-active a { background: var(--cv-blanco-roto); }
.cv-search-suggestion img { aspect-ratio: 1 / 1; border-radius: 9px; height: 54px; object-fit: cover; width: 54px; }
.cv-search-suggestion strong { font-size: 14px; line-height: 1.3; }
.cv-search-suggestion span { color: var(--cv-petroleo); font-size: 14px; font-weight: 850; white-space: nowrap; }
.cv-search-suggestion--status { color: var(--cv-gris); font-size: 14px; padding: 14px; text-align: center; }
.cv-quick-links { display: flex; flex-wrap: wrap; gap: 22px; margin-top: 19px; }
.cv-quick-links a { color: var(--cv-petroleo); font-size: 14px; font-weight: 750; text-underline-offset: 4px; }

.cv-categories-section { padding-top: 72px; }
.cv-section-heading { align-items: end; display: flex; gap: 24px; justify-content: space-between; }
.cv-text-link { color: var(--cv-petroleo); flex: 0 0 auto; font-size: 14px; font-weight: 800; text-decoration: none; }
.cv-text-link:hover { text-decoration: underline; text-underline-offset: 4px; }
.cv-category-grid { display: grid; gap: 16px; grid-template-columns: repeat(4, 1fr); margin-top: 34px; }
.cv-category-card {
  background: #fff;
  border: 1px solid var(--cv-borde);
  border-radius: 22px;
  min-width: 0;
  overflow: clip;
  text-decoration: none;
  transition: border-color .2s ease, box-shadow .2s ease, transform .2s ease;
}
.cv-category-card:hover { border-color: #9ab8ba; box-shadow: 0 14px 35px rgba(0,64,66,.09); transform: translateY(-3px); }
.cv-category-card__visual { background: var(--cv-beige); display: block; height: 112px; overflow: hidden; position: relative; }
.cv-category-card__visual::before, .cv-category-card__visual::after { content: ""; position: absolute; }
.cv-category-card__visual::before { background: rgba(0,96,104,.14); border-radius: 50%; height: 120px; right: -22px; top: -30px; width: 120px; }
.cv-category-card__visual::after { border: 2px solid rgba(0,64,66,.45); border-radius: 20px 20px 4px 4px; bottom: 19px; height: 46px; left: 24px; width: 58px; }
.cv-category-card__visual--sofa { background: #e9efe9; }
.cv-category-card__visual--sofa::after { border-radius: 12px; height: 32px; width: 74px; }
.cv-category-card__visual--kitchen { background: #f2e9dc; }
.cv-category-card__visual--kitchen::after { border-radius: 50% 50% 8px 8px; height: 52px; width: 48px; }
.cv-category-card__visual--bath { background: #edf4f4; }
.cv-category-card__visual--bath::after { border-radius: 50%; height: 54px; width: 54px; }
.cv-category-card__visual--organize { background: #f6f1e9; }
.cv-category-card__visual--organize::after { border-radius: 6px; box-shadow: 26px -16px 0 -7px #f6f1e9, 26px -16px 0 -5px rgba(0,64,66,.45); height: 46px; width: 46px; }
.cv-category-card__visual--appliance { background: #e8eeee; }
.cv-category-card__visual--appliance::after { border-radius: 8px; height: 58px; width: 44px; }
.cv-category-card__visual--energy { background: #fff3cc; }
.cv-category-card__visual--energy::after { border-radius: 50%; height: 52px; width: 52px; }
.cv-category-card__visual--care { background: #f4e9e6; }
.cv-category-card__visual--care::after { border-radius: 22px 22px 7px 7px; height: 54px; width: 34px; }
.cv-category-card__body { display: grid; padding: 18px; }
.cv-category-card strong { font-size: 17px; line-height: 1.25; }
.cv-category-card small { color: var(--cv-gris); font-size: 13px; line-height: 1.45; margin-top: 6px; min-height: 38px; }
.cv-category-card em { color: var(--cv-petroleo); font-size: 13px; font-style: normal; font-weight: 800; margin-top: 15px; }

.cv-product h3 a { text-decoration: none; }
.cv-whatsapp { align-items: center; background: #1fa855; border-radius: 999px; bottom: 20px; box-shadow: 0 12px 30px rgba(0,0,0,.2); color: #fff; display: inline-flex; font-size: 13px; font-weight: 800; gap: 7px; min-height: 50px; padding: 9px 17px; position: fixed; right: 20px; text-decoration: none; z-index: 60; }
.cv-whatsapp svg { fill: currentColor; height: 22px; width: 22px; }
.cv-footer .cv-logo { height: 62px; width: 150px; }

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

@media (max-width: 900px) {
  .cv-header__inner { min-height: 72px; }
  .cv-logo { height: 48px; width: 116px; }
}

@media (max-width: 600px) {
  .cv-hero { padding-top: 30px; }
  .cv-hero__grid { display: flex; flex-direction: column; }
  .cv-hero__content { width: 100%; }
  .cv-hero h1 { font-size: 42px; }
  .cv-hero__lead { margin-top: 17px; }
  .cv-hero__media { aspect-ratio: 4/3; border-radius: 24px; order: 2; width: 100%; }
  .cv-search { border-radius: 15px; margin-top: 23px; }
  .cv-search button { border-radius: 11px; padding-inline: 15px; }
  .cv-search svg { margin-left: 10px; }
  .cv-search-suggestion a { grid-template-columns: 48px 1fr; }
  .cv-search-suggestion img { height: 48px; width: 48px; }
  .cv-search-suggestion span { grid-column: 2; margin-top: -8px; }
  .cv-quick-links { gap: 16px; }
  .cv-section-heading { align-items: start; }
  .cv-section-heading .cv-text-link { display: none; }
  .cv-category-grid { display: flex; gap: 12px; margin-right: -12px; overflow-x: auto; padding: 0 12px 12px 0; scroll-snap-type: x proximity; }
  .cv-category-card { flex: 0 0 76%; scroll-snap-align: start; }
  .cv-category-card__visual { height: 100px; }
  .cv-category-card small { min-height: 0; }
  .cv-whatsapp { border-radius: 50%; bottom: 14px; height: 54px; justify-content: center; padding: 0; right: 14px; width: 54px; }
  .cv-whatsapp span { display: none; }
}

/* Acceso Casa Viva: experiencia clara para clientes y gestoras. */
.woocommerce-account:not(.logged-in) .entry-header,
.woocommerce-account:not(.logged-in) .entry-title { display: none; }
.woocommerce-account:not(.logged-in) main { background: linear-gradient(180deg,#f7f3eb 0,#fff 560px); }
.woocommerce-account:not(.logged-in) .woocommerce { margin: 0 auto; max-width: 1040px; padding: clamp(32px,7vw,78px) 16px 90px; }
.cv-account-welcome { color: #1f2928; margin: 0 auto 28px; max-width: 760px; text-align: center; }
.cv-account-welcome__eyebrow { color: var(--cv-petroleo); font-size: 12px; font-weight: 850; letter-spacing: .18em; margin: 0 0 9px; text-transform: uppercase; }
.cv-account-welcome h1 { font-size: clamp(34px,6vw,58px); letter-spacing: -.045em; line-height: 1.04; margin: 0; }
.cv-account-welcome>p:not(.cv-account-welcome__eyebrow) { color: var(--cv-gris); font-size: 17px; line-height: 1.55; margin: 14px auto 24px; max-width: 590px; }
.cv-account-welcome__roles { display: grid; gap: 12px; grid-template-columns: 1fr 1fr; text-align: left; }
.cv-account-welcome__roles a { align-items: center; background: rgba(255,255,255,.9); border: 1px solid var(--cv-borde); border-radius: 18px; color: inherit; display: flex; gap: 13px; padding: 15px 17px; text-decoration: none; transition: border-color .2s,box-shadow .2s,transform .2s; }
.cv-account-welcome__roles a:hover,.cv-account-welcome__roles a:focus-visible { border-color: var(--cv-petroleo); box-shadow: 0 10px 28px rgba(22,52,48,.1); transform: translateY(-2px); }
.cv-account-welcome__roles a>span { align-items: center; background: #eef5f1; border-radius: 50%; display: flex; flex: 0 0 42px; height: 42px; justify-content: center; }
.cv-account-welcome__roles a>b { color: var(--cv-petroleo); margin-left: auto; }
.cv-anchor-target { display: block; scroll-margin-top: 120px; }
.cv-account-welcome__roles strong,.cv-account-welcome__roles small { display: block; }
.cv-account-welcome__roles strong { color: var(--cv-petroleo); font-size: 15px; }
.cv-account-welcome__roles small { color: var(--cv-gris); font-size: 12px; line-height: 1.4; margin-top: 2px; }
.woocommerce-account:not(.logged-in) .woocommerce>h2,.woocommerce-account:not(.logged-in) .u-column1>h2 { display:none; }
.woocommerce-account:not(.logged-in) .woocommerce h2:first-of-type,.woocommerce-account .woocommerce-breadcrumb { display:none!important; }
.cv-access-hub{margin:0 auto 28px;max-width:900px;text-align:center}.cv-access-hub h1{font-size:clamp(34px,6vw,58px);letter-spacing:-.045em;line-height:1.04;margin:0}.cv-access-hub>p{color:var(--cv-gris);font-size:17px;line-height:1.55;margin:14px auto 24px;max-width:590px}.cv-access-hub nav{display:grid;gap:12px;grid-template-columns:repeat(3,1fr)}.cv-access-hub nav a{background:#fff;border:1px solid var(--cv-borde);border-radius:18px;color:inherit;padding:18px;text-align:left;text-decoration:none}.cv-access-hub nav a:hover,.cv-access-hub nav a:focus-visible,.cv-access-hub nav a.is-active{border-color:var(--cv-petroleo);box-shadow:0 10px 28px rgba(22,52,48,.1)}.cv-access-hub strong,.cv-access-hub small{display:block}.cv-access-hub strong{color:var(--cv-petroleo)}.cv-access-hub small{color:var(--cv-gris);font-size:12px;line-height:1.45;margin-top:4px}
.woocommerce-account:not(.logged-in) main article>h1:first-child{display:none}.cv-access-context{background:#eef5f1;border-radius:14px;color:var(--cv-petroleo)!important;font-size:14px!important;margin:14px auto 0!important;padding:11px 14px}.cv-access-context a{font-weight:800}.page article:has(.cvd-auth-card)>h1:first-child,.page article:has(.cvd-dashboard)>h1:first-child{display:none}
.cv-blog-index{margin:0 auto;max-width:1180px;padding:clamp(38px,7vw,80px) 20px}.cv-blog-index>header{text-align:center}.cv-blog-index>header h1{font-size:clamp(38px,6vw,64px);margin:0}.cv-blog-index>header p{color:var(--cv-gris);margin:12px auto 36px;max-width:620px}.cv-blog-grid{display:grid;gap:22px;grid-template-columns:repeat(3,1fr)}.cv-blog-grid article{background:#fff;border:1px solid var(--cv-borde);border-radius:20px;overflow:hidden}.cv-blog-grid article>a{color:inherit;display:block;padding:16px;text-decoration:none}.cv-blog-grid img{aspect-ratio:16/10;border-radius:14px;object-fit:cover;width:100%}.cv-blog-grid h2{font-size:22px;line-height:1.15;margin:8px 0}.cv-blog-grid small,.cv-blog-grid p{color:var(--cv-gris)}.cv-blog-grid span{color:var(--cv-petroleo);font-weight:800}
@media(max-width:760px){.cv-access-hub nav,.cv-blog-grid{grid-template-columns:1fr}.cv-access-hub nav a{text-align:center}}
.woocommerce-account:not(.logged-in) form.login { background: #fff; margin: 20px auto 0; max-width: 560px; padding-top: 66px; }
.woocommerce-account form.login label { color: #354442; font-size: 14px; font-weight: 750; }
.woocommerce-account form.login .button { background: var(--cv-petroleo); border: 0; border-radius: 999px; color: #fff; font-weight: 800; min-height: 48px; padding: 10px 24px; }
.woocommerce-account form.login .woocommerce-form-login__rememberme { align-items: center; display: inline-flex; gap: 7px; margin-left: 10px; }
.woocommerce-account form.login .lost_password { margin: 22px 0 0; }
.woocommerce-account form.login .lost_password a { color: var(--cv-petroleo); font-weight: 700; }
.cv-account-session{align-items:center;background:linear-gradient(135deg,var(--cv-verde),var(--cv-petroleo));border-radius:18px;color:#fff;display:flex;gap:18px;grid-column:1/-1;justify-content:space-between;padding:17px 20px}.cv-account-session small,.cv-account-session strong{display:block}.cv-account-session small{color:rgba(255,255,255,.72);font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase}.cv-account-session strong{font-size:18px;margin-top:3px}.cv-account-session>a{background:#fff;border-radius:999px;color:var(--cv-verde);font-size:13px;font-weight:850;padding:10px 17px;text-decoration:none;white-space:nowrap}.cv-account-dashboard{background:#fff;border:1px solid var(--cv-borde);border-radius:22px;box-shadow:0 14px 44px rgba(0,64,66,.06);padding:clamp(22px,4vw,36px)}.cv-account-dashboard__kicker{color:var(--cv-petroleo)!important;font-size:11px!important;font-weight:850;letter-spacing:.14em;margin:0 0 5px!important;text-transform:uppercase}.cv-account-dashboard h2{font-size:clamp(27px,4vw,38px);letter-spacing:-.035em;margin:0 0 8px}.cv-account-dashboard>p{color:var(--cv-gris)}.cv-account-dashboard__actions{display:grid;gap:12px;grid-template-columns:repeat(3,1fr);margin-top:24px}.cv-account-dashboard__actions>a{background:var(--cv-blanco-roto);border:1px solid var(--cv-borde);border-radius:16px;color:inherit;display:grid;grid-template-columns:auto 1fr;column-gap:10px;padding:16px;text-decoration:none}.cv-account-dashboard__actions>a>span{font-size:22px;grid-row:1/3}.cv-account-dashboard__actions strong,.cv-account-dashboard__actions small{display:block}.cv-account-dashboard__actions strong{color:var(--cv-petroleo);font-size:14px}.cv-account-dashboard__actions small{color:var(--cv-gris);font-size:11px;line-height:1.4;margin-top:3px}.woocommerce-MyAccount-navigation-link--customer-logout a{background:#fff!important;color:var(--cv-verde)!important}
@media(max-width:600px){.cv-account-welcome__roles{grid-template-columns:1fr}.woocommerce-account:not(.logged-in) .woocommerce{padding-top:32px}.woocommerce-account:not(.logged-in) .woocommerce>h2{padding-inline:24px}.woocommerce-account:not(.logged-in) form.login{border-radius:20px;padding:62px 22px 26px}.woocommerce-account form.login .woocommerce-form-login__rememberme{margin:12px 0}.woocommerce-account form.login .button{width:100%}}
@media(max-width:800px){.woocommerce-account .woocommerce-MyAccount-navigation ul{display:grid;grid-template-columns:1fr 1fr;overflow:visible}.woocommerce-account .woocommerce-MyAccount-navigation li{min-width:0}.woocommerce-account .woocommerce-MyAccount-navigation li a{text-align:center}.cv-account-dashboard__actions{grid-template-columns:1fr}.cv-account-session{margin-bottom:0}.cv-account-session>a{padding-inline:14px}}

/* Coherencia visual móvil: títulos de página, acciones y confirmación. */
.cv-install-menu{background:transparent;border:1px solid currentColor;border-radius:999px;color:var(--cv-petroleo);cursor:pointer;font:inherit;font-size:13px;font-weight:800;padding:8px 13px}
.cv-logout-link{border-left:1px solid var(--cv-borde);color:#8a3434!important;font-size:12px!important;margin-left:2px;padding-left:13px}.cv-mobile-nav__panel .cv-mobile-logout{background:#fff0f0;color:#8a3434;font-weight:850;text-align:center}
.cv-mobile-nav__panel .cv-install-menu{background:#eef5f1;border:0;border-radius:10px;color:var(--cv-petroleo);margin:5px 10px 10px;min-height:44px;text-align:center}
.cv-market-product .added_to_cart.wc-forward{align-items:center;background:var(--cv-beige);border:1px solid var(--cv-arena);border-radius:12px;box-sizing:border-box;color:var(--cv-verde);display:flex;font-size:13px;font-weight:850;justify-content:center;margin:9px 3px 2px;min-height:42px;padding:9px 10px;text-align:center;text-decoration:none;width:calc(100% - 6px)}
.cv-market-product .added_to_cart.wc-forward::before{content:"✓";margin-right:7px}
.cv-market-product .button.added{background:var(--cv-petroleo);color:#fff}
@media(min-width:701px){.cv-market-product{overflow:visible}.cv-market-product__bottom{align-items:stretch;display:grid;gap:10px;grid-template-columns:1fr}.cv-market-product__bottom .cv-product-buy{margin:0;width:100%}.cv-market-product .added_to_cart.wc-forward,.woocommerce ul.products li.product .added_to_cart.wc-forward{clear:both;display:flex!important;grid-column:1/-1;margin:10px 0 0!important;opacity:1!important;position:static!important;visibility:visible!important;width:100%!important}.cv-market-product__price{display:block;min-width:0}}

@media(max-width:700px){
  main .entry-header,main>.entry-title,.woocommerce-order-received main>.entry-title,.woocommerce-order-received .entry-header{text-align:center}
  .woocommerce-order-received .woocommerce-order>p:first-child,.woocommerce-order-received .woocommerce-order-overview{text-align:center}
  .woocommerce-order-received .woocommerce-order-details>h2,.woocommerce-order-received .woocommerce-customer-details>h2,.woocommerce-order-received .cvd-delivery-summary h2{text-align:center}
  .woocommerce-order-received .cvd-order-confirmation{text-align:center}
  .woocommerce-order-received .cvd-order-confirmation .button,.woocommerce-order-received .cvd-delivery-summary .button{display:flex;justify-content:center;margin-inline:auto;width:min(100%,440px)}
  .cv-market-heading{align-items:center;display:grid;gap:8px;grid-template-columns:1fr;text-align:center}
  .cv-market-heading>a{justify-self:center}
  .cv-market-product .added_to_cart.wc-forward{margin-inline:0;width:100%}
  .cv-footer__grid{text-align:center}
  .cv-footer__grid .cv-brand{display:inline-flex;justify-content:center}
  .cv-footer__grid nav{display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-top:12px}
  .cv-footer__grid nav a{display:block;padding:5px;text-align:center}
}

/* Portada v0.3: categorías fotográficas, flujo corto y correcciones críticas. */
.cv-header { position: relative; top: auto; z-index: 50; }
.admin-bar .cv-header { top: auto; }
.cv-hero__cta { margin-top: 22px; }
.cv-category-card { display: flex; flex-direction: column; height: auto; min-height: 100%; }
.cv-category-card__visual { aspect-ratio: 4 / 3; height: auto; }
.cv-category-card__visual::before,
.cv-category-card__visual::after { display: none; }
.cv-category-card__visual img { height: 100%; object-fit: cover; width: 100%; }
.cv-category-card__body { flex: 1; min-height: 154px; }
.cv-category-card strong,
.cv-category-card small { overflow-wrap: anywhere; word-break: normal; }
.cv-footer { padding-bottom: 96px; }
.cv-whatsapp { bottom: 24px; right: 24px; }

@media (max-width: 600px) {
  .admin-bar .cv-header { top: auto; }
  .cv-category-card { flex-basis: 82%; }
  .cv-category-card__visual { height: auto; }
  .cv-category-card__body { min-height: 164px; }
  .cv-footer { padding-bottom: 132px; }
  .cv-whatsapp { bottom: 24px; right: 16px; }
}
