/* Animal Help Point – shop branding (matches animalhelppoint.in) */
@font-face { font-family: "Nunito"; src: url("fonts/nunito-latin-wght-normal.woff2") format("woff2"); font-weight: 200 1000; font-display: swap; }
@font-face { font-family: "Open Sans"; src: url("fonts/open-sans-latin-wght-normal.woff2") format("woff2"); font-weight: 300 800; font-display: swap; }

:root {
  --ahp-orange: #f8b263; --ahp-orange-600: #e8892a; --ahp-orange-100: #fff0dc; --ahp-orange-text: #b85f00;
  --ahp-blue: #2889d3; --ahp-blue-700: #1a6bb0; --ahp-sky: #8fcdf3; --ahp-sky-100: #eaf6fe;
  --ahp-green: #4eaf82; --ahp-green-100: #e4f5ec;
  --ahp-navy: #082251; --ahp-navy-900: #051538; --ahp-cream: #fff4e2; --ahp-paper: #fffdf8; --ahp-muted: #55617f;
  --ahp-head: "Nunito", system-ui, sans-serif; --ahp-body: "Open Sans", system-ui, sans-serif;
  --ahp-shadow: 0 10px 30px rgba(8, 34, 81, .09);
}

/* ---- Base ---- */
body.ahp-shop { background: var(--ahp-paper); color: var(--ahp-navy); font-family: var(--ahp-body); font-size: 16px; line-height: 1.7; }
.ahp-shop h1, .ahp-shop h2, .ahp-shop h3, .ahp-shop h4, .ahp-shop h5, .ahp-shop h6,
.ahp-shop .woocommerce-loop-product__title, .ahp-shop .product_title, .ahp-shop .site-title { font-family: var(--ahp-head); font-weight: 900; color: var(--ahp-navy); letter-spacing: -.01em; }
.ahp-shop a { color: var(--ahp-blue-700); }
.ahp-shop a:hover { color: var(--ahp-orange-text); }
.ahp-shop .col-full { max-width: 1200px; width: 100%; margin-left: auto !important; margin-right: auto !important; padding-left: 20px !important; padding-right: 20px !important; box-sizing: border-box !important; }
.ahp-shop .site-content { padding-top: 2.2em; }
.ahp-shop .entry-meta, .ahp-shop .posted-on { color: var(--ahp-muted); }

/* Hide the theme's own header/footer (Storefront) – ours replaces them */
.ahp-shop .site-header, .ahp-shop .site-footer, .ahp-shop .storefront-handheld-footer-bar, .ahp-shop #site-navigation-menu-toggle { display: none !important; }
.ahp-shop .storefront-breadcrumb { background: var(--ahp-cream); margin: 0 0 2em; padding: .9em 0; }
.ahp-shop .woocommerce-breadcrumb { font-size: .85rem; color: var(--ahp-muted); }

/* ---- Header ---- */
.ahp-wrap { max-width: 1200px; margin: 0 auto; padding: 0 20px; }
.ahp-header { position: sticky; top: 0; z-index: 999; background: rgba(255, 253, 248, .92); backdrop-filter: blur(12px); -webkit-backdrop-filter: blur(12px); border-bottom: 1px solid rgba(8, 34, 81, .08); }
.admin-bar .ahp-header { top: 32px; }
.ahp-header .ahp-wrap { display: flex; align-items: center; justify-content: space-between; gap: 18px; min-height: 78px; }
.ahp-brand img { height: 62px; width: auto; display: block; }
.ahp-nav { display: flex; align-items: center; gap: 28px; margin-left: auto; }
.ahp-nav a { font-family: var(--ahp-head); font-weight: 800; font-size: .98rem; color: var(--ahp-navy) !important; text-decoration: none; padding: 6px 0; border-bottom: 3px solid transparent; }
.ahp-nav a:hover { border-color: var(--ahp-orange); }
.ahp-nav a.active { color: var(--ahp-blue-700) !important; border-color: var(--ahp-orange); }
.ahp-actions { display: flex; align-items: center; gap: 14px; }
.ahp-cart { position: relative; display: inline-grid; place-items: center; width: 44px; height: 44px; border-radius: 50%; background: #fff; color: var(--ahp-navy) !important; box-shadow: var(--ahp-shadow); }
.ahp-cart-n { position: absolute; top: -4px; right: -4px; min-width: 20px; height: 20px; padding: 0 5px; border-radius: 10px; background: var(--ahp-orange-600); color: #fff; font: 800 .72rem/20px var(--ahp-head); text-align: center; }
.ahp-account { font-family: var(--ahp-head); font-weight: 800; font-size: .92rem; color: var(--ahp-navy) !important; text-decoration: none; padding: 10px 18px; border-radius: 999px; background: var(--ahp-orange); box-shadow: 0 8px 20px rgba(240, 150, 41, .25); }
.ahp-account:hover { background: #fbbf78; }
.ahp-burger { display: none; width: 44px; height: 44px; border: 0; border-radius: 12px; background: #fff; box-shadow: var(--ahp-shadow); cursor: pointer; padding: 12px 11px; }
.ahp-burger span { display: block; height: 2px; margin: 5px 0; background: var(--ahp-navy); border-radius: 2px; }
@media (max-width: 960px) {
  .ahp-burger { display: block; }
  .ahp-account { display: none; }
  .ahp-brand img { height: 52px; }
  .ahp-nav { position: absolute; left: 0; right: 0; top: 100%; flex-direction: column; align-items: stretch; gap: 0; background: var(--ahp-paper); border-bottom: 1px solid rgba(8, 34, 81, .1); padding: 8px 20px 16px; display: none; box-shadow: var(--ahp-shadow); }
  .ahp-nav.open { display: flex; }
  .ahp-nav a { padding: 12px 0; border-bottom: 1px solid rgba(8, 34, 81, .06); }
}
@media (max-width: 782px) { .admin-bar .ahp-header { top: 46px; } }

/* ---- Buttons ---- */
.ahp-shop button.button, .ahp-shop a.button, .ahp-shop input.button, .ahp-shop #respond input#submit,
.ahp-shop .woocommerce a.button, .ahp-shop .woocommerce button.button, .ahp-shop .woocommerce input.button,
.ahp-shop button.alt, .ahp-shop a.button.alt, .ahp-shop button.button.alt, .ahp-shop input.button.alt, .ahp-shop .added_to_cart, .ahp-shop .wc-block-components-button:not(.is-link) {
  background: var(--ahp-orange) !important; color: var(--ahp-navy-900) !important; font-family: var(--ahp-head); font-weight: 800; border: 0; border-radius: 999px !important;
  padding: .8em 1.6em; box-shadow: 0 8px 22px rgba(240, 150, 41, .28); transition: transform .2s, box-shadow .2s, background .2s; text-shadow: none;
}
.ahp-shop button.button:hover, .ahp-shop a.button:hover, .ahp-shop input.button:hover, .ahp-shop button.alt:hover, .ahp-shop a.button.alt:hover, .ahp-shop .added_to_cart:hover,
.ahp-shop .wc-block-components-button:not(.is-link):hover { background: #fbbf78 !important; transform: translateY(-2px); box-shadow: 0 12px 26px rgba(240, 150, 41, .35); }
.ahp-shop button.button:disabled, .ahp-shop button.button.disabled { opacity: .5; transform: none; }
.ahp-shop .checkout-button, .ahp-shop #place_order { background: var(--ahp-blue) !important; color: #fff !important; box-shadow: 0 8px 22px rgba(40, 137, 211, .3); }
.ahp-shop .checkout-button:hover, .ahp-shop #place_order:hover { background: var(--ahp-blue-700) !important; }

/* ---- Product grid ---- */
.ahp-shop ul.products li.product a, .ahp-shop ul.products li.product a:hover { text-decoration: none; }
.ahp-shop ul.products li.product .button { display: inline-block; white-space: nowrap; margin-top: .6em; }
.ahp-shop .woocommerce-message a.button { white-space: nowrap; }
.ahp-shop ul.products li.product { background: #fff; border-radius: 22px; padding: 14px 14px 20px; box-shadow: var(--ahp-shadow); transition: transform .25s, box-shadow .25s; text-align: center; }
.ahp-shop ul.products li.product:hover { transform: translateY(-5px); box-shadow: 0 18px 40px rgba(8, 34, 81, .14); }
.ahp-shop ul.products li.product img { border-radius: 16px; background: var(--ahp-cream); }
.ahp-shop ul.products li.product .woocommerce-loop-product__title { font-size: 1.05rem; padding: .4em 0 .2em; }
.ahp-shop .price, .ahp-shop ul.products li.product .price { color: var(--ahp-orange-text); font-family: var(--ahp-head); font-weight: 800; }
.ahp-shop .price del { color: var(--ahp-muted); opacity: .7; }
.ahp-shop .price ins { text-decoration: none; }
.ahp-shop span.onsale { background: var(--ahp-green) !important; color: #fff !important; border-radius: 999px; min-height: 0; min-width: 0; padding: .35em .9em; line-height: 1.4; font-family: var(--ahp-head); font-weight: 800; box-shadow: none; top: 12px; left: 12px; right: auto; }
.ahp-shop .star-rating span::before, .ahp-shop .star-rating::before, .ahp-shop p.stars a { color: var(--ahp-orange-600); }
.ahp-shop .woocommerce-result-count, .ahp-shop .woocommerce-ordering select { color: var(--ahp-muted); }
.ahp-shop .woocommerce-ordering select, .ahp-shop select, .ahp-shop input[type=text], .ahp-shop input[type=email], .ahp-shop input[type=tel], .ahp-shop input[type=password], .ahp-shop input[type=number], .ahp-shop textarea {
  border: 1.5px solid rgba(8, 34, 81, .14); border-radius: 12px; background: #fff; color: var(--ahp-navy); padding: .7em 1em; box-shadow: none; }
.ahp-shop input:focus, .ahp-shop select:focus, .ahp-shop textarea:focus { outline: none; border-color: var(--ahp-blue); box-shadow: 0 0 0 4px var(--ahp-sky-100); }

/* ---- Single product, cart, checkout ---- */
.ahp-shop div.product .product_title { font-size: clamp(1.7rem, 3vw, 2.4rem); }
.ahp-shop div.product div.images img { border-radius: 22px; }
.ahp-shop .woocommerce-tabs ul.tabs li { background: var(--ahp-cream); border-color: transparent; border-radius: 12px 12px 0 0; }
.ahp-shop .woocommerce-tabs ul.tabs li.active { background: #fff; }
.ahp-shop table.shop_table, .ahp-shop .cart_totals, .ahp-shop #order_review, .ahp-shop .woocommerce-checkout-review-order { background: #fff; border-radius: 18px; }
.ahp-shop table.shop_table { border: 1px solid rgba(8, 34, 81, .08); overflow: hidden; }
.ahp-shop .woocommerce-message, .ahp-shop .woocommerce-info { background: var(--ahp-sky-100); border-top-color: var(--ahp-blue); color: var(--ahp-navy); border-radius: 12px; }
.ahp-shop .woocommerce-message::before, .ahp-shop .woocommerce-info::before { color: var(--ahp-blue); }
.ahp-shop .woocommerce-error { background: #fdecea; border-top-color: #d64545; border-radius: 12px; }
.ahp-shop .woocommerce-message a.button, .ahp-shop .woocommerce-info a.button { float: right; }
.ahp-shop .payment_methods li { background: var(--ahp-cream); border-radius: 12px; padding: .6em 1em; margin-bottom: .5em; list-style: none; }

/* ---- Footer ---- */
.ahp-footer { margin-top: 70px; background: linear-gradient(180deg, var(--ahp-sky-100), #dcefff); color: var(--ahp-muted); padding: 56px 0 24px; }
.ahp-foot-grid { display: grid; grid-template-columns: 1.6fr 1fr 1fr; gap: 40px; }
.ahp-foot-logo { height: 84px; width: auto; display: block; margin-bottom: 12px; }
.ahp-footer h4 { font-family: var(--ahp-head); font-weight: 900; color: var(--ahp-navy); margin: 0 0 12px; font-size: 1rem; }
.ahp-footer a { display: block; color: var(--ahp-muted) !important; text-decoration: none; padding: 4px 0; }
.ahp-footer a:hover { color: var(--ahp-orange-text) !important; }
.ahp-footer p { max-width: 38ch; margin: 0; }
.ahp-foot-bottom { display: flex; justify-content: space-between; flex-wrap: wrap; gap: 10px; margin-top: 36px; padding-top: 20px; border-top: 1px solid rgba(8, 34, 81, .1); font-size: .9rem; }
@media (max-width: 760px) { .ahp-foot-grid { grid-template-columns: 1fr; gap: 26px; } }
