  :root{
    --bg:#f4f6fb;
    --card:#ffffff;
    --accent:#f2c500;
    --accent-dark:#d9af00;
    --text:#1f2430;
    --muted:#6b7280;
    --border:#e3e7ef;
    --ok:#1aa06d;
    --blue:#2f6fed;
    --green-dark:#1f7a4d;
  }

  .wrap{max-width:1040px;margin:0 auto;}
  h1{font-size:23px;margin:0 0 5px;text-align:center;line-height:1.2;}
  .sub{text-align:center;color:var(--muted);margin:0 0 24px;font-size:13.5px;line-height:1.45;}

  /*ФОРМА ТАРИФОВ*/
  .plans{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(250px,1fr));
    gap:16px;
  }
  .plan{
    position:relative;
    background:var(--card);
    border:2px solid var(--border);
    border-radius:14px;
    padding:20px 18px 18px;
    display:flex;
    flex-direction:column;
    cursor:pointer;
    transition:border-color .18s, box-shadow .18s, transform .18s;
  }
  .plan:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(20,30,60,.07);}
  .plan.selected{
    border-color:var(--accent);
    box-shadow:0 0 0 3px rgba(242,197,0,.22), 0 8px 20px rgba(20,30,60,.09);
  }
  .plan.selected::after{
    content:"✓ Выбрано";
    position:absolute;
    top:-11px; right:14px;
    background:var(--accent);
    color:#231c00;
    font-size:11px;
    font-weight:700;
    padding:3px 9px;
    border-radius:20px;
    animation:pop .25s ease;
  }
  @keyframes pop{
    0%{transform:scale(.6);opacity:0;}
    100%{transform:scale(1);opacity:1;}
  }
  .plan h2{font-size:17px;margin:0 0 3px;}
  .plan .desc{color:var(--muted);font-size:12.5px;min-height:32px;margin:0 0 12px;line-height:1.35;}
  .price{font-size:25px;font-weight:800;line-height:1;margin-bottom:2px;}
  .price small{font-size:12.5px;font-weight:500;color:var(--muted);}
  .price-note{font-size:11.5px;color:var(--muted);margin-bottom:11px;}

  .hours-box{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:8px;
    background:#f7f9ff;
    border:1px solid #e4ebff;
    border-radius:8px;
    padding:8px 10px;
    margin-bottom:14px;
  }
  .hours-box .label{
    font-size:11.5px;
    color:var(--muted);
    text-transform:uppercase;
    letter-spacing:.35px;
  }
  .hours-box .value{
    font-size:16px;
    font-weight:800;
    color:var(--blue);
    white-space:nowrap;
  }
  .hours-box .value small{font-size:11px;font-weight:600;color:var(--muted);}

  /* Защита списка от глобальных стилей темы (красный фон у li) */
  .features{
    list-style:none !important;
    padding:0 !important;
    margin:0 0 16px !important;
    flex:1;
    background:transparent !important;
  }
  .features li{
    font-size:13px;
    padding:6px 0 6px 23px !important;
    position:relative;
    border-top:1px dashed var(--border);
    line-height:1.32;
    background:transparent !important;
    background-color:transparent !important;
    list-style:none !important;
    margin:0 !important;
    color:var(--text);
  }
  .features li:first-child{border-top:none;}
  .features li::before{
    content:"✓";
    position:absolute;
    left:0;top:6px;
    color:var(--ok);
    font-weight:800;
    font-size:13px;
    background:none !important;
    width:auto !important;
    height:auto !important;
  }
  .features li.no{color:var(--muted);}
  .features li.no::before{content:"—";color:#c2c8d4;}

  .choose{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:7px;
    border:2px solid var(--border);
    background:#fff;
    border-radius:9px;
    padding:11px;
    min-height:44px;
    font-size:13.5px;
    font-weight:600;
    font-family:inherit;
    color:var(--text);
    transition:background .18s, border-color .18s, color .18s;
    -webkit-user-select:none;
    user-select:none;
    width:100%;
    cursor:pointer;
    appearance:none;
    -webkit-appearance:none;
  }
  .choose:hover{
    background:var(--green-dark);
    border-color:var(--green-dark);
    color:#fff;
  }
  .plan.selected .choose{background:var(--accent);border-color:var(--accent);color:#231c00;}
  .plan.selected .choose:hover{
    background:var(--green-dark);
    border-color:var(--green-dark);
    color:#fff;
  }

  /* убираем кружок/маркер перед кнопкой «Заказать» (из темы) */
  .plan .choose{
    list-style:none !important;
    background-image:none !important;
  }
  .plan .choose::before,
  .plan .choose::after{
    content:none !important;
    display:none !important;
    background:none !important;
    border:none !important;
  }
  .plan .choose input[type="radio"]{
    display:none !important;
    appearance:none !important;
    -webkit-appearance:none !important;
  }

  /* Fallback для браузеров с :has() */
  .plan:has(input[type="radio"]:checked){
    border-color:var(--accent);
    box-shadow:0 0 0 3px rgba(242,197,0,.22), 0 8px 20px rgba(20,30,60,.09);
  }
  .plan:has(input[type="radio"]:checked)::after{
    content:"✓ Выбрано";
    position:absolute;
    top:-11px; right:14px;
    background:var(--accent);
    color:#231c00;
    font-size:11px;
    font-weight:700;
    padding:3px 9px;
    border-radius:20px;
    animation:pop .25s ease;
  }
  .plan:has(input[type="radio"]:checked) .choose{
    background:var(--accent);
    border-color:var(--accent);
    color:#231c00;
  }
  .plan:has(input[type="radio"]:checked) .choose:hover{
    background:var(--green-dark);
    border-color:var(--green-dark);
    color:#fff;
  }

  .summary{
    margin-top:20px;
    background:var(--card);
    border:1px solid var(--border);
    border-radius:14px;
    padding:15px 20px;
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:12px 20px;
  }
  .summary .info{flex:1;min-width:200px;}
  .summary .info b{display:block;font-size:14.5px;margin-bottom:1px;}
  .summary .info span{color:var(--muted);font-size:12.5px;}
  .summary .total{font-size:22px;font-weight:800;white-space:nowrap;}
  .summary .total small{font-size:12.5px;font-weight:500;color:var(--muted);}
  .btn{
    background:var(--accent);
    border:none;
    color:#231c00;
    font-size:14px;
    font-weight:700;
    font-family:inherit;
    padding:13px 22px;
    min-height:44px;
    border-radius:9px;
    cursor:pointer;
    transition:background .18s, transform .15s, box-shadow .2s;
  }
  .btn:hover{background:var(--accent-dark);box-shadow:0 8px 18px rgba(242,197,0,.32);}
  .btn:active{transform:scale(.97);}
  .btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none;}
  .btn:disabled:hover{background:var(--accent);}

  .sum-default{display:block;}
  .sum-picked{display:none;}
  body:has(input[name="tariff"]:checked) .sum-default{display:none;}
  body:has(input[name="tariff"]:checked) .sum-picked{display:block;}

  /* JS-управляемая видимость (fallback без :has) */
  .summary[data-picked="1"] .sum-default{display:none;}
  .summary[data-picked="1"] .sum-picked{display:block;}

  /* МОДАЛЬНОЕ ОКНО — поднято вверх */
  .modal-toggle{
    position:fixed;
    opacity:0;
    pointer-events:none;
    width:0;height:0;
  }

  .modal{
    position:fixed;
    inset:0;
    z-index:100;
    display:flex;
    align-items:flex-start;
    justify-content:center;
    padding:60px 20px 20px;
    padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));
    opacity:0;
    visibility:hidden;
    pointer-events:none;
    transition:opacity .25s ease, visibility .25s ease;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
  }
  .modal-toggle:checked ~ .modal{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }
  .modal.is-open{
    opacity:1;
    visibility:visible;
    pointer-events:auto;
  }

  .modal-overlay{
    position:fixed;
    inset:0;
    background:rgba(15,20,30,.55);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
    cursor:pointer;
  }

  .modal-card{
    position:relative;
    z-index:1;
    width:100%;
    max-width:440px;
    margin:0 auto;
    background:#fff;
    border-radius:18px;
    padding:32px 28px 28px;
    box-shadow:0 30px 60px -20px rgba(15,20,30,.5);
    transform:translateY(-8px) scale(.97);
    transition:transform .3s cubic-bezier(.2,.7,.2,1);
    text-align:center;
  }
  .modal-toggle:checked ~ .modal .modal-card{
    transform:translateY(0) scale(1);
  }
  .modal.is-open .modal-card{
    transform:translateY(0) scale(1);
  }

  .modal-close{
    position:absolute;
    top:14px; right:14px;
    width:40px;height:40px;
    border-radius:50%;
    display:grid;place-items:center;
    background:#f1f4fa;
    color:var(--muted);
    cursor:pointer;
    font-size:18px;
    line-height:1;
    transition:background .2s, color .2s, transform .2s;
    border:none;
    font-family:inherit;
  }
  .modal-close:hover{background:#e6eaf3;color:var(--text);transform:rotate(90deg);}

  .modal-card h3{
    font-size:22px;
    font-weight:900;
    letter-spacing:-.4px;
    margin:0 0 8px;
    color:var(--text);
    padding-right:36px;
    padding-left:36px;
  }
  .modal-card .modal-sub{
    font-size:13.5px;
    line-height:1.55;
    color:var(--muted);
    margin:0 0 22px;
  }

  .modal-phone{
    display:flex;
    align-items:center;
    justify-content:center;
    gap:10px;
    background:var(--accent);
    color:#231c00;
    text-decoration:none;
    font-size:22px;
    font-weight:900;
    letter-spacing:-.3px;
    padding:16px 20px;
    min-height:56px;
    border-radius:12px;
    margin-bottom:14px;
    transition:background .18s, transform .15s, box-shadow .2s;
    -webkit-user-select:all;
    user-select:all;
  }
  .modal-phone:hover{
    background:var(--accent-dark);
    box-shadow:0 10px 24px rgba(242,197,0,.4);
    transform:translateY(-1px);
  }
  .modal-phone:active{transform:scale(.98);}
  .modal-phone svg{flex-shrink:0;}

  .modal-note{
    font-size:12px;
    line-height:1.5;
    color:var(--muted);
    margin:0;
  }
  .modal-note b{color:var(--text);}

  /*ПОЧЕМУ ВЫБИРАЮТ НАС */
  .why11{margin-top:52px;}
  .why11-head{text-align:center;max-width:560px;margin:0 auto 24px;}
  .why11-tag{
    display:inline-block;font-size:10px;letter-spacing:2.2px;text-transform:uppercase;
    color:var(--accent-dark);background:rgba(242,197,0,.15);padding:4px 11px;
    border-radius:100px;font-weight:800;margin-bottom:10px;
  }

  /* заголовок «С нами спокойно» — вместо h2 */
  .why11-head .why11-title{
    font-size:26px;line-height:1.08;letter-spacing:-.9px;font-weight:900;
    margin:0 0 8px;color:var(--text);
  }
  /* графика-подсветка под словом «спокойно» сохранена */
  .why11-head .why11-title em{
    font-style:normal;
    background:linear-gradient(transparent 62%, rgba(242,197,0,.55) 62%);
    padding:0 2px;
  }

  .why11-head p{margin:0 auto;font-size:13px;line-height:1.55;color:var(--muted);max-width:460px;}
  .why11-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;}
  .why11-card{
    position:relative;background:#fff;border:1px solid var(--border);border-radius:14px;
    overflow:hidden;display:flex;flex-direction:column;
    transition:box-shadow .4s ease, border-color .35s ease, transform .35s cubic-bezier(.2,.7,.2,1);
    will-change:transform;
  }
  .why11-card:hover{
    transform:translateY(-6px);border-color:rgba(242,197,0,.55);
    box-shadow:0 20px 38px -22px rgba(20,30,60,.28);
  }
  .why11-photo{
    position:relative;aspect-ratio:16/9;overflow:hidden;
    background:linear-gradient(135deg,#eef1f7,#e3e8f2);
  }
  .why11-photo img{
    width:100%;height:100%;object-fit:cover;display:block;
    transition:transform 1s cubic-bezier(.2,.7,.2,1), filter .6s ease;
    filter:saturate(1.02);
  }
  .why11-photo::before{
    content:"";position:absolute;inset:0;
    background:linear-gradient(180deg,transparent 60%,rgba(255,255,255,.12) 100%);
    z-index:1;pointer-events:none;
  }
  .why11-photo::after{
    content:"";position:absolute;top:0;bottom:0;left:-60%;width:55%;
    background:linear-gradient(105deg,transparent 30%,rgba(255,255,255,.45) 50%,transparent 70%);
    transform:skewX(-18deg);transition:left .9s cubic-bezier(.2,.7,.2,1);
    z-index:2;pointer-events:none;
  }
  .why11-card:hover .why11-photo img{transform:scale(1.08);filter:saturate(1.1);}
  .why11-card:hover .why11-photo::after{left:120%;}
  .why11-body{padding:13px 14px 15px;display:flex;flex-direction:column;gap:4px;flex:1;}
  .why11-body h3{
    font-size:13.5px;font-weight:800;margin:0;letter-spacing:-.2px;color:var(--text);
    transition:color .3s ease;
  }
  .why11-card:hover .why11-body h3{color:var(--accent-dark);}
  .why11-body p{font-size:11.5px;line-height:1.5;color:var(--muted);margin:0;}
  .why11-card::after{
    content:"";position:absolute;left:0;bottom:0;height:3px;width:0;
    background:linear-gradient(90deg,var(--accent) 0%,var(--accent-dark) 100%);
    z-index:4;transition:width .5s cubic-bezier(.2,.7,.2,1);
  }
  .why11-card:hover::after{width:100%;}

 
  @media (max-width:900px){
    .why11-head .why11-title{font-size:23px;}
    .why11-grid{grid-template-columns:1fr 1fr;}
  }

  @media (max-width:768px){
    .plans{grid-template-columns:1fr;}
    .plan{padding:18px 16px 16px;}
    .summary{padding:14px 16px;}
  }

  @media (max-width:600px){
    .why11-head .why11-title{font-size:20px;}
    .why11-grid{grid-template-columns:1fr;gap:12px;}
    .why11-body{padding:12px 13px 14px;}
    .why11-body h3{font-size:14px;}
    .why11-body p{font-size:12px;}
  }

  @media (max-width:560px){
    body{padding:16px 10px 40px;}
    h1{font-size:20px;}
    .sub{font-size:12.5px;margin-bottom:18px;}

    .summary{flex-direction:column;align-items:stretch;}
    .summary .total{text-align:left;}
    .summary .info{min-width:0;}
    .btn{width:100%;}

    .modal{padding:32px 12px 12px;padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));}
    .modal-card{padding:26px 18px 22px;border-radius:16px;}
    .modal-card h3{font-size:19px;padding-left:0;padding-right:0;}
    .modal-card .modal-sub{font-size:13px;margin-bottom:18px;}
    .modal-phone{font-size:19px;padding:14px 14px;gap:8px;}
    .modal-close{width:36px;height:36px;top:10px;right:10px;}

    .why11{margin-top:40px;}
    .why11-head{margin-bottom:18px;}
    .why11-head p{font-size:12.5px;}
  }

  @media (max-width:380px){
    body{padding:14px 8px 36px;}
    h1{font-size:18px;}
    .plan{padding:16px 13px 14px;}
    .price{font-size:23px;}
    .features li{font-size:12.5px;}
    .modal-phone{font-size:17px;}
  }

  @media (hover:none){
    .plan:hover{transform:none;box-shadow:none;}
    .why11-card:hover{transform:none;box-shadow:none;border-color:var(--border);}
    .why11-card:hover .why11-photo img{transform:none;filter:saturate(1.02);}
    .why11-card:hover .why11-photo::after{left:-60%;}
    .why11-card:hover::after{width:0;}
    .why11-card:hover .why11-body h3{color:var(--text);}
  }