/* Original shop identity, on the shared AikoniQ header, navigation and footer. */
:root {
  --page-width: var(--wp--custom--shop--content-width, 1064px);
  --header-height: calc(var(--wp--custom--shop--header-top-height, 110px) + var(--wp--custom--shop--navigation-height, 78px));
}
body { color: var(--wp--custom--shop--body-color, var(--q-text-muted)); }
h1, h2, h3, h4 { color: var(--wp--custom--shop--heading-color, var(--q-text)); }
input::placeholder, textarea::placeholder { color: var(--q-text-muted); opacity: 1; }
.woocommerce :is(.button, input, select, textarea):focus-visible { outline: 3px solid var(--q-link); outline-offset: 3px; }
.site-header { border: 0; box-shadow: 0 18px 20px -20px #0009; }
.hh030-overheader { position: relative; background: var(--q-header-background); }
.hh030-overheader::before, .hh030-overheader::after {
  content: ''; position: absolute; bottom: 0; width: 92px; height: 100px;
  background-repeat: no-repeat; background-size: contain; background-position: bottom;
  filter: brightness(1.1) contrast(1.3) grayscale(1) opacity(.7); pointer-events: none;
}
.hh030-overheader::before { left: 0; background-image: url(header-motte.png); background-position: left bottom; }
.hh030-overheader::after { right: 0; background-image: url(header-lisa.png); background-position: right bottom; }
.hh030-overheader-inner {
  min-height: var(--wp--custom--shop--header-top-height, 110px);
  display: flex; align-items: center; gap: 28px; position: relative; z-index: 1;
}
.site-header .hh030-overheader .brand-link { width: 278px; max-width: none; }
.hh030-overheader .brand-logo { width: 100%; height: auto; }
.hh030-service-nav { margin-left: auto; }
.hh030-service-links { display: flex; align-items: center; gap: 24px; list-style: none; margin: 0; padding: 0; }
.hh030-service-links a { display: flex; align-items: center; min-height: 44px; color: var(--q-header-text-color); font-size: .8125rem; font-weight: 400; text-decoration: none; white-space: nowrap; }
.hh030-service-links a:hover { text-decoration: underline; }
.hh030-header-search { width: 232px; flex-shrink: 0; }
.hh030-header-search .ak-product-search { position: relative; gap: 0; }
.hh030-header-search .ak-product-search input[type=search] { border-radius: 99px; background: var(--q-shop-search-background); color: var(--q-text); border: 1px solid var(--q-shop-search-border); padding: 10px 44px 10px 16px; font-size: .875rem; }
.hh030-header-search .ak-product-search button { position: absolute; right: 0; padding: 8px; min-height: 44px; border-radius: 99px; border: 0; background: transparent; color: var(--q-text-muted); }
.hh030-header-search .icon { --icon-size: 18px; }
.site-header:has(.hh030-overheader) { background: var(--q-shop-navigation-background); }
/* Contrast mode changes the navigation surface and foreground together. */
html[data-ak-contrast="high"] .site-header {
  --q-shop-navigation-background: var(--q-panel);
  --q-shop-navigation-text: var(--q-text);
}
@media (prefers-contrast: more) {
  .site-header {
    --q-shop-navigation-background: var(--q-panel);
    --q-shop-navigation-text: var(--q-text);
  }
}
.site-header .header-inner { min-height: var(--wp--custom--shop--navigation-height, 78px); gap: 24px; }
.header-inner > .brand-link { display: none; }
.header-inner .desktop-nav { margin: 0; }
.header-inner .nav-list { gap: 28px; }
.site-header .header-inner .nav-item > a, .site-header .header-inner .nav-toggle { color: var(--q-shop-navigation-text); font-size: .9375rem; font-weight: 400; }
.header-inner .nav-item.is-current > a .menu-label { text-decoration-color: currentColor; }
.site-header .header-inner .nav-item > a:hover, .site-header .header-inner .nav-toggle:hover { color: var(--q-shop-navigation-text); text-decoration: underline; }
.header-inner .nav-toggle .icon { color: var(--q-shop-navigation-text); }
.header-inner .ak-shop-actions { margin-left: auto; gap: 32px; }
.header-inner .ak-shop-search-disclosure { display: none; }
.header-inner .ak-shop-actions > a { color: var(--q-shop-navigation-text); }
.header-inner .ak-shop-cart--header { gap: 24px; flex-direction: row-reverse; }
.header-inner .ak-shop-cart-count { display: none; }
.hh030-cart-summary { display: flex; gap: 10px; align-items: baseline; white-space: nowrap; font-size: .9375rem; font-weight: 400; }
.hh030-cart-items { font-size: .8125rem; }
.site-header :focus-visible { outline: 3px solid currentColor; outline-offset: 3px; }
.header-inner .mega-inner { background: var(--q-panel); }
.header-inner .mega-inner a { color: var(--q-link); }

/* The original patterned breadcrumb separates the masthead from inner pages. */
.hh030-breadcrumb { position: relative; isolation: isolate; padding: 44px 0; margin-bottom: 44px; }
.hh030-breadcrumb::before, .hh030-breadcrumb::after {
  content: ''; position: absolute; z-index: -1; inset: 0 0 -44px;
  clip-path: polygon(0 0, 100% 0, 100% 58%, 0 100%);
}
.hh030-breadcrumb::before { background: var(--q-accent); opacity: .1; }
.hh030-breadcrumb::after { background: linear-gradient(var(--q-shop-pattern-overlay), var(--q-shop-pattern-overlay)), var(--q-background) url(bg_breadcrump.svg) repeat 0 0 / 15%; bottom: -39px; }
.hh030-breadcrumb .woocommerce-breadcrumb { margin: 0; padding: 14px 20px; border-radius: 99px; background: color-mix(in srgb, var(--q-panel) 95%, transparent); color: var(--q-text-muted); font-size: .875rem; box-shadow: 0 18px 20px -20px #0008; overflow-wrap: anywhere; }
.hh030-breadcrumb a { color: inherit; text-decoration: none; }
.hh030-breadcrumb a:hover { text-decoration: underline; }

/* Match the original readable content scale and centred paw-marked headings. */
.page-heading { padding-top: 36px; padding-bottom: 24px; }
.page-heading .eyebrow { display: none; }
.page-heading h1, .hh030-original-title, .woocommerce-products-header h1 {
  position: relative; text-align: center; font-size: clamp(1.8rem, 3.2vw, 2.625rem);
  color: var(--wp--custom--shop--heading-color, var(--q-text));
  font-weight: var(--wp--custom--shop--heading-weight, 400); line-height: 1.25;
  letter-spacing: -.035em; padding: 0 48px 18px; border-bottom: 1px dashed var(--q-accent);
}
.page-heading h1::before, .page-heading h1::after,
.hh030-original-title::before, .hh030-original-title::after {
  content: ''; position: absolute; top: 10px; width: 30px; height: 30px;
  background: var(--q-accent); opacity: .22; mask: url(paw-print.svg) center / contain no-repeat;
}
.page-heading h1::before, .hh030-original-title::before { left: 0; transform: rotate(-15deg); }
.page-heading h1::after, .hh030-original-title::after { right: 0; transform: rotate(15deg); }
.page-content { width: calc(100% - var(--gutter)*2); max-width: var(--page-width); margin-inline: auto; padding-bottom: 64px; }
.page-content > p, .page-content > h2, .page-content > h3, .page-content > h4,
.page-content > ul, .page-content > ol, .page-content > .wp-block-image, .page-content > .wp-block-group {
  width: 100%; max-width: none; margin-inline: 0;
}
.page-content p, .hh030-home-copy p { font-size: 1rem; font-weight: 400 !important; line-height: 1.7; color: var(--wp--custom--shop--body-color, var(--q-text-muted)); }
.page-content .wp-block-columns { gap: 32px; }
.page-content .wp-block-image { text-align: center; }
.page-content .wp-block-columns .wp-block-image img { max-height: 220px; width: 100%; object-fit: contain; }
.page-content figcaption { font-size: .875rem; color: var(--q-text-muted); font-weight: 500; text-align: center; }
.hh030-home { padding-block: 64px 80px; }
.hh030-original-title { margin-bottom: 24px; }
.hh030-home-copy .wp-block-columns { gap: 32px; margin-block: 28px; }
.hh030-home-copy .wp-block-image { text-align: center; margin-inline: auto; }
.hh030-home-copy .wp-block-image:not(.is-resized) { width: 100%; }
.hh030-home-copy .wp-block-columns .wp-block-image img { width: 100%; max-height: 250px; object-fit: contain; }
.hh030-home-copy > .wp-block-columns:first-of-type .wp-block-image img { height: 250px; }
.hh030-home-copy figcaption { text-align: center; font-size: 1rem; color: var(--q-text-muted); font-weight: 500; }
.hh030-home-copy > .wp-block-image { max-width: 190px; }
.site-footer h2, .site-footer h3 { color: inherit; }
.site-footer .brand-logo { width: 240px; height: auto; }
.site-footer .footer-main { grid-template-columns: 1.4fr 1fr 1fr 1fr; }
.ak-shop { padding-top: 36px; }

/* Keep purchase actions distinct from the quieter footer controls. */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce #respond input#submit {
  font-size: var(--wp--custom--shop--control-font-size, 1rem);
}
.site-footer .footer-meta .button {
  min-height: 44px; padding: 8px 16px;
  font-size: var(--wp--custom--shop--footer-control-font-size, .875rem);
  font-weight: 500;
}
.hh030-footer-newsletter input[type=submit], #tnp-modal input[type=submit] {
  font-size: var(--wp--custom--shop--newsletter-control-font-size, .9375rem);
}

/* Original decorative artwork, layered onto the shared footer component. */
@media (min-width: 768px) {
  .site-footer {
    position: relative;
    margin-top: var(--wp--custom--shop--footer-decoration-height, 100px);
    background-image: url(bg_footer.svg);
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: 100% auto;
  }
  .site-footer::before {
    content: ''; position: absolute; left: 0;
    top: calc(-1 * var(--wp--custom--shop--footer-decoration-height, 100px));
    width: 100%; height: var(--wp--custom--shop--footer-decoration-height, 100px);
    background: url(Footer-Test.png) no-repeat center bottom / 25% auto;
    filter: brightness(1.1) contrast(1.3) grayscale(1) opacity(.8);
    pointer-events: none;
  }
}

/* Original desktop behaviour: only the main navigation stays in view. */
@media (min-width: 1100px) {
  .site-header { top: calc(-1 * var(--wp--custom--shop--header-top-height, 110px)); }
  .admin-bar .site-header { top: calc(32px - var(--wp--custom--shop--header-top-height, 110px)); }
}

@media (min-width: 1100px) and (max-width: 1240px) {
  .hh030-overheader-inner { width: calc(100% - 160px); gap: 16px; }
  .site-header .hh030-overheader .brand-link { width: 230px; }
  .hh030-service-links { gap: 14px; }
  .hh030-header-search { width: 200px; }
  .header-inner .nav-list { gap: 20px; }
  .header-inner .ak-shop-actions { gap: 16px; }
}
@media (max-width: 1099px) {
  :root { --header-height: var(--wp--custom--shop--mobile-header-height, 96px); scroll-padding-bottom: calc(var(--wp--custom--shop--mobile-bar-height, 60px) + 16px); }
  body { padding-bottom: var(--wp--custom--shop--mobile-bar-height, 60px); }
  .hh030-overheader-inner { min-height: var(--header-height); padding-right: calc(4.7rem + 36px); }
  .site-header .hh030-overheader .brand-link { width: 260px; max-width: 100%; }
  .hh030-overheader::before, .hh030-overheader::after,
  .hh030-overheader .hh030-service-nav, .hh030-header-search { display: none; }
  .site-header .header-inner { min-height: 0; height: 0; }
  .site-header .mobile-menu-button { position: absolute; z-index: 2; top: 26px; right: var(--gutter); min-height: 44px; padding: 8px 12px; border: 1px solid currentColor; border-radius: 0; color: var(--q-header-text-color); }
  .header-inner .ak-shop-actions { position: fixed; bottom: 0; left: 0; right: 0; margin: 0; height: var(--wp--custom--shop--mobile-bar-height, 60px); background: var(--q-header-background); display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; box-shadow: 0 -2px 8px #0002; }
  .header-inner .ak-shop-actions > a, .header-inner .ak-shop-actions summary { display: flex; min-height: 60px; color: var(--q-header-text-color); border-radius: 0; }
  .header-inner .ak-shop-account { order: -1; }
  .header-inner .ak-shop-search-disclosure { display: block; border-inline: 1px solid #fff6; }
  .header-inner .ak-shop-cart-count { display: inline-flex; top: 8px; right: calc(50% - 25px); }
  .header-inner .hh030-cart-summary { display: none; }
  .header-inner .ak-shop-search-panel { position: absolute; top: auto; bottom: 100%; left: 0; right: 0; width: 100%; max-width: none; padding: 16px; border-radius: 0; }
  .menu-drawer .hh030-service-nav { margin: 20px 0 0; padding-top: 16px; border-top: 1px solid var(--q-border); }
  .menu-drawer .hh030-service-links { display: grid; gap: 4px; }
  .menu-drawer .hh030-service-links a { color: var(--q-text); font-size: .9375rem; }
  .quick-tools { bottom: calc(var(--wp--custom--shop--mobile-bar-height, 60px) + 16px); }
  .site-footer .footer-powered-by { padding-left: var(--space-64); }
  .site-footer .footer-main { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 767px) {
  .site-header .hh030-overheader .brand-link { width: 225px; }
  .hh030-overheader-inner { padding-right: calc(4.7rem + 36px); }
  .hh030-breadcrumb { padding: 30px 0; margin-bottom: 0; background: linear-gradient(var(--q-shop-pattern-overlay), var(--q-shop-pattern-overlay)), var(--q-background) url(bg_breadcrump.svg) repeat 0 0 / 15%; border-bottom: 1px dashed var(--q-accent); }
  .hh030-breadcrumb::before, .hh030-breadcrumb::after { display: none; }
  .hh030-breadcrumb .woocommerce-breadcrumb { padding: 14px 16px; }
  .page-heading { padding-top: 28px; }
  .page-heading h1, .hh030-original-title { padding-inline: 32px; font-size: clamp(2rem, 11vw, 2.625rem); }
  .page-heading h1::before, .page-heading h1::after, .hh030-original-title::before, .hh030-original-title::after { width: 24px; height: 24px; top: 8px; }
  .hh030-home { padding-block: 32px 48px; }
  .hh030-home-copy .wp-block-columns { gap: 24px; }
  .hh030-footer-newsletter { grid-template-columns: 1fr; gap: 20px; }
  .site-footer .footer-main { grid-template-columns: 1fr; }
}
/* The shared theme switches to the drawer for enlarged text at every width.
   Keep the shop's two-level header in the same compact mode, and reserve room
   for the menu label as it grows. The navigation row must remain zero-height. */
html[data-ak-text-size] {
  --header-height: var(--wp--custom--shop--mobile-header-height, 96px);
  scroll-padding-bottom: calc(var(--wp--custom--shop--mobile-bar-height, 60px) + 16px);
}
html[data-ak-text-size] body { padding-bottom: var(--wp--custom--shop--mobile-bar-height, 60px); }
html[data-ak-text-size] .site-header { top: 0; background: var(--q-header-background); }
html[data-ak-text-size] .admin-bar .site-header { top: var(--wp-admin--admin-bar--height, 32px); }
html[data-ak-text-size] .hh030-overheader-inner { min-height: var(--header-height); padding-right: calc(4.7rem + 36px); }
html[data-ak-text-size] .site-header .hh030-overheader .brand-link { width: 260px; max-width: 100%; }
html[data-ak-text-size] .hh030-overheader::before, html[data-ak-text-size] .hh030-overheader::after,
html[data-ak-text-size] .hh030-overheader .hh030-service-nav, html[data-ak-text-size] .hh030-header-search { display: none; }
html[data-ak-text-size] .site-header .header-inner { min-height: 0; height: 0; padding-block: 0; }
html[data-ak-text-size] .site-header .mobile-menu-button { position: absolute; z-index: 2; top: 26px; right: var(--gutter); min-height: 44px; padding: 8px 12px; border: 1px solid currentColor; border-radius: 0; color: var(--q-header-text-color); }
html[data-ak-text-size] .header-inner .ak-shop-actions { position: fixed; bottom: 0; left: 0; right: 0; margin: 0; height: var(--wp--custom--shop--mobile-bar-height, 60px); background: var(--q-header-background); display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; box-shadow: 0 -2px 8px #0002; }
html[data-ak-text-size] .header-inner .ak-shop-actions > a, html[data-ak-text-size] .header-inner .ak-shop-actions summary { display: flex; min-height: 60px; color: var(--q-header-text-color); border-radius: 0; }
html[data-ak-text-size] .header-inner .ak-shop-account { order: -1; }
html[data-ak-text-size] .header-inner .ak-shop-search-disclosure { display: block; border-inline: 1px solid #fff6; }
html[data-ak-text-size] .header-inner .ak-shop-cart-count { display: inline-flex; top: 8px; right: calc(50% - 25px); }
html[data-ak-text-size] .header-inner .hh030-cart-summary { display: none; }
html[data-ak-text-size] .header-inner .ak-shop-search-panel { position: absolute; top: auto; bottom: 100%; left: 0; right: 0; width: 100%; max-width: none; padding: 16px; border-radius: 0; }
html[data-ak-text-size] .menu-drawer .hh030-service-nav { margin: 20px 0 0; padding-top: 16px; border-top: 1px solid var(--q-border); }
html[data-ak-text-size] .menu-drawer .hh030-service-links { display: grid; gap: 4px; }
html[data-ak-text-size] .menu-drawer .hh030-service-links a { color: var(--q-text); font-size: .9375rem; }
html[data-ak-text-size] .quick-tools { bottom: calc(var(--wp--custom--shop--mobile-bar-height, 60px) + 16px); }
html[data-ak-text-size] :is(.hh030-original-title, .page-heading h1) { padding-inline: 0; hyphens: auto; }
html[data-ak-text-size] :is(.hh030-original-title, .page-heading h1)::before,
html[data-ak-text-size] :is(.hh030-original-title, .page-heading h1)::after { display: none; }
@media print { .header-inner .ak-shop-actions { display: none; } body { padding-bottom: 0; } }
