/* =========================================================================
   OOH LA LA BOUTIQUE — responsive.css (mobile-first overrides, loaded last)
   ========================================================================= */

@media (max-width: 1024px) {
	.oll-cats__grid { grid-template-columns: repeat(3, 1fr); }
	ul.products, .oll-section ul.products { grid-template-columns: repeat(3, 1fr); }
	.oll-trust__grid { grid-template-columns: repeat(2, 1fr); row-gap: 40px; }
	.oll-footer-widgets__grid { grid-template-columns: 1fr 1fr; gap: 36px; }
	.single-product div.product { grid-template-columns: 1fr; gap: 36px; }
}

@media (max-width: 860px) {
	.oll-header__inner { grid-template-columns: auto 1fr auto; min-height: 68px; }
	.oll-burger { display: flex; }
	.oll-nav { position: fixed; inset: 0 0 0 auto; width: min(82vw, 340px); background: var(--oll-bg); border-left: 1px solid var(--oll-line); transform: translateX(100%); transition: transform .3s ease; z-index: 200; padding: 80px 0 30px; overflow-y: auto; border-top: 0; display: block; }
	.oll-nav.is-open { transform: translateX(0); box-shadow: -20px 0 60px rgba(0,0,0,.2); }
	.oll-nav__menu { flex-direction: column; gap: 0; }
	.oll-nav__menu a { padding: 16px 26px; border-bottom: 1px solid var(--oll-line); text-align: left; }
	.oll-nav__menu > li > a::after { display: none; }
	.oll-nav__menu ul.sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; border: 0; padding-left: 16px; }

	.oll-archive.has-sidebar { grid-template-columns: 1fr; }
	.oll-archive__sidebar { order: 2; }
	.oll-cta-band__inner { flex-direction: column; align-items: flex-start; text-align: left; }
}

@media (max-width: 600px) {
	.oll-section { padding: 56px 0; }
	.oll-cats__grid { grid-template-columns: 1fr 1fr; gap: 14px; }
	ul.products, .oll-section ul.products, .oll-focus ul.products { grid-template-columns: 1fr 1fr; gap: 16px; }
	.oll-post-list { grid-template-columns: 1fr; }
	.oll-trust__grid { grid-template-columns: 1fr; gap: 34px; }
	.oll-footer-widgets__grid { grid-template-columns: 1fr; gap: 30px; }
	.oll-footer__bar { flex-direction: column; text-align: center; }

	.oll-hero__inner { padding: 64px 0 72px; }
	.oll-hero__actions .oll-btn { flex: 1; justify-content: center; }

	.oll-card__title { font-size: 1.1rem; }
	.oll-card__action .button { padding: 10px 18px; }

	.oll-newsletter__form { flex-direction: column; }
	.oll-wa-float span { display: none; }
	.oll-wa-float { padding: 14px; border-radius: 50%; }

	.single-product form.cart { flex-direction: column; align-items: stretch; }
	.single-product .single_add_to_cart_button { width: 100%; text-align: center; }
	.single-product .variations th.label { width: auto; display: block; padding-bottom: 4px; }
	.single-product .variations td { display: block; padding-top: 0; }
}

@media (prefers-reduced-motion: reduce) {
	* { animation: none !important; transition: none !important; scroll-behavior: auto !important; }
}

/* =========================================================================
   v1.3.0 (v4) — hero mobile fix, stronger overlays, compact footer
   ========================================================================= */

/* #4 Hero: never cut off on mobile; proper padding + readable min-height */
.oll-hero { position: relative; }
.oll-hero__inner {
	max-width: 1200px; margin: 0 auto;
	padding-left: clamp(20px, 5vw, 64px);
	padding-right: clamp(20px, 5vw, 64px);
	box-sizing: border-box;
}
.oll-hero__content { max-width: 640px; }
.oll-hero.has-image { min-height: 60vh; display: flex; align-items: center; }
.oll-hero.has-image .oll-hero__content { color: #fff; }
.oll-hero.has-image .oll-hero__title,
.oll-hero.has-image .oll-hero__subtitle { color: #fff; }
.oll-hero.has-image .oll-eyebrow { color: rgba(255,255,255,.85); }

@media (max-width: 600px) {
	.oll-hero__inner { padding-top: 48px; padding-bottom: 48px; padding-left: 22px; padding-right: 22px; }
	.oll-hero__title { font-size: clamp(1.9rem, 8vw, 2.6rem); line-height: 1.12; }
	.oll-hero__subtitle { font-size: 1rem; }
	.oll-hero.has-image { min-height: 56vh; }
	.oll-hero__actions { flex-wrap: wrap; }
	.oll-hero__actions .oll-btn { flex: 1 1 auto; justify-content: center; }
}

/* #5 Stronger but elegant category tile overlay for label readability */
.oll-cat-tile__overlay {
	position: absolute; inset: 0; pointer-events: none;
	background: linear-gradient(180deg, rgba(20,16,16,.08) 0%, rgba(20,16,16,.18) 45%, rgba(20,16,16,.66) 100%);
}
.oll-cat-tile__name { text-shadow: 0 1px 10px rgba(0,0,0,.45); }
.oll-cat-tile__shop { text-shadow: 0 1px 8px rgba(0,0,0,.4); }

/* #10 Compact footer: kill the oversized empty dark block on short pages */
.oll-footer-widgets { padding: 44px 0 28px; }
.oll-footer { padding: 0; }
.oll-footer__bar { padding-top: 18px; padding-bottom: 18px; }
.oll-content-area { min-height: 40vh; }       /* short pages still fill enough */
.oll-content-area:empty { min-height: 0; }
/* Remove stray empty trailing sections that create big gaps */
.site-content > .oll-section:empty,
.oll-woo-generic:empty { display: none; }
