html, body { max-width: 100%; overflow-x: clip; }
.site-main, .rs-container, .rsh-container, .container, .woocommerce, .woocommerce-page { min-width: 0; }
table { max-width: 100%; }
@media (max-width: 1280px) {
    :root { --rsh-container: 1160px; }
    .rs-container, .rsh-container, .container { width: min(var(--rsh-container), calc(100% - 40px)); }
}
@media (max-width: 1024px) {
    .rsh-section { padding-block: 46px; }
    h1 { font-size: clamp(2rem,4.4vw,2.5rem); }
    h2 { font-size: clamp(1.6875rem,3.6vw,2rem); }
    .rsh-footer-cta__inner { min-height: 170px; }
    .single-product div.product { grid-template-columns: minmax(0,1fr) minmax(360px,.82fr); gap: 28px; }
}
@media (max-width: 980px) {
    .single-product div.product { grid-template-columns: 1fr; }
    .single-product div.product .summary { position: static; }
    .woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); }
}
@media (max-width: 782px) {
    .admin-bar .rsh-header { top: 46px; }
    .rs-container, .rsh-container, .container, .woocommerce-message, .woocommerce-info, .woocommerce-error { width:calc(100% - 36px); }
    .rsh-section { padding-block: 48px; }
    .rsh-commerce-head { padding-top: 32px; }
    .rsh-footer__main { padding-top: 44px; }
    .rsh-article-content { font-size: 1rem; }
}
@media (max-width: 600px) {
    .admin-bar .rsh-header { top: 0; }
    .rs-container, .rsh-container, .container, .woocommerce-message, .woocommerce-info, .woocommerce-error { width:calc(100% - 28px); }
    .rsh-section { padding-block: 36px; }
    .rsh-eyebrow { font-size: .72rem; }
    .rsh-button-group { align-items: stretch; flex-direction: column; }
    .rsh-button-group .rsh-button { width: 100%; }
    .woocommerce ul.products { grid-template-columns: 1fr; }
    .single-product .woocommerce-product-gallery__image a { min-height: 320px; }
    .single-product .summary .product_title { font-size: clamp(1.8125rem,8vw,2.0625rem); }
    .single-product .summary .single_add_to_cart_button { width: calc(100% - 88px); }
    .rsc-summary { position: static; box-shadow: none; }
    .rsh-checkout-steps { max-width: 100%; }
    .rsh-cart-summary, .rsh-checkout__summary { padding: 20px; }
    .rsh-footer__bottom-inner { width:calc(100% - 28px); }
}
@media (max-width: 430px) {
    body { font-size: 15.5px; }
    .rsh-section { padding-block: 32px; }
    .rsh-hero { padding-block: 36px; }
    .rsh-category-card__body { padding: 18px; }
    .rsh-comparison-card, .rsh-testimonial { padding: 22px; }
    .rsh-final-cta { padding: 28px 20px; border-radius: 18px; }
    .rsh-footer-cta__inner { padding-block: 30px; }
    .rsh-footer__main { padding-block: 38px; }
    .rsh-checkout-steps li > span { width: 30px; height: 30px; }
    .rsh-checkout-steps::before { top: 15px; }
    .rsh-cart-item__actions { flex-wrap: wrap; }
    .rsh-cart-actions .coupon > div { grid-template-columns: 1fr; }
    .rsh-cart-actions .coupon .button { width: 100%; }
    .rsh-checkout-card, .rsh-checkout__summary { padding: 17px; }
    .rsh-post-header { padding-top: 34px; }
    .rsh-article-layout { padding-top: 38px; }
}
@media (max-width: 390px) {
    .rsh-brand-logo--header { width: 180px; height: 45px; }
    .rsh-brand-logo--header.is-theme-logo img { top: -64px; left: -43px; width: 264px; }
    .rsh-header__actions { gap: 2px; }
    .rsh-account-link { display: none; }
    .rsh-category-card__footer { align-items: flex-start; flex-direction: column; }
    .rsh-loop-card__footer { grid-template-columns: 1fr; align-items: stretch; }
    .rsh-loop-card__footer .button { width: 100%; min-height: 44px; max-width: none; justify-self: stretch; }
    .rsh-cart-item__heading > strong { white-space: normal; }
}
@media (max-width: 360px) {
    .rsh-brand-logo--header { width: 158px; height: 40px; }
    .rsh-brand-logo--header.is-theme-logo img { top: -57px; left: -38px; width: 232px; }
    .rsh-cart-count { position: absolute; top: 2px; right: 0; }
    .rsh-checkout-steps li { font-size: .7rem; }
    .single-product .summary .single_add_to_cart_button { width: 100%; }
    .single-product .summary .quantity { width: 100%; margin: 0 0 8px; }
    .single-product .summary .quantity input { width: 100%; }
}
