/* Compact storefront. Desktop layout continues to use main.css. */
.gss-mobile-filter-toggle { display: none; }
@media (max-width: 680px) {
  .gss-topbar .gss-shell { height: 26px; }
  .gss-topbar { font-size: 10px; }
  .gss-header { height: auto; }
  .gss-nav-wrap { display: grid; grid-template-columns: 44px minmax(0,1fr) auto; gap: 6px 10px; padding-block: 6px; }
  .gss-menu-button { grid-column: 1; grid-row: 1; width: 44px; height: 44px; padding: 0; }
  .gss-brand { grid-column: 2; grid-row: 1; }
  .gss-brand .custom-logo { max-width: 160px; max-height: 42px; object-fit: contain; }
  .gss-actions { display: contents; }
  .gss-actions .cart { grid-column: 3; grid-row: 1; width: auto; min-width: 64px; height: 44px; gap: 5px; font-size: 0; }
  .gss-actions .cart::before { content: 'Mand'; font-size: 12px; }
  .gss-search { display: flex; grid-column: 1 / -1; grid-row: 2; width: 100%; height: 44px; margin: 0; }
  .gss-search input { min-width: 0; font-size: 16px; }
  .gss-search button { flex: 0 0 44px; }
  .gss-nav.open { top: 100%; max-height: calc(100dvh - 138px); overflow-y: auto; padding: 12px; }
  .gss-nav.open .menu { gap: 0; }
  .gss-nav.open a { display: flex; align-items: center; min-height: 44px; padding: 8px; }
  .hero-grid { display: grid; grid-template-columns: minmax(0,1fr) 108px; min-height: 0; gap: 12px; padding-block: 18px; align-items: center; }
  .hero-grid > div:first-child { padding: 0; }
  .gss-hero h1 { margin: 0 0 8px; font-size: 28px; line-height: 1.08; letter-spacing: -.8px; }
  .gss-hero p { font-size: 13px; line-height: 1.45; }
  .hero-buttons { margin-top: 12px; gap: 7px; }
  .hero-buttons .gss-button { min-height: 44px; padding: 7px 10px; font-size: 12px; text-align: center; }
  .hero-media { width: 100%; height: 160px; transform: none; border-radius: 8px; }
  .hero-slider .hero-slide img { object-position: center; }
  .hero-slider__controls { right: 0; bottom: 0; width: 100%; justify-content: space-between; gap: 0; }
  .hero-slider__button { width: 44px; height: 44px; }
  .hero-slider__dots { display: none; }
  .gss-home-shop { padding: 16px 0 22px; }
  .gss-category-filter__heading { gap: 8px; margin-bottom: 10px; }
  .gss-category-filter__heading h2 { font-size: 19px; }
  .gss-category-filter__heading button { min-height: 44px; white-space: normal; }
  .gss-mobile-filter-toggle { display: flex; align-items: center; justify-content: space-between; width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid #dfcbe3; border-radius: 6px; background: #fff; color: #4a2451; font: 700 14px 'DM Sans',sans-serif; cursor: pointer; }
  .gss-mobile-filter-toggle::after { content: '+'; font-size: 22px; }
  .gss-mobile-filter-toggle[aria-expanded="true"]::after { content: '−'; }
  .gss-category-filter { gap: 6px; }
  .gss-category-filter.gss-mobile-collapsed { display: none; }
  .gss-mobile-filter-toggle + .gss-category-filter:not(.gss-mobile-collapsed) { margin-top: 8px; }
  .gss-category-choice { min-height: 44px; font-size: 12px; }
  .gss-category-choice__name { white-space: normal; overflow-wrap: anywhere; }
  .gss-product-browser__head { margin: 16px 0 10px; padding-top: 12px; }
  .gss-product-browser__head h2, .section-head h2 { font-size: 20px; }
  .gss-products, .gss-filtered-products { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; overflow: visible; padding-bottom: 0; }
  .gss-product-card { min-width: 0; display: flex; flex-direction: column; }
  .gss-product-image { height: 135px; }
  .gss-product-image img { height: 100%; width: 100%; object-fit: contain; }
  .gss-card-content { padding: 9px; display: flex; flex-direction: column; flex: 1; }
  .gss-card-content h3 { font-size: 13px; line-height: 1.35; min-height: 0; overflow-wrap: anywhere; }
  .gss-buy { margin-top: auto; flex-wrap: wrap; gap: 6px; }
  .gss-buy .price, .gss-buy > strong { font-size: 16px; }
  .gss-buy .button { min-height: 44px; min-width: 44px; display: inline-flex; align-items: center; justify-content: center; }
  .gss-section { padding: 22px 0; }
  .gss-config { padding: 16px 12px; }
  .gss-growset { padding: 18px 12px; gap: 18px; margin-block: 20px; }
  .gss-growset .gss-growset__intro h2 { font-size: 25px; line-height: 1.15; }
  .gss-growset .gss-growset__intro-text { font-size: 14px; }
  .gss-growset .gss-growset__steps { display: none; }
  .gss-growset .gss-growset__builder { padding: 14px; }
  .gss-growset .gss-growset__question { margin-bottom: 16px; }
  .gss-growset .gss-growset__question h3 { font-size: 19px; margin-bottom: 10px; }
  .gss-growset .gss-growset__options, .gss-growset .gss-growset__goals { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 6px; }
  .gss-growset .gss-growset__options button, .gss-growset .gss-growset__goals button { min-width: 0; min-height: 70px; padding: 9px 5px; }
  .gss-growset .gss-growset__options strong, .gss-growset .gss-growset__goals b { font-size: 12px; overflow-wrap: anywhere; }
  .gss-growset .gss-growset__tent { font-size: 15px; }
  .gss-growset .gss-growset__options small, .gss-growset .gss-growset__goals small { display: none; }
  .advice-grid { gap: 14px; }
  .article-image { height: 140px; }
  .woo-main, .content-main { padding-top: 16px; padding-bottom: 24px; }
  .woo-title { margin-bottom: 14px; }
  .single-product .woo-main > .woo-title { display: none; }
  .post-type-archive-product .woocommerce-products-header__title { display: none; }
  .woo-title h1, .content-main h1 { font-size: 27px; line-height: 1.15; overflow-wrap: anywhere; }
  .woocommerce .woocommerce-ordering { float: none; margin-bottom: 12px; }
  .woocommerce .woocommerce-ordering select { width: 100%; min-height: 44px; font-size: 16px; }
  .woocommerce ul.products { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .woocommerce ul.products li.product { min-width: 0; margin: 0; padding: 9px; }
  .woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 13px; line-height: 1.35; overflow-wrap: anywhere; color: #3e1749; }
  .woocommerce ul.products li.product .price { font-size: 16px; color: #8a1760; }
  .woocommerce ul.products li.product .button { min-height: 44px; display: inline-flex; align-items: center; justify-content: center; padding: 9px; }
  .woocommerce div.product .product_title { font-size: 25px; line-height: 1.2; }
  .woocommerce div.product div.images { margin-bottom: 16px; }
  .woocommerce div.product div.images .woocommerce-product-gallery__image img { max-height: 280px; object-fit: contain; }
  .woocommerce div.product .summary { margin-bottom: 20px; }
  .woocommerce div.product .woocommerce-tabs ul.tabs { display: flex; overflow-x: auto; padding-left: 0; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li { flex-shrink: 0; }
  .woocommerce div.product .woocommerce-tabs ul.tabs li a { min-height: 44px; display: flex; align-items: center; }
  .woocommerce form .form-row input.input-text, .woocommerce form .form-row select, .woocommerce form .form-row textarea { font-size: 16px; min-height: 44px; }
  .woocommerce div.product form.cart .button { min-height: 44px; }
  .woocommerce .quantity .qty { min-height: 44px; }
  .wc-block-cart .wc-block-cart-items { width: 100%; table-layout: fixed; }
  .wc-block-cart .wc-block-cart-items__row { grid-template-columns: 56px minmax(0,1fr) auto; }
  .wc-block-cart .wc-block-cart-item__product { min-width: 0; overflow-wrap: anywhere; }
  .wc-block-cart .wc-block-cart-item__image { width: 56px; }
  .wc-block-cart .wc-block-components-product-name { font-size: 14px; color: #3e1749; }
  .wc-block-components-quantity-selector { min-height: 44px; }
  .wc-block-components-text-input input, .wc-block-components-combobox input { font-size: 16px; }
  .gss-plagron-family-hero { min-height: 0; padding: 14px; margin-bottom: 16px; }
  .gss-plagron-family-hero__content { padding: 12px; }
  .gss-plagron-family-hero h2 { font-size: 23px; }
  .gss-plagron-family-tiles { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
  .gss-plagron-family-tile { min-height: 150px; padding: 12px; }
  .gss-plagron-path { flex-wrap: wrap; font-size: 12px; }
  .footer-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; }
  .footer-grid > * { min-width: 0; overflow-wrap: anywhere; }
  .gss-footer a { display: block; padding-block: 8px; }
  :is(.gss-mobile-filter-toggle,.gss-menu-button,.gss-search input):focus-visible { outline: 2px solid #c52d7e; outline-offset: 2px; }
}
@media (max-width: 359px) {
  .hero-grid { grid-template-columns: minmax(0,1fr); }
  .hero-media { display: none; }
  .gss-brand .custom-logo { max-width: 130px; }
  .footer-grid { grid-template-columns: 1fr; }
}
