/* Postoverde ─ ajustes de marca sobre app.css del tema Tienda.
   Los colores base (verde y azul del logo) están en los tokens de app.css. */

/* Topbar y pie en el azul del logo; enlaces del header en verde */
.topbar a:hover { opacity: 1; }
.site-footer a:hover { color: #fff; }


/* Banners secundarios: cuadrados, como las "Ofertas destacadas" */
.promos .promo img { aspect-ratio: 1 / 1; object-fit: cover; }

/* ─── Sucursales (página) ──────────────────────────────────────────────── */
.pv-sucursales { margin: 8px 0 32px; }
.pv-sucursales__filtro { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 14px; }
.pv-sucursales .chip {
	min-height: 38px; padding: 0 16px;
	border: 1.5px solid var(--line); border-radius: var(--pill);
	background: var(--bg); color: var(--ink-2);
	font: inherit; font-size: 14px; font-weight: 600; cursor: pointer;
}
.pv-sucursales .chip:hover { border-color: var(--brand); color: var(--brand-ink); }
.pv-sucursales .chip.is-active { border-color: var(--brand); background: var(--brand); color: #fff; }
.pv-sucursales__total { margin: 0 0 14px; font-size: 14px; color: var(--ink-3); }
.pv-sucursales__lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 14px; margin: 0; padding: 0; list-style: none; }
.pv-sucursal {
	display: flex; flex-direction: column; gap: 6px;
	padding: 18px 20px; border-radius: var(--r-md);
	background: var(--bg); box-shadow: var(--sh-card); border: 1px solid var(--line-2);
}
.pv-sucursal[hidden] { display: none; }
.pv-sucursal p { margin: 0; }
.pv-sucursal__comuna { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 13px; font-weight: 700; letter-spacing: .02em; text-transform: uppercase; color: var(--brand-ink); }
.pv-sucursal__badge { padding: 2px 8px; border-radius: var(--pill); background: var(--navy); color: #fff; font-size: 11px; letter-spacing: 0; text-transform: none; }
.pv-sucursal__direccion { display: flex; align-items: center; gap: 8px; font-size: 18px; font-weight: 700; color: var(--ink); }
.pv-sucursal__dato { display: flex; align-items: center; gap: 8px; font-size: 14px; color: var(--ink-2); }
.pv-sucursal .icon { width: 18px; height: 18px; flex: none; color: var(--brand); }
.pv-sucursal__horario { padding-left: 26px; font-size: 13px; color: var(--ink-3); }
.pv-sucursal__mapa { align-self: flex-start; margin-top: 8px; border: 1.5px solid var(--line); color: var(--brand-ink); }
.pv-sucursal__mapa:hover { border-color: var(--brand); }

/* ─── Sucursales (home): banda azul ─────────────────────────────────────── */
.pv-home-sucursales__inner {
	display: grid; grid-template-columns: minmax(0, 5fr) minmax(0, 7fr); gap: 32px; align-items: center;
	padding: 40px; border-radius: 28px;
	background: var(--navy) radial-gradient(circle at 0% 0%, rgba(0, 160, 69, .35), transparent 45%);
	color: #fff;
}
.pv-home-sucursales__kicker { margin: 0 0 8px; font-size: 13px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: #7ee2a5; }
.pv-home-sucursales .section__title { color: #fff; }
.pv-home-sucursales .section__title::before { background: #7ee2a5; }
.pv-home-sucursales__texto p { color: rgba(255, 255, 255, .82); }
.pv-home-sucursales__comunas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; margin: 0; padding: 0; list-style: none; }
.pv-home-sucursales__comunas a {
	display: flex; align-items: center; gap: 10px; min-height: 54px; padding: 0 16px;
	border-radius: 16px; background: rgba(255, 255, 255, .1); border: 1px solid rgba(255, 255, 255, .16);
	font-weight: 600; color: #fff;
	transition: background .15s ease, color .15s ease;
}
.pv-home-sucursales__comunas a:hover { background: #fff; color: var(--navy); }
.pv-home-sucursales__comunas .icon { width: 20px; height: 20px; color: #7ee2a5; flex: none; }
.pv-home-sucursales__comunas a:hover .icon { color: var(--brand); }
.pv-home-sucursales__comuna { flex: 1; }
.pv-home-sucursales__n { min-width: 24px; padding: 2px 8px; border-radius: var(--pill); background: var(--brand); color: #fff; font-size: 12px; font-weight: 700; text-align: center; }
.pv-home-sucursales .btn--primary { background: #fff; border-color: #fff; color: var(--navy); box-shadow: none; }
.pv-home-sucursales .btn--primary:hover { background: #7ee2a5; border-color: #7ee2a5; color: var(--navy-deep); }

@media (max-width: 860px) {
	.pv-home-sucursales__inner { grid-template-columns: minmax(0, 1fr); padding: 26px 22px; border-radius: 22px; }
}
@media (max-width: 480px) {
	.pv-home-sucursales__comunas { grid-template-columns: minmax(0, 1fr); }
}

/* ─── Páginas de contenido (Quiénes somos) ─────────────────────────────── */
.pv-pagina-intro { font-size: 18px; color: var(--ink-2); }
.pv-mision { margin: 24px 0; padding: 22px 24px; border-left: 4px solid var(--brand); border-radius: var(--r-sm); background: var(--brand-tint); }
.pv-mision h2 { margin-top: 0; color: var(--navy); }

/* Sucursales, Convenios y Promociones: grillas a ancho completo */
.pv-pagina-ancha .content--narrow { max-width: none; }
.pv-pagina-ancha .entry__content > p { max-width: 76ch; }

/* Móvil: las ofertas destacadas en fila deslizable, no tres cuadrados apilados */
@media (max-width: 700px) {
	.promos { display: flex; gap: 10px; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: none; }
	.promos::-webkit-scrollbar { display: none; }
	.promos > li { flex: 0 0 72%; scroll-snap-align: start; }
}

/* Foto de la sucursal, arriba de la tarjeta */
.pv-sucursal__foto { margin: -18px -20px 6px; border-radius: var(--r-md) var(--r-md) 0 0; overflow: hidden; background: var(--canvas); }
.pv-sucursal__foto img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; }


/* ═══════════════════════════════════════════════════════════════════════
   IDENTIDAD POSTOVERDE
   Diferencias deliberadas con el tema base (que usará otra farmacia):
   franja superior verde, logo grande, navegación azul, buscador en píldora,
   banners sobre banda, promesas en una franja, títulos con barra verde,
   tarjetas sin borde con la foto sobre fondo verde suave, descuento como
   etiqueta, bandas de color a todo el ancho y pie con borde verde.
   ═══════════════════════════════════════════════════════════════════════ */

:root { --header-h: 96px; --pv-verde-claro: #7ee2a5; }

/* Franja superior */
.topbar { background: var(--brand); }
.topbar__msg strong { color: #fff; }

/* Header */
.masthead { border-bottom: 0; box-shadow: 0 1px 0 var(--line-2); }
.site-brand img,
.site-brand .custom-logo { max-height: 80px; }
/* El logo actual (unnamed.png) trae mucho borde transparente: se recorta en
   pantalla para que la marca se vea grande. Un logo nuevo, ya recortado, no
   lleva esta clase. */
.site-brand .custom-logo.pv-logo--recorte {
	width: 270px; height: auto; max-height: none;
	aspect-ratio: 278 / 53; object-fit: cover; object-position: center;
}
.site-brand--footer .custom-logo.pv-logo--recorte { width: 220px; }

.catbtn { border-color: var(--navy); background: var(--navy); color: #fff; }
.catbtn:hover,
.catbtn[aria-expanded="true"] { background: var(--navy-deep); border-color: var(--navy-deep); color: #fff; }

.searchbar__input {
	height: 52px; padding-left: 24px;
	border: 2px solid var(--brand-soft); border-radius: var(--pill);
	background: var(--bg);
}
.searchbar__input:hover { border-color: #b9dcc7; }
.searchbar__input:focus { border-color: var(--brand); box-shadow: 0 0 0 4px var(--brand-tint); outline: none; }
.searchbar__submit { right: 6px; width: 42px; height: 42px; border-radius: 50%; background: var(--navy); }
.searchbar__submit:hover { background: var(--brand); }

.account__icon { background: var(--brand-tint); color: var(--brand); }
.masthead__actions .icon-btn { color: var(--navy); }

/* Navegación: barra azul */
.subnav { background: var(--navy); border-bottom: 0; }
.subnav__links a { color: rgba(255, 255, 255, .86); border-bottom-width: 3px; }
.subnav__links a:hover,
.subnav__links .current-menu-item > a { color: #fff; border-bottom-color: var(--pv-verde-claro); }
.subnav__chips a { background: rgba(255, 255, 255, .12); color: #fff; }
.subnav__chips a:hover { background: #fff; color: var(--navy); }
.subnav__chips li:first-child a { background: var(--sale); color: #fff; }
.subnav__chips li:first-child a:hover { background: #fff; color: var(--sale); }

/* Banners sobre una banda verde suave */
.pv-banda--hero { padding-top: 22px; background: linear-gradient(180deg, var(--brand-tint) 0 72%, transparent 72%); }
.pv-banda--hero .hero,
.pv-banda--hero .hero-text { margin-top: 0; }
.hero__track { border-radius: 28px; box-shadow: 0 22px 44px -28px rgba(0, 80, 40, .55); }
.hero__dot { background: #c7d3ea; }
.hero__dot.is-active { background: var(--navy); }
.hero__arrow { color: var(--navy); }

/* Promesas: una sola franja, no cuatro tarjetas */
.pv-banda--confianza .section { margin-top: 26px; }
.trust {
	gap: 0; padding: 6px;
	border-radius: 22px; background: var(--bg);
	box-shadow: 0 10px 30px -18px rgba(24, 42, 140, .35);
}
.trust__item { border: 0; border-radius: 0; padding: 16px 20px; }
.trust__item + .trust__item { border-left: 1px solid var(--line-2); }
.trust__icon { background: var(--brand); color: #fff; }
.trust__title { color: var(--navy); }

/* Títulos de sección: azul con barra verde */
.section__title,
.pv-seccion__titulo {
	position: relative; padding-left: 18px;
	font-size: clamp(21px, 2.4vw, 27px); font-weight: 800; letter-spacing: -.02em; color: var(--navy);
}
.section__title::before,
.pv-seccion__titulo::before {
	content: ""; position: absolute; left: 0; top: .14em; bottom: .14em;
	width: 6px; border-radius: 6px; background: var(--brand);
}
.pv-seccion__vertodo { color: var(--navy); }
.pv-carrusel__flecha { border-color: var(--navy); color: var(--navy); }
.pv-carrusel__flecha:hover:not([disabled]) { background: var(--navy); border-color: var(--navy); color: #fff; }
.page-title,
.archive-head__title { color: var(--navy); }

/* Tarjetas de producto */
li.product {
	border: 0; border-radius: 24px;
	box-shadow: 0 2px 4px rgba(24, 42, 140, .04), 0 10px 24px -16px rgba(24, 42, 140, .35);
}
li.product:hover { box-shadow: 0 2px 4px rgba(24, 42, 140, .05), 0 18px 34px -16px rgba(24, 42, 140, .45); transform: translateY(-2px); }
li.product { transition: box-shadow .2s ease, transform .2s ease; }
.card__media { padding: 10px 10px 0; }
.card__img { padding: 12px; border-radius: 18px; background: var(--brand-tint); }
.card__img img { mix-blend-mode: multiply; }
.card__title { color: var(--ink); font-weight: 600; }
.price-block__now { color: var(--navy); }
.price-block__now.is-sale { color: var(--sale); }
.badges { top: 18px; left: 18px; right: 18px; }
.badge--sale {
	order: -1; margin-left: 0; margin-right: auto;
	width: auto; height: auto; padding: 5px 10px;
	border-radius: 10px 10px 10px 2px;
	font-size: 13px;
}
.card__cta .button,
.card__cta .pv-card__boton { background: var(--bg); color: var(--brand-ink); border-width: 2px; }
.card__cta .button:hover,
.card__cta .pv-card__boton:hover { background: var(--brand); border-color: var(--brand); color: #fff; }

/* Ofertas destacadas (cuadradas) */
.promo { border-radius: 26px; transition: transform .2s ease, box-shadow .2s ease; }
a.promo:hover { transform: translateY(-4px); box-shadow: 0 20px 36px -22px rgba(24, 42, 140, .55); }
a.promo:hover img { transform: none; }

/* Bandas de color a todo el ancho */
.pv-banda--verde,
.pv-banda--azul { margin-top: 48px; padding: 6px 0 44px; }
.pv-banda--verde { background: var(--brand-tint); }
.pv-banda--azul { background: var(--navy); }
.pv-banda--verde > .section,
.pv-banda--azul > .section { margin-top: 36px; }
.pv-banda--azul .pv-seccion__titulo,
.pv-banda--azul .section__title { color: #fff; }
.pv-banda--azul .pv-seccion__titulo::before { background: var(--pv-verde-claro); }
.pv-banda--azul .pv-seccion__vertodo { color: var(--pv-verde-claro); }
.pv-banda--azul .pv-carrusel__flecha { border-color: rgba(255, 255, 255, .5); background: transparent; color: #fff; }
.pv-banda--azul .pv-carrusel__flecha:hover:not([disabled]) { background: #fff; color: var(--navy); }

/* Convenios: tarjetas blancas con la inicial en azul */
.pv-convenio { border: 0; border-radius: 20px; box-shadow: 0 10px 24px -18px rgba(0, 0, 0, .5); }
.pv-convenio__inicial { background: var(--navy); color: #fff; }
.pv-convenio__dscto { background: var(--brand-tint); color: var(--brand-ink); }

/* Botones */
.btn--primary,
.button.alt,
.button.checkout-button { box-shadow: 0 10px 20px -12px rgba(0, 133, 58, .8); }

/* Pasos de compra en azul */
.steps__item.is-current .steps__num,
.steps__item[aria-current="step"] .steps__num { border-color: var(--navy); background: var(--navy); color: #fff; }

/* Pie: azul con borde verde */
.site-footer { border-top: 6px solid var(--brand); background: var(--navy-deep) radial-gradient(circle at 100% 0%, rgba(0, 160, 69, .18), transparent 40%); }
/* Si el home termina en una banda de color, el pie va pegado a ella. */
main.home:has(> .pv-banda--azul:last-child) + .site-footer,
main.home:has(> .pv-banda--verde:last-child) + .site-footer { margin-top: 0; }
.site-footer .widget-title,
.footer__title { color: var(--pv-verde-claro); }

@media (max-width: 1024px) {
	.trust { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.trust__item + .trust__item { border-left: 0; }
	.trust__item:nth-child(even) { border-left: 1px solid var(--line-2); }
	.trust__item:nth-child(n+3) { border-top: 1px solid var(--line-2); }
}
@media (max-width: 760px) {
	:root { --header-h: 72px; }
	.site-brand .custom-logo.pv-logo--recorte { width: 170px; }
	.site-brand img,
	.site-brand .custom-logo { max-height: 56px; }
	.hero__track { border-radius: 20px; }
	.pv-banda--verde,
	.pv-banda--azul { margin-top: 36px; padding-bottom: 32px; }
}
@media (max-width: 480px) {
	/* Promesas compactas: 2 × 2, ícono arriba */
	.trust__item { flex-direction: column; align-items: flex-start; gap: 8px; padding: 14px; }
	.trust__icon { width: 36px; height: 36px; }
	.trust__icon .icon { width: 18px; height: 18px; }
	.trust__title { font-size: 14px; }
	.trust__text { font-size: 12px; }
}

/* Ficha de producto */
.single-product .product_title { color: var(--navy); }
.single-product .related > h2,
.single-product .upsells > h2,
.cross-sells > h2 {
	position: relative; padding-left: 18px;
	font-size: clamp(20px, 2.2vw, 25px); font-weight: 800; color: var(--navy);
}
.single-product .related > h2::before,
.single-product .upsells > h2::before,
.cross-sells > h2::before {
	content: ""; position: absolute; left: 0; top: .14em; bottom: .14em;
	width: 6px; border-radius: 6px; background: var(--brand);
}
.woocommerce-product-gallery__image { border-radius: 20px; background: var(--brand-tint); }
.woocommerce-product-gallery__image img { mix-blend-mode: multiply; }

/* Páginas de texto (Quiénes somos, legales, entradas): columna de lectura
   centrada, no pegada a la izquierda con un hueco a la derecha. */
.content--narrow { margin-inline: auto; }
.entry__content a:not(.btn) { color: var(--brand-ink); font-weight: 600; text-decoration: underline; text-underline-offset: 3px; }
.entry__content a:not(.btn):hover { color: var(--navy); }
