*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}

:root{
  --red:#e8321a;
  --red-dk:#b82510;
  --red-lt:#fde8e5;
  --ink:#141414;
  --ink2:#444;
  --ink3:#888;
  --surface:#f5f4f0;
  --white:#ffffff;
  --border:#ddd9d2;
  --sidebar-w:260px;
  --nav-h:56px;
}

html,body{height:100%;font-family:'Barlow',sans-serif;font-weight:400;color:var(--ink);background:var(--surface)}

/* NAV */
nav{
  position:fixed;top:0;left:0;right:0;height:var(--nav-h);
  background:var(--ink);display:flex;align-items:center;gap:16px;
  padding:0 24px;z-index:100;
}
.logo{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:22px;letter-spacing:.04em;color:var(--white);text-decoration:none;
  display:flex;align-items:center;gap:8px;
}
.logo-dot{color:var(--red)}
nav .tagline{font-size:13px;color:#888;font-weight:300;border-left:1px solid #333;padding-left:16px}

/* LAYOUT */
.shell{display:flex;padding-top:var(--nav-h);min-height:100vh}

/* SIDEBAR */
aside{
  width:var(--sidebar-w);min-width:var(--sidebar-w);
  background:var(--white);border-right:1px solid var(--border);
  padding:32px 0;position:sticky;top:var(--nav-h);height:calc(100vh - var(--nav-h));
  overflow-y:auto;
}
.aside-label{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:11px;letter-spacing:.12em;text-transform:uppercase;
  color:var(--ink3);padding:0 20px 8px;
}
.menu-item{
  display:flex;align-items:center;gap:12px;
  padding:14px 20px;cursor:pointer;border:none;background:none;
  width:100%;text-align:left;transition:background .15s;
  border-left:3px solid transparent;text-decoration:none;
}
.menu-item:hover{background:var(--surface)}
.menu-item.active{
  background:var(--red-lt);border-left-color:var(--red);
}
.menu-item .icon{
  width:36px;height:36px;border-radius:8px;
  background:var(--surface);display:flex;align-items:center;justify-content:center;
  font-size:18px;flex-shrink:0;transition:background .15s;
}
.menu-item.active .icon{background:var(--red);color:var(--white)}
.menu-item:hover:not(.active) .icon{background:#e8e5e0}
.menu-text{line-height:1.25}
.menu-title{font-weight:500;font-size:15px;color:var(--ink)}
.menu-sub{font-size:12px;color:var(--ink3);font-weight:300;margin-top:1px}
.menu-item.active .menu-title{color:var(--red-dk)}

.aside-divider{height:1px;background:var(--border);margin:12px 20px}
.aside-info{padding:16px 20px;font-size:12px;color:var(--ink3);line-height:1.6}

/* MAIN */
main{flex:1;padding:32px;min-width:0}

/* PANEL */
.calc-panel{animation:fadeIn .25s ease}
@keyframes fadeIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}

.panel-header{margin-bottom:28px}
.panel-header h1{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:32px;
  letter-spacing:.02em;color:var(--ink);margin-bottom:6px;
}
.panel-header p{font-size:14px;color:var(--ink3);font-weight:300;line-height:1.6;max-width:540px}

/* FORM CARD */
.form-card{
  background:var(--white);border:1px solid var(--border);border-radius:12px;
  padding:24px;margin-bottom:24px;
}
.form-row{
  display:flex;flex-wrap:wrap;gap:16px;
  align-items:start;
}
.form-group{
  display:flex;flex-direction:column;
  flex:1;min-width:130px;
}
.form-group label,
.btn-wrap label{
  font-size:11px;font-weight:500;letter-spacing:.05em;text-transform:uppercase;
  color:var(--ink3);height:18px;line-height:18px;margin-bottom:6px;
  display:block;white-space:nowrap;
}
.form-group input[type=time],
.form-group input[type=text],
.form-group input[type=number]{
  border:1px solid var(--border);border-radius:8px;
  padding:0 12px;height:42px;font-size:15px;font-family:'DM Mono',monospace;
  background:var(--surface);color:var(--ink);outline:none;transition:border-color .15s;
  width:100%;
}
.form-group input:focus{border-color:var(--red)}
.form-group input[readonly]{background:var(--red-lt);color:var(--red-dk);font-weight:500}
.form-group .hint{font-size:11px;color:var(--ink3);margin-top:4px;height:16px;display:block}

/* Select */
.select-wrap{position:relative}
.select-wrap select{
  border:1px solid var(--border);border-radius:8px;
  padding:0 36px 0 12px;height:42px;font-size:14px;
  background:var(--surface);color:var(--ink);outline:none;
  appearance:none;cursor:pointer;width:100%;transition:border-color .15s;
}
.select-wrap select:focus{border-color:var(--red)}
.select-wrap::after{
  content:'▾';position:absolute;right:12px;top:50%;transform:translateY(-50%);
  pointer-events:none;color:var(--ink3);font-size:12px;
}

.btn-wrap{
  display:flex;flex-direction:column;
  flex-shrink:0;
}
.btn-wrap label{visibility:hidden;}
.btn-calc{
  background:var(--red);color:var(--white);border:none;border-radius:8px;
  height:42px;padding:0 24px;font-size:14px;font-weight:500;cursor:pointer;
  font-family:'Barlow',sans-serif;letter-spacing:.02em;transition:background .15s;
  white-space:nowrap;
}
.btn-calc:hover{background:var(--red-dk)}

/* ESTIMATE STRIP */
.estimate-strip{
  display:flex;gap:16px;margin-bottom:20px;flex-wrap:wrap;
}
.est-card{
  background:var(--white);border:1px solid var(--border);border-radius:10px;
  padding:14px 18px;min-width:160px;
}
.est-label{font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;color:var(--ink3);margin-bottom:4px}
.est-val{font-family:'DM Mono',monospace;font-size:20px;font-weight:500;color:var(--ink)}
.est-sub{font-size:11px;color:var(--ink3);margin-top:2px}

/* TABLE */
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:13px}
thead tr{background:var(--ink);color:var(--white)}
thead th{
  padding:9px 10px;text-align:left;
  font-family:'Barlow Condensed',sans-serif;font-weight:500;
  font-size:13px;letter-spacing:.04em;white-space:nowrap;
}
tbody tr{border-bottom:1px solid var(--border)}
tbody tr:last-child{border-bottom:none}
tbody tr:hover{background:#faf9f7}
tbody td{padding:7px 10px;font-family:'DM Mono',monospace;font-size:12px;white-space:nowrap}
tbody tr.highlight{background:var(--red-lt)}
tbody tr.highlight td{color:var(--red-dk);font-weight:500}
td.label-col{font-family:'Barlow',sans-serif;font-weight:500;font-size:12px;color:var(--ink2)}

/* CONTACT */
.nav-contact{
  margin-left:auto;display:flex;align-items:center;gap:8px;
  background:none;border:1px solid #333;border-radius:8px;
  padding:6px 14px;color:#aaa;font-size:13px;cursor:pointer;
  font-family:'Barlow',sans-serif;transition:border-color .15s,color .15s;
  text-decoration:none;
}
.nav-contact:hover{border-color:var(--red);color:var(--white)}
.nav-contact svg{opacity:.6}
.nav-contact:hover svg{opacity:1}

/* MODAL */
.modal-backdrop{
  display:none;position:fixed;inset:0;background:rgba(0,0,0,.6);
  z-index:200;align-items:center;justify-content:center;
}
.modal-backdrop.open{display:flex}
.modal{
  background:var(--white);border-radius:16px;padding:32px;
  width:100%;max-width:420px;box-shadow:0 20px 60px rgba(0,0,0,.3);
  position:relative;animation:fadeIn .2s ease;
}
.modal h3{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:22px;margin-bottom:6px;
}
.modal p{font-size:13px;color:var(--ink3);margin-bottom:20px;line-height:1.6}
.modal-close{
  position:absolute;top:16px;right:16px;background:none;border:none;
  font-size:18px;cursor:pointer;color:var(--ink3);line-height:1}
.modal-close:hover{color:var(--ink)}
.modal label{
  font-size:11px;font-weight:500;letter-spacing:.06em;text-transform:uppercase;
  color:var(--ink3);display:block;margin-bottom:6px;
}
.modal input[type=email],
.modal textarea{
  width:100%;border:1px solid var(--border);border-radius:8px;
  padding:10px 12px;font-size:14px;font-family:'Barlow',sans-serif;
  background:var(--surface);color:var(--ink);outline:none;
  transition:border-color .15s;resize:vertical;
}
.modal input[type=email]:focus,
.modal textarea:focus{border-color:var(--red)}
.modal textarea{min-height:100px;margin-top:0}
.modal-fields{display:flex;flex-direction:column;gap:16px}
.modal-actions{display:flex;gap:10px;margin-top:20px;justify-content:flex-end}
.btn-secondary{
  background:none;border:1px solid var(--border);border-radius:8px;
  padding:9px 18px;font-size:13px;cursor:pointer;color:var(--ink2);
  font-family:'Barlow',sans-serif;transition:border-color .15s;
}
.btn-secondary:hover{border-color:var(--ink2)}
.modal-sent{text-align:center;padding:12px 0;display:none}
.modal-sent .sent-icon{font-size:40px;margin-bottom:10px}
.modal-sent p{font-size:14px;color:var(--ink2)}

/* SUBMENU */
.menu-group-toggle{
  display:flex;align-items:center;justify-content:space-between;
  padding:14px 20px;cursor:pointer;border:none;background:none;
  width:100%;text-align:left;transition:background .15s;
  border-left:3px solid transparent;
}
.menu-group-toggle:hover{background:var(--surface)}
.menu-group-toggle.open{background:var(--surface)}
.menu-group-toggle .toggle-left{display:flex;align-items:center;gap:12px}
.menu-group-toggle .chevron{font-size:11px;color:var(--ink3);transition:transform .2s}
.menu-group-toggle.open .chevron{transform:rotate(90deg)}
.submenu{display:none;background:#faf9f7;border-top:1px solid var(--border)}
.submenu.open{display:block}
.submenu-item{
  display:flex;align-items:center;gap:10px;
  padding:10px 20px 10px 36px;cursor:pointer;border:none;background:none;
  width:100%;text-align:left;font-size:14px;color:var(--ink2);
  transition:background .15s;border-left:3px solid transparent;
  text-decoration:none;
}
.submenu-item:hover{background:var(--red-lt);color:var(--ink)}
.submenu-item.active{background:var(--red-lt);border-left-color:var(--red);color:var(--red-dk);font-weight:500}
.submenu-item .sub-dot{width:6px;height:6px;border-radius:50%;background:var(--border);flex-shrink:0}
.submenu-item.active .sub-dot,.submenu-item:hover .sub-dot{background:var(--red)}

/* TRAINING PANEL */
.training-intro{
  background:var(--white);border:1px solid var(--border);border-radius:12px;
  padding:20px 24px;margin-bottom:24px;display:flex;gap:24px;flex-wrap:wrap;align-items:center;
}
.training-badge{
  background:var(--ink);color:var(--white);border-radius:10px;
  padding:12px 18px;text-align:center;min-width:100px;
}
.training-badge .tb-dist{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:22px;letter-spacing:.04em}
.training-badge .tb-label{font-size:11px;color:#aaa;margin-top:2px}
.training-meta{flex:1}
.training-meta h3{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:20px;margin-bottom:6px}
.training-meta p{font-size:13px;color:var(--ink3);font-weight:300;line-height:1.6}
.training-tags{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.tag{
  display:inline-block;padding:3px 10px;border-radius:20px;
  font-size:11px;font-weight:500;letter-spacing:.04em;
  background:var(--surface);color:var(--ink2);border:1px solid var(--border);
}
.tag.red{background:var(--red-lt);color:var(--red-dk);border-color:transparent}

/* CONFIG CARD */
.config-card{background:var(--ink);color:var(--white);border-radius:12px;padding:20px;margin-bottom:24px;}
.config-card h4{font-family:'Barlow Condensed',sans-serif;font-size:16px;letter-spacing:.05em;text-transform:uppercase;color:var(--red);margin-bottom:12px;}

/* TRAINING TABLE */
.week-num{
  font-family:'Barlow Condensed',sans-serif;font-weight:700;
  font-size:14px;color:var(--white);background:var(--ink);
  width:28px;height:28px;border-radius:50%;display:inline-flex;
  align-items:center;justify-content:center;
}
td.session-cell{font-family:'Barlow',sans-serif;font-size:12px;color:var(--ink2);white-space:normal;line-height:1.5;min-width:120px}
td.session-cell b{color:var(--ink);font-weight:600}
td.session-cell .z-easy{color:#2e9e5b;font-weight:500}
td.session-cell .z-moderate{color:#d18c00;font-weight:500}
td.session-cell .z-hard{color:var(--red);font-weight:500}
td.race-week{background:#fff8e1 !important}
td.race-week b{color:#b8860b}
thead th.th-day{min-width:110px}

/* BREADCRUMB */
.breadcrumb{font-size:12px;color:var(--ink3);margin-bottom:16px;display:flex;align-items:center;gap:6px;}
.breadcrumb a{color:var(--ink3);text-decoration:none;}
.breadcrumb a:hover{color:var(--red);}
.breadcrumb span{color:var(--ink2);}

/* SEO CONTENT */
.seo-block{background:var(--white);border:1px solid var(--border);border-radius:12px;padding:24px;margin-top:32px;}
.seo-block h2{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:20px;color:var(--ink);margin-bottom:10px;}
.seo-block h3{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:16px;color:var(--ink2);margin:16px 0 6px;}
.seo-block p{font-size:13px;color:var(--ink2);line-height:1.7;margin-bottom:8px;}
.seo-block ul{padding-left:18px;margin-bottom:8px;}
.seo-block li{font-size:13px;color:var(--ink2);line-height:1.7;}

/* UTILITY WIDTH */
.fw-120{max-width:120px}.fw-130{max-width:130px}.fw-160{max-width:160px}
.fw-200{max-width:200px}.fw-240{max-width:240px}.fw-260{max-width:260px}

/* HAMBURGER */
.hamburger{display:none;flex-direction:column;justify-content:center;gap:5px;background:none;border:none;cursor:pointer;padding:6px;width:36px;height:36px;flex-shrink:0;}
.hamburger span{display:block;height:2px;border-radius:2px;background:var(--white);transition:transform .25s,opacity .25s;}
.hamburger.open span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.hamburger.open span:nth-child(2){opacity:0}
.hamburger.open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}

/* SIDEBAR OVERLAY */
.sidebar-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:90;}
.sidebar-overlay.open{display:block}

/* ══════════════════════════════════════
   ACTUALITÉS — news page styles
══════════════════════════════════════ */

/* La card est un <a> : on neutralise les styles de lien par défaut */
a.news-card{text-decoration:none;color:inherit;}

.news-filters{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:24px;}
.news-filter-btn{
  padding:7px 18px;border-radius:20px;border:1px solid var(--border);
  background:var(--white);cursor:pointer;font-family:'Barlow',sans-serif;
  font-size:13px;font-weight:500;color:var(--ink2);transition:all .15s;
}
.news-filter-btn:hover{border-color:var(--red);color:var(--red);}
.news-filter-btn.active{background:var(--red);border-color:var(--red);color:var(--white);}

.news-search{position:relative;margin-bottom:24px;}
.news-search input{
  width:100%;border:1px solid var(--border);border-radius:10px;
  padding:0 16px 0 42px;height:44px;font-size:14px;font-family:'Barlow',sans-serif;
  background:var(--white);color:var(--ink);outline:none;transition:border-color .15s;
}
.news-search input:focus{border-color:var(--red);}
.news-search .search-icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:var(--ink3);font-size:16px;pointer-events:none;}

.news-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:16px;margin-bottom:24px;}
.news-card{
  background:var(--white);border:1px solid var(--border);border-radius:12px;
  overflow:hidden;transition:border-color .18s,box-shadow .18s,transform .18s;
  display:flex;flex-direction:column;cursor:pointer;
}
.news-card:hover{border-color:var(--red);box-shadow:0 6px 24px rgba(232,50,26,.10);transform:translateY(-2px);}
.news-card-badge{display:flex;align-items:center;gap:8px;padding:14px 16px 0;}
.news-tag{font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:3px 9px;border-radius:20px;}
.news-tag.route{background:#e8f4fd;color:#1a78c2;}
.news-tag.trail{background:#e8f5e9;color:#2e7d32;}
.news-tag.entrainement{background:var(--red-lt);color:var(--red-dk);}
.news-tag.materiel{background:#f3e5f5;color:#7b1fa2;}
.news-tag.nutrition{background:#fff8e1;color:#b8860b;}
.news-date{font-size:11px;color:var(--ink3);font-family:'DM Mono',monospace;margin-left:auto;}
.news-card-body{padding:12px 16px 16px;flex:1;display:flex;flex-direction:column;}
.news-card-title{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:17px;color:var(--ink);line-height:1.25;margin-bottom:8px;}
.news-card-summary{font-size:13px;color:var(--ink2);line-height:1.65;font-weight:300;flex:1;}
.news-card-footer{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px solid var(--border);}
.news-read-more{font-size:12px;font-weight:600;color:var(--red);letter-spacing:.02em;}
.news-read-time{font-size:11px;color:var(--ink3);}

.news-stats{display:flex;gap:12px;margin-bottom:24px;flex-wrap:wrap;}
.news-stat-pill{background:var(--white);border:1px solid var(--border);border-radius:8px;padding:10px 16px;font-size:12px;color:var(--ink2);display:flex;align-items:center;gap:8px;}
.news-stat-pill strong{color:var(--ink);font-size:18px;font-family:'Barlow Condensed',sans-serif;font-weight:700;}

.news-empty{grid-column:1/-1;text-align:center;padding:60px 20px;color:var(--ink3);}
.news-empty .empty-icon{font-size:40px;margin-bottom:12px;}
.news-empty p{font-size:14px;}

/* Article modal */
.article-modal-backdrop{
  display:none;position:fixed;inset:0;background:rgba(0,0,0,.65);
  z-index:200;align-items:center;justify-content:center;padding:20px;
}
.article-modal-backdrop.open{display:flex;}
.article-modal{
  background:var(--white);border-radius:16px;width:100%;max-width:680px;
  max-height:85vh;overflow-y:auto;box-shadow:0 24px 80px rgba(0,0,0,.35);
  animation:fadeIn .2s ease;position:relative;
}
.article-modal-header{
  padding:28px 28px 20px;border-bottom:1px solid var(--border);
  position:sticky;top:0;background:var(--white);z-index:2;
}
.article-modal-close{
  position:absolute;top:16px;right:16px;background:none;border:none;
  font-size:20px;cursor:pointer;color:var(--ink3);line-height:1;
  width:32px;height:32px;display:flex;align-items:center;justify-content:center;
  border-radius:6px;transition:background .15s;
}
.article-modal-close:hover{background:var(--surface);color:var(--ink);}
.article-modal-body{padding:24px 28px 32px;font-size:14px;color:var(--ink2);line-height:1.8;}
.article-modal-body h2{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:20px;color:var(--ink);margin:20px 0 8px;}
.article-modal-body h3{font-family:'Barlow Condensed',sans-serif;font-weight:700;font-size:16px;color:var(--ink2);margin:16px 0 6px;}
.article-modal-body p{margin-bottom:12px;}
.article-modal-body ul{padding-left:20px;margin-bottom:12px;}
.article-modal-body li{margin-bottom:5px;}
.article-modal-body strong{color:var(--ink);}

.article-generating{display:flex;align-items:center;gap:12px;padding:32px 28px;color:var(--ink3);font-size:14px;}
.dot-anim{display:flex;gap:5px;}
.dot-anim span{width:7px;height:7px;border-radius:50%;background:var(--red);animation:dotBounce 1.2s infinite ease-in-out;}
.dot-anim span:nth-child(2){animation-delay:.2s;}
.dot-anim span:nth-child(3){animation-delay:.4s;}
@keyframes dotBounce{0%,80%,100%{transform:scale(0);opacity:.4}40%{transform:scale(1);opacity:1}}

/* ═══════════════════════════════════════════════
   RESPONSIVE — tablet 1024px
═══════════════════════════════════════════════ */
@media(max-width:1024px){
  :root{ --sidebar-w:220px; }
  .menu-title{font-size:14px}
  .menu-sub{font-size:11px}
}

/* ═══════════════════════════════════════════════
   RESPONSIVE — mobile 768px
═══════════════════════════════════════════════ */
@media(max-width:768px){
  .hamburger{display:flex}
  nav .tagline{display:none}
  .contact-label{display:none}
  .nav-contact{padding:6px 10px}
  aside{
    position:fixed;top:var(--nav-h);left:0;bottom:0;
    width:280px;z-index:95;
    transform:translateX(-100%);
    transition:transform .28s cubic-bezier(.4,0,.2,1);
    height:calc(100vh - var(--nav-h));
    box-shadow:4px 0 24px rgba(0,0,0,.12);
  }
  aside.open{transform:translateX(0)}
  .shell{flex-direction:column}
  main{padding:16px;padding-bottom:32px}
  .form-row{flex-direction:column;gap:12px}
  .form-group{min-width:0 !important;max-width:none !important;width:100%}
  .fw-120,.fw-130,.fw-160,.fw-200,.fw-240,.fw-260{max-width:none !important;width:100%}
  .select-wrap select{width:100%}
  .btn-wrap{width:100%}
  .btn-wrap label{display:none}
  .btn-calc{width:100%}
  .estimate-strip{gap:10px}
  .est-card{flex:1;min-width:calc(50% - 5px)}
  .table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;border-radius:8px}
  table{min-width:500px}
  thead th{font-size:11px;padding:8px 8px}
  tbody td{font-size:11px;padding:6px 8px}
  .training-intro{flex-direction:column;gap:16px}
  .training-badge{align-self:flex-start}
  .config-card .form-row{flex-direction:column}
  .config-card .form-group{max-width:none !important}
  td.session-cell{min-width:160px;font-size:11px}
  .vma-zones{grid-template-columns:1fr 1fr !important}
  .plan-tabs{gap:6px}
  .plan-tab{padding:8px 14px;font-size:13px}
  .panel-header{margin-bottom:20px}
  .panel-header h1{font-size:22px}
  .panel-header p{font-size:13px}
  .modal{margin:16px;padding:24px;max-width:calc(100vw - 32px);max-height:calc(100vh - 48px);overflow-y:auto;}
  .seo-block{padding:16px;margin-top:24px}
  .breadcrumb{font-size:11px}
  /* news */
  .news-grid{grid-template-columns:1fr;}
  .article-modal{max-height:92vh;border-radius:12px;}
  .article-modal-header{padding:20px 18px 16px;}
  .article-modal-body{padding:18px 18px 28px;}
  .news-stats{gap:8px;}
  .news-stat-pill{font-size:11px;padding:8px 12px;}
}

/* ═══════════════════════════════════════════════
   RESPONSIVE — small mobile 480px
═══════════════════════════════════════════════ */
@media(max-width:480px){
  nav{padding:0 12px;gap:8px}
  .logo{font-size:17px}
  main{padding:12px;padding-bottom:24px}
  .form-card{padding:14px}
  .panel-header h1{font-size:19px}
  table{min-width:440px}
  thead th{font-size:10px;padding:7px 6px}
  tbody td{font-size:10px;padding:5px 6px}
  .estimate-strip{flex-direction:column;gap:8px}
  .est-card{min-width:0;width:100%}
  .vma-zones{grid-template-columns:1fr !important}
  .plan-tabs{flex-direction:column;gap:6px}
  .plan-tab{text-align:center;width:100%}
  .training-badge{width:100%;text-align:center}
  .training-tags{justify-content:flex-start}
  .form-group input[type=time],
  .form-group input[type=text],
  .form-group input[type=number]{font-size:16px}
  .config-card{padding:14px}
  .config-card h4{font-size:13px}
  .seo-block{padding:14px}
  .seo-block h2{font-size:17px}
  .modal{margin:10px;padding:18px}
  /* news */
  .news-filter-btn{padding:6px 12px;font-size:12px;}
  .news-card-title{font-size:15px;}
  .article-modal-backdrop{padding:8px;}
  .article-modal{max-height:96vh;}
}

/* ═══════════════════════════════════════════════
   RESPONSIVE — very small 360px
═══════════════════════════════════════════════ */
@media(max-width:360px){
  .logo{font-size:15px}
  nav{gap:6px;padding:0 10px}
  .nav-contact{display:none}
  .panel-header h1{font-size:17px}
  table{min-width:380px}
}
