/*
 * AutoCleanify responsive foundation — v1.1.23
 * Loaded after the main stylesheet to provide one authoritative responsive layer.
 */

html,body{max-width:100%;overflow-x:clip}

/* Fluid primitives */
.ac-container{width:min(1180px,calc(100% - 40px));margin-inline:auto}
.ac-single-title,.ac-heading,.ac-brand-hero h1,.ac-about-hero h1{overflow-wrap:anywhere}

/* Tablet / compact desktop */
@media (max-width: 1024px){
  .ac-container{width:calc(100% - 36px)}

  /* Header */
  .ac-site-header{height:68px}
  .ac-header-inner{grid-template-columns:44px 1fr auto;gap:12px}
  .ac-menu-toggle{display:grid;justify-self:start}
  .ac-logo-link{justify-self:center}
  .ac-logo-link img{width:124px!important}
  .ac-nav{display:none;position:absolute;z-index:120;left:18px;right:18px;top:62px;background:#fff;border:0;border-radius:20px;padding:10px;box-shadow:0 24px 60px -20px rgba(40,20,55,.25)}
  .ac-nav.is-open{display:block}
  .ac-nav-list{display:flex;flex-direction:column;align-items:stretch;gap:0}
  .ac-nav-list>li+li{border-top:1px solid var(--ac-line)}
  .ac-nav a{display:block;padding:13px 12px}
  .ac-header-actions{gap:8px}
  .ac-header-icon{width:34px;height:40px}
  .ac-header-icon svg{width:25px;height:25px}

  /* Homepage */
  .ac-featured-grid{grid-template-columns:1fr;gap:34px}
  .ac-featured-media{max-width:680px;margin-inline:auto;width:100%}
  .ac-featured-copy{max-width:760px;margin-inline:auto;width:100%}
  .ac-package-mini-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

  /* Product page: stack before phone widths. This fixes the previous conflicting desktop override. */
  .ac-product-page{padding-top:32px}
  .ac-product-page>.ac-container{max-width:860px}
  .ac-single-grid{grid-template-columns:1fr!important;gap:30px!important}
  .ac-single-media{position:static!important;max-width:620px;width:100%;margin-inline:auto}
  .ac-single-info{width:100%;max-width:760px;margin-inline:auto;padding-top:0}
  .ac-single-title{font-size:clamp(34px,5vw,46px);max-width:none}
  .ac-single-subtitle{max-width:680px}
  .ac-package-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
  .ac-package-option{min-width:0}
  .ac-related-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important}

  /* PDP supporting sections */
  .ac-pdp-reviews,.ac-bundle-upsell{max-width:860px;margin-left:auto;margin-right:auto}
  .ac-pdp-review-list{grid-template-columns:repeat(2,minmax(0,1fr))}

  /* Brand/support pages */
  .ac-about-hero__grid,.ac-about-story__grid,.ac-contact-pro__grid,.ac-policy-sections__grid,.ac-guide-article__hero-grid{gap:34px}
  .ac-guide-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}

  /* Footer */
  .ac-footer-simple__main{grid-template-columns:1.25fr repeat(3,.8fr);gap:34px}
}

/* Phones + portrait tablets */
@media (max-width: 760px){
  .ac-container{width:calc(100% - 28px)}

  /* Topbar */
  .ac-topbar,.ac-topbar-inner{min-height:32px}
  .ac-topbar-message{font-size:var(--ac-fs-2xs)!important;line-height:1.2;text-align:center;letter-spacing:0!important;text-transform:none!important;padding:5px 0}

  /* Header */
  .ac-site-header{height:62px;position:sticky;top:0;z-index:100}
  .ac-header-inner{grid-template-columns:40px minmax(0,1fr) auto;gap:6px}
  .ac-logo-link img{width:112px!important}
  .ac-menu-toggle{width:36px;height:36px}
  .ac-header-actions{gap:4px}
  .ac-header-icon{width:32px;height:38px}
  .ac-header-icon svg{width:24px;height:24px}
  .ac-cart-count{right:-4px;top:-1px;min-width:17px;height:17px;font-size:var(--ac-fs-2xs)}
  .ac-nav{top:56px;left:14px;right:14px}

  /* Hero */
  .ac-hero-v2{min-height:540px;background-position:72% center}
  .ac-hero-v2__inner{min-height:540px;align-items:flex-end;padding:64px 0 30px}
  .ac-hero-v2__copy{max-width:100%}
  .ac-hero-v2 h1{max-width:340px}
  .ac-hero-v2 p{font-size:var(--ac-fs-sm);max-width:330px}
  .ac-hero-v2__actions{display:grid;grid-template-columns:1fr;gap:9px;width:min(100%,360px)}
  .ac-hero-v2__actions .ac-btn{width:100%;min-height:46px}
  .ac-hero-v2__trust{gap:8px 12px;font-size:var(--ac-fs-xs);max-width:360px}

  /* Home proof + featured */
  .ac-home-proof__grid{grid-template-columns:1fr 1fr}
  .ac-home-proof__item{padding:0!important;border-left:0!important;border-top:0}
  .ac-featured{padding:46px 0}
  .ac-featured-grid{grid-template-columns:1fr!important;gap:24px}
  .ac-featured-media{max-width:none}
  .ac-featured-copy h2{font-size:var(--ac-fs-2xl)}
  .ac-package-mini-grid{grid-template-columns:1fr;gap:9px}
  .ac-package-mini{min-height:auto;padding:14px}
  .ac-home-buy-row{display:grid;grid-template-columns:1fr;gap:8px}
  .ac-home-add{width:100%}
  .ac-home-details{justify-content:center}

  /* Shop */
  .ac-shop-hero{padding:40px 0 12px}
  .ac-shop-hero h1{font-size:var(--ac-fs-3xl)}
  .ac-filter-pills{overflow-x:auto;flex-wrap:nowrap;scrollbar-width:none;margin:18px 0 22px;padding-bottom:4px}
  .ac-filter-pills::-webkit-scrollbar{display:none}
  .ac-filter-pills a{white-space:nowrap;flex:0 0 auto}
  .ac-product-grid,.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}

  /* Product page */
  body.single-product{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  .ac-product-page{padding-top:22px}
  .ac-back-link{margin-bottom:14px;font-size:var(--ac-fs-xs)}
  .ac-single-grid{grid-template-columns:1fr!important;gap:22px!important}
  .ac-single-media{width:100%;max-width:560px;margin-inline:auto}
  .ac-single-main-image{border-radius:22px;aspect-ratio:1/1}
  .ac-single-info{max-width:none}
  .ac-single-title{font-size:clamp(29px,8.5vw,35px);line-height:1.06;margin:2px 0 8px}
  .ac-single-subtitle{font-size:var(--ac-fs-xs);line-height:1.55;margin-bottom:12px}
  .ac-single-price{font-size:var(--ac-fs-xl);margin-bottom:12px}
  .ac-stock-line{margin:-4px 0 14px}
  .ac-offer-label{font-size:var(--ac-fs-2xs);margin-bottom:11px}
  .ac-package-grid{grid-template-columns:1fr!important;gap:10px}
  .ac-package-option{min-height:auto!important;padding:16px 15px;border-radius:16px}
  .ac-package-option strong{font-size:var(--ac-fs-sm)}
  .ac-package-option small{font-size:var(--ac-fs-xs);min-height:0}
  .ac-package-option .ac-package-price{font-size:var(--ac-fs-lg);margin-top:5px}
  .ac-package-option em{font-size:var(--ac-fs-2xs)}
  .ac-package-ribbon{top:-9px;font-size:var(--ac-fs-2xs)}
  .ac-free-note{font-size:var(--ac-fs-xs);padding:10px 12px}
  .ac-single-cart-form .single_add_to_cart_button{min-height:48px!important}
  .ac-product-trustline{display:grid;grid-template-columns:1fr;gap:12px;margin:20px 0 24px}
  .ac-product-trustline span{padding:0!important;border-left:0!important}
  .ac-mobile-sticky{display:flex;position:fixed;left:0;right:0;bottom:0;z-index:900;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-top:1px solid var(--ac-line);padding:10px 14px calc(10px + env(safe-area-inset-bottom));box-shadow:0 -8px 28px rgba(30,18,44,.10)}
  .ac-mobile-sticky .ac-btn{width:100%;min-height:52px;border-radius:999px;font-size:var(--ac-fs-md)}

  /* Product supporting sections */
  .ac-single-thumbs{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
  .ac-pdp-reviews{margin:48px 0;padding:24px 18px;border-radius:var(--ac-radius)}
  .ac-pdp-reviews__head{display:block}
  .ac-pdp-reviews__head h2{font-size:var(--ac-fs-xl)}
  .ac-pdp-reviews__aside{align-items:flex-start;flex-direction:row;flex-wrap:wrap;margin-top:18px}
  .ac-pdp-reviews__score{width:max-content}
  .ac-pdp-review-list{grid-template-columns:1fr}
  .ac-bundle-upsell{grid-template-columns:1fr;padding:15px}
  .ac-bundle-upsell-action{text-align:left;align-items:flex-start}
  .ac-related-wrap{padding:42px 0 84px}
  .ac-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:16px!important}

  /* Content pages */
  .ac-brand-hero{padding:50px 0 42px}
  .ac-brand-hero h1,.ac-about-hero h1,.ac-brand-hero__faq-copy h1{font-size:var(--ac-fs-3xl)}
  .ac-brand-hero p,.ac-about-hero p,.ac-brand-hero__faq-copy p{font-size:var(--ac-fs-xs)}
  .ac-brand-hero__faq-inner,.ac-about-hero__grid,.ac-about-story__grid,.ac-policy-sections__grid,.ac-contact-pro__grid,.ac-guide-article__hero-grid{grid-template-columns:1fr!important}
  .ac-brand-hero__faq-copy,.ac-about-hero__copy{text-align:center}
  .ac-brand-hero__faq-image{justify-self:center;width:180px;height:180px}
  .ac-guide-feature{min-height:390px;border-radius:18px}
  .ac-guide-feature__overlay{left:22px;right:22px;bottom:25px}
  .ac-guide-feature__overlay h2{font-size:var(--ac-fs-2xl)}
  .ac-guide-card-grid{grid-template-columns:1fr}
  .ac-about-stats__grid{grid-template-columns:1fr}
  .ac-about-stats__grid>div+div{border-left:0;border-top:1px solid #ece6f0}
  .ac-about-principles__grid,.ac-order-journey__grid,.ac-contact-links__grid{grid-template-columns:1fr}
  .ac-contact-pro__form-wrap{padding:22px}
  .ac-contact-form__row{grid-template-columns:1fr}

  /* Footer */
  .ac-footer-simple__main{grid-template-columns:1fr 1fr;gap:28px 24px;padding:42px 0 34px}
  .ac-footer-simple__brand{grid-column:1/-1;max-width:none}
  .ac-footer-simple__brand p{max-width:480px}
  .ac-footer-simple__bottom{min-height:auto;padding:18px 0;flex-direction:column;align-items:flex-start;gap:9px}

  /* Drawers / modals */
  .ac-cart-drawer{width:min(420px,100vw)}
  .ac-auth-modal{padding:12px}
  .ac-auth-dialog{width:100%;max-height:calc(100dvh - 24px);padding:24px 20px;border-radius:22px}

  /* Woo tables/forms */
  .woocommerce table.shop_table{font-size:var(--ac-fs-xs)}
  .woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:10px!important}
}

/* Small phones */
@media (max-width: 480px){
  .ac-container{width:calc(100% - 24px)}
  .ac-topbar-message{font-size:var(--ac-fs-2xs)!important}
  .ac-site-header{height:60px}
  .ac-logo-link img{width:104px!important}
  .ac-menu-toggle{width:34px;height:34px}
  .ac-header-icon{width:29px;height:36px}
  .ac-header-icon svg{width:22px;height:22px}

  .ac-home-proof__grid{grid-template-columns:1fr;gap:18px}
  .ac-home-proof__item{border-top:0!important;padding:0!important}

  .ac-product-grid,.products{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:14px!important}
  .ac-product-info{padding:14px;min-height:150px}
  .ac-product-title,.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:var(--ac-fs-sm)!important;line-height:1.3!important}
  .ac-product-excerpt{font-size:var(--ac-fs-xs);line-height:1.4}
  .ac-card-price,.woocommerce ul.products li.product .price{font-size:var(--ac-fs-md)!important}

  .ac-single-title{font-size:var(--ac-fs-2xl)}
  .ac-single-media{max-width:none}
  .ac-package-option{padding:15px 14px}
  .ac-mobile-sticky{padding-left:12px;padding-right:12px}
  .ac-mobile-sticky .ac-btn{min-height:50px}
  .ac-related-grid{grid-template-columns:1fr!important}

  .ac-footer-simple__main{grid-template-columns:1fr;gap:24px;padding:36px 0 28px}
  .ac-footer-simple__brand{grid-column:auto}
  .ac-footer-simple__legal{gap:13px}

  .ac-guide-feature{min-height:360px}
  .ac-guide-feature__overlay h2{font-size:var(--ac-fs-xl)}
  .ac-page-cta__inner{display:block;text-align:center}
  .ac-page-cta a{margin-top:16px}
}

/* Very narrow devices */
@media (max-width: 350px){
  .ac-container{width:calc(100% - 20px)}
  .ac-logo-link img{width:94px!important}
  .ac-product-grid,.products{grid-template-columns:1fr!important}
}

/* WordPress admin bar offsets */
@media (max-width: 782px){body.admin-bar .ac-site-header{top:46px}}
@media (min-width: 783px) and (max-width: 1024px){body.admin-bar .ac-site-header{top:32px}}


/* v1.1.24 checkout/mobile cart final overrides */
@media (max-width:760px){
  body.woocommerce-checkout{padding-bottom:0!important}
  body.woocommerce-checkout .ac-topbar,body.woocommerce-checkout .ac-site-header{display:none!important}
  body.woocommerce-checkout .ac-mobile-sticky{display:none!important}
  body.woocommerce-checkout .ac-content-page{padding:0!important}
  body.ac-mobile-quickcart-open .ac-mobile-sticky{opacity:0;pointer-events:none}
}


/* v1.2.1 — consolidated PDP: steps, tabs, review modal */
@media (max-width: 760px){
  .ac-pdp-tabs{padding:48px 0 4px}
  .ac-pdp-tabs__nav{gap:22px;margin-bottom:26px}
  .ac-pdp-tab{font-size:var(--ac-fs-sm);padding:14px 2px}
  .ac-pdp-steps{grid-template-columns:1fr;gap:26px;margin-bottom:26px}
  .ac-pdp-step{padding:0}
  .ac-pdp-step__num{width:54px;height:54px;margin-bottom:14px}
  .ac-review-modal{padding:12px}
  .ac-review-modal__dialog{padding:26px 20px;border-radius:22px;max-height:calc(100dvh - 24px)}
  .ac-review-modal__close{right:12px;top:12px}
  .ac-review-field p.stars a{width:36px;height:36px}
}
