/* WooCommerce integration for Frogmen Technologies. */
.woocommerce-main { min-height:65vh; padding-top:110px; }
.woocommerce-main .archive-hero { margin-top:-110px; }
.woocommerce-catalog { padding-top:70px; padding-bottom:140px; }
.catalog-filters { margin:0 0 52px; padding:clamp(26px,3vw,42px); border:1px solid rgba(11,95,255,.14); border-radius:var(--fm-radius-lg); background:radial-gradient(circle at 95% 0,rgba(67,199,244,.16),transparent 31%),rgba(255,255,255,.96); box-shadow:0 20px 64px rgba(8,43,98,.08); }
.catalog-filter-heading { margin-bottom:30px; padding-bottom:24px; display:flex; align-items:flex-end; justify-content:space-between; gap:24px; border-bottom:1px solid var(--fm-line); }
.catalog-filter-heading h2 { margin:5px 0 0; font-size:clamp(2rem,3.2vw,3.6rem); line-height:.96; letter-spacing:-.055em; }
.catalog-filter-heading > a { padding-bottom:3px; color:var(--fm-blue); border-bottom:1px solid rgba(11,95,255,.3); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.1em; }
.catalog-filter-grid { display:grid; grid-template-columns:minmax(220px,1.35fr) repeat(4,minmax(145px,1fr)) auto; gap:16px; align-items:end; }
.catalog-filter-grid label { min-width:0; display:grid; gap:8px; }
.catalog-filter-grid label > span { color:#7d8da3; font-size:9px; font-weight:850; text-transform:uppercase; letter-spacing:.13em; }
.catalog-filter-grid input,.catalog-filter-grid select { width:100%; min-width:0; min-height:50px; padding:0 14px; color:var(--fm-ink); border:1px solid var(--fm-line); border-radius:12px; outline:0; background:#fff; font:inherit; font-size:13px; }
.catalog-filter-grid select { padding-right:34px; }
.catalog-filter-grid input:focus,.catalog-filter-grid select:focus { border-color:var(--fm-blue); box-shadow:0 0 0 4px rgba(11,95,255,.08); }
.catalog-filter-grid .button { min-height:50px; padding-inline:20px; white-space:nowrap; }
.woocommerce-catalog .woocommerce-result-count { float:none; margin:0 0 26px; }
.woocommerce .woocommerce-result-count,.woocommerce .woocommerce-ordering { margin:0 0 36px; color:var(--fm-muted); font-size:.85rem; }
.woocommerce .woocommerce-ordering select { padding:11px 34px 11px 14px; border:1px solid var(--fm-line); border-radius:999px; background:#fff; color:var(--fm-ink); }
.woocommerce ul.products { clear:both; margin:0; display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); align-items:stretch; gap:20px; perspective:1200px; }
.woocommerce ul.products::before,.woocommerce ul.products::after { display:none; }
.woocommerce ul.products li.product.woo-product-card { width:auto!important; min-width:0; margin:0!important; padding:11px 11px 27px; display:flex; flex-direction:column; overflow:hidden; border:1px solid var(--fm-line); border-radius:24px; background:#fff; box-shadow:0 12px 34px rgba(8,43,98,.06); transition:box-shadow .4s var(--fm-ease),border-color .4s ease,opacity .8s var(--fm-ease); }
.woocommerce ul.products li.product.woo-product-card:hover { border-color:rgba(11,95,255,.28); box-shadow:0 30px 70px rgba(8,43,98,.14); }
.woocommerce ul.products li.product.woo-product-card .product-image { height:340px; margin:0; }
.woocommerce ul.products li.product.woo-product-card .product-image img { width:100%; height:100%; margin:0; padding:34px; position:absolute; inset:0; object-fit:contain; border-radius:17px; }
.woocommerce ul.products li.product.woo-product-card .product-meta > span:first-child { max-width:82%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.woocommerce ul.products li.product.woo-product-card h3 { margin:14px 8px 11px; padding:0; color:var(--fm-ink); font-size:23px; letter-spacing:-.035em; }
.woocommerce ul.products li.product.woo-product-card > p { min-height:70px; margin:0 8px 20px; color:var(--fm-muted); font-size:13px; line-height:1.65; }
.woo-product-card-footer { min-height:48px; margin:auto 8px 0; padding:14px 0; display:flex; align-items:center; justify-content:space-between; gap:12px; border-top:1px solid var(--fm-line); }
.woocommerce ul.products li.product.woo-product-card .price { margin:0; padding:0; color:var(--fm-blue); font-size:.95rem; font-weight:850; }
.woocommerce ul.products li.product.woo-product-card .woo-product-card-footer .button { width:auto; min-height:38px; margin:0 0 0 auto; padding:0 15px; display:inline-flex; align-items:center; justify-content:center; border:1px solid rgba(11,95,255,.18); border-radius:999px; color:var(--fm-blue); background:var(--fm-soft); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.06em; }
.woocommerce ul.products li.product.woo-product-card .woo-product-card-footer .button:hover { color:#fff; border-color:var(--fm-blue); background:var(--fm-blue); }
.woocommerce ul.products li.product.woo-product-card .added_to_cart { color:var(--fm-blue-deep); font-size:11px; font-weight:800; }
.woocommerce ul.products li.product.woo-product-card .woo-product-details { margin-top:0; }
.woocommerce span.onsale { min-width:0; min-height:0; top:24px; left:24px; padding:9px 12px; z-index:5; border-radius:999px; background:var(--fm-blue); line-height:1; font-size:.68rem; text-transform:uppercase; letter-spacing:.08em; }

/* Clean single-product system. */
.single-product-main { padding:115px max(4vw,20px) 140px; overflow:hidden; background:#fff; }
.frogmen-product { max-width:1440px; margin:0 auto; }
.frogmen-product-breadcrumb { padding:24px 0 38px; color:#8391a5; font-size:10px; font-weight:800; text-transform:uppercase; letter-spacing:.12em; }
.frogmen-product-breadcrumb a { color:var(--fm-blue-deep); }
.frogmen-product-hero { display:grid; grid-template-columns:minmax(0,1.03fr) minmax(390px,.97fr); gap:clamp(44px,6vw,92px); align-items:start; }
.product-hero-media { min-width:0; }
.product-gallery-shell { padding:clamp(18px,2vw,28px); overflow:hidden; border:1px solid #dbe9e8; border-radius:24px; background:linear-gradient(145deg,#effafa,#f7fcfc); }
.woocommerce .frogmen-product .product-gallery-shell div.images { width:100%; margin:0; float:none; }
.woocommerce .frogmen-product .product-gallery-shell .woocommerce-product-gallery__wrapper { margin:0; }
.woocommerce .frogmen-product .product-gallery-shell .woocommerce-product-gallery__image { min-height:clamp(460px,48vw,650px); display:grid!important; place-items:center; }
.woocommerce .frogmen-product .product-gallery-shell .woocommerce-product-gallery__image > a { width:100%; min-height:inherit; display:grid; place-items:center; }
.woocommerce .frogmen-product .product-gallery-shell .woocommerce-product-gallery__image img { width:100%; max-height:600px; object-fit:contain; filter:drop-shadow(0 24px 28px rgba(8,43,98,.13)); }
.woocommerce .frogmen-product .product-gallery-shell .flex-control-thumbs { margin:18px 0 0; display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:10px; }
.woocommerce .frogmen-product .product-gallery-shell .flex-control-thumbs li { width:auto; padding:7px; overflow:hidden; border:1px solid rgba(10,61,145,.12); border-radius:11px; background:#fff; }
.woocommerce .frogmen-product .product-gallery-shell .flex-control-thumbs img { aspect-ratio:1; object-fit:contain; }
.woocommerce .frogmen-product .product-gallery-shell .woocommerce-product-gallery__trigger { top:14px; right:14px; z-index:5; border:1px solid var(--fm-line); background:#fff; box-shadow:0 8px 24px rgba(8,43,98,.08); }
.frogmen-product-summary { width:auto!important; margin:0!important; padding:10px 0 0; float:none!important; }
.product-kicker { margin-bottom:18px; color:var(--fm-blue); font-size:10px; font-weight:850; text-transform:uppercase; letter-spacing:.14em; }
.product-kicker a { color:inherit; }
.single-product .frogmen-product-summary .product_title { max-width:720px; margin:0 0 24px; color:var(--fm-ink); font-size:clamp(3rem,4.5vw,5.15rem); line-height:.94; letter-spacing:-.058em; overflow-wrap:anywhere; }
.single-product .frogmen-product-summary .woocommerce-product-rating { margin:0 0 18px; }
.product-positioning { max-width:650px; margin:0; color:#536579; font-size:clamp(1rem,1.25vw,1.16rem); line-height:1.72; }
.product-spec-badges { margin:30px 0 0; display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; }
.product-spec-badges div { min-width:0; padding:15px 14px; border:1px solid #dbe9e8; border-radius:13px; background:#f6fbfb; }
.product-spec-badges dt { margin-bottom:7px; color:#7c8da3; font-size:9px; font-weight:800; line-height:1.2; text-transform:uppercase; letter-spacing:.11em; }
.product-spec-badges dd { margin:0; color:var(--fm-ink); font-size:15px; font-weight:850; line-height:1.25; overflow-wrap:anywhere; }
.product-commerce { margin-top:26px; padding:24px; border:1px solid #d8e8e8; border-radius:17px; background:#f3fbfa; }
.commerce-label { margin:0 0 7px; color:#6f8297; font-size:9px; font-weight:800; line-height:1.2; text-transform:uppercase; letter-spacing:.13em; }
.commerce-price-row { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.single-product .product-commerce p.price,.single-product .product-commerce span.price { margin:0; color:var(--fm-blue-deep); font-size:clamp(1.55rem,2.2vw,2.05rem); font-weight:850; }
.product-commerce .price del { color:#8d9caf; font-size:.65em; }
.product-commerce .price ins { text-decoration:none; }
.commerce-stock { color:#237a5a; font-size:10px; font-weight:800; line-height:1.3; text-transform:uppercase; letter-spacing:.08em; }
.commerce-stock .stock { margin:0; }
.quote-positioning { max-width:600px; margin:0 0 20px; color:#405169; font-size:14px; line-height:1.65; }
.single-product form.cart { margin:22px 0 0!important; display:flex; flex-wrap:wrap; gap:12px; }
.single-product form.cart table.variations { width:100%; margin:0 0 14px; }
.single-product form.cart table.variations th,.single-product form.cart table.variations td { padding:6px 10px 6px 0; vertical-align:middle; }
.single-product form.cart table.variations select { min-height:50px; padding:0 38px 0 14px; border:1px solid var(--fm-line); border-radius:10px; background:#fff; }
.single-product .single_variation_wrap { width:100%; }
.single-product .woocommerce-variation-add-to-cart { display:flex; gap:12px; }
.woocommerce .quantity .qty { min-height:54px; padding:0 10px; border:1px solid var(--fm-line); border-radius:999px; background:#fff; }
.woocommerce button.button.alt,.woocommerce a.button.alt,.woocommerce input.button.alt { min-height:54px; padding:0 28px; border-radius:999px; background:linear-gradient(115deg,var(--fm-blue-deep),var(--fm-blue)); font-weight:800; }
.woocommerce button.button.alt:hover,.woocommerce a.button.alt:hover,.woocommerce input.button.alt:hover { background:var(--fm-blue-deep); }
.product-commerce .frogmen-quote-button { width:100%; min-width:0; margin:0; display:flex; align-items:center; justify-content:center; gap:10px; box-sizing:border-box; color:#fff; text-align:center; }
.single-product .product_meta { margin-top:20px; display:flex; flex-wrap:wrap; gap:8px 20px; color:#8796a9; font-size:9px; font-weight:700; line-height:1.5; text-transform:uppercase; letter-spacing:.09em; }
.single-product .product_meta a { color:var(--fm-blue-deep); }
.product-special-features,.frogmen-product-information,.product-related-section { margin-top:90px; }
.product-clean-heading { max-width:820px; margin:0 0 40px; }
.product-clean-heading h2 { margin:0; font-size:clamp(2.5rem,3.8vw,4rem); line-height:.98; letter-spacing:-.052em; }
.product-feature-list { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); border-top:1px solid var(--fm-line); }
.product-feature-list article { min-width:0; padding:27px 28px 27px 0; display:grid; grid-template-columns:15px minmax(0,1fr); gap:16px; border-bottom:1px solid var(--fm-line); }
.product-feature-list article:nth-child(odd) { padding-right:48px; border-right:1px solid var(--fm-line); }
.product-feature-list article:nth-child(even) { padding-left:38px; }
.product-feature-list article > span { width:9px; height:9px; margin-top:6px; border-radius:50%; background:var(--fm-blue); box-shadow:0 0 0 5px rgba(11,95,255,.08); }
.product-feature-list h3 { margin:0 0 8px; font-size:clamp(1.25rem,1.6vw,1.65rem); line-height:1.1; letter-spacing:-.035em; }
.product-feature-list p { margin:0; color:var(--fm-muted); font-size:14px; line-height:1.7; }
.woocommerce .frogmen-product .woocommerce-tabs { margin:0; padding:clamp(26px,3.7vw,54px); border:1px solid var(--fm-line); border-radius:22px; background:#fff; }
.woocommerce .frogmen-product .woocommerce-tabs ul.tabs { margin:0 0 40px; padding:0; display:flex; gap:30px; overflow-x:auto; border-bottom:1px solid var(--fm-line); list-style:none; }
.woocommerce .frogmen-product .woocommerce-tabs ul.tabs::before { display:none; }
.woocommerce .frogmen-product .woocommerce-tabs ul.tabs li { margin:0; padding:0; border:0; background:none; list-style:none; }
.woocommerce .frogmen-product .woocommerce-tabs ul.tabs li::before,.woocommerce .frogmen-product .woocommerce-tabs ul.tabs li::after { display:none; }
.woocommerce .frogmen-product .woocommerce-tabs ul.tabs li a { padding:17px 0; display:block; white-space:nowrap; color:#7f8fa4; font-size:10px; font-weight:800; line-height:1.2; text-transform:uppercase; text-decoration:none; letter-spacing:.12em; }
.woocommerce .frogmen-product .woocommerce-tabs ul.tabs li.active a { color:var(--fm-blue); box-shadow:inset 0 -2px var(--fm-blue); }
.woocommerce .frogmen-product .woocommerce-tabs .panel { max-width:none; margin:0; color:var(--fm-muted); font-size:16px; line-height:1.82; }
.woocommerce .frogmen-product .woocommerce-tabs .panel > * { max-width:none; margin-inline:0; }
.woocommerce .frogmen-product .woocommerce-tabs .panel > h2 { margin:0 0 28px; color:var(--fm-ink); font-size:clamp(2rem,3vw,3.15rem); line-height:1; letter-spacing:-.045em; }
.frogmen-product-description { width:100%; max-width:none!important; height:auto; min-height:0; margin-inline:0!important; overflow:visible; }
.frogmen-product-description > :first-child { margin-top:0; }
.frogmen-product-description > :last-child { margin-bottom:0; }
.frogmen-product-description h2,.frogmen-product-description h3,.frogmen-product-description h4 { margin:42px 0 15px; color:var(--fm-ink); line-height:1.1; letter-spacing:-.035em; }
.frogmen-product-description h2 { font-size:clamp(1.8rem,2.8vw,2.8rem); }
.frogmen-product-description h3 { font-size:clamp(1.45rem,2.2vw,2.15rem); }
.frogmen-product-description p,.frogmen-product-description li { color:var(--fm-muted)!important; font-size:15px; line-height:1.8; }
.frogmen-product-description ul,.frogmen-product-description ol { margin:20px 0; padding-left:22px; }
.frogmen-product-description li { margin-bottom:8px; }
.frogmen-product-description a { color:var(--fm-blue); }
.frogmen-product-description img { height:auto; border-radius:16px; }
.woocommerce .frogmen-product .woocommerce-tabs .panel table { border-color:var(--fm-line); }
.product-related-section .related.products { margin-top:0; }
.woocommerce .up-sells.products,.woocommerce .related.products { margin-top:105px; }
.woocommerce .up-sells.products > h2,.woocommerce .related.products > h2 { margin:0 0 42px; font-size:clamp(2.6rem,4.2vw,4.5rem); line-height:.95; letter-spacing:-.052em; }
.single-product a:focus-visible,.single-product button:focus-visible,.single-product select:focus-visible,.single-product input:focus-visible { outline:3px solid rgba(11,95,255,.3); outline-offset:3px; }

.woocommerce-message,.woocommerce-info,.woocommerce-error { padding:20px 20px 20px 55px; border-top-color:var(--fm-blue); border-radius:12px; background:var(--fm-soft); }
.woocommerce-message::before,.woocommerce-info::before { color:var(--fm-blue); }
.woocommerce-cart .woocommerce,.woocommerce-checkout .woocommerce,.woocommerce-account .woocommerce { width:min(1200px,calc(100% - 48px)); margin:0 auto; padding:170px 0 120px; }
.woocommerce table.shop_table { overflow:hidden; border-color:var(--fm-line); border-radius:18px; }
.woocommerce table.shop_table th,.woocommerce table.shop_table td { padding:18px; border-color:var(--fm-line); }
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select { min-height:50px; padding:12px 14px; border:1px solid var(--fm-line); border-radius:10px; }
.woocommerce-checkout #payment { background:var(--fm-soft); border-radius:18px; }

@media (max-width:1050px) {
	.catalog-filter-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
	.catalog-filter-grid .catalog-search { grid-column:span 2; }
	.woocommerce ul.products { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.frogmen-product-hero { grid-template-columns:1fr; }
	.frogmen-product-summary { max-width:900px; padding-top:8px; }
	.woocommerce .frogmen-product .product-gallery-shell .woocommerce-product-gallery__image { min-height:540px; }
}
@media (max-width:820px) {
	.catalog-filter-heading { align-items:flex-start; flex-direction:column; }
	.catalog-filter-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
	.catalog-filter-grid .catalog-search { grid-column:1/-1; }
	.single-product-main { padding-top:100px; }
	.product-feature-list { grid-template-columns:1fr; }
	.product-feature-list article:nth-child(odd),.product-feature-list article:nth-child(even) { padding:25px 0; border-right:0; }
}
@media (max-width:560px) {
	.catalog-filters { padding:24px; border-radius:22px; }
	.catalog-filter-grid { grid-template-columns:1fr; }
	.catalog-filter-grid .catalog-search { grid-column:auto; }
	.catalog-filter-grid .button { width:100%; }
	.woocommerce ul.products { grid-template-columns:1fr; }
	.woocommerce ul.products li.product.woo-product-card .product-image { height:360px; }
	.woo-product-card-footer { align-items:flex-start; flex-direction:column; }
	.frogmen-product-breadcrumb { padding-bottom:20px; }
	.frogmen-product-hero { gap:28px; }
	.product-gallery-shell { padding:14px; border-radius:18px; }
	.woocommerce .frogmen-product .product-gallery-shell .woocommerce-product-gallery__image { min-height:360px; }
	.single-product .frogmen-product-summary .product_title { font-size:clamp(2.7rem,13vw,4rem); }
	.product-spec-badges { grid-template-columns:1fr 1fr; }
	.product-commerce { padding:20px; }
	.commerce-price-row { align-items:flex-start; flex-direction:column; }
	.single-product form.cart,.single-product .woocommerce-variation-add-to-cart { align-items:stretch; flex-direction:column; }
	.single-product form.cart .quantity,.single-product form.cart .single_add_to_cart_button,.product-commerce .frogmen-quote-button { width:100%; }
	.product-special-features,.frogmen-product-information,.product-related-section { margin-top:82px; }
	.woocommerce .frogmen-product .woocommerce-tabs { padding:22px; border-radius:18px; }
	.woocommerce .frogmen-product .woocommerce-tabs ul.tabs { gap:22px; margin-bottom:28px; }
	.product-related-section { margin-top:90px; }
}
