/* BeautyInRange v0.1.4: homepage responsive finishing layer.
 * Presentation only. No WooCommerce data, images or source JSON are changed.
 * Loaded AFTER theme.css and parity.css to keep updates easy to roll back.
 */
:root {
  --bir-mobile-section-space:30px;
  --bir-mobile-banner-height:224px;
}
/* General rhythm and reading comfort */
.bir-theme { overflow-wrap:break-word; }
.bir-theme .bir-container { max-width:var(--bir-container); }
.bir-home .bir-section:not(.bir-service-section) {
  padding-block:clamp(38px, calc(var(--bir-home-space) * .86), 74px);
}
.bir-section-head h2 { text-wrap:balance; }
.bir-section-head .bir-view-all { white-space:nowrap; }
.bir-section-head .bir-view-all:focus-visible { text-decoration:underline; }
.bir-product-card h3 a { color:inherit; }
.bir-product-card .bir-price { line-height:1.5; min-height:21px; }
.bir-product-card .bir-price del,
.bir-product-card .bir-price ins { white-space:nowrap; }
.bir-product-card .button { min-height:40px; padding:10px 13px; font-size:12px; }
.bir-product-card .button:focus-visible,
.bir-rail-buttons button:focus-visible { outline:2px solid var(--bir-accent);outline-offset:2px; }
.bir-product-card .bir-badge { line-height:1.2; }
.bir-rail-controls { min-height:43px; }
.bir-rail-buttons button { width:36px; height:36px; }
.bir-product-feature img { object-position:center center; }
/* Keep product information legible without changing its underlying values. */
.bir-image-feature-copy p, .bir-rich-copy { line-height:1.75; }
.bir-image-feature-copy .bir-btn { min-height:40px; }
.bir-faq-list details { scroll-margin-top:100px; }
.bir-faq summary { -webkit-tap-highlight-color:transparent; }
.bir-reviews .bir-review-rail { padding-block:4px 10px; }
.bir-review-rail article h3 { line-height:1.45; }
/* Header: compact, balanced nav and adequately sized icon hit areas. */
.bir-header-inner { min-width:0; }
.bir-header-icons { white-space:nowrap; }
.bir-header .bir-logo { min-width:0; }
.bir-header .bir-logo img { max-width:100%; }
.bir-header .bir-icon-btn { flex:0 0 auto; width:44px; min-width:44px; height:44px; }
.bir-header .bir-icon-btn svg { width:21px;height:21px; }
.bir-search-panel { max-width:100vw; }
.bir-search-panel .bir-container { padding-block:2px; }
/* Do not crop Shopify hero creatives with embedded product photography or text. */
.bir-slide-picture { overflow:hidden; }
.bir-slide-picture img { object-position:center; }
.bir-slide-content h1,.bir-slide-content h2 { text-wrap:balance; }
.bir-slide-content p { max-width:60ch; }
.bir-slider-dots { pointer-events:auto; }
.bir-slider-dots button { min-width:12px;min-height:12px; }
/* The original footer uses five groups. Align them even when WordPress menus differ. */
.bir-footer-grid { align-items:start;grid-template-columns:minmax(190px,1.3fr) repeat(3,minmax(110px,.8fr)) minmax(230px,1.4fr); }
.bir-footer h3 { font-size:14px;line-height:1.5; }
.bir-footer a { text-underline-offset:3px; }
.bir-footer-contact p { margin:7px 0; }
.bir-footer .bir-newsletter input { width:100%;font-size:13px;min-width:0; }
.bir-footer .bir-newsletter button { min-height:44px;cursor:pointer; }
.bir-footer-bottom { line-height:1.7; }
@media(min-width:1101px) {
  .bir-header-inner { grid-template-columns:minmax(145px,185px) minmax(0,1fr) auto;gap:clamp(10px,1.55vw,26px); }
  .bir-main-nav>ul { gap:clamp(10px,1.4vw,28px); }
  .bir-main-nav>ul>li>a { line-height:1.35; }
  .bir-product-block-inner { align-items:stretch; }
  .bir-product-feature { max-height:530px; }
  .bir-product-card h3 { min-height:40px; }
}
@media(max-width:1100px) {
  .bir-footer-grid { grid-template-columns:repeat(3,minmax(0,1fr));gap:25px 30px; }
  .bir-footer-grid>:first-child { grid-column:span 2; }
  .bir-footer-grid>:last-child { grid-column:span 2; }
  .bir-header-inner { gap:9px; }
}
@media(max-width:700px) {
  /* Mobile-first condensed browsing, without changing the section order. */
  .bir-container { width:calc(100% - 28px); }
  .bir-home .bir-section:not(.bir-service-section) { padding-block:var(--bir-mobile-section-space); }
  .bir-home .bir-product-section { padding-block:var(--bir-mobile-section-space); }
  .bir-home .bir-product-section .bir-section-head { margin-bottom:15px; }
  .bir-section-head h2 { font-size:clamp(18px,5vw,22px);line-height:1.35; }
  .bir-section-head .bir-view-all { font-size:12px; }
  .bir-header-inner { min-height:60px;grid-template-columns:44px minmax(0,1fr) auto;gap:4px; }
  .bir-logo { width:100%;justify-content:center; }
  .bir-logo a { max-width:100%; }
  .bir-logo img { max-width:min(124px,34vw);max-height:43px; }
  .bir-header .bir-icon-btn { width:40px;min-width:40px;height:44px; }
  .bir-header .bir-icon-btn svg { width:20px;height:20px; }
  .bir-menu-toggle { justify-content:center; }
  .bir-announcement-track { min-height:31px;padding:7px 14px; }
  .bir-slide-inner { padding:16px 16px 19px; }
  .bir-slide-content .bir-mobile-heading { font-size:clamp(21px,5.75vw,27px);line-height:1.3; }
  .bir-slide-content .bir-mobile-desc { line-height:1.6; }
  .bir-slide-content .bir-hero-button { min-height:42px; }
  .bir-slider-prev,.bir-slider-next { width:36px;height:36px; }
  .bir-slider-dots { top:calc(80vw - 21px);gap:7px; }
  .bir-slider-dots button { min-width:10px;min-height:10px; }
  .bir-service-section { padding-block:12px 17px; }
  .bir-service-grid .bir-service-card { padding:16px 14px; }
  .bir-service-card h3 { line-height:1.45; }
  .bir-service-card p { line-height:1.55; }
  .bir-product-block-inner { gap:12px; }
  .bir-product-feature { height:var(--bir-mobile-banner-height);max-height:none;aspect-ratio:auto;display:flex;align-items:center;justify-content:center;background:#f7f6f8; }
  .bir-product-feature img { width:100%;height:100%;max-height:none;object-fit:contain;object-position:center; }
  .bir-product-carousel .bir-product-rail { gap:12px;padding-bottom:3px;scroll-padding-inline:0; }
  .bir-product-carousel .bir-product-rail>.product { scroll-snap-align:start; }
  .bir-product-card-body { padding:11px; }
  .bir-product-card h3 { font-size:12px;line-height:1.5;min-height:36px;margin-block:7px 9px; }
  .bir-product-card .bir-card-brand { font-size:10px; }
  .bir-product-card .bir-price { font-size:12px;margin-bottom:10px; }
  .bir-product-card .button { font-size:11px;min-height:40px;padding:9px 10px; }
  .bir-rail-controls { padding-top:8px;min-height:43px; }
  .bir-rail-buttons button { width:36px;height:36px; }
  .bir-rich-inner h2 { font-size:clamp(21px,5.8vw,27px);line-height:1.32; }
  .bir-image-grid { gap:19px; }
  .bir-image-feature-copy { margin-top:12px; }
  .bir-image-feature-copy h3 { font-size:17px;line-height:1.45; }
  .bir-image-feature-copy p { font-size:13px;line-height:1.7; }
  .bir-reviews .bir-review-rail article { flex-basis:min(82%,350px); }
  .bir-faq summary { padding-block:15px; }
  .bir-faq summary::after { top:11px; }
  .bir-brand-strip { padding-block:26px; }
  .bir-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr));gap:22px 20px;padding-block:33px; }
  .bir-footer-grid>:first-child,.bir-footer-grid>:last-child { grid-column:1/-1; }
  .bir-footer h3 { font-size:13px;margin-bottom:9px; }
  .bir-footer li { line-height:1.9; }
  .bir-footer .bir-newsletter { align-items:stretch; }
  .bir-footer .bir-newsletter input { font-size:13px;padding:11px; }
  .bir-footer .bir-newsletter button { padding-inline:15px; }
  .bir-footer-bottom { text-align:center;font-size:11px; }
}
@media(max-width:380px) {
  .bir-logo img { max-width:104px; }
  .bir-header .bir-icon-btn { width:37px;min-width:37px; }
  .bir-footer-grid { gap:20px 14px; }
}
@media(prefers-reduced-motion:reduce) {
  .bir-theme .bir-product-feature img,.bir-theme .bir-product-card img { transform:none!important; }
}
