/*
Theme Name: IPTV Hygge
Theme URI: https://iptvhygge.com/
Author: IPTV Hygge
Author URI: https://iptvhygge.com/
Description: Skræddersyet, hurtigt og mobil-først WordPress-tema til IPTV Hygge — en hyggelig, nordisk streamingoplevelse for danske husstande. Designfamilie: Local Family Entertainment / Hygge Nordic Evening. Ikke en klon af andre markeder.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: iptv-hygge
Tags: custom-theme, mobile-first, accessibility-ready, translation-ready, iptv, streaming
*/

/* =========================================================
   IPTV HYGGE — DESIGN SYSTEM
   Concept: "Den hyggelige aften" — varm stearinlys-glød
   mod dyb koksgrå-navy, linnedfarvet baggrund, bløde kort.
   CSS-prefix: hyg-
   ========================================================= */

/* ---------- 1. Design tokens ---------- */
:root{
  /* Warm "linen" backgrounds */
  --hyg-bg:#FBF6EF;
  --hyg-bg-soft:#F3E9DC;
  --hyg-surface:#FFFFFF;
  --hyg-surface-2:#FFFDFA;

  /* Cozy evening (dark) sections */
  --hyg-evening:#141A26;
  --hyg-evening-2:#1B2333;
  --hyg-evening-soft:#232C3C;

  /* Ink / text */
  --hyg-heading:#1B2333;
  --hyg-text:#45474F;
  --hyg-muted:#74757E;
  --hyg-on-dark:#F4EEE4;
  --hyg-on-dark-muted:#B9BDC7;

  /* Brand */
  --hyg-red:#D72A35;        /* primær CTA — varm brand-rød */
  --hyg-red-dark:#B81F2A;
  --hyg-amber:#E0913C;      /* sekundær accent — stearinlys-amber */
  --hyg-amber-soft:#F6E3CC;
  --hyg-gold:#E9B949;       /* fremhævning */
  --hyg-success:#2E7D5B;    /* skovgrøn */
  --hyg-success-soft:#E2F0E9;
  --hyg-whatsapp:#25D366;

  /* Lines & shadows */
  --hyg-border:#E7DCCB;
  --hyg-border-soft:#F0E7D9;
  --hyg-shadow-sm:0 2px 8px rgba(58,40,20,.06);
  --hyg-shadow:0 12px 30px -12px rgba(58,40,20,.18);
  --hyg-shadow-lg:0 28px 60px -24px rgba(58,40,20,.28);
  --hyg-glow:0 0 0 1px rgba(224,145,60,.18), 0 18px 48px -16px rgba(224,145,60,.45);

  /* Radius */
  --hyg-r-sm:10px;
  --hyg-r:16px;
  --hyg-r-lg:22px;
  --hyg-r-xl:30px;
  --hyg-pill:999px;

  /* Layout */
  --hyg-container:1180px;
  --hyg-container-narrow:760px;
  --hyg-gap:clamp(1rem,3vw,2rem);
  --hyg-section-y:clamp(3.5rem,7vw,6.5rem);

  /* Type */
  --hyg-font-head:"Nunito Sans",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;
  --hyg-font-body:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;

  --hyg-header-h:74px;
}

/* ---------- 2. Reset / base ---------- */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{
  margin:0;
  font-family:var(--hyg-font-body);
  font-size:17px;
  line-height:1.7;
  color:var(--hyg-text);
  background:var(--hyg-bg);
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
  overflow-x:hidden;
}
img{max-width:100%;height:auto;display:block}
svg{display:block}
a{color:var(--hyg-red);text-decoration:none;transition:color .2s ease}
a:hover{color:var(--hyg-red-dark)}
ul,ol{margin:0;padding:0}
button{font-family:inherit;cursor:pointer}
h1,h2,h3,h4,h5,h6{
  font-family:var(--hyg-font-head);
  color:var(--hyg-heading);
  line-height:1.18;
  margin:0 0 .5em;
  font-weight:800;
  letter-spacing:-.01em;
}
h1{font-size:clamp(2.1rem,5.2vw,3.5rem)}
h2{font-size:clamp(1.7rem,3.6vw,2.5rem)}
h3{font-size:clamp(1.25rem,2.4vw,1.6rem)}
h4{font-size:1.15rem}
p{margin:0 0 1.1em}
p:last-child{margin-bottom:0}
strong{color:var(--hyg-heading);font-weight:700}

/* ---------- 3. Accessibility ---------- */
.hyg-skip-link{
  position:absolute;left:-9999px;top:0;z-index:1000;
  background:var(--hyg-heading);color:#fff;padding:.8rem 1.2rem;border-radius:0 0 var(--hyg-r-sm) 0;
  font-weight:700;
}
.hyg-skip-link:focus{left:0;color:#fff}
:focus-visible{outline:3px solid var(--hyg-amber);outline-offset:2px;border-radius:4px}
.hyg-visually-hidden{
  position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;
  overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0;
}

/* ---------- 4. Layout ---------- */
.hyg-container{width:100%;max-width:var(--hyg-container);margin-inline:auto;padding-inline:clamp(1.1rem,4vw,2rem)}
.hyg-narrow{max-width:var(--hyg-container-narrow);margin-inline:auto}
.hyg-section{padding-block:var(--hyg-section-y)}
.hyg-section--soft{background:var(--hyg-bg-soft)}
.hyg-section--evening{background:var(--hyg-evening);color:var(--hyg-on-dark)}
.hyg-section--evening h1,.hyg-section--evening h2,.hyg-section--evening h3,.hyg-section--evening h4{color:#fff}
.hyg-section--evening p{color:var(--hyg-on-dark-muted)}
.hyg-grid{display:grid;gap:var(--hyg-gap)}
@media(min-width:720px){
  .hyg-grid--2{grid-template-columns:repeat(2,1fr)}
  .hyg-grid--3{grid-template-columns:repeat(3,1fr)}
  .hyg-grid--4{grid-template-columns:repeat(2,1fr)}
}
@media(min-width:1000px){
  .hyg-grid--4{grid-template-columns:repeat(4,1fr)}
}

/* ---------- 5. Section heading block ---------- */
.hyg-eyebrow{
  display:inline-flex;align-items:center;gap:.5rem;
  font-family:var(--hyg-font-head);font-weight:800;font-size:.82rem;
  text-transform:uppercase;letter-spacing:.12em;
  color:var(--hyg-red);
  background:var(--hyg-amber-soft);
  padding:.4rem .85rem;border-radius:var(--hyg-pill);
}
.hyg-section--evening .hyg-eyebrow{background:rgba(224,145,60,.16);color:var(--hyg-gold)}
.hyg-head{max-width:680px;margin-bottom:clamp(2rem,4vw,3rem)}
.hyg-head--center{margin-inline:auto;text-align:center}
.hyg-head p{font-size:1.08rem;color:var(--hyg-muted)}
.hyg-section--evening .hyg-head p{color:var(--hyg-on-dark-muted)}

/* ---------- 6. Buttons ---------- */
.hyg-btn{
  display:inline-flex;align-items:center;justify-content:center;gap:.55rem;
  font-family:var(--hyg-font-head);font-weight:800;font-size:1rem;
  padding:.9rem 1.6rem;border-radius:var(--hyg-pill);border:2px solid transparent;
  cursor:pointer;transition:transform .15s ease,box-shadow .2s ease,background .2s ease,color .2s ease;
  line-height:1;text-align:center;
}
.hyg-btn:hover{transform:translateY(-2px)}
.hyg-btn--primary{background:var(--hyg-red);color:#fff;box-shadow:0 10px 24px -10px rgba(215,42,53,.7)}
.hyg-btn--primary:hover{background:var(--hyg-red-dark);color:#fff}
.hyg-btn--amber{background:var(--hyg-amber);color:#241403}
.hyg-btn--amber:hover{background:#cf8230;color:#241403}
.hyg-btn--ghost{background:transparent;border-color:var(--hyg-border);color:var(--hyg-heading)}
.hyg-btn--ghost:hover{border-color:var(--hyg-heading);color:var(--hyg-heading)}
.hyg-section--evening .hyg-btn--ghost{border-color:rgba(255,255,255,.28);color:#fff}
.hyg-section--evening .hyg-btn--ghost:hover{border-color:#fff;color:#fff}
.hyg-btn--wa{background:var(--hyg-whatsapp);color:#06381f}
.hyg-btn--wa:hover{background:#1ebe5a;color:#06381f}
.hyg-btn--lg{padding:1.05rem 2rem;font-size:1.08rem}
.hyg-btn--block{display:flex;width:100%}

/* ---------- 7. Header / nav ---------- */
.hyg-header{
  position:sticky;top:0;z-index:200;
  background:rgba(251,246,239,.86);
  backdrop-filter:saturate(140%) blur(10px);
  border-bottom:1px solid var(--hyg-border-soft);
}
.hyg-header__bar{display:flex;align-items:center;gap:1.5rem;min-height:var(--hyg-header-h)}
.hyg-logo{display:flex;align-items:center;flex:0 0 auto}
.hyg-logo img{height:42px;width:auto}
.hyg-logo__text{font-family:var(--hyg-font-head);font-weight:900;font-size:1.3rem;color:var(--hyg-heading);letter-spacing:-.02em}
.hyg-logo__text span{color:var(--hyg-red)}
.hyg-nav{margin-left:auto}
.hyg-nav ul{display:flex;align-items:center;gap:.3rem;list-style:none}
.hyg-nav a{
  font-family:var(--hyg-font-head);font-weight:700;font-size:.97rem;
  color:var(--hyg-heading);padding:.55rem .8rem;border-radius:var(--hyg-r-sm);
}
.hyg-nav a:hover,.hyg-nav .current-menu-item>a{background:var(--hyg-amber-soft);color:var(--hyg-red)}
.hyg-header__cta{display:flex;align-items:center;gap:.6rem;flex:0 0 auto}
.hyg-header__cta .hyg-btn{padding:.6rem 1.1rem;font-size:.95rem}
.hyg-burger{
  display:none;flex-direction:column;gap:5px;width:46px;height:46px;
  align-items:center;justify-content:center;background:var(--hyg-surface);
  border:1px solid var(--hyg-border);border-radius:var(--hyg-r-sm);
}
.hyg-burger span{display:block;width:22px;height:2px;background:var(--hyg-heading);border-radius:2px;transition:transform .25s ease,opacity .25s ease}
.hyg-burger[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hyg-burger[aria-expanded="true"] span:nth-child(2){opacity:0}
.hyg-burger[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

@media(max-width:1000px){
  .hyg-burger{display:flex}
  .hyg-nav{
    position:fixed;inset:var(--hyg-header-h) 0 0 0;margin:0;
    background:var(--hyg-bg);padding:1.2rem clamp(1.1rem,4vw,2rem) 2.5rem;
    transform:translateX(100%);transition:transform .28s ease;
    overflow-y:auto;z-index:190;
  }
  .hyg-nav.is-open{transform:translateX(0)}
  .hyg-nav ul{flex-direction:column;align-items:stretch;gap:.2rem}
  .hyg-nav a{display:block;padding:.95rem 1rem;font-size:1.1rem;border-bottom:1px solid var(--hyg-border-soft);border-radius:0}
  .hyg-header__cta .hyg-btn--ghost{display:none}
}

/* ---------- 8. Hero (split) ---------- */
.hyg-hero{position:relative;padding-block:clamp(2.5rem,5vw,4.5rem) var(--hyg-section-y)}
.hyg-hero__grid{display:grid;gap:clamp(2rem,4vw,3.5rem);align-items:center}
@media(min-width:920px){.hyg-hero__grid{grid-template-columns:1.05fr .95fr}}
.hyg-hero h1{margin-bottom:.5em}
.hyg-hero__lead{font-size:1.18rem;color:var(--hyg-muted);max-width:46ch}
.hyg-hero__cta{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.6rem}
.hyg-hero__trust{display:flex;flex-wrap:wrap;gap:1.3rem;margin-top:1.8rem;list-style:none}
.hyg-hero__trust li{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.95rem;color:var(--hyg-heading)}
.hyg-hero__trust svg{color:var(--hyg-success);flex:0 0 auto}
.hyg-hero__media{position:relative}
.hyg-hero__media img{
  width:100%;border-radius:var(--hyg-r-xl);box-shadow:var(--hyg-shadow-lg);
  border:1px solid var(--hyg-border-soft);
}
.hyg-hero__glow{
  position:absolute;inset:auto -8% -10% -8%;height:60%;z-index:-1;
  background:radial-gradient(60% 80% at 50% 50%,rgba(224,145,60,.45),transparent 70%);
  filter:blur(8px);
}
.hyg-hero__badge{
  position:absolute;left:-12px;bottom:24px;background:var(--hyg-surface);
  border:1px solid var(--hyg-border);border-radius:var(--hyg-r);padding:.8rem 1rem;
  box-shadow:var(--hyg-shadow);display:flex;align-items:center;gap:.7rem;max-width:230px;
}
.hyg-hero__badge strong{display:block;font-family:var(--hyg-font-head);font-size:1.2rem;color:var(--hyg-heading)}
.hyg-hero__badge span{font-size:.82rem;color:var(--hyg-muted)}
.hyg-hero__badge .hyg-icon-circle{background:var(--hyg-success-soft);color:var(--hyg-success)}

.hyg-icon-circle{
  width:44px;height:44px;border-radius:50%;display:grid;place-items:center;flex:0 0 auto;
  background:var(--hyg-amber-soft);color:var(--hyg-red);
}

/* ---------- 9. Stats strip ---------- */
.hyg-stats{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}
@media(min-width:760px){.hyg-stats{grid-template-columns:repeat(4,1fr)}}
.hyg-stat{
  background:var(--hyg-surface);border:1px solid var(--hyg-border-soft);
  border-radius:var(--hyg-r);padding:1.4rem 1.2rem;text-align:center;box-shadow:var(--hyg-shadow-sm);
}
.hyg-stat__num{font-family:var(--hyg-font-head);font-weight:900;font-size:clamp(1.7rem,3vw,2.3rem);color:var(--hyg-red);line-height:1}
.hyg-stat__label{font-size:.92rem;color:var(--hyg-muted);margin-top:.35rem}
.hyg-section--evening .hyg-stat{background:var(--hyg-evening-soft);border-color:rgba(255,255,255,.06)}
.hyg-section--evening .hyg-stat__num{color:var(--hyg-gold)}

/* ---------- 10. Cards ---------- */
.hyg-card{
  background:var(--hyg-surface);border:1px solid var(--hyg-border-soft);
  border-radius:var(--hyg-r-lg);padding:1.7rem;box-shadow:var(--hyg-shadow-sm);
  transition:transform .2s ease,box-shadow .2s ease;height:100%;
}
.hyg-card:hover{transform:translateY(-4px);box-shadow:var(--hyg-shadow)}
.hyg-card h3{margin-bottom:.4em}
.hyg-card p{color:var(--hyg-muted);font-size:.98rem}
.hyg-card__icon{margin-bottom:1rem}
.hyg-card__icon .hyg-icon-circle{width:52px;height:52px}

/* feature / who-for list */
.hyg-checklist{list-style:none;display:grid;gap:.8rem}
.hyg-checklist li{display:flex;gap:.7rem;align-items:flex-start}
.hyg-checklist svg{color:var(--hyg-success);flex:0 0 auto;margin-top:3px}

/* ---------- 11. Content tabs ---------- */
.hyg-tabs__nav{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.6rem}
.hyg-tab-btn{
  font-family:var(--hyg-font-head);font-weight:800;font-size:1rem;
  padding:.7rem 1.3rem;border-radius:var(--hyg-pill);border:1px solid var(--hyg-border);
  background:var(--hyg-surface);color:var(--hyg-heading);
}
.hyg-tab-btn[aria-selected="true"]{background:var(--hyg-heading);color:#fff;border-color:var(--hyg-heading)}
.hyg-tab-panel[hidden]{display:none}
.hyg-pillgrid{display:flex;flex-wrap:wrap;gap:.6rem}
.hyg-pill{
  background:var(--hyg-surface);border:1px solid var(--hyg-border);border-radius:var(--hyg-pill);
  padding:.5rem 1rem;font-weight:600;font-size:.95rem;color:var(--hyg-heading);
}

/* ---------- 12. Steps ---------- */
.hyg-steps{counter-reset:step;display:grid;gap:1.2rem}
@media(min-width:760px){.hyg-steps{grid-template-columns:repeat(3,1fr)}}
.hyg-step{position:relative;background:var(--hyg-surface);border:1px solid var(--hyg-border-soft);border-radius:var(--hyg-r-lg);padding:1.7rem 1.5rem 1.5rem}
.hyg-step::before{
  counter-increment:step;content:counter(step);
  display:grid;place-items:center;width:46px;height:46px;border-radius:50%;
  background:var(--hyg-red);color:#fff;font-family:var(--hyg-font-head);font-weight:900;font-size:1.2rem;margin-bottom:1rem;
}
.hyg-step h3{font-size:1.2rem}

/* ---------- 13. Pricing ---------- */
.hyg-pricing{display:grid;gap:1.2rem}
@media(min-width:640px){.hyg-pricing{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1040px){.hyg-pricing{grid-template-columns:repeat(4,1fr)}}
.hyg-plan{
  position:relative;background:var(--hyg-surface);border:1px solid var(--hyg-border);
  border-radius:var(--hyg-r-lg);padding:1.8rem 1.5rem;display:flex;flex-direction:column;
  box-shadow:var(--hyg-shadow-sm);transition:transform .2s ease,box-shadow .2s ease;
}
.hyg-plan:hover{transform:translateY(-4px);box-shadow:var(--hyg-shadow)}
.hyg-plan--featured{border-color:var(--hyg-amber);box-shadow:var(--hyg-glow);transform:translateY(-6px)}
.hyg-plan__tag{
  position:absolute;top:-13px;left:50%;transform:translateX(-50%);
  background:var(--hyg-amber);color:#241403;font-family:var(--hyg-font-head);font-weight:800;
  font-size:.78rem;text-transform:uppercase;letter-spacing:.06em;padding:.35rem .9rem;border-radius:var(--hyg-pill);white-space:nowrap;
}
.hyg-plan__name{font-family:var(--hyg-font-head);font-weight:800;font-size:1.25rem;color:var(--hyg-heading)}
.hyg-plan__price{font-family:var(--hyg-font-head);font-weight:900;font-size:2.5rem;color:var(--hyg-heading);line-height:1;margin:.6rem 0 .15rem}
.hyg-plan__price span{font-size:1rem;font-weight:700;color:var(--hyg-muted)}
.hyg-plan__per{font-size:.92rem;color:var(--hyg-muted);margin-bottom:1.1rem}
.hyg-plan__list{list-style:none;display:grid;gap:.65rem;margin:0 0 1.4rem;font-size:.96rem}
.hyg-plan__list li{display:flex;gap:.55rem;align-items:flex-start}
.hyg-plan__list svg{color:var(--hyg-success);flex:0 0 auto;margin-top:3px}
.hyg-plan .hyg-btn{margin-top:auto}

/* ---------- 14. Guarantee / payment band ---------- */
.hyg-band{display:grid;gap:var(--hyg-gap);align-items:center}
@media(min-width:880px){.hyg-band{grid-template-columns:1.1fr .9fr}}
.hyg-paylogos{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center}
.hyg-paychip{background:var(--hyg-surface);border:1px solid var(--hyg-border);border-radius:var(--hyg-r-sm);padding:.5rem .9rem;font-weight:700;font-size:.9rem;color:var(--hyg-heading)}

/* ---------- 15. Support timeline ---------- */
.hyg-timeline{display:grid;gap:1rem;position:relative;list-style:none}
.hyg-timeline li{display:flex;gap:1rem;align-items:flex-start;background:var(--hyg-surface);border:1px solid var(--hyg-border-soft);border-radius:var(--hyg-r);padding:1.1rem 1.3rem}
.hyg-timeline__time{font-family:var(--hyg-font-head);font-weight:800;color:var(--hyg-red);flex:0 0 auto;min-width:64px}

/* ---------- 16. Scenario cards (i stedet for fake anmeldelser) ---------- */
.hyg-scenario{background:var(--hyg-surface);border:1px solid var(--hyg-border-soft);border-radius:var(--hyg-r-lg);padding:1.6rem;box-shadow:var(--hyg-shadow-sm)}
.hyg-scenario__role{display:flex;align-items:center;gap:.7rem;margin-bottom:.9rem}
.hyg-scenario__role b{font-family:var(--hyg-font-head);color:var(--hyg-heading)}
.hyg-scenario__role span{font-size:.85rem;color:var(--hyg-muted)}
.hyg-scenario p{font-size:1rem;color:var(--hyg-text)}
.hyg-scenario__note{margin-top:1rem;font-size:.8rem;color:var(--hyg-muted);font-style:italic}

/* ---------- 17. FAQ accordion ---------- */
.hyg-faq{display:grid;gap:.8rem}
.hyg-faq__item{background:var(--hyg-surface);border:1px solid var(--hyg-border-soft);border-radius:var(--hyg-r);overflow:hidden}
.hyg-faq__q{
  width:100%;display:flex;justify-content:space-between;align-items:center;gap:1rem;
  text-align:left;background:none;border:0;padding:1.2rem 1.4rem;
  font-family:var(--hyg-font-head);font-weight:800;font-size:1.06rem;color:var(--hyg-heading);
}
.hyg-faq__icon{flex:0 0 auto;width:26px;height:26px;position:relative}
.hyg-faq__icon::before,.hyg-faq__icon::after{content:"";position:absolute;background:var(--hyg-red);border-radius:2px;transition:transform .25s ease}
.hyg-faq__icon::before{top:12px;left:3px;width:20px;height:2px}
.hyg-faq__icon::after{left:12px;top:3px;width:2px;height:20px}
.hyg-faq__q[aria-expanded="true"] .hyg-faq__icon::after{transform:scaleY(0)}
.hyg-faq__a{padding:0 1.4rem;max-height:0;overflow:hidden;transition:max-height .3s ease,padding .3s ease}
.hyg-faq__a p{padding-bottom:1.3rem;color:var(--hyg-muted)}
.hyg-faq__item.is-open .hyg-faq__a{max-height:600px;padding-top:0}

/* ---------- 18. CTA banner ---------- */
.hyg-cta{
  background:linear-gradient(135deg,var(--hyg-evening),var(--hyg-evening-2));
  border-radius:var(--hyg-r-xl);padding:clamp(2.2rem,5vw,3.5rem);text-align:center;
  color:var(--hyg-on-dark);position:relative;overflow:hidden;
}
.hyg-cta::after{content:"";position:absolute;inset:auto -10% -40% -10%;height:120%;background:radial-gradient(50% 60% at 50% 0,rgba(224,145,60,.28),transparent 70%)}
.hyg-cta h2{color:#fff;position:relative}
.hyg-cta p{color:var(--hyg-on-dark-muted);max-width:54ch;margin-inline:auto;position:relative}
.hyg-cta__btns{display:flex;flex-wrap:wrap;gap:.8rem;justify-content:center;margin-top:1.6rem;position:relative}

/* ---------- 19. Footer ---------- */
.hyg-footer{background:var(--hyg-evening);color:var(--hyg-on-dark-muted);padding-block:clamp(3rem,6vw,4.5rem) 1.5rem}
.hyg-footer a{color:var(--hyg-on-dark-muted)}
.hyg-footer a:hover{color:#fff}
.hyg-footer__grid{display:grid;gap:2rem}
@media(min-width:720px){.hyg-footer__grid{grid-template-columns:1.6fr 1fr 1fr 1fr}}
.hyg-footer h4{color:#fff;font-size:1rem;margin-bottom:1rem}
.hyg-footer ul{list-style:none;display:grid;gap:.6rem;font-size:.95rem}
.hyg-footer__brand p{font-size:.95rem;max-width:34ch}
.hyg-footer__logo{font-family:var(--hyg-font-head);font-weight:900;font-size:1.3rem;color:#fff;margin-bottom:.8rem;display:inline-block}
.hyg-footer__logo span{color:var(--hyg-red)}
.hyg-footer__contact{display:grid;gap:.6rem;margin-top:1.2rem;font-size:.95rem}
.hyg-footer__contact a{display:flex;gap:.55rem;align-items:flex-start}
.hyg-footer__bottom{border-top:1px solid rgba(255,255,255,.08);margin-top:2.5rem;padding-top:1.5rem;display:flex;flex-wrap:wrap;gap:1rem;justify-content:space-between;font-size:.85rem}
.hyg-footer__legal{display:flex;flex-wrap:wrap;gap:1rem}

/* ---------- 20. Sticky mobile action bar ---------- */
.hyg-mobilebar{
  position:fixed;left:0;right:0;bottom:0;z-index:180;display:none;gap:.6rem;
  padding:.6rem .8rem calc(.6rem + env(safe-area-inset-bottom));
  background:rgba(251,246,239,.96);backdrop-filter:blur(8px);border-top:1px solid var(--hyg-border);
}
.hyg-mobilebar .hyg-btn{flex:1;padding:.85rem 1rem;font-size:.98rem}
@media(max-width:720px){.hyg-mobilebar{display:flex}body{padding-bottom:76px}}

/* ---------- 21. WhatsApp float ---------- */
.hyg-wa-float{
  position:fixed;right:18px;bottom:18px;z-index:170;width:56px;height:56px;border-radius:50%;
  background:var(--hyg-whatsapp);display:grid;place-items:center;box-shadow:0 12px 28px -8px rgba(37,211,102,.6);
}
.hyg-wa-float svg{width:30px;height:30px;color:#fff}
@media(max-width:720px){.hyg-wa-float{display:none}}

/* ---------- 22. Forms ---------- */
.hyg-form{display:grid;gap:1.1rem}
.hyg-field label{display:block;font-family:var(--hyg-font-head);font-weight:700;color:var(--hyg-heading);margin-bottom:.4rem;font-size:.95rem}
.hyg-field input,.hyg-field textarea,.hyg-field select{
  width:100%;font-family:inherit;font-size:1rem;color:var(--hyg-heading);
  background:var(--hyg-surface);border:1px solid var(--hyg-border);border-radius:var(--hyg-r-sm);
  padding:.9rem 1rem;transition:border-color .2s ease,box-shadow .2s ease;
}
.hyg-field input:focus,.hyg-field textarea:focus,.hyg-field select:focus{
  outline:none;border-color:var(--hyg-amber);box-shadow:0 0 0 3px rgba(224,145,60,.2)
}
.hyg-field textarea{min-height:140px;resize:vertical}

/* ---------- 23. Article / prose ---------- */
.hyg-prose{max-width:760px}
.hyg-prose h2{margin-top:1.8em}
.hyg-prose h3{margin-top:1.4em}
.hyg-prose ul,.hyg-prose ol{margin:0 0 1.2em 1.2em;display:grid;gap:.4rem}
.hyg-prose li{padding-left:.2rem}
.hyg-prose blockquote{margin:1.5em 0;padding:1rem 1.4rem;border-left:4px solid var(--hyg-amber);background:var(--hyg-bg-soft);border-radius:0 var(--hyg-r-sm) var(--hyg-r-sm) 0;font-style:italic}
.hyg-prose img{border-radius:var(--hyg-r);margin:1.5em 0}
.hyg-prose a{text-decoration:underline}
.hyg-updated{display:inline-block;background:var(--hyg-bg-soft);border:1px solid var(--hyg-border);border-radius:var(--hyg-pill);padding:.4rem 1rem;font-size:.85rem;color:var(--hyg-muted);margin-bottom:1.5rem}

/* ---------- 24. Breadcrumbs ---------- */
.hyg-breadcrumb{font-size:.88rem;color:var(--hyg-muted);padding-block:1rem}
.hyg-breadcrumb ol{list-style:none;display:flex;flex-wrap:wrap;gap:.4rem;align-items:center}
.hyg-breadcrumb a{color:var(--hyg-muted)}
.hyg-breadcrumb a:hover{color:var(--hyg-red)}
.hyg-breadcrumb [aria-current="page"]{color:var(--hyg-heading);font-weight:600}

/* ---------- 25. Blog cards ---------- */
.hyg-posts{display:grid;gap:1.5rem}
@media(min-width:680px){.hyg-posts{grid-template-columns:repeat(2,1fr)}}
@media(min-width:1000px){.hyg-posts{grid-template-columns:repeat(3,1fr)}}
.hyg-post{background:var(--hyg-surface);border:1px solid var(--hyg-border-soft);border-radius:var(--hyg-r-lg);overflow:hidden;display:flex;flex-direction:column;box-shadow:var(--hyg-shadow-sm);transition:transform .2s ease,box-shadow .2s ease}
.hyg-post:hover{transform:translateY(-4px);box-shadow:var(--hyg-shadow)}
.hyg-post__thumb{aspect-ratio:16/10;overflow:hidden;background:var(--hyg-bg-soft)}
.hyg-post__thumb img{width:100%;height:100%;object-fit:cover}
.hyg-post__body{padding:1.4rem;display:flex;flex-direction:column;gap:.6rem;flex:1}
.hyg-post__cat{font-family:var(--hyg-font-head);font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--hyg-red)}
.hyg-post__body h3{font-size:1.2rem;margin:0}
.hyg-post__body h3 a{color:var(--hyg-heading)}
.hyg-post__body h3 a:hover{color:var(--hyg-red)}
.hyg-post__meta{margin-top:auto;font-size:.85rem;color:var(--hyg-muted)}

/* ---------- 26. Sidebar ---------- */
.hyg-layout{display:grid;gap:2.5rem}
@media(min-width:960px){.hyg-layout--sidebar{grid-template-columns:1fr 320px}}
.hyg-widget{background:var(--hyg-surface);border:1px solid var(--hyg-border-soft);border-radius:var(--hyg-r-lg);padding:1.5rem;margin-bottom:1.5rem;box-shadow:var(--hyg-shadow-sm)}
.hyg-widget h4{font-size:1.05rem}

/* ---------- 27. Pagination ---------- */
.hyg-pagination{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-top:2.5rem}
.hyg-pagination a,.hyg-pagination span{
  min-width:44px;height:44px;display:grid;place-items:center;padding:0 .6rem;
  border-radius:var(--hyg-r-sm);border:1px solid var(--hyg-border);background:var(--hyg-surface);
  font-family:var(--hyg-font-head);font-weight:700;color:var(--hyg-heading);
}
.hyg-pagination .current{background:var(--hyg-red);color:#fff;border-color:var(--hyg-red)}
.hyg-pagination a:hover{border-color:var(--hyg-heading)}

/* ---------- 28. Responsive table -> cards ---------- */
.hyg-compare{width:100%;border-collapse:collapse;background:var(--hyg-surface);border-radius:var(--hyg-r-lg);overflow:hidden;border:1px solid var(--hyg-border)}
.hyg-compare th,.hyg-compare td{padding:1rem;text-align:left;border-bottom:1px solid var(--hyg-border-soft)}
.hyg-compare thead th{background:var(--hyg-bg-soft);font-family:var(--hyg-font-head)}
.hyg-compare td svg{color:var(--hyg-success)}
@media(max-width:680px){
  .hyg-compare,.hyg-compare thead,.hyg-compare tbody,.hyg-compare tr,.hyg-compare th,.hyg-compare td{display:block;width:100%}
  .hyg-compare thead{display:none}
  .hyg-compare tr{border:1px solid var(--hyg-border);border-radius:var(--hyg-r);margin-bottom:1rem;overflow:hidden}
  .hyg-compare td{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--hyg-border-soft)}
  .hyg-compare td::before{content:attr(data-label);font-weight:700;color:var(--hyg-heading);font-family:var(--hyg-font-head)}
}

/* ---------- 29. Utilities ---------- */
.hyg-center{text-align:center}
.hyg-mt-2{margin-top:2rem}
.hyg-flex-cta{display:flex;flex-wrap:wrap;gap:.8rem}
.hyg-flex-cta--center{justify-content:center}
.hyg-lead{font-size:1.15rem;color:var(--hyg-muted)}

/* ---------- 30. Scroll reveal + motion ---------- */
.hyg-reveal{opacity:0;transform:translateY(22px);transition:opacity .6s ease,transform .6s ease}
.hyg-reveal.is-visible{opacity:1;transform:none}
@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.001ms!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
  .hyg-reveal{opacity:1;transform:none}
  .hyg-btn:hover,.hyg-card:hover,.hyg-plan:hover,.hyg-post:hover{transform:none}
}
