/* ==========================================================================
   NUNDÌA – additions on top of base44.css (the reference stylesheet).
   Keep this file small: everything else comes from base44.css unchanged.
   ========================================================================== */

:root {
  --nd-gold: #b9913a;
}

[hidden] { display: none !important; }

/* Header ------------------------------------------------------------------ */

/* Header height: taller than the reference (74px) so the full official logo stays readable. */
:root { --nd-row: 86px; --nd-top: 0px; }
@media (min-width: 640px) { :root { --nd-row: 96px; } }
@media (min-width: 1024px) { :root { --nd-row: 116px; --nd-top: 40px; } }
.nd-header-row { height: var(--nd-row); transition: height .4s ease; }
.nd-header-spacer { height: calc(var(--nd-row) + var(--nd-top)); }
.nd-mobile-menu { top: calc(var(--nd-row) + var(--nd-top)); }

/* Official logo (full vertical version) */
.nd-logo img { display: block; width: auto; height: calc(var(--nd-row) - 12px); transition: height .4s ease; }
.nd-logo .nd-logo-light { display: none; }
.nd-header.text-white .nd-logo .nd-logo-light { display: block; filter: drop-shadow(0 1px 6px rgba(0, 0, 0, .35)); }
.nd-header.text-white .nd-logo .nd-logo-dark { display: none; }

/* Footer: official logo (reversed variant – "Typhoeus Group" in white for the red background) */
.nd-footer-logo img { display: block; width: 190px; height: auto; }
@media (min-width: 1024px) { .nd-footer-logo img { width: 220px; } }

/* Mobile menu open state.
   backdrop-filter would make the fixed panel relative to the header (zero height), so drop it while open. */
.nd-header.is-menu-open { -webkit-backdrop-filter: none; backdrop-filter: none; background-color: #fff; }
.nd-header.is-menu-open .nd-mobile-menu { pointer-events: auto; opacity: 1; transform: none; }
.nd-header.is-menu-open .nd-icon-open { display: none; }
.nd-header.is-menu-open .nd-icon-close { display: inline; }

/* Language dropdown --------------------------------------------------------- */
.nd-lang-btn { min-height: 28px; font-size: 11px; }
.nd-lang-chevron { transition: transform .25s ease; }
.nd-lang.is-open .nd-lang-chevron { transform: rotate(180deg); }
.nd-lang-menu {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 60;
  min-width: 168px;
  margin: 0;
  padding: 6px 0;
  list-style: none;
  background: #fff;
  color: hsl(var(--foreground));
  border: 1px solid hsl(var(--border));
  box-shadow: 0 12px 30px rgba(26, 26, 26, .12);
}
.nd-mobile-menu .nd-lang-menu { top: auto; bottom: calc(100% + 8px); left: 0; right: auto; }
.nd-lang-item {
  display: flex;
  width: 100%;
  align-items: center;
  gap: .65rem;
  padding: .5rem 1rem;
  font-size: 14px;
  line-height: 1.3;
  text-align: left;
  transition: background-color .15s ease, color .15s ease;
}
.nd-lang-item:hover, .nd-lang-item:focus-visible { background: hsl(var(--secondary)); color: hsl(var(--primary)); outline: none; }
.nd-lang-item[aria-selected="true"] { color: hsl(var(--primary)); }

/* Google Translate: hide its UI, keep the page in place */
.skiptranslate iframe, .goog-te-banner-frame, #goog-gt-tt, .goog-te-balloon-frame, .goog-tooltip { display: none !important; }
body { top: 0 !important; }
font[style] { background: none !important; box-shadow: none !important; }

/* FAQ accordion --------------------------------------------------------- */
.nd-faq.is-open .nd-faq-body { grid-template-rows: 1fr; opacity: 1; }
.nd-faq-icon { transition: transform .3s ease; }
.nd-faq.is-open .nd-faq-icon { transform: rotate(45deg); }

/* Product gallery thumbnails (only when a product has a gallery) */
.grid-cols-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }

/* Rich text from the editor (articles, legal pages) – same type scale as the reference */
.nd-article p { font-size: 17px; line-height: 1.9; color: hsl(var(--foreground) / .85); }
.nd-article h2, .nd-article h3 { margin-top: 2rem; font-size: 1.5rem; }
.nd-article a, .nd-legal a, .nd-prose a { color: hsl(var(--primary)); text-decoration: underline; text-underline-offset: 3px; }
.nd-legal > p { margin-top: 1.25rem; font-size: 15.5px; line-height: 1.9; color: hsl(var(--muted-foreground)); }
.nd-legal > p:first-child { margin-top: 0; margin-bottom: 2rem; font-size: 17px; color: hsl(var(--foreground) / .85); }
.nd-legal h2, .nd-legal h3 { margin-top: 2.25rem; font-size: 1.25rem; }
.nd-legal ul { margin-top: 1rem; padding-left: 1.25rem; list-style: disc; font-size: 15.5px; line-height: 1.9; color: hsl(var(--muted-foreground)); }
.nd-prose p { margin-top: 1rem; font-size: 16px; line-height: 1.85; color: hsl(var(--foreground) / .85); }

/* Add-to-cart button feedback */
.js-add-to-cart.is-loading { opacity: .6; pointer-events: none; }

/* WP admin bar offset for the fixed header */
.admin-bar .nd-header { top: 32px; }
.admin-bar .nd-mobile-menu { top: calc(var(--nd-row) + var(--nd-top) + 32px); }
@media (max-width: 782px) {
  .admin-bar .nd-header { top: 46px; }
  .admin-bar .nd-mobile-menu { top: calc(var(--nd-row) + var(--nd-top) + 46px); }
}
