/* Shared storefront geometry. 2px is the mobile OUTER gutter, not control padding. */
:root { --gnis-site-width: 1600px; --gnis-site-gutter: 16px; --theme-normal-container-max-width: 1600px; }
body { --theme-normal-container-max-width: 1600px; }
.gnis-pro-container { width: min(var(--gnis-site-width), calc(100% - 2 * var(--gnis-site-gutter))); }
body .gnh2, body .gnis-shop { width: min(var(--gnis-site-width), calc(100vw - 2 * var(--gnis-site-gutter))); max-width: calc(100% - 2 * var(--gnis-site-gutter)); }
body.single-product .ct-container { width: min(var(--gnis-site-width), calc(100% - 2 * var(--gnis-site-gutter))); max-width: var(--gnis-site-width); }
body.single-product .gr-rec-section, body.single-product .grfb-box { width: 100%; max-width: var(--gnis-site-width); }
body.gnis-checkout main .woocommerce, body.gnis-cart main .woocommerce { width: min(var(--gnis-site-width), calc(100% - 2 * var(--gnis-site-gutter))); max-width: var(--gnis-site-width); }
/* Homepage: keep all product rows; remove duplicate emphasis above them. */
body .gnh2-hero-main { padding: 24px; min-height: 0; }
body .gnh2-hero h1 { font-size: clamp(26px, 2.5vw, 38px); line-height: 1.16; margin: 0 0 12px; }
body .gnh2-hero p { font-size: 15px; margin-bottom: 18px; }
body .gnh2-hero-main > .gnh2-pill { display: none; }
body .gnh2-hero-side { min-height: 240px; }
body .gnh2-actions { margin-top: 12px; }
body .gnh2-actions .gnh2-btn-primary { background: #ffd200; color: #171717 !important; }
body .gnh2-actions .gnh2-btn:not(.gnh2-btn-primary) { background: transparent; border: 1px solid #dfe3e8; color: #171717 !important; }
/* Catalog: a short intro, followed immediately by tools and products. */
body .gnis-hero { padding: 8px 0; }
body .gnis-hero-main { padding: 14px 18px; background: #fff; box-shadow: none; border-radius: 10px; }
body .gnis-hero-layout { grid-template-columns: 1fr; gap: 12px; }
body .gnis-hero-head { gap: 6px; max-width: none; }
body .gnis-hero h1 { font-size: clamp(22px, 2vw, 28px); line-height: 1.2; }
body .gnis-hero-label { display: none; }
body .gnis-hero p { font-size: 14px; }
body .gnis-breadcrumb { margin-bottom: 8px; }
body .gnis-trust { display: flex; flex-wrap: wrap; gap: 12px 24px; border: 0; box-shadow: none; background: transparent; }
body .gnis-trust div { display: flex; gap: 7px; padding: 0; }
body .gnis-trust div + div::before { display: none; }
body .gnis-trust svg { width: 18px; height: 18px; }
body .gnis-trust strong, body .gnis-trust span { font-size: 12px; }
body .gnis-cats { padding-top: 6px; }
body .gnis-wishlist-filter:not(.is-active) { background: #fff; border: 1px solid #dfe3e8; box-shadow: none; }
/* Footer replaces the theme widget area without changing theme data. */
.gnis-help-footer { background: #f5f6f7; border-top: 1px solid #e1e4e8; color: #24282e; margin-top: 36px; }
.gnis-help-footer__inner { width: min(var(--gnis-site-width), calc(100% - 2 * var(--gnis-site-gutter))); margin: auto; padding: 30px 0 14px; }
.gnis-help-footer__grid { display: grid; grid-template-columns: 1.2fr 1fr 1.1fr .9fr; gap: 32px; }
.gnis-help-footer h2 { font-size: 15px; font-weight: 650; margin: 0 0 12px; line-height: 1.3; }
.gnis-help-footer a { display: block; color: inherit; font-size: 14px; margin: 0 0 9px; text-decoration: none; width: fit-content; }
.gnis-help-footer a:hover { text-decoration: underline; }
.gnis-help-footer a:focus-visible { outline: 2px solid #171717; outline-offset: 3px; }
.gnis-help-footer p { color: #626b78; font-size: 14px; line-height: 1.6; margin: 0 0 12px; }
.gnis-help-footer .gnis-help-footer__brand { font-size: 19px; font-weight: 750; margin-bottom: 12px; }
.gnis-help-footer .gnis-help-footer__brand{display:inline-flex;align-items:center;gap:8px}
.gnis-help-footer .gnis-help-footer__brand .gnh8-dog-mark{display:block;width:44px!important;height:44px!important;max-width:none!important;object-fit:contain;padding:3px;border-radius:9px;background:#fff}
.gnis-help-footer .gnis-help-footer__brand .gnh6-brand-name{color:#142b3c;font-size:24px;font-weight:820;line-height:1;letter-spacing:-1px}
.gnis-help-footer .gnis-help-footer__brand .gnh8-domain{color:#efbd17}
.gnis-help-footer .gnis-help-footer__phone { font-weight: 650; }
.gnis-help-footer__bottom { margin-top: 24px; padding-top: 14px; border-top: 1px solid #dfe3e8; display: flex; justify-content: space-between; gap: 12px; color: #626b78; font-size: 12px; }
@media (min-width: 901px) {
 body.gnis-checkout form.checkout.woocommerce-checkout { grid-template-columns: minmax(0, 1fr) minmax(420px, .8fr); }
}
@media (max-width: 900px) {
 :root { --gnis-site-gutter: 2px; }
 body .gnh2, body .gnis-shop { width: calc(100% - 4px); max-width: calc(100% - 4px); }
 body .gnh2-hero-main { padding: 12px 10px; }
 body .gnh2-hero h1 { font-size: 23px; }
 body .gnh2-hero-side { display: none; }
 body .gnh2-actions { gap: 8px; }
 body .gnis-hero-main { padding: 10px; }
 body .gnis-hero h1 { font-size: 21px; }
 body .gnis-hero p { font-size: 13px; line-height: 1.4; }
 body .gnis-trust { gap: 6px 14px; }
 body .gnis-trust div { min-height: 0; }
 body .gnis-trust span { display: none; }
 body .gnis-trust strong { font-size: 11px; }
 body .gnis-wishlist-filter:not(.is-active) { display: none; }
 body .gnis-search { display: none; }
 body.single-product #main > .ct-container { padding-top: 10px !important; }
 .gnis-help-footer__inner { padding: 20px 10px 14px; box-sizing: border-box; }
 .gnis-help-footer__grid { grid-template-columns: 1fr 1fr; gap: 20px 16px; }
 .gnis-help-footer__bottom { flex-direction: column; }
 body.gnis-cart main .woocommerce, body.gnis-checkout main .woocommerce { width: calc(100% - 4px); max-width: calc(100% - 4px); }
}
@media (max-width: 480px) {
 .gnis-help-footer__grid { grid-template-columns: 1fr; gap: 18px; }
}

@media (max-width: 900px) {
    body .elementor .e-con:has(.gnis-shop), body .elementor .e-con:has(.gnh2) { padding-left: 0 !important; padding-right: 0 !important; }
    body.single-product #main > .ct-container-full { padding-top: 8px !important; }
    body.single-product div.product { width: calc(100% - 4px) !important; max-width: calc(100% - 4px) !important; margin-left: auto !important; margin-right: auto !important; }
    body.single-product div.product > .product-entry-wrapper { width: 100% !important; max-width: 100% !important; }
    body.single-product .gnis-single-cats { display: none !important; }
    body.single-product .gnis-single-breadcrumb { margin: 0 2px 6px !important; padding: 6px 8px !important; }
}
@media (max-width: 768px) {
    body.single-product .woocommerce-product-gallery .flexy-view,
    body.single-product .woocommerce-product-gallery .flexy-items > .flexy-item > .ct-media-container { height: 260px !important; min-height: 0 !important; }
    body.single-product .woocommerce-product-gallery .flexy-items > .flexy-item > .ct-media-container img { height: 260px !important; max-height: 260px !important; width: 100% !important; object-fit: contain !important; aspect-ratio: auto !important; }
    body.single-product .gnis-mobile-product-intro p.price { color: #171717 !important; font-weight: 700; }
}

/* Professional shared surfaces for account, contact and policy pages. */
body.gnis-content-page,
body.gnis-account-page{background:#f2f6f8;color:#193548}
body.gnis-content-page #main,
body.gnis-account-page #main{padding:42px 0 64px}
body.gnis-content-page #main>.ct-container,
body.gnis-account-page #main>.ct-container{width:min(1180px,calc(100% - 32px));max-width:1180px;margin:0 auto}
body.gnis-content-page :is(.entry-header,.page-title),
body.gnis-account-page :is(.entry-header,.page-title){margin:0 0 20px}
body.gnis-content-page :is(.entry-header,.page-title) h1,
body.gnis-account-page :is(.entry-header,.page-title) h1{margin:0;color:#102f43;font-size:clamp(30px,4vw,48px);font-weight:780;line-height:1.08;letter-spacing:-.035em}
body.gnis-content-page .entry-content{padding:clamp(24px,4vw,52px);border:1px solid #dce6eb;border-radius:16px;background:#fff;box-shadow:0 16px 42px rgba(17,52,73,.07)}
body.gnis-content-page .entry-content>*:first-child{margin-top:0}
body.gnis-content-page .entry-content>*:last-child{margin-bottom:0}
body.gnis-content-page .entry-content :is(h2,h3,h4){color:#123449;letter-spacing:-.02em;line-height:1.22}
body.gnis-content-page .entry-content h2{margin:36px 0 14px;padding-top:26px;border-top:1px solid #e3eaee;font-size:clamp(22px,3vw,31px)}
body.gnis-content-page .entry-content h2:first-child{margin-top:0;padding-top:0;border-top:0}
body.gnis-content-page .entry-content h3{margin:25px 0 10px;font-size:19px}
body.gnis-content-page .entry-content :is(p,li){color:#4f6572;font-size:15px;line-height:1.75}
body.gnis-content-page .entry-content a{color:#0873a5;font-weight:650;text-decoration-thickness:1px;text-underline-offset:3px}
body.gnis-content-page .entry-content :is(ul,ol){padding-left:22px}
body.gnis-content-page .entry-content :is(table,.wp-block-table table){width:100%;border:1px solid #dce5ea;border-collapse:separate;border-spacing:0;border-radius:10px;overflow:hidden}
body.gnis-content-page .entry-content :is(th,td){padding:12px 14px;border:0;border-bottom:1px solid #e6ecef;text-align:left}
body.gnis-content-page .entry-content th{background:#f2f6f8;color:#17384a;font-weight:700}
body.gnis-content-page .entry-content tr:last-child :is(th,td){border-bottom:0}
body.gnis-content-page .entry-content :is(input:not([type=checkbox]):not([type=radio]),textarea,select){width:100%;min-height:46px;padding:11px 13px;border:1px solid #cbd9e1;border-radius:8px;background:#fff;color:#193548}
body.gnis-content-page .entry-content :is(input,textarea,select):focus{outline:3px solid rgba(255,211,38,.32);border-color:#c6a316}
body.gnis-content-page .entry-content :is(button,input[type=submit],.wp-element-button){min-height:46px;padding:10px 19px;border:0;border-radius:8px;background:#ffd326;color:#102f43;font-weight:800;box-shadow:none;transition:background .18s,transform .18s}
body.gnis-content-page .entry-content :is(button,input[type=submit],.wp-element-button):hover{background:#ffe36d;transform:translateY(-1px)}

body.gnis-account-page .woocommerce{display:grid;grid-template-columns:240px minmax(0,1fr);gap:24px;align-items:start}
body.gnis-account-page .woocommerce:has(.woocommerce-form-login){display:block;max-width:640px;margin:0 auto}
body.gnis-account-page .woocommerce-MyAccount-navigation{position:sticky;top:18px;padding:10px;border:1px solid #dce6eb;border-radius:13px;background:#fff;box-shadow:0 10px 28px rgba(17,52,73,.06)}
body.gnis-account-page .woocommerce-MyAccount-navigation ul{display:grid;gap:3px;margin:0;padding:0;list-style:none}
body.gnis-account-page .woocommerce-MyAccount-navigation a{display:flex;min-height:43px;align-items:center;padding:8px 12px;border-radius:8px;color:#48606e;font-size:13px;font-weight:650;text-decoration:none}
body.gnis-account-page .woocommerce-MyAccount-navigation li.is-active a,
body.gnis-account-page .woocommerce-MyAccount-navigation a:hover{background:#102f43;color:#fff}
body.gnis-account-page .woocommerce-MyAccount-content,
body.gnis-account-page .woocommerce-form-login,
body.gnis-account-page .woocommerce-form-register{min-width:0;padding:clamp(20px,3vw,34px);border:1px solid #dce6eb;border-radius:15px;background:#fff;box-shadow:0 14px 36px rgba(17,52,73,.07)}
body.gnis-account-page .woocommerce-MyAccount-content>p:first-child{margin-top:0}
body.gnis-account-page .woocommerce-MyAccount-content :is(h2,h3){color:#123449;letter-spacing:-.025em}
body.gnis-account-page .woocommerce table.shop_table{overflow:hidden;border:1px solid #dbe5ea;border-collapse:separate;border-spacing:0;border-radius:10px}
body.gnis-account-page .woocommerce table.shop_table th{padding:12px;background:#f2f6f8;color:#17384a;font-size:12px}
body.gnis-account-page .woocommerce table.shop_table td{padding:13px 12px;border-color:#e5ecef;color:#4b6370;font-size:13px}
body.gnis-account-page .woocommerce .button{min-height:38px;padding:9px 13px;border-radius:7px;background:#ffd326;color:#102f43;font-size:12px;font-weight:800;text-decoration:none}
body.gnis-account-page .woocommerce :is(input:not([type=checkbox]),select,textarea){min-height:45px;border:1px solid #cbd9e1;border-radius:8px;background:#fff;color:#193548}
body.gnis-account-page .woocommerce :is(input,select,textarea):focus{outline:3px solid rgba(255,211,38,.3);border-color:#c6a316}
@media(max-width:800px){
body.gnis-content-page #main,body.gnis-account-page #main{padding:22px 0 40px}
body.gnis-content-page #main>.ct-container,body.gnis-account-page #main>.ct-container{width:calc(100% - 24px)}
body.gnis-content-page .entry-content{padding:20px 17px;border-radius:12px}
body.gnis-account-page .woocommerce{grid-template-columns:1fr;gap:14px}
body.gnis-account-page .woocommerce-MyAccount-navigation{position:static;overflow-x:auto;padding:6px}
body.gnis-account-page .woocommerce-MyAccount-navigation ul{display:flex;width:max-content;gap:4px}
body.gnis-account-page .woocommerce-MyAccount-navigation a{white-space:nowrap}
body.gnis-account-page .woocommerce-MyAccount-content{padding:18px 14px;border-radius:12px}
body.gnis-account-page .woocommerce table.shop_table{display:block;overflow-x:auto}
}
