/*
Theme Name: Swimming Storefront
Theme URI: https://swimming.co.za/
Author: Virtual Ocean
Description: Swimming.co.za presentation child theme for WooCommerce Storefront. Native parent commerce and navigation retained.
Version: 2.0.7
Template: storefront
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: swimming
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-3.0.html
*/
:root{--teal:#006272;--line:#d3dfdf}body{font-family:Arial,Helvetica,sans-serif;color:#333;background:#fff}a{color:#006272}a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #00a7b8;outline-offset:3px}h1,h2,h3{color:#333}.col-full{max-width:1360px}.site-header{background:#fff;color:#333;padding-top:24px;margin-bottom:0!important;border-bottom:1px solid #d3dfdf}.site-header .site-branding img{max-width:430px;width:100%;height:auto}.main-navigation ul li a,.site-header-cart .cart-contents{color:#333}.main-navigation ul li a:hover{color:#006272}.site-search .widget_product_search input[type=search]{background:#fff;border:1px solid #d3dfdf;box-shadow:none}.swim-staging-notice{background:#fff3ce;color:#624b10;font-size:12px;padding:5px 16px;text-align:center}.swim-tagline{margin:0;padding:6px 16px;background:#006272;color:#fff;text-align:center;font-size:14px;font-weight:600}.swim-service-strip{display:block;width:100%;max-width:100%;min-width:0;background:#006272;color:#fff;padding:4px 0;font-size:14px;line-height:1.5}.swim-service-strip a{color:white}.home .storefront-breadcrumb{display:none}.home-content{margin-top:0}.equipment h2{font-size:32px}.button,button[type=submit],input[type=submit],.added_to_cart,.widget a.button.checkout{background:#006272;color:white}.site-footer{background:#f7f8f8}.swim-footer-grid{display:grid;grid-template-columns:1fr 1fr;gap:32px}.swim-footer-grid nav{display:flex;flex-direction:column;align-items:flex-start;gap:9px}.swim-footer-grid a{text-decoration:none;font-weight:600}.swim-footer-grid h2{font-size:18px}.swim-footer-credit{border-top:1px solid #d3dfdf;padding-top:20px;margin-top:24px}.swim-record summary{cursor:pointer;min-height:44px;font-weight:700}.swim-record summary h3{display:inline;font-size:18px}.swim-sources li{margin-bottom:16px}.swim-record{overflow-wrap:anywhere}.entry-content table{display:block;overflow:auto}.entry-content>h1:first-child{display:none}
.swim-hero{aspect-ratio:3/1;max-height:28rem;overflow:hidden;margin:0;background:white}.swim-hero img{display:block;width:100%;height:100%;object-fit:cover;object-position:65% 50%}.equipment{padding:32px 0 42px}.equipment h2{margin:0 0 20px}.category-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.category{min-width:0}.category-image{display:block;aspect-ratio:1;overflow:hidden}.category-image img{display:block;width:100%;height:100%;object-fit:contain;background:white}.category h3{font-size:16px;margin:12px 0 16px;font-weight:700}.watch-art{position:relative}.watch-art img{position:absolute;left:-10%;top:-78%;width:216%;max-width:none;height:auto}.review-note,.vo-review-note{background:#fff7e5;border-left:3px solid #d6af54;padding:12px 16px;font-size:14px}.swim-contact-layout{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:32px;align-items:start;margin:32px 0}.swim-contact-image{margin:0}.swim-contact-image img{border-radius:6px}.swim-record{border:1px solid var(--line);padding:24px;margin:20px 0}.swim-record h2,.swim-record h3{font-size:24px}.swim-record-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.entry-content table{border-collapse:collapse;width:100%}.entry-content th,.entry-content td{padding:10px;border:1px solid var(--line);text-align:left}.entry-content a{overflow-wrap:anywhere}.entry-content iframe{max-width:100%}

@media(min-width:768px){.site-header .site-branding{width:40%;margin-right:5%}.site-header .site-search{width:45%;margin-bottom:20px}.storefront-full-width-content .content-area{width:100%;float:none;margin-right:0}}
@media(max-width:767px){.swim-hero{aspect-ratio:2/1;max-height:none}.swim-hero img{object-position:72% 50%}.category-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.category h3{font-size:15px}.swim-footer-grid,.swim-contact-layout,.swim-record-grid{grid-template-columns:1fr}.swim-contact-image{max-width:240px}.swim-service-strip{font-size:13px}.site-header .site-branding img{max-width:280px}}
@media(max-width:420px){.category-grid{grid-template-columns:1fr}.category-image{max-width:340px;margin-inline:auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

/* Full-width continuous announcements; readable fallback without motion or JavaScript. */
.swim-service-viewport{width:100%;min-width:0;overflow:hidden}
.swim-service-track{display:flex;width:100%}
.swim-service-group{display:flex;flex-wrap:wrap;gap:4px 16px;align-items:center;width:100%;flex-shrink:0;padding:0 8px;box-sizing:border-box}
.swim-service-item{display:block}
.swim-service-group[aria-hidden="true"],.swim-service-item[data-swim-repeat]{display:none}
.swim-service-strip.is-animated .swim-service-track{width:max-content;animation:swim-announcement-scroll var(--swim-scroll-duration,40s) linear infinite}
.swim-service-strip.is-animated .swim-service-group{display:flex;flex-wrap:nowrap;width:max-content;gap:16px;padding:0 16px 0 0;white-space:nowrap}
.swim-service-strip.is-animated .swim-service-item[data-swim-repeat]{display:block}
.swim-service-strip:hover .swim-service-track,.swim-service-strip:focus-within .swim-service-track{animation-play-state:paused}
.swim-service-strip:focus-visible{outline:2px solid #00a7b8;outline-offset:-2px}
@keyframes swim-announcement-scroll{to{transform:translateX(-50%)}}
@media(prefers-reduced-motion:reduce){.swim-service-strip.is-animated .swim-service-track{width:100%;transform:none;animation:none}.swim-service-strip.is-animated .swim-service-group{width:100%;white-space:normal;flex-wrap:wrap;padding:0 8px;gap:4px 16px}.swim-service-strip.is-animated .swim-service-group[aria-hidden="true"],.swim-service-strip.is-animated .swim-service-item[data-swim-repeat]{display:none}}

/* Official Stitch wordmark with clear space; catalogue status remains explicit. */
.swim-payment-brand{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:16px 28px;margin-top:24px;padding:24px 16px;border-top:1px solid #d3dfdf;background:#fff}
.swim-payment-brand>a{display:flex;align-items:center;justify-content:center;min-height:60px;padding:12px;text-decoration:none}
.swim-payment-brand img{display:block;width:184px;height:auto;max-width:100%}
.swim-payment-brand p{margin:0;font-size:14px;line-height:1.6;color:#333}
.swim-payment-brand p span{font-size:13px;color:#525252}
@media(max-width:480px){.swim-payment-brand{gap:8px;padding:16px;text-align:center}.swim-payment-brand p{width:100%}}

.swim-social-links{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:8px 20px;margin-top:24px}
.swim-social-links a{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;padding:8px;color:#006272;text-decoration:none;font-size:14px;font-weight:600}
.swim-social-links a:hover{text-decoration:underline}
.swim-social-links img{display:block;width:24px;height:24px}

.swim-shop-navigation{clear:both;padding-top:8px;padding-bottom:24px}
.swim-shop-subcategories{font-size:14px;margin-bottom:16px}
.swim-shop-subcategories summary{cursor:pointer;min-height:44px;padding:8px 0;color:#006272;font-weight:600}
.swim-shop-subcategories a{display:inline-block;padding:8px 0;min-height:44px}
.swim-shop-subcategories ul{margin:0 0 0 20px}
.swim-shop-all-link{margin:24px 0 0}
#swim-all-products{clear:both;scroll-margin-top:24px}

/* Mobile only: native hamburger left, Swimming logo right; desktop is untouched. */
@media(max-width:767px){
    .site-header{padding:16px}
    .site-header>.col-full,.site-header .storefront-primary-navigation>.col-full{margin-left:0;margin-right:0;padding:0}
    .site-header .site-branding{float:none;display:flex;align-items:center;min-height:44px;width:calc(100% - 56px);margin:0 0 0 56px}
    .site-header .site-branding a{display:block;width:100%}
    .site-header .site-branding img{width:100%;max-width:280px;height:auto}
    .site-header .main-navigation{clear:both}
    .site-header button.menu-toggle{position:absolute;top:16px;left:16px;right:auto;float:none;width:44px;height:44px;min-width:44px;min-height:44px;max-width:none;margin:0;padding:0;border:0;background:transparent;color:#006272;font-size:0;line-height:1}
    .site-header button.menu-toggle span{font-size:0}
    .site-header button.menu-toggle::before,.site-header button.menu-toggle::after,.site-header button.menu-toggle span::before{left:12px;width:20px;height:2px;background:#006272}
    .site-header button.menu-toggle:focus-visible{outline:3px solid #00a7b8;outline-offset:2px}
    .site-header .main-navigation.toggled .handheld-navigation{margin-top:12px}
}
