:root {
  --color-pmh-blue: #006AA5;
  --color-blue-accent: #1e90ff;
  --color-pmh-red: #A32A27;
  --color-dark: #1A1A1A;
  --color-lightgray: #FAF9F6;
  --color-text: #333;
  --color-border: #E1E8ED;
  --font-inter: 'Jost', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
}

* {margin:0; padding:0; box-sizing:border-box;}

body {font-family:var(--font-inter); background:#fff; color:var(--color-text); line-height:1.6;}

/* === LOCAL FONTS === */
@font-face {font-family:'Jost'; src:url('/include/fonts/jost-300-light.woff2') format('woff2'); font-weight:300; font-style:normal; font-display:swap;}
@font-face {font-family:'Jost'; src:url('/include/fonts/jost-400-book.woff2') format('woff2'); font-weight:400; font-style:normal; font-display:swap;}
@font-face {font-family:'Jost'; src:url('/include/fonts/jost-500-medium.woff2') format('woff2'); font-weight:500; font-style:normal; font-display:swap;}
@font-face {font-family:'Jost'; src:url('/include/fonts/jost-600-semi.woff2') format('woff2'); font-weight:600; font-style:normal; font-display:swap;}

/* === HEADER === */
/* Top row - languages (boxed, not sticky) */
.pmh-header-top {background:rgba(248,250,252,0.95); border-bottom:1px solid rgba(0,106,165,0.08);}
.pmh-header-inner {max-width:1240px; margin:0 auto; padding:10px 30px; display:flex; justify-content:flex-end;}

/* Bottom row — iOS liquid glass — STICKY */
.pmh-header-bottom {position:sticky; top:0; z-index:1000; background:rgba(238,240,243,0.45); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border:1px solid rgba(255,255,255,0.2); border-top:none; box-shadow:inset 0 1px 1px rgba(255,255,255,0.6), inset 0 0 2px rgba(255,255,255,0.3), 0 8px 32px rgba(0,0,0,0.1); padding:15px 0;}
.pmh-header-box {max-width:1240px; margin:0 auto; padding:0 30px; display:flex; align-items:center; gap:30px;}

/* === LOGO === */
.pmh-logo {flex:0 0 auto; padding:5px 20px 2px 0;}
.pmh-logo img {display:block; height:40px; width:auto;}

/* === NAVIGATION === */
.pmh-nav {flex:1; display:flex; justify-content:center;}
.pmh-menu {display:flex; gap:30px; list-style:none; align-items:center; margin:0;}
.pmh-menu li {position:relative; display:flex; align-items:center;}
.pmh-menu > li > a {color:var(--color-text); text-decoration:none; font-size:18px; font-weight:500; padding:10px 0; transition:color 0.3s; white-space:nowrap;}
.pmh-menu > li > a:hover {color:var(--color-pmh-blue);}
.pmh-menu .has-dropdown {display:flex; align-items:center; gap:5px; position:relative; white-space:nowrap;}
.pmh-menu .dropdown-icon {color:var(--color-text); font-size:10px; transition:transform 0.2s;}
.pmh-menu .has-dropdown:hover .dropdown-icon {transform:rotate(180deg);}

/* Desktop dropdown - FULL WIDTH BLUE BACKGROUND */
.pmh-dropdown {display:none; position:absolute; top:100%; left:0; background:rgba(238,240,243,0.45); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border-radius:12px; border:1px solid rgba(255,255,255,0.2); box-shadow:inset 0 1px 1px rgba(255,255,255,0.6), inset 0 0 2px rgba(255,255,255,0.3), 0 8px 32px rgba(0,0,0,0.1); min-width:220px; padding:8px 0; margin-top:0; list-style:none; z-index:100;}
/* Neviditeľný most nad dropdownom — udržuje hover keď myš prechádza z nav itemu na dropdown */
.pmh-dropdown::before {content:''; position:absolute; top:-12px; left:0; right:0; height:12px;}
.pmh-dropdown li {padding:0; margin:0; transition:background 0.2s;}
.pmh-dropdown li:hover {background:rgba(255,255,255,0.35);}
.pmh-dropdown a {color:var(--color-text); font-size:15px; font-weight:400; padding:12px 20px; display:block; white-space:nowrap; text-decoration:none; transition:color 0.2s;}
.pmh-dropdown li:hover a {color:var(--color-pmh-blue);}
.pmh-menu .has-dropdown:hover .pmh-dropdown {display:block;}

/* Hide submenu toggle on desktop */
.submenu-toggle {display:none;}

/* === LANGUAGE SWITCHER === */
.pmh-lang {text-align:right; display:flex; gap:7px; align-items:center;}
.pmh-lang a {display:inline-block; padding:4px 6px; text-transform:uppercase; font-weight:400; font-size:14px; line-height:1; color:#1a1a1a; text-decoration:none; border-radius:4px; transition:background-color .2s ease, color .2s ease;}
.pmh-lang a:hover {background:#006AA5; color:#ffffff;}
.pmh-lang a.active {background:#CEEBFB; color:#1a1a1a; cursor:default;}

/* === PILL BUTTON === */
.pmh-pill {display:inline-block; padding:10px 20px; border-radius:8px; font-size:16px; font-weight:600; color:#fff; text-decoration:none; background-image:linear-gradient(90deg,#006AA5 0%,#006AA5 50%,#A32A27 100%); background-size:200% 100%; background-position:100% 0; transition:background-position .45s ease,transform .12s; white-space:nowrap;}
.pmh-pill:hover {background-position:0% 0; transform:translateY(-1px);}
.pmh-pill:active {transform:translateY(0);}
.bluetext {color:var(--color-pmh-blue); font-weight:600; text-decoration:none; font-size:18px; transition:color 0.3s;}

/* === SEARCH === */
.pmh-search {position:relative; flex:0 0 auto;}
.search-form {display:flex; align-items:center; background:#fff; border-radius:999px; border:1px solid #dadde2; overflow:hidden; min-width:260px;}
.search-form input {flex:1; padding:9px 16px; border:none; background:transparent; font-size:14px; font-family:var(--font-inter); color:var(--color-text); outline:none;}
.search-form input::placeholder {color:#aaa;}
.search-form input[type="search"]::-webkit-search-cancel-button,
.search-form input[type="search"]::-webkit-search-decoration {display:none; appearance:none;}
.search-form button {background:none; border:none; padding:9px 14px 9px 4px; cursor:pointer; color:#888; display:flex; align-items:center; transition:color 0.2s; flex-shrink:0;}
.search-form button:hover {color:var(--color-pmh-blue);}
.search-dropdown {position:fixed; background:rgba(238,240,243,0.45); backdrop-filter:blur(20px); -webkit-backdrop-filter:blur(20px); border:1px solid rgba(255,255,255,0.2); border-radius:16px; box-shadow:inset 0 1px 1px rgba(255,255,255,0.6), inset 0 0 2px rgba(255,255,255,0.3), 0 8px 32px rgba(0,0,0,0.1); list-style:none; padding:6px 0; margin:0; z-index:10000; max-height:340px; overflow-y:auto; scrollbar-width:none;}
.search-dropdown::-webkit-scrollbar {display:none;}
.search-dropdown li a {display:block; padding:11px 20px; color:var(--color-text); text-decoration:none; font-size:.9rem; line-height:1.4; border-bottom:1px solid rgba(255,255,255,0.25); font-family:var(--font-inter); transition:background 0.15s, color 0.15s;}
.search-dropdown li:last-child a {border-bottom:none;}
.search-dropdown li a:hover {background:rgba(255,255,255,0.35); color:var(--color-pmh-blue);}

/* === MOBILE MENU === */
.pmh-mobile-overlay {display:none; position:fixed; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.5); z-index:1998; opacity:0; transition:opacity 0.3s ease;}
.pmh-mobile-overlay.active {display:block; opacity:1;}
.pmh-mobile-menu {position:fixed; top:0; right:0; width:100%; height:100%; background:#fff; z-index:1999; overflow-y:auto; padding:30px 30px 30px; transform:translateX(100%); transition:transform 0.3s ease;}
.pmh-mobile-menu.active {transform:translateX(0);}
.pmh-mobile-close {position:absolute; top:15px; right:15px; background:none; border:none; font-size:40px; color:var(--color-text); cursor:pointer; padding:0; width:40px; height:40px; line-height:1;}

/* === MOBILE HEADER === */
.pmh-mobile-header {display:flex; justify-content:space-between; align-items:center; padding:0 0 20px 0; border-bottom:1px solid rgba(255,255,255,.1);}
.pmh-mobile-logo {display:flex; align-items:center;}
.pmh-mobile-logo img {height:40px; width:auto; display:block;}
.pmh-mobile-header .pmh-mobile-close {position:static;}

/* === HAMBURGER ICON === */
.pmh-hamburger {display:none; background:none; border:none; cursor:pointer; padding:8px; flex-direction:column; gap:5px;}
.pmh-hamburger span {display:block; width:28px; height:4px; background:var(--color-text); border-radius:2px; transition:all 0.3s ease;}
.pmh-hamburger.active span:nth-child(1) {transform:rotate(45deg) translate(8px, 8px);}
.pmh-hamburger.active span:nth-child(2) {opacity:0;}
.pmh-hamburger.active span:nth-child(3) {transform:rotate(-45deg) translate(7px, -7px); height:3px;}

/* Mobile pill and search */
.pmh-mobile-pill {display:block; text-align:center; margin:30px 0;}

.pmh-mobile-search {display:flex; align-items:center; margin-bottom:30px; background:#fff; border-radius:999px; border:1px solid #dadde2; overflow:hidden;}
.pmh-mobile-search input {flex:1; padding:12px 16px; border:none; background:transparent; font-size:16px; font-family:var(--font-inter); outline:none; color:var(--color-text);}
.pmh-mobile-search input::placeholder {color:#aaa;}
.pmh-mobile-search input[type="search"]::-webkit-search-cancel-button,
.pmh-mobile-search input[type="search"]::-webkit-search-decoration {display:none; appearance:none;}
.pmh-mobile-search button {background:none; border:none; padding:12px 16px 12px 4px; cursor:pointer; color:#888; display:flex; align-items:center; flex-shrink:0; transition:color 0.2s;}
.pmh-mobile-search button:hover {color:var(--color-pmh-blue);}


/* === CONTENT === */
.pmh-content {max-width:1240px; margin:0 auto; padding:40px 30px; min-height:70vh}

/* === FOOTER — Aurora Glass === */
/* Light base — pri výdichu blobov presvitá biela. Tieň hore = zrkadlo headra */
.pmh-footer {position:relative; overflow:hidden; background:#f8fafc; margin-top:60px; padding:60px 0 0; border-top:1px solid rgba(255,255,255,0.2); box-shadow:inset 0 1px 1px rgba(255,255,255,0.5),inset 0 0 1px rgba(255,255,255,0.2),0 -8px 32px rgba(0,0,0,0.10);}
/* Glass overlay — rovnaká matnosť ako header */
.pmh-footer::before {content:''; position:absolute; inset:0; background:rgba(238,240,243,0.45); z-index:1; pointer-events:none;}
/* Blob layer — bez masky, bloby skáču medzi rohmi */
.pmh-footer-blobs {position:absolute; inset:-100px; filter:blur(100px); pointer-events:none; z-index:0;}
/* Bloby centrované v blob-layer, translate ich vrhá do rohov */
.pmh-footer-blob {position:absolute; border-radius:50%; left:30%; top:30%;}
.pmh-footer-blob--1 {width:40%; height:40%; background:rgba(0,106,165,1); animation:pmh-corner-blue 40s ease-in-out infinite;}
/* -3s delay: blob2 začína nádych 3s po blob1 → oba viditeľné ~2s súčasne každý cyklus */
.pmh-footer-blob--2 {width:40%; height:40%; background:rgba(163,42,39,1); animation:pmh-corner-red 40s ease-in-out infinite; animation-delay:-3s;}
@keyframes pmh-corner-blue {
  0%    {transform:translate(-90%,90%)   scale(0.1); opacity:0;}
  7%    {transform:translate(-90%,90%)   scale(1.8); opacity:1;}
  13%   {transform:translate(-90%,90%)   scale(0.1); opacity:0;}
  13.5% {transform:translate(90%,-110%)  scale(0.1); opacity:0;}
  21%   {transform:translate(90%,-110%)  scale(1.75);opacity:0.95;}
  27%   {transform:translate(90%,-110%)  scale(0.1); opacity:0;}
  27.5% {transform:translate(-90%,-110%) scale(0.1); opacity:0;}
  35%   {transform:translate(-90%,-110%) scale(1.8); opacity:1;}
  41%   {transform:translate(-90%,-110%) scale(0.1); opacity:0;}
  41.5% {transform:translate(90%,90%)    scale(0.1); opacity:0;}
  49%   {transform:translate(90%,90%)    scale(1.7); opacity:0.9;}
  55%   {transform:translate(90%,90%)    scale(0.1); opacity:0;}
  55.5% {transform:translate(-90%,90%)   scale(0.1); opacity:0;}
  63%   {transform:translate(-90%,90%)   scale(1.8); opacity:0.85;}
  69%   {transform:translate(-90%,90%)   scale(0.1); opacity:0;}
  69.5% {transform:translate(90%,-110%)  scale(0.1); opacity:0;}
  77%   {transform:translate(90%,-110%)  scale(1.75);opacity:1;}
  83%   {transform:translate(90%,-110%)  scale(0.1); opacity:0;}
  83.5% {transform:translate(-90%,-110%) scale(0.1); opacity:0;}
  91%   {transform:translate(-90%,-110%) scale(1.7); opacity:0.9;}
  97%   {transform:translate(-90%,-110%) scale(0.1); opacity:0;}
  97.5% {transform:translate(-90%,90%)   scale(0.1); opacity:0;}
  100%  {transform:translate(-90%,90%)   scale(0.1); opacity:0;}
}
@keyframes pmh-corner-red {
  0%    {transform:translate(90%,-110%)  scale(0.1); opacity:0;}
  7%    {transform:translate(90%,-110%)  scale(1.8); opacity:1;}
  13%   {transform:translate(90%,-110%)  scale(0.1); opacity:0;}
  13.5% {transform:translate(-90%,90%)   scale(0.1); opacity:0;}
  21%   {transform:translate(-90%,90%)   scale(1.7); opacity:0.9;}
  27%   {transform:translate(-90%,90%)   scale(0.1); opacity:0;}
  27.5% {transform:translate(90%,90%)    scale(0.1); opacity:0;}
  35%   {transform:translate(90%,90%)    scale(1.8); opacity:1;}
  41%   {transform:translate(90%,90%)    scale(0.1); opacity:0;}
  41.5% {transform:translate(-90%,-110%) scale(0.1); opacity:0;}
  49%   {transform:translate(-90%,-110%) scale(1.75);opacity:0.95;}
  55%   {transform:translate(-90%,-110%) scale(0.1); opacity:0;}
  55.5% {transform:translate(90%,-110%)  scale(0.1); opacity:0;}
  63%   {transform:translate(90%,-110%)  scale(1.7); opacity:0.85;}
  69%   {transform:translate(90%,-110%)  scale(0.1); opacity:0;}
  69.5% {transform:translate(90%,90%)    scale(0.1); opacity:0;}
  77%   {transform:translate(90%,90%)    scale(1.8); opacity:1;}
  83%   {transform:translate(90%,90%)    scale(0.1); opacity:0;}
  83.5% {transform:translate(-90%,90%)   scale(0.1); opacity:0;}
  91%   {transform:translate(-90%,90%)   scale(1.75);opacity:0.9;}
  97%   {transform:translate(-90%,90%)   scale(0.1); opacity:0;}
  97.5% {transform:translate(90%,-110%)  scale(0.1); opacity:0;}
  100%  {transform:translate(90%,-110%)  scale(0.1); opacity:0;}
}
/* Content layer — above glass overlay */
.pmh-footer-inner {position:relative; z-index:2; max-width:1240px; margin:0 auto; padding:0 30px;}
.pmh-footer h3 {color:var(--color-text); font-size:15px; font-weight:600; margin-bottom:12px; text-transform:uppercase; letter-spacing:.5px;}
.pmh-footer p {font-size:14px; line-height:1.6; margin-bottom:12px; color:var(--color-text);}
.pmh-footer a {font-size:15px; text-decoration:none; color:var(--color-text);}
.pmh-footer a:hover {color:var(--color-pmh-blue);}
.pmh-footer ul {list-style:none;}
.pmh-footer ul li {margin-bottom:8px;}
/* Cards grid */
.pmh-footer-cards {display:grid; grid-template-columns:repeat(1,1fr); gap:2rem; padding-bottom:40px;}
@media (min-width:480px) {.pmh-footer-cards {grid-template-columns:repeat(2,1fr);}}
@media (min-width:950px) {.pmh-footer-cards {grid-template-columns:repeat(4,1fr);}}
/* Newsletter form */
.pmh-footer-card form {display:flex; flex-direction:column; gap:8px; margin-top:10px;}
.pmh-footer-card input[type="email"] {padding:10px 12px; border:1px solid rgba(0,106,165,.2); border-radius:6px; background:rgba(255,255,255,.8); color:var(--color-text); font-size:14px; font-family:var(--font-inter);}
.pmh-footer-card input[type="email"]::placeholder {color:rgba(0,0,0,.35);}
.pmh-footer-card input[type="email"]:focus {outline:none; border-color:var(--color-pmh-blue);}
.pmh-footer-card button {padding:10px 16px; background-image:linear-gradient(90deg,#006AA5 0%,#006AA5 50%,#A32A27 100%); background-size:200% 100%; background-position:100% 0; color:#fff; border:none; border-radius:6px; font-size:14px; font-weight:600; cursor:pointer; font-family:var(--font-inter); transition:background-position .45s ease,transform .12s;}
.pmh-footer-card button:hover {background-position:0% 0; transform:translateY(-1px);}
.pmh-footer-card button:active {transform:translateY(0);}
/* Bottom bar */
.pmh-footer-bar {display:flex; align-items:center; justify-content:space-between; border-top:1px solid rgba(0,106,165,.1); padding:16px 0; font-size:13px; gap:10px; flex-wrap:wrap;}
.pmh-footer-bar span {color:var(--color-text);}
.pmh-footer-bar > a {color:var(--color-text); font-size:13px;}
.pmh-footer-bar > a:hover {color:var(--color-pmh-blue);}
/* Social icons */
.pmh-footer-social {display:flex; gap:14px; align-items:center;}
.pmh-footer-social a {color:var(--color-text); display:flex; align-items:center; transition:color .2s;}
.pmh-footer-social a:hover {color:var(--color-pmh-blue);}
/* Footer credit (web author) */
.pmh-footer-credit {display:inline-flex; align-items:center; gap:8px; color:var(--color-text); font-size:13px; text-decoration:none;}
.pmh-footer-credit img {display:block; height:34px; width:auto; opacity:.8; transition:opacity .2s;}
.pmh-footer-credit:hover img {opacity:1;}

/* === MEDIA QUERIES === */
@media (max-width:1024px) {
  .pmh-header-inner {padding:0 10px;}
  .pmh-content {padding:40px 10px;}
  .pmh-header-box {padding:0 20px;}
  .pmh-header-top {padding:1px 0 2px;}
  
  /* Hide desktop elements */
  .pmh-header-box .pmh-nav, .pmh-search, .pmh-pill {display:none;}
  .pmh-hamburger {display:flex;}
  .pmh-header-box {gap:15px; justify-content:space-between;}
  .pmh-logo {padding:5px 0;}
  
  /* MOBILE MENU - COLLAPSIBLE SUBMENU (accordion via + / − toggle) */
  .pmh-mobile-menu .pmh-nav {display:block;}
  .pmh-mobile-menu .pmh-menu {flex-direction:column; gap:0; align-items:stretch;}
  .pmh-mobile-menu .pmh-menu > li {border-bottom:1px solid var(--color-border); display:block; position:relative;}
  .pmh-mobile-menu .pmh-menu > li > a {display:block; padding:15px 40px 15px 0; font-size:18px; font-weight:600; color:var(--color-text); text-decoration:none;}

  /* Hide the desktop dropdown caret; show the +/− accordion toggle */
  .pmh-mobile-menu .dropdown-icon {display:none;}
  .pmh-mobile-menu .submenu-toggle {display:flex; align-items:center; justify-content:center; position:absolute; right:0; top:0; height:52px; width:40px; background:none; border:none; font-size:22px; line-height:1; cursor:pointer; color:var(--color-text);}

  /* Submenu - collapsed by default (JS toggles display), gray background */
  .pmh-mobile-menu .pmh-dropdown {position:static; background:#f5f5f5; box-shadow:none; border-radius:0; padding:0; margin:0; list-style:none;}
  .pmh-mobile-menu .pmh-dropdown li {padding:0; margin:0; border-bottom:1px solid #e0e0e0;}
  .pmh-mobile-menu .pmh-dropdown li:last-child {border-bottom:none;}
  .pmh-mobile-menu .pmh-dropdown a {padding:9px 0 9px 15px; font-size:15px; font-weight:300; color:#666; text-decoration:none; display:block;}
  .pmh-mobile-menu .pmh-dropdown a:hover {color:var(--color-pmh-blue);}

  /* Sanitárne steny – full-width pill button in mobile menu */
  .pmh-mobile-menu .pmh-pill {
    display: block;
    text-align: center;
    margin: 24px 0 0;
    padding: 18px 30px;
    font-size: 18px;
  }
}

@media (max-width:768px) {
  .pmh-logo img {height:32px;}
}

/* ===================================================================
   PRICE VISIBILITY GUARD — body.prices-off
   Set by header.php when pmh_prices_hidden() is true (EN/DE at launch).
   Hides every price-bearing element across product detail, the colour
   picker, the sticky bar and the configurator. Bridge-independent:
   prices stay hidden regardless of any future price-bridge setting.
   Uses !important so it overrides base rules no matter their specificity
   or stylesheet load order (product.css / configurator.css).
   =================================================================== */
/* [PMH 2026-06-29] Restored to our GENERIC, bulletproof rule: hide ANY element
   whose class contains "price" — plus the non-"price" VAT notes / total row.
   The previous curated list missed elements (e.g. .detail-price, the bez-DPH
   notes) so some prices stayed visible when prices were turned off. The
   catch-all selector cannot leak and needs no maintenance when new price
   elements are added. */
body.prices-off [class*="price"],
body.prices-off .product-colors-vat-note,
body.prices-off .detail-vat,
body.prices-off .cfg-summary-total-row,
body.prices-off .cfg-summary-vat-note,
body.prices-off .cfg-summary-vat-tag,
body.prices-off .psb-vat {
  display: none !important;
}
