/*
Theme Name: Polymaind
Theme URI: https://polymaind.hu
Author: POLYMAIND
Description: A Polymaind 2026-os weboldal egyedi témája a Design-terv alapján: főoldal, szolgáltatás-aloldalak, esettanulmányok, árkalkulátor, Tudástár (blog), kapcsolat és kilépési ablak. Elementor nélkül, tiszta kóddal.
Version: 2.2.20
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: polymaind
*/

:root{--pm-accent:#DAFD55}

/* --- A Design-terv stílusai --- */
body{margin:0;background:#F3F5EF;color:#242228;font-family:"DM Sans",ui-sans-serif,system-ui,sans-serif}
a{color:#193E2F}a:hover{color:#193E2F}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid #0B8FD0;outline-offset:3px}
h1,h2,h3{text-wrap:balance}
@keyframes pmFlInL{from{transform:translateX(-140%) rotate(-24deg);opacity:0}}@keyframes pmFlInR{from{transform:translateX(140%) rotate(24deg);opacity:0}}@keyframes pmBob{50%{translate:0 -8px}}
.pm-tile:hover .pm-cap{opacity:1}
@media (prefers-reduced-motion:reduce){[data-pm-fl]{animation:none!important}}
@media (prefers-reduced-motion: no-preference){.pm-draw{animation:pmdraw 1.1s cubic-bezier(.16,1,.3,1) .3s backwards}.pm-lift{transition:transform .2s cubic-bezier(.16,1,.3,1)}.pm-lift:hover{transform:translateY(-3px)}}
.pm-draw{stroke-dasharray:420;stroke-dashoffset:0}
@keyframes pmdraw{from{stroke-dashoffset:420}to{stroke-dashoffset:0}}
a:focus-visible{outline:3px solid #0B8FD0;outline-offset:3px}
a:focus-visible,summary:focus-visible{outline:3px solid #0B8FD0;outline-offset:3px}
summary{cursor:pointer}
a:focus-visible,button:focus-visible{outline:3px solid #0B8FD0;outline-offset:3px}
@media (prefers-reduced-motion: no-preference){.pm-lift{transition:transform .2s cubic-bezier(.16,1,.3,1)}.pm-lift:hover{transform:translateY(-3px)}}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid #0B8FD0;outline-offset:3px}
input[type=range]{accent-color:#242228;width:100%;height:28px;cursor:pointer}
.pm-rcpt{-webkit-mask:radial-gradient(circle 7px at 50% 100%,transparent 6.5px,#000 7px) 0 100%/18px 100% repeat-x;mask:radial-gradient(circle 7px at 50% 100%,transparent 6.5px,#000 7px) 0 100%/18px 100% repeat-x;filter:drop-shadow(0 18px 30px rgba(25,62,47,.16))}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #0B8FD0;outline-offset:3px}
input[type=checkbox],input[type=radio]{accent-color:#242228;width:18px;height:18px}
@media (prefers-reduced-motion: no-preference){
  .pm-pop{animation:pmpop .45s cubic-bezier(.16,1,.3,1) backwards}
  .pm-wave{animation:pmwave 2.4s ease-in-out .6s infinite;transform-origin:50% 90%}
}
@keyframes pmpop{from{transform:translateY(16px) scale(.97)}to{transform:none}}
@keyframes pmwave{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(3deg)}}
h1,h2{text-wrap:balance}
@media (prefers-reduced-motion: no-preference){
  .pm-draw{animation:pmdraw 1.1s cubic-bezier(.16,1,.3,1) .2s backwards}
  .pm-sticker{transition:transform .25s cubic-bezier(.16,1,.3,1)}
  .pm-sticker:hover{transform:rotate(0deg) scale(1.02)}
}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid #0B8FD0;outline-offset:3px}

/* --- Kiegészítések a WordPress-hez --- */
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
img,video{max-width:100%}
.pm-skip{position:absolute;left:-9999px;top:8px;z-index:10000;background:#fff;color:#193E2F;padding:10px 14px;border-radius:6px}
.pm-skip:focus{left:8px}
.pm-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}
.pm-site{overflow-x:clip}
body.pm-modal-open{overflow:hidden}

/* Űrlap: választható címkék */
.pm-chip{display:inline-flex;align-items:center;gap:8px;padding:10px 14px;min-height:44px;border:1.5px solid rgba(243,245,239,.35);font-weight:600;border-radius:6px 6px 16px 6px;cursor:pointer;transition:background .15s,border-color .15s,color .15s}
.pm-chip input{accent-color:#242228}
.pm-chip:has(input:checked){background:var(--pm-accent);border-color:var(--pm-accent);color:#193E2F}
.pm-chip--light{border-color:rgba(25,62,47,.25)}
.pm-chip--light:has(input:checked){background:#EEFEB8;border-color:#193E2F;color:inherit}
.pm-notice{margin:0;padding:12px 16px;border-radius:6px 6px 16px 6px;font-weight:600}
.pm-notice--ok{background:var(--pm-accent);color:#193E2F}
.pm-notice--err{background:#FCE5EF;color:#9E1B4F}

/* Szűrő- és fülgombok */
.pm-filter-btn{font:inherit;font-size:14px;font-weight:600;padding:10px 16px;min-height:44px;border:1.5px solid rgba(25,62,47,.3);background:transparent;color:#193E2F;border-radius:6px 6px 16px 6px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;gap:6px}
.pm-filter-btn[aria-pressed="true"],.pm-filter-btn[aria-selected="true"],.pm-filter-btn[aria-current="page"]{border-color:#193E2F;background:#242228;color:#F3F5EF;font-weight:700}
.pm-case[hidden]{display:none!important}

/* Kalkulátor */
.pm-seg{font:inherit;font-weight:600;font-size:15px;border:0;padding:10px 18px;min-height:44px;border-radius:6px 6px 16px 6px;background:transparent;color:#425650;cursor:pointer}
.pm-seg[aria-selected="true"]{font-weight:700;background:#242228;color:#F3F5EF}

/* Mobil menü: hamburger gomb + lenyíló panel */
.pm-burger{display:none}
@media (max-width:900px){
  .pm-burger{display:inline-flex;flex-direction:column;justify-content:center;gap:5px;width:48px;height:48px;padding:12px;border:1.5px solid rgba(243,245,239,.35);border-radius:8px 8px 18px 8px;background:transparent;cursor:pointer}
  .pm-burger span{display:block;height:2px;width:100%;background:#F3F5EF;border-radius:2px;transition:transform .2s,opacity .2s}
  .pm-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
  .pm-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
  .pm-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
  .pm-nav{display:none!important;width:100%;flex-direction:column;align-items:stretch!important;gap:0!important;padding:8px 0 4px;border-top:1px solid rgba(243,245,239,.14)}
  .pm-nav.is-open{display:flex!important}
  .pm-nav a{padding:14px 4px!important;font-size:18px;border-bottom:1px solid rgba(243,245,239,.1);box-shadow:none!important}
  .pm-nav a[aria-current="page"]:not(:last-child){color:var(--pm-accent)!important}
  .pm-nav a:last-child{color:#193E2F!important}
  .pm-nav a:last-child{margin:16px 0 0!important;border-bottom:0;text-align:center;padding:16px!important}
}
/* A lebegő képek kis kijelzőn eltakarnák a szöveget */
@media (max-width:1559px){[data-pm-fl]{display:none!important}}
/* Széles kijelzőn a lebegő képek a tartalom melletti szabad sávba kerülnek, teljesen láthatóan */
[data-pm-fl][style*="left: -"]{left:max(28px,calc(50% - 640px - 150px))!important}
[data-pm-fl][style*="right: -"]{right:max(28px,calc(50% - 640px - 150px))!important}

/* Tudástár-cikk tartalma (a Gutenberg-blokkokra is) */
.pm-article{font-size:18px;line-height:1.75;color:#193E2F}
.pm-article>*{margin:0 0 22px}
.pm-article h2{margin:38px 0 22px;font-family:'SUSE',sans-serif;font-weight:600;font-size:clamp(26px,2.6vw,34px);line-height:1.2;color:#242228;scroll-margin-top:24px}
.pm-article h3{font-family:'SUSE',sans-serif;font-weight:600;font-size:22px;line-height:1.25;color:#242228}
.pm-article ul,.pm-article ol{padding-left:22px}
.pm-article li+li{margin-top:8px}
.pm-article img{max-width:100%;height:auto;border-radius:8px 8px 28px 8px}
.pm-article table{width:100%;border-collapse:collapse;font-size:16px;line-height:1.5;font-variant-numeric:tabular-nums}
.pm-article caption{text-align:left;font-family:'JetBrains Mono',monospace;font-size:11px;letter-spacing:1.2px;color:#425650;padding-bottom:8px}
.pm-article thead tr{border-bottom:2px solid #193E2F}
.pm-article th{text-align:left;padding:10px 12px 10px 0}
.pm-article td{padding:12px 12px 12px 0;border-bottom:1px solid rgba(25,62,47,.14)}
.pm-article th:last-child,.pm-article td:last-child{text-align:right;padding-right:0}
.pm-article .wp-block-table{overflow-x:auto}
.pm-article blockquote{border-left:3px solid #193E2F;padding-left:18px;margin-left:0}
.pm-article details{border-bottom:1px solid rgba(25,62,47,.18);padding:16px 0;margin:0;font-size:17px}
.pm-article details summary{font-weight:700}
.pm-article details p{margin:10px 0 0;line-height:1.65}
.pm-article .pm-callout{background:#EEFEB8;border-radius:8px 8px 28px 8px;padding:24px 26px;font-size:16px;line-height:1.6}
.pm-article .pm-callout strong:first-child{display:block;font-family:'SUSE',sans-serif;font-size:20px;margin-bottom:8px}
.pm-article .pm-example{background:#FFFFFF;border:1px solid rgba(25,62,47,.14);border-radius:8px 8px 28px 8px;padding:22px 24px;font-size:16px;line-height:1.6}
.pm-article .pm-example::before{content:"példa";display:block;font-family:'Caveat Brush',cursive;font-size:23px;color:#5B2BE0;transform:rotate(-1.5deg);transform-origin:left;margin-bottom:6px}
.pm-article .pm-checklist{list-style:none;padding:0}
.pm-article .pm-checklist li{display:flex;gap:12px}
.pm-article .pm-checklist li::before{content:"✓";color:#193E2F;font-weight:700}
.pm-article .pm-cta{background:#242228;color:#F3F5EF;border-radius:10px 10px 36px 10px;padding:28px;display:flex;flex-wrap:wrap;gap:18px;align-items:center;justify-content:space-between}
.pm-article .pm-cta p{margin:0;font-family:'SUSE',sans-serif;font-weight:600;font-size:22px;line-height:1.25;max-width:22em}
.pm-article .pm-cta a{display:inline-flex;align-items:center;padding:14px 20px;min-height:48px;background:var(--pm-accent);color:#193E2F;font-weight:700;text-decoration:none;border-radius:8px 8px 22px 8px}
.pm-toc a{text-decoration:none;border-left:3px solid rgba(25,62,47,.15);padding-left:12px}
.pm-toc a.is-active{font-weight:700;border-left-color:#193E2F}

/* Egyszerű aloldal (jogi oldalak stb.) */
.pm-page-hero{position:relative;z-index:1;max-width:1280px;margin:0 auto;padding:24px clamp(16px,4vw,48px) 8px}
.pm-page-hero h1{margin:0;font-family:'SUSE','DM Sans',sans-serif;font-weight:600;font-size:clamp(32px,4vw,54px);line-height:1.1;letter-spacing:-.5px}
.pm-kicker{font-family:'JetBrains Mono',ui-monospace,monospace;font-size:12px;letter-spacing:2px;color:var(--pm-accent);display:block;margin-bottom:14px}
.pm-content{max-width:760px;margin:0 auto;padding:56px clamp(16px,4vw,48px) 72px}

/* Videó- és posztfal: mobilon is kéthasábos masonry */
@media (max-width:600px){
  .pm-wall{columns:2!important;column-gap:10px!important}
  .pm-wall figure{margin-bottom:10px!important;border-radius:6px 6px 18px 6px!important}
  .pm-wall figure>span{font-size:9px!important;top:6px!important;left:6px!important;padding:3px 5px!important}
  .pm-wall .pm-cap{opacity:1!important;padding:24px 8px 8px!important;font-size:12px!important}
  .pm-wall .pm-cap small{font-size:8px!important;margin-bottom:2px!important}
}

/* Esettanulmányok: mobilon az első 4 után „Mutasd a többit is” */
.pm-case.pm-more-hidden{display:none!important}
.pm-more-btn{align-self:stretch;font:inherit;font-size:16px;font-weight:700;padding:14px 20px;min-height:52px;border:1.5px solid #193E2F;background:transparent;color:#193E2F;border-radius:8px 8px 24px 8px;cursor:pointer}
.pm-more-btn:hover{background:#242228;color:#F3F5EF}

/* Hosszú szavak ne lógjanak ki a dobozokból (magyar elválasztással) */
.pm-site h1,.pm-site h2,.pm-site h3,.pm-site strong,.pm-site dd{overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}
/* Keskeny kijelzőn a kéthasábos dobozok egymás alá kerülnek */
@media (max-width:480px){
  .pm-site [style*="grid-template-columns: repeat(2, minmax(0, 1fr))"]{grid-template-columns:minmax(0,1fr)!important}
}

/* Mobil finomítások */
@media (max-width:600px){
  .pm-burst{right:0!important;width:104px!important;height:104px!important;top:4px!important}
  /* Kalkulátor: bal oldalt a leírás (és az összeg), jobb oldalt a kapcsoló / csúszka */
  .pm-crow{display:grid!important;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:4px 14px!important}
  .pm-cdesc{grid-column:1;grid-row:1}
  .pm-camt{grid-column:1;grid-row:2;text-align:left!important;font-size:12px!important;flex:none!important}
  .pm-cctrl{grid-column:2;grid-row:1 / span 2;flex:none!important;justify-content:flex-end;gap:8px!important}
  .pm-cctrl input[type=range]{width:116px}
  .pm-cctrl output{min-width:22px!important}
  .pm-cctrl [role=switch]{margin-left:0!important}
}
.pm-camt:empty{visibility:hidden}
@media (max-width:600px){.pm-camt:empty{display:none}}

/* Kerek avatarok ne nyomódjanak össze szűk helyen */
.pm-site img[style*="border-radius: 50%"],.pm-site span[style*="border-radius: 50%"]{flex-shrink:0}
.pm-site span[aria-hidden="true"][style="display: flex;"]{flex:none}

/* ---------- Kiemelt esettanulmány: karusszel ---------- */
.pm-feat .pm-stretch::after { content: ""; position: absolute; inset: 0; z-index: 1; border-radius: inherit; }
.pm-feat .pm-stretch:focus-visible { outline: none; }
.pm-feat:has(.pm-stretch:focus-visible) { outline: 3px solid #193E2F; outline-offset: 3px; }
.pm-car { position: relative; flex: 1; align-self: center; aspect-ratio: 16 / 10; overflow: hidden; overflow: clip; border-radius: 6px 6px 20px 6px; background: #DCE5D9; }
.pm-car-track { display: flex; height: 100%; transition: transform .7s cubic-bezier(.16,1,.3,1); }
.pm-car-slide { position: relative; flex: 0 0 100%; height: 100%; }
.pm-car-slide img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: contain; object-position: center; display: block; }
@media (min-width: 900px) { .pm-feat { grid-template-columns: minmax(0, 1.45fr) minmax(0, 1fr) !important; } .pm-feat-media { padding: 14px !important; } }
.pm-car-cap { position: absolute; left: 14px; bottom: 14px; font-family: 'JetBrains Mono', monospace; font-size: 12px; font-weight: 600; background: #242228; color: #F3F5EF; padding: 6px 10px; border-radius: 4px 4px 12px 4px; }
.pm-car-btn { position: absolute; top: 50%; transform: translateY(-50%); width: 44px; height: 44px; border: 0; border-radius: 50%; background: rgba(255,255,255,.92); color: #193E2F; font: 700 18px/1 'DM Sans', sans-serif; cursor: pointer; box-shadow: 0 6px 16px rgba(0,0,0,.18); opacity: 0; transition: opacity .2s, background .2s; }
.pm-car-prev { left: 12px; } .pm-car-next { right: 12px; }
.pm-car:hover .pm-car-btn, .pm-car-btn:focus-visible { opacity: 1; }
.pm-car-btn:hover { background: var(--pm-accent); }
.pm-car-btn:focus-visible, .pm-car-dots button:focus-visible { outline: 3px solid #193E2F; outline-offset: 2px; }
.pm-car-dots { position: absolute; right: 14px; bottom: 16px; display: flex; gap: 6px; }
.pm-car-dots button { width: 10px; height: 10px; padding: 0; border: 2px solid #FFFFFF; border-radius: 50%; background: rgba(36,34,40,.45); cursor: pointer; transition: width .3s, background .3s; }
.pm-car-dots button[aria-current="true"] { width: 26px; border-radius: 6px; background: var(--pm-accent); }
@media (hover: none) { .pm-car-btn { opacity: 1; width: 38px; height: 38px; } }
@media (prefers-reduced-motion: reduce) { .pm-car-track { transition: none; } }

/* ---------- Esettanulmány-aloldal szövegtörzse (szerkesztőből) ---------- */
.pm-cs-body { display: flex; flex-direction: column; gap: 16px; max-width: 40em; font-size: 18px; line-height: 1.65; min-width: 0; }
.pm-cs-body > * { margin: 0; }
.pm-cs-body h3 { margin: 16px 0 0; font-family: 'SUSE', sans-serif; font-weight: 600; font-size: 22px; line-height: 1.25; }
.pm-cs-body ul, .pm-cs-body ol { padding-left: 20px; display: flex; flex-direction: column; gap: 8px; }
.pm-cs-body figure { display: flex; flex-direction: column; gap: 10px; }
.pm-cs-body figure img { display: block; width: 100%; height: auto; border-radius: 8px 8px 28px 8px; border: 1px solid rgba(25,62,47,.14); }
.pm-cs-body figcaption { font-size: 14px; color: #425650; margin: 0; text-align: left; }
.pm-cs-body a { color: #193E2F; font-weight: 600; }
.pm-cs-body .pm-subcases a { font-weight: inherit; }

/* „Nekik dolgoztunk” linkek */
.pm-client { background-image: linear-gradient(var(--pm-accent), var(--pm-accent)); background-size: 0 40%; background-position: 0 88%; background-repeat: no-repeat; transition: background-size .25s ease; }
.pm-client:hover, .pm-client:focus-visible { background-size: 100% 40%; }

/* Archív esettanulmány megjegyzése */
.pm-archive-note { display: flex; gap: 14px; align-items: flex-start; background: #242228; color: #F3F5EF; padding: 16px 20px; border-radius: 8px 8px 24px 8px; max-width: 46em; font-size: 16px; line-height: 1.55; }
.pm-archive-note b { flex-shrink: 0; font-family: 'Anton', sans-serif; font-weight: 400; font-size: 14px; letter-spacing: .5px; background: var(--pm-accent); color: #193E2F; padding: 4px 9px; border-radius: 4px 4px 12px 4px; transform: rotate(-2deg); margin-top: 1px; }
.pm-video-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: 16px; }
.pm-video-grid > * { margin: 0; }
.pm-cs-body video { display: block; width: 100%; height: auto; border-radius: 8px 8px 28px 8px; background: #242228; }
.pm-video-grid video { aspect-ratio: 9 / 16; object-fit: cover; }

/* Masonry blokk az esettanulmányokban (csoport blokk, „pm-masonry” osztály) — a szakasz teljes szélességben */
.pm-cs-sec:has(.pm-masonry), .pm-cs-sec:has(.pm-video-grid) { grid-template-columns: 1fr !important; }
.pm-cs-sec:has(.pm-masonry) .pm-cs-body, .pm-cs-sec:has(.pm-video-grid) .pm-cs-body { max-width: none; }
.pm-cs-body .pm-masonry, .pm-cs-body .pm-video-grid { display: block !important; columns: 4 220px; column-gap: 16px; }
.pm-cs-body .pm-video-grid > *, .pm-cs-body .pm-masonry > * { break-inside: avoid; margin: 0 0 16px !important; display: flex; flex-direction: column; gap: 8px; }
.pm-cs-body .pm-masonry video { aspect-ratio: auto; object-fit: initial; }
.pm-cs-body .pm-masonry img, .pm-cs-body .pm-masonry video { width: 100%; height: auto; }
@media (max-width: 600px) { .pm-cs-body .pm-masonry, .pm-cs-body .pm-video-grid { columns: 2 140px; column-gap: 10px; } .pm-cs-body .pm-masonry > *, .pm-cs-body .pm-video-grid > * { margin-bottom: 10px !important; } }

/* Klasszikus témában a csoport blokk belső tárolót kap: a masonry azon fusson */
.pm-cs-body .pm-masonry:has(> .wp-block-group__inner-container), .pm-cs-body .pm-video-grid:has(> .wp-block-group__inner-container) { columns: auto !important; display: block !important; }
.pm-cs-body .pm-masonry > .wp-block-group__inner-container, .pm-cs-body .pm-video-grid > .wp-block-group__inner-container { display: block !important; columns: 4 220px; column-gap: 16px; margin: 0 !important; }
.pm-cs-body .wp-block-group__inner-container > * { break-inside: avoid; margin: 0 0 16px !important; display: flex; flex-direction: column; gap: 8px; }
@media (max-width: 600px) { .pm-cs-body .pm-masonry > .wp-block-group__inner-container, .pm-cs-body .pm-video-grid > .wp-block-group__inner-container { columns: 2 140px; column-gap: 10px; } }
.pm-cs-body .pm-video-grid video, .pm-cs-body .pm-masonry video { aspect-ratio: auto !important; object-fit: initial !important; }

/* Esettanulmány-szakaszok: keskeny cím-oszlop, a tartalom kitölti a paddingon belüli szélességet */
@media (min-width: 900px) {
  .pm-cs-sec { grid-template-columns: minmax(200px, 280px) minmax(0, 1fr) !important; gap: 24px 56px !important; }
}
.pm-cs-body { max-width: none; }
.pm-cs-body > p, .pm-cs-body > ul, .pm-cs-body > ol, .pm-cs-body > h3 { max-width: 46em; }
.pm-cs-body .pm-subcases { grid-template-columns: repeat(auto-fill, minmax(min(100%, 260px), 1fr)) !important; }

/* ---------- Jogi oldalak ---------- */
.pm-legal { font-size: 16px; line-height: 1.7; }
.pm-legal h2 { font-family: 'SUSE', sans-serif; font-size: 26px; margin: 40px 0 12px; }
.pm-legal h3 { font-family: 'SUSE', sans-serif; font-size: 20px; margin: 28px 0 8px; }
.pm-legal table { width: 100%; border-collapse: collapse; margin: 16px 0 24px; font-size: 14px; }
@media (max-width: 700px) { .pm-legal table { display: block; overflow-x: auto; } }
.pm-legal th, .pm-legal td { border: 1px solid rgba(25,62,47,.2); padding: 8px 10px; text-align: left; vertical-align: top; }
.pm-legal th, .pm-legal tr:first-child td { background: #EFEDE6; font-weight: 600; }
.pm-legal a { color: #193E2F; font-weight: 600; word-break: break-word; }

/* ---------- Sütisáv ---------- */
.pm-consent { position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 9999; display: flex; justify-content: flex-start; pointer-events: none; }
.pm-consent[hidden] { display: none; }
.pm-consent-in { pointer-events: auto; max-width: 460px; background: #242228; color: #F3F5EF; border-radius: 10px 10px 32px 10px; padding: 20px 22px; box-shadow: 0 24px 48px rgba(0,0,0,.35); font-family: 'DM Sans', sans-serif; font-size: 14px; line-height: 1.55; }
.pm-consent-t { margin: 0 0 6px; font-family: 'SUSE', sans-serif; font-weight: 700; font-size: 18px; }
.pm-consent-d { margin: 0 0 14px; color: #D8D6DD; }
.pm-consent-d a { color: var(--pm-accent); }
.pm-consent-opts { display: flex; flex-direction: column; gap: 8px; margin: 0 0 14px; }
.pm-consent-opts label { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
.pm-consent-opts input { margin-top: 3px; accent-color: var(--pm-accent); width: 16px; height: 16px; }
.pm-consent-btns { display: flex; flex-wrap: wrap; gap: 8px; }
.pm-c-btn { font: inherit; font-weight: 700; min-height: 42px; padding: 9px 14px; border-radius: 6px 6px 18px 6px; border: 1.5px solid rgba(243,245,239,.4); background: transparent; color: #F3F5EF; cursor: pointer; }
.pm-c-btn.pm-c-prim { background: var(--pm-accent); border-color: var(--pm-accent); color: #193E2F; }
.pm-c-btn.pm-c-link { border-color: transparent; text-decoration: underline; padding-left: 4px; padding-right: 4px; }
.pm-c-btn:focus-visible { outline: 3px solid var(--pm-accent); outline-offset: 2px; }
.pm-c-btn[hidden] { display: none; }
body:not(:has(#pm-consent)) [data-pm-consent-open] { display: none; }

/* Főoldal: összes esettanulmány gomb */
.pm-all-cases { display: inline-flex; align-items: center; min-height: 52px; padding: 14px 24px; box-sizing: border-box; background: #193E2F; color: #F3F5EF; font-weight: 700; text-decoration: none; border-radius: 8px 8px 24px 8px; }
.pm-all-cases:hover, .pm-all-cases:focus-visible { background: var(--pm-accent); color: #193E2F; }

/* Kalkulátor-űrlap (modális) */
.pm-modal { position: fixed; inset: 0; z-index: 9998; background: rgba(20,18,24,.62); display: flex; align-items: center; justify-content: center; padding: 16px; box-sizing: border-box; }
.pm-modal[hidden] { display: none; }
.pm-modal-box { position: relative; width: 100%; max-width: 560px; max-height: calc(100vh - 32px); overflow: auto; background: #F3F5EF; color: #242228; border-radius: 12px 12px 40px 12px; padding: clamp(22px, 4vw, 36px); box-shadow: 0 30px 60px rgba(0,0,0,.35); box-sizing: border-box; }
.pm-modal-x { position: absolute; top: 10px; right: 12px; width: 40px; height: 40px; border: 0; background: transparent; font-size: 28px; line-height: 1; cursor: pointer; color: #193E2F; }
.pm-modal-t { margin: 0 0 6px; font-family: 'SUSE', sans-serif; font-weight: 700; font-size: 26px; }
.pm-modal-d { margin: 0 0 18px; color: #3A4A45; font-size: 15px; line-height: 1.55; }
.pm-modal-form { display: flex; flex-direction: column; gap: 12px; }
.pm-modal-form label { display: flex; flex-direction: column; gap: 6px; font-weight: 600; font-size: 14px; }
.pm-modal-form label span { font-weight: 400; color: #425650; }
.pm-modal-form input[type=text], .pm-modal-form input[type=email], .pm-modal-form input[type=tel], .pm-modal-form textarea { font: inherit; font-weight: 400; font-size: 15px; padding: 11px 12px; border: 1.5px solid rgba(25,62,47,.3); border-radius: 6px; background: #FFFFFF; color: #242228; }
.pm-modal-form textarea { font-family: 'JetBrains Mono', monospace; font-size: 13px; line-height: 1.5; resize: vertical; }
.pm-modal-form input:focus-visible, .pm-modal-form textarea:focus-visible { outline: 3px solid var(--pm-accent); outline-offset: 1px; border-color: #193E2F; }
.pm-modal-check { flex-direction: row !important; align-items: flex-start; gap: 10px !important; font-weight: 400 !important; }
.pm-modal-check input { margin-top: 3px; }
.pm-modal-send { align-self: flex-start; font: inherit; font-weight: 700; min-height: 50px; padding: 13px 22px; border: 0; border-radius: 8px 8px 22px 8px; background: var(--pm-accent); color: #193E2F; cursor: pointer; }
.pm-modal-send:disabled { opacity: .6; cursor: wait; }
.pm-modal-err { margin: 0; color: #B3261E; font-size: 14px; }
@media (max-width: 900px) { .pm-apps4 { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }

/* ---------- Saját termékeink ---------- */
.pm-prods { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 340px), 1fr)); gap: 24px; }
.pm-prod { text-decoration: none; color: inherit; background: #FFFFFF; border: 1px solid rgba(25,62,47,.14); border-radius: 12px 12px 40px 12px; overflow: hidden; display: flex; flex-direction: column; }
.pm-prod-first { grid-column: 1 / -1; display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); }
.pm-prod-img { display: block; background: #E4EBE2; }
.pm-prod-img img { display: block; width: 100%; height: 100%; aspect-ratio: 16 / 10; object-fit: cover; object-position: top; }
.pm-prod-body { padding: clamp(22px, 3vw, 36px); display: flex; flex-direction: column; gap: 12px; }
.pm-prod-eb { font-family: 'JetBrains Mono', monospace; font-size: 11px; letter-spacing: 1.2px; color: #075E8A; font-weight: 600; }
.pm-prod-t { font-family: 'SUSE', sans-serif; font-weight: 700; font-size: clamp(24px, 2.4vw, 34px); line-height: 1.1; }
.pm-prod-d { font-size: 16px; line-height: 1.6; color: #3A4A45; flex-grow: 1; }
.pm-prod-go { font-weight: 700; color: #193E2F; }
@media (max-width: 800px) { .pm-prod-first { grid-template-columns: 1fr; } }
.pm-prod-hero { max-width: 1280px; margin: 0 auto; padding: clamp(16px, 3vw, 40px) clamp(16px, 4vw, 48px) 0; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 40px; align-items: center; }
@media (max-width: 900px) { .pm-prod-hero { grid-template-columns: 1fr; } }
.pm-btn-acc { display: inline-flex; align-items: center; min-height: 52px; padding: 14px 22px; box-sizing: border-box; background: var(--pm-accent); color: #193E2F; font-weight: 700; text-decoration: none; border-radius: 8px 8px 24px 8px; }
.pm-btn-ghost { display: inline-flex; align-items: center; min-height: 52px; padding: 14px 22px; box-sizing: border-box; border: 2px solid rgba(243,245,239,.5); color: #F3F5EF; font-weight: 700; text-decoration: none; border-radius: 8px 8px 24px 8px; }
.pm-btn-ghost:hover { border-color: var(--pm-accent); color: var(--pm-accent); }
@media (min-width: 900px) { .pm-final-cta { grid-column: span 2; } }

/* Számozott lépések (esettanulmány) */
.pm-cs-body ol.pm-steps{list-style:none;counter-reset:pmstep;padding:0;margin:0 0 1.2em;display:flex;flex-direction:column;gap:12px}
.pm-cs-body ol.pm-steps>li{counter-increment:pmstep;position:relative;padding:14px 16px 14px 60px;background:#fff;border:1px solid rgba(25,62,47,.14);border-radius:8px 8px 22px 8px;line-height:1.55}
.pm-cs-body ol.pm-steps>li::before{content:counter(pmstep);position:absolute;left:14px;top:12px;width:32px;height:32px;border-radius:50%;background:#193E2F;color:var(--pm-accent);font-weight:700;display:flex;align-items:center;justify-content:center;font-size:15px}

/* Termékek: alattuk két oszlop, egyforma képarány, elválasztás nélküli cím */
.pm-prods { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (max-width: 760px) { .pm-prods { grid-template-columns: 1fr; } .pm-prod-first { grid-template-columns: 1fr; } }
.pm-prod:not(.pm-prod-first) .pm-prod-img img { height: auto; }
.pm-prod-t { hyphens: manual; -webkit-hyphens: manual; }

/* Saját termékeink: termékenként nagy kiemelés + 3 cikk alatta */
.pm-prods { display: flex; flex-direction: column; gap: clamp(48px, 6vw, 80px); grid-template-columns: none; }
.pm-prod-group { display: flex; flex-direction: column; gap: 20px; }
.pm-prod-posts { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
@media (max-width: 900px) { .pm-prod-posts { grid-template-columns: 1fr; } }
.pm-prod-soon { border: 1px dashed rgba(25,62,47,.3); border-radius: 10px 10px 28px 10px; padding: 24px; display: flex; flex-direction: column; gap: 10px; background: rgba(255,255,255,.5); }
.pm-prod-soon h3 { margin: 0; font-family: 'SUSE', sans-serif; font-weight: 600; font-size: 22px; line-height: 1.2; color: #425650; flex-grow: 1; }
.pm-prod-soon-l { font-family: 'JetBrains Mono', monospace; font-size: 11px; font-weight: 600; letter-spacing: 1.2px; color: #5B2BE0; }
.pm-prod-soon-a { font-size: 13px; color: #6B7A74; }

/* DEMÓ ELÉRHETŐ címke a kártyákon */
.pm-demo-badge { position: absolute; top: 12px; left: 12px; z-index: 2; font-family: 'Anton', sans-serif; font-size: 14px; letter-spacing: .5px; background: #1F5FD6; color: #FFFFFF; padding: 5px 10px; border-radius: 4px 4px 12px 4px; transform: rotate(-2deg); box-shadow: 0 6px 14px rgba(31,95,214,.28); }
.pm-subcases .pm-demo-badge { top: -10px; left: auto; right: 14px; }
/* Linkek a sötét archív-megjegyzésben */
.pm-archive-note a { color: var(--pm-accent); text-decoration: underline; text-underline-offset: 3px; font-weight: 700; }
.pm-archive-note a:hover { color: #FFFFFF; }

/* 2.2.9 – saját termékek jelölése és kereszthivatkozások */
.pm-prod-badge { display: inline-block; font-family: 'Anton', sans-serif; font-size: 12px; letter-spacing: .5px; color: #FFFFFF; padding: 3px 8px; border-radius: 3px 3px 10px 3px; transform: rotate(-2deg); line-height: 1.3; }
.pm-prod-badge--head { font-size: 14px; padding: 4px 10px; }
.pm-xl-box { margin: 40px 0 0; padding: 24px 26px; background: #FFFFFF; border: 1px solid rgba(25,62,47,.14); border-left: 6px solid var(--pm-xl, #5B2BE0); border-radius: 10px 10px 32px 10px; }
.pm-xl-box + .pm-xl-box { margin-top: 16px; }
.pm-xl-kicker { margin: 0 0 6px; font-family: 'JetBrains Mono', monospace; font-size: 12px; font-weight: 600; letter-spacing: .5px; color: var(--pm-xl, #5B2BE0); }
.pm-xl-title { margin: 0 0 14px; font-family: 'SUSE', sans-serif; font-weight: 600; font-size: 22px; line-height: 1.25; color: #242228; }
.pm-xl-btns { display: flex; flex-wrap: wrap; gap: 10px; }
.pm-xl-btn { display: inline-flex; align-items: center; min-height: 44px; padding: 10px 16px; background: #242228; color: #F3F5EF !important; font-weight: 700; text-decoration: none !important; border-radius: 6px 6px 16px 6px; }
.pm-xl-btn--ghost { background: transparent; color: #242228 !important; border: 1.5px solid #242228; }
.pm-xl-links, .pm-xl-grid { display: grid; gap: 10px; }
.pm-xl-grid { grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 16px; }
.pm-xl-link { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; padding: 14px 16px; background: #F3F5EF; border-radius: 8px 8px 20px 8px; color: #242228 !important; text-decoration: none !important; font-weight: 600; line-height: 1.35; }
.pm-xl-grid .pm-xl-link { background: #FFFFFF; border: 1px solid rgba(25,62,47,.14); padding: 22px; font-family: 'SUSE', sans-serif; font-size: 19px; min-height: 110px; }
.pm-xl-link:hover { background: #EEFEB8; }

/* 2.2.10 – cikk-táblázat: belső térköz, kártyás keret, a WP-blokk fekete vonalai nélkül */
.pm-article .wp-block-table{margin:24px 0}
.pm-article table{background:#FFFFFF;border:1px solid rgba(25,62,47,.14);border-radius:10px 10px 28px 10px;border-collapse:separate;border-spacing:0;overflow:hidden}
.pm-article .wp-block-table table, .pm-article .wp-block-table th, .pm-article .wp-block-table td{border-left:0;border-right:0;border-top:0}
.pm-article th,.pm-article td,.pm-article th:last-child,.pm-article td:last-child{padding:13px 18px}
.pm-article thead th{background:#F3F5EF;border-bottom:2px solid #193E2F}
.pm-article tbody tr:last-child td{border-bottom:0}
.pm-article tbody tr:nth-child(even) td{background:#FAFBF8}
.pm-article .wp-block-table figcaption,.pm-article caption{padding:0 2px 10px}
@media (max-width:600px){.pm-article th,.pm-article td,.pm-article th:last-child,.pm-article td:last-child{padding:11px 12px}}
.pm-xl-box + h2, .pm-xl-box + .pm-xl-box + h2 { margin-top: 48px; }
.pm-xl-box:last-of-type { margin-bottom: 8px; }
.pm-article p:empty{display:none}

/* 2.2.13 – pipás lista: a félkövér kezdés és a szöveg egy folyó bekezdés legyen (nem flex-oszlopok) */
.pm-article .pm-checklist li{display:block;position:relative;padding-left:30px}
.pm-article .pm-checklist li::before{position:absolute;left:4px;top:0}
.pm-article .pm-checklist li + li{margin-top:12px}

/* 2.2.18: kiemelt blogcikk – a borító teljes egészében látszik (1200×630), nem vágódik le */
@media (min-width: 900px) { .pm-blogfeat { grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) !important; } }

/* 2.2.20: kalkulátor-összeállítás csak olvasható */
.pm-calc-sum { display: flex; flex-direction: column; gap: 6px; font-weight: 600; font-size: 14px; }
.pm-calc-sum-box { font-family: 'JetBrains Mono', monospace; font-weight: 400; font-size: 13px; line-height: 1.5; white-space: pre-wrap; max-height: 190px; overflow: auto; padding: 11px 12px; border-radius: 6px; background: #F3F5EF; border: 1px dashed rgba(25,62,47,.3); color: #242228; }
