/*
Theme Name: Dřevo Habrovany
Theme URI: https://drevohabrovany.cz/
Author: Belion
Author URI: https://senkyrik.me/
Description: Šablona pro web Palivové Dřevo Habrovany (PPS Holding s.r.o.). Jednostránkový web s ceníkem, dopravou, FAQ a poptávkovým formulářem napojeným na SMTP. Obsah plně editovatelný přes ACF.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 8.0
Text Domain: drevo-habrovany
*/

    /* --- Variables --- */
    :root {
      --color-yellow: #FFC836;
      --color-red: #EF1822;
      --color-dark: #1B1A19;
      --color-bg: #FFFBF4;
      --color-white: #fff;
    }

    /* --- Reset & base --- */
    *, *::before, *::after { margin: 0; padding: 0; box-sizing: border-box; }
    html { scroll-behavior: smooth; }
    body {
      font-family: 'Barlow', sans-serif;
      background: var(--color-bg);
      color: var(--color-dark);
      font-size: 18px;
      line-height: 1.65;
    }
    a { color: inherit; text-decoration: none; }

    /* --- Layout container --- */
    .container { max-width: 1280px; margin: 0 auto; padding: 0 32px; }

    /* --- Nav --- */
    .nav {
      background: var(--color-dark);
      position: sticky;
      top: 0;
      z-index: 200;
    }
    .nav__inner {
      display: flex;
      justify-content: space-between;
      align-items: center;
    }
    .nav__logo {
      display: block;
      padding: 8px 0;
    }
    .nav__logo img {
      display: block;
      height: 156px;
      width: auto;
      object-fit: contain;
      transition: height 0.3s ease;
    }
    .nav--scrolled .nav__logo img { height: 96px; }
    .nav__links { display: flex; align-items: center; }
    .nav__links a {
      color: var(--color-yellow);
      padding: 14px 12px;
      font-size: 15px;
      font-weight: 600;
      letter-spacing: 0.8px;
      text-transform: uppercase;
      transition: color 0.15s;
    }
    .nav__links a:hover { color: var(--color-white); }
    .nav__links .nav__cta {
      background: var(--color-yellow);
      color: var(--color-dark);
      margin-left: 10px;
      padding: 10px 22px;
      font-size: 15px;
      font-weight: 700;
    }
    .nav__links .nav__cta:hover { background: var(--color-red); color: var(--color-white); }
    .nav__burger {
      display: none;
      background: none;
      border: none;
      color: var(--color-white);
      font-size: 26px;
      cursor: pointer;
      padding: 14px 0;
    }

    /* --- Mobile menu --- */
    .mobile-menu {
      display: none;
      position: fixed;
      top: 0; left: 0; right: 0; bottom: 0;
      z-index: 500;
      background: rgba(27, 26, 25, 0.92);
      backdrop-filter: blur(16px);
      -webkit-backdrop-filter: blur(16px);
      flex-direction: column;
      justify-content: center;
      align-items: flex-end;
      padding: 32px 32px;
      text-align: right;
    }
    .mobile-menu.open { display: flex; }
    .mobile-menu__close {
      position: absolute;
      top: 20px; right: 24px;
      background: none; border: none;
      color: var(--color-white);
      font-size: 36px;
      cursor: pointer; line-height: 1; z-index: 501;
    }
    .mobile-menu a {
      color: var(--color-yellow);
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 28px; font-weight: 700;
      text-transform: uppercase; letter-spacing: 1.5px;
      padding: 14px 0;
      transition: color 0.15s;
    }
    .mobile-menu a:hover { color: var(--color-white); }
    .mobile-menu .nav__cta {
      margin-top: 20px; text-align: center;
      background: var(--color-yellow); color: var(--color-dark);
      padding: 16px 40px; border-radius: 4px; font-size: 24px;
    }

    /* --- Hero --- */
    .hero { background: var(--color-dark); padding: 64px 32px 72px; }
    .hero__inner {
      display: grid; grid-template-columns: 1fr 420px;
      gap: 48px; align-items: center;
    }
    .hero__title {
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 82px; font-weight: 900; line-height: 0.9;
      color: var(--color-yellow); letter-spacing: -2px;
      text-transform: uppercase; margin-bottom: 28px;
    }
    .hero__specs {
      display: flex; gap: 36px; margin-bottom: 32px;
      padding-bottom: 28px;
      border-bottom: 1px solid rgba(255, 255, 255, 0.08);
    }
    .hero__specs div { font-size: 16px; color: var(--color-white); }
    .hero__specs strong { display: block; color: var(--color-yellow); font-size: 16px; margin-bottom: 2px; }
    .hero__label { font-size: 13px; text-transform: uppercase; letter-spacing: 2.5px; color: var(--color-white); margin-bottom: 8px; }
    .hero__phone {
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 46px; font-weight: 700; color: var(--color-white);
    }
    .hero__phone a:hover { color: var(--color-yellow); }
    .hero__visual { position: relative; display: flex; align-items: center; justify-content: center; }
    .hero__visual--mobile { display: none; }
    .hero__img {
      height: 420px; width: auto;
      display: block; object-fit: contain;
    }

    /* --- Section titles --- */
    .section-title {
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 42px; font-weight: 700;
      color: var(--color-dark); letter-spacing: 0.3px; margin-bottom: 4px;
    }
    .section-title--yellow { color: var(--color-yellow); }
    .section-title--red { color: var(--color-red); }
    .section-subtitle {
      font-size: 14px; text-transform: uppercase;
      letter-spacing: 2px; margin-bottom: 40px;
    }
    .section-subtitle--dark { color: rgba(27, 26, 25, 0.35); }
    .section-subtitle--light { color: var(--color-yellow); }

    /* --- Dodací podmínky --- */
    .section-conditions { background: var(--color-bg); padding: 64px 32px; }
    .cards {
      display: grid; grid-template-columns: repeat(3, 1fr);
      gap: 12px; margin-bottom: 36px;
    }
    .card { background: var(--color-dark); padding: 28px 24px; }
    .card__title {
      font-family: 'Barlow Condensed', sans-serif;
      font-size: 17px; font-weight: 700; color: var(--color-yellow);
      text-transform: uppercase; letter-spacing: 1px; margin-bottom: 14px;
    }
    .card ul { list-style: none; }
    .card li {
      font-size: 16px; color: rgba(255, 255, 255, 0.55);
      padding: 5px 0 5px 18px; position: relative; line-height: 1.5;
    }
    .card li::before { content: '–'; position: absolute; left: 0; color: rgba(255, 255, 255, 0.2); }
    .card li strong { color: rgba(255, 255, 255, 0.88); }
    .card li.sold { color: rgba(255, 255, 255, 0.55); font-size: 14px; font-weight: 600; text-transform: uppercase; }
    .card li.sold::before { color: rgba(255, 255, 255, 0.4); }
    .section-conditions .btn-wrap { text-align: center; }
    .btn {
      display: inline-block; background: var(--color-yellow); color: var(--color-dark);
      font-family: 'Barlow Condensed', sans-serif; font-size: 20px; font-weight: 700;
      letter-spacing: 2px; text-transform: uppercase; padding: 14px 56px;
      border: none; cursor: pointer; transition: background 0.15s, color 0.15s;
    }
    .btn:hover { background: #c9a227; color: var(--color-dark); }

    /* --- Ceník --- */
    .section-pricing { background: var(--color-bg); padding: 80px 32px; }
    .pricing-header { text-align: center; margin-bottom: 48px; }
    .pricing-header .section-title { font-size: 32px; line-height: 1.25; margin-bottom: 6px; }
    .pricing-header .section-subtitle { margin-bottom: 26px; }
    .pricing-map {
      display: block; width: 100%; max-width: 720px; height: auto;
      margin: 0 auto 40px;
      filter: drop-shadow(0 6px 20px rgba(0, 0, 0, 0.11));
    }
    .price-tables-grid {
      display: grid; grid-template-columns: 1fr 1fr;
      gap: 24px; margin-bottom: 40px;
    }
    .price-table-wrap {
      overflow-x: auto; overflow-y: hidden;
      border: 2px solid var(--color-dark); background: var(--color-bg);
    }
    .price-table-wrap .price-table { min-width: 280px; width: 100%; border-collapse: collapse; }
    .pricing-cta { text-align: center; }
    .pricing-cta--inline { display: none; text-align: center; margin-top: 24px; }
    @media (max-width: 768px) {
      .price-tables-grid { grid-template-columns: 1fr; gap: 40px; }
      .pricing-cta--main { display: none; }
      .pricing-cta--inline { display: block; }
      .pricing-cta--inline .btn { width: 100%; font-size: 22px; padding: 16px 0; }
      .price-table-wrap { margin: 0 -20px; max-width: none; border-left: none; border-right: none; }
      .price-table__head { padding: 12px 14px; font-size: 13px; }
      .price-table thead th { padding: 10px 8px; font-size: 11px; min-width: 68px; }
      .price-table thead th:first-child { min-width: 0; }
      .price-table td { padding: 12px 8px; font-size: 14px; min-width: 68px; }
      .price-table td:first-child { font-size: 13px; line-height: 1.35; min-width: 0; max-width: 110px; }
      .price-table .price { font-size: 17px; }
      .price-table__footer { font-size: 12px; }
    }
    .price-table__head {
      background: var(--color-dark); color: var(--color-white);
      padding: 14px 20px; font-family: 'Barlow Condensed', sans-serif;
      font-size: 16px; font-weight: 600; letter-spacing: 1px; text-transform: uppercase;
    }
    .price-table__head span { color: var(--color-yellow); }
    .price-table { width: 100%; border-collapse: collapse; background: var(--color-bg); }
    .price-table thead th {
      background: var(--color-bg); padding: 12px 16px;
      font-size: 13px; font-weight: 700; text-transform: uppercase;
      letter-spacing: 0.8px; color: var(--color-red);
      border-bottom: 1px solid rgba(27, 26, 25, 0.1); text-align: center;
    }
    .price-table thead th:first-child { text-align: left; font-weight: 500; }
    .price-table thead th:not(:first-child) { font-weight: 700; }
    .price-table tbody tr { border-bottom: 1px solid rgba(27, 26, 25, 0.07); }
    .price-table tbody tr:last-child { border-bottom: none; }
    .price-table td { padding: 13px 16px; font-size: 16px; text-align: center; color: var(--color-dark); }
    .price-table td:first-child { text-align: left; font-weight: 500; }
    .price-table .price { font-family: 'Barlow Condensed', sans-serif; font-size: 20px; font-weight: 700; white-space: nowrap; }
    .price-table .price-na { color: rgba(27, 26, 25, 0.22); font-size: 14px; white-space: nowrap; }
    .price-table__extra {
      background: var(--color-dark); color: var(--color-white);
      padding: 12px 20px; font-family: 'Barlow Condensed', sans-serif;
      font-size: 16px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px;
      border-top: 1px solid rgba(27, 26, 25, 0.1);
    }
    .price-table__extra-desc {
      padding: 14px 20px; font-size: 16px; color: var(--color-dark);
      background: var(--color-bg); border-bottom: 1px solid rgba(27, 26, 25, 0.08);
    }
    .price-table__footer {
      padding: 12px 16px; font-size: 14px; color: rgba(27, 26, 25, 0.5);
      background: var(--color-bg); border-top: 1px solid rgba(27, 26, 25, 0.12); text-align: center;
    }

    /* --- Doprava --- */
    .section-delivery { background: var(--color-dark); padding: 80px 32px; }
    .section-delivery .section-subtitle { margin-bottom: 32px; }
    .delivery__inner { display: grid; grid-template-columns: 1fr 380px; gap: 64px; align-items: start; }
    .delivery-block { margin-bottom: 28px; }
    .delivery-block h3 {
      font-family: 'Barlow Condensed', sans-serif; font-size: 19px; font-weight: 700;
      color: rgba(255, 255, 255, 0.88); text-transform: uppercase; letter-spacing: 0.8px; margin-bottom: 10px;
    }
    .delivery-block ul { list-style: none; }
    .delivery-block li {
      font-size: 16px; color: var(--color-white);
      padding: 6px 0 6px 24px; position: relative;
      border-bottom: 1px solid rgba(255, 255, 255, 0.05);
    }
    .delivery-block li:last-child { border-bottom: none; }
    .delivery-block li::before { content: '✓'; position: absolute; left: 0; color: var(--color-yellow); font-weight: 700; }
    .delivery-block .contact-note { font-size: 15px; color: rgba(255, 255, 255, 0.4); margin-top: 8px; }
    .delivery-block .contact-note a { color: var(--color-yellow); font-weight: 600; }
    .delivery__img { height: 360px; display: flex; align-items: center; justify-content: center; overflow: hidden; }
    .delivery__img img { width: auto; height: 100%; max-width: 100%; object-fit: contain; object-position: center center; }

    /* --- Proč topit dřevem --- */
    .section-why { background: var(--color-bg); padding: 80px 32px; }
    .why-grid { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; margin-top: 44px; }
    .why-card { padding: 0 24px; border-right: 1px solid var(--color-red); }
    .why-card:last-child { border-right: none; }
    .why-card .num {
      font-family: 'Barlow Condensed', sans-serif; font-size: 54px;
      font-weight: 900; color: var(--color-red); line-height: 1; margin-bottom: 10px;
    }
    .why-card h3 {
      font-family: 'Barlow Condensed', sans-serif; font-size: 18px; font-weight: 700;
      color: var(--color-dark); text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 8px;
    }
    .why-card p { font-size: 16px; color: rgba(27, 26, 25, 0.52); line-height: 1.65; }

    /* --- Kde sídlíme --- */
    .section-place { background: var(--color-bg); padding: 80px 32px; }
    .place__inner { display: grid; grid-template-columns: 1fr 1fr; gap: 56px; align-items: start; }
    .place .section-subtitle { margin-bottom: 24px; }
    .place__text { font-size: 17px; color: rgba(27, 26, 25, 0.6); line-height: 1.7; margin-bottom: 10px; }
    .place__text strong { color: var(--color-dark); }
    .place__phone {
      font-family: 'Barlow Condensed', sans-serif; font-size: 38px;
      font-weight: 700; color: var(--color-red); display: block; margin-top: 20px;
    }
    .place__phone:hover { color: var(--color-dark); }
    .place__hours { font-size: 14px; color: rgba(27, 26, 25, 0.38); margin-top: 4px; text-transform: uppercase; letter-spacing: 0.8px; }
    .place__map { height: 340px; overflow: hidden; border: 1px solid rgba(27, 26, 25, 0.1); }
    .place__map iframe { width: 100%; height: 100%; border: 0; display: block; }

    /* --- FAQ --- */
    .section-faq { background: var(--color-dark); padding: 80px 32px; }
    .faq-list { border-top: 1px solid rgba(255, 255, 255, 0.07); }
    .faq-item { border-bottom: 1px solid rgba(255, 255, 255, 0.07); }
    .faq-item.open .faq-item__icon { transform: rotate(45deg); }
    .faq-item.open .faq-item__answer { display: block; }
    .faq-item.open .faq-item__q { color: var(--color-white); }
    .faq-item__q {
      width: 100%; background: none; border: none; text-align: left;
      padding: 20px 0; display: flex; justify-content: space-between;
      align-items: center; cursor: pointer; font-family: 'Barlow', sans-serif;
      font-size: 17px; font-weight: 500; color: rgba(255, 255, 255, 0.7);
      gap: 16px; transition: color 0.15s;
    }
    .faq-item__q:hover { color: var(--color-white); }
    .faq-item__icon { font-size: 26px; color: var(--color-yellow); flex-shrink: 0; transition: transform 0.2s; line-height: 1; }
    .faq-item__answer {
      display: none; padding: 0 0 22px 0; margin: 0 0 0 32px;
      font-size: 16px; color: var(--color-white); line-height: 1.75; max-width: 820px;
    }
    .faq-item__answer strong { color: var(--color-white); font-weight: 600; }

    /* --- Kontakt --- */
    .section-contact { background: var(--color-dark); padding: 80px 32px; }
    .section-contact .section-title { color: var(--color-white); }
    .section-contact .section-subtitle { margin-bottom: 36px; color: rgba(255, 255, 255, 0.5); }
    .contact-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
    .contact-card { background: transparent; padding: 28px 24px; border: 2px solid var(--color-yellow); }
    .contact-card__label {
      font-size: 14px; text-transform: uppercase; letter-spacing: 2.5px;
      color: var(--color-yellow); margin-bottom: 12px; font-weight: 700;
    }
    .contact-card__value {
      font-family: 'Barlow Condensed', sans-serif; font-size: 26px;
      font-weight: 700; color: var(--color-white); line-height: 1.3;
    }
    .contact-card__value a { color: var(--color-white); }
    .contact-card__value a:hover { color: var(--color-yellow); }
    .contact-card__note { font-size: 15px; color: var(--color-yellow); margin-top: 6px; line-height: 1.5; }

    /* --- Pricing accordion --- */
    .pricing-extra-accordion { margin-top: 32px; text-align: center; }
    .pricing-extra__toggle {
      display: inline-flex; align-items: center; gap: 10px;
      background: none; border: 2px solid var(--color-dark);
      padding: 12px 32px; font-family: 'Barlow Condensed', sans-serif;
      font-size: 18px; font-weight: 700; text-transform: uppercase; letter-spacing: 1px;
      color: var(--color-dark); cursor: pointer; transition: background 0.15s, color 0.15s;
    }
    .pricing-extra__toggle:hover { background: var(--color-dark); color: var(--color-yellow); }
    .pricing-extra__toggle:hover .pricing-extra__icon { color: var(--color-yellow); }
    .pricing-extra__icon { font-size: 22px; transition: transform 0.2s; }
    .pricing-extra__toggle.open .pricing-extra__icon { transform: rotate(45deg); }
    .pricing-extra__content { display: none; margin-top: 24px; }
    .pricing-extra__content.open { display: block; }

    /* --- Modal --- */
    .modal-overlay {
      display: none; position: fixed;
      top: 0; left: 0; right: 0; bottom: 0;
      background: rgba(0, 0, 0, 0.6); z-index: 1000;
      align-items: center; justify-content: center; padding: 20px;
    }
    .modal-overlay.open { display: flex; }
    .modal {
      background: var(--color-bg); max-width: 560px; width: 100%;
      max-height: 90vh; overflow-y: auto; padding: 40px 36px; position: relative;
    }
    .modal__close {
      position: absolute; top: 12px; right: 16px;
      background: none; border: none; font-size: 28px;
      cursor: pointer; color: var(--color-dark); line-height: 1;
    }
    .modal__close:hover { color: var(--color-red); }
    .modal__title {
      font-family: 'Barlow Condensed', sans-serif; font-size: 32px;
      font-weight: 700; text-transform: uppercase; color: var(--color-dark); margin-bottom: 12px;
    }
    .modal__desc { font-size: 16px; color: rgba(27, 26, 25, 0.6); line-height: 1.6; margin-bottom: 20px; }
    .modal__desc a { color: var(--color-red); font-weight: 600; }
    .modal__form { display: flex; flex-direction: column; gap: 14px; }
    .modal__field { display: flex; flex-direction: column; gap: 4px; }
    .modal__field label {
      font-size: 13px; font-weight: 600; text-transform: uppercase;
      letter-spacing: 0.5px; color: var(--color-dark);
    }
    .modal__field input,
    .modal__field select,
    .modal__field textarea {
      font-family: 'Barlow', sans-serif; font-size: 16px; padding: 12px 14px;
      border: 2px solid rgba(27, 26, 25, 0.15); background: var(--color-white);
      color: var(--color-dark); transition: border-color 0.15s;
    }
    .modal__field input:focus,
    .modal__field select:focus,
    .modal__field textarea:focus { outline: none; border-color: var(--color-yellow); }
    .modal__field textarea { min-height: 100px; resize: vertical; }
    .modal__submit {
      display: inline-block; background: var(--color-yellow); color: var(--color-dark);
      font-family: 'Barlow Condensed', sans-serif; font-size: 20px; font-weight: 700;
      letter-spacing: 2px; text-transform: uppercase; padding: 14px 56px;
      border: none; cursor: pointer; transition: background 0.15s;
      margin-top: 8px; align-self: flex-start;
    }
    .modal__submit:hover { background: #c9a227; }

    /* --- Footer --- */
    .footer { background: var(--color-dark); padding: 22px 32px; border-top: 2px solid rgba(255, 200, 54, 0.18); }
    .footer__inner {
      display: flex; justify-content: space-between; align-items: center;
      flex-wrap: wrap; gap: 12px; font-size: 15px; color: rgba(255, 255, 255, 0.28);
    }
    .footer__logo { display: block; flex-shrink: 0; }
    .footer__logo img { display: block; height: 100px; width: auto; object-fit: contain; }
    .footer__links { display: flex; gap: 20px; }
    .footer__links a { color: rgba(255, 255, 255, 0.32); transition: color 0.15s; }
    .footer__links a:hover { color: var(--color-yellow); }

    /* --- VOP page --- */
    .section-vop { padding: 64px 32px 80px; }
    .vop-content { max-width: 860px; margin: 0 auto; }
    .vop-content h1 {
      font-family: 'Barlow Condensed', sans-serif; font-size: 40px; font-weight: 900;
      text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 12px; color: var(--color-dark);
    }
    .vop-breadcrumb { font-size: 14px; color: rgba(27,26,25,0.4); margin-bottom: 40px; }
    .vop-breadcrumb a { color: var(--color-red); }
    .vop-supplier {
      background: var(--color-dark); color: var(--color-white);
      padding: 24px 28px; margin-bottom: 40px;
      border-left: 4px solid var(--color-yellow);
    }
    .vop-content .vop-supplier p { font-size: 16px; line-height: 1.7; color: rgba(255,255,255,0.8); }
    .vop-content .vop-supplier p strong { color: var(--color-yellow); }
    .vop-content h2 {
      font-family: 'Barlow Condensed', sans-serif; font-size: 22px; font-weight: 700;
      text-transform: uppercase; letter-spacing: 0.5px; color: var(--color-dark);
      margin: 36px 0 10px; border-bottom: 2px solid var(--color-yellow); padding-bottom: 6px;
    }
    .vop-content h3 {
      font-family: 'Barlow Condensed', sans-serif; font-size: 18px; font-weight: 600;
      letter-spacing: 0.3px; color: var(--color-dark); margin: 22px 0 6px;
    }
    .vop-meta { font-size: 13px; color: rgba(27,26,25,0.45); margin-bottom: 28px; text-transform: uppercase; letter-spacing: 0.6px; }
    .vop-meta span { margin-right: 16px; }
    .vop-toc { background: rgba(27,26,25,0.03); padding: 20px 26px; margin-bottom: 44px; border-left: 4px solid var(--color-red); }
    .vop-toc h2 { margin-top: 0; }
    .vop-toc ol { margin: 0; }
    .vop-content .vop-toc ol li::before { content: counter(vop-counter, upper-roman) '.'; }
    .vop-content .vop-toc a { text-decoration: none; }
    .vop-content .vop-toc a:hover { text-decoration: underline; }
    .vop-content p { font-size: 16px; line-height: 1.75; color: rgba(27,26,25,0.75); margin-bottom: 14px; }
    .vop-content ul, .vop-content ol { margin: 0 0 16px 0; padding-left: 0; list-style: none; }
    .vop-content ul li, .vop-content ol li {
      font-size: 16px; line-height: 1.75; color: rgba(27,26,25,0.75);
      padding: 4px 0 4px 22px; position: relative;
    }
    .vop-content ul li::before { content: '–'; position: absolute; left: 0; color: var(--color-red); font-weight: 700; }
    .vop-content ol { counter-reset: vop-counter; }
    .vop-content ol li { counter-increment: vop-counter; }
    .vop-content ol li::before { content: counter(vop-counter) '.'; position: absolute; left: 0; color: var(--color-red); font-weight: 700; font-size: 15px; }
    .vop-content strong { color: var(--color-dark); font-weight: 600; }
    .vop-content a { color: var(--color-red); text-decoration: underline; }

    /* --- 404 page --- */
    .section-404 {
      background: var(--color-dark); min-height: 70vh;
      display: flex; align-items: center; justify-content: center;
      text-align: center; padding: 80px 32px;
    }
    .error-404__code {
      font-family: 'Barlow Condensed', sans-serif; font-size: 160px;
      font-weight: 900; color: var(--color-yellow); line-height: 1;
      margin-bottom: 8px;
    }
    .error-404__title {
      font-family: 'Barlow Condensed', sans-serif; font-size: 32px;
      font-weight: 700; color: var(--color-white); text-transform: uppercase; margin-bottom: 20px;
    }
    .error-404__text { font-size: 16px; color: rgba(255,255,255,0.5); margin-bottom: 36px; }

    /* --- Responsive --- */
    @media (max-width: 1024px) {
      .hero__inner, .delivery__inner, .place__inner { grid-template-columns: 1fr; }
      .hero__inner { display: block; }
      .hero__visual--desktop { display: none; }
      .hero__visual--mobile { display: block; text-align: center; margin: 24px 0; }
      .hero__img { width: 100%; max-width: 160px; height: auto; max-height: none; margin: 0 auto; }
      .why-grid { grid-template-columns: repeat(2, 1fr); gap: 0; }
      .why-card:nth-child(2), .why-card:nth-child(4) { border-right: none; }
      .why-card:nth-child(1), .why-card:nth-child(2) { border-bottom: 1px solid var(--color-red); padding-bottom: 24px; }
    }
    @media (max-width: 768px) {
      .section-title { font-size: 36px; }
      .pricing-header .section-title { font-size: 28px; }
      .hero__title { font-size: 52px; line-height: 1.2; letter-spacing: 0.5px; }
      .hero__specs { flex-direction: column; gap: 6px; margin-bottom: 20px; padding: 16px; background: rgba(255,255,255,0.05); border-bottom: none; border-radius: 6px; }
      .hero__specs div { font-size: 16px; line-height: 1.4; min-width: 0; }
      .hero__specs strong { font-size: 16px; display: inline; }
      .hero__label { font-size: 13px; margin-top: 8px; }
      .hero__phone { font-size: 36px; }
      .section-subtitle { font-size: 13px; }
      .contact-card__value { font-size: 22px; }
      .place__phone { font-size: 32px; }
      .cards { grid-template-columns: 1fr; }
      .contact-grid { grid-template-columns: 1fr; }
      .why-grid { grid-template-columns: repeat(2, 1fr); }
      .why-card { padding: 0 16px 24px; }
      .why-card:nth-child(odd) { border-right: 1px solid var(--color-red); }
      .why-card:nth-child(2) { border-right: none; }
      .nav__links { display: none; }
      .nav__burger { display: block; }
      .hero, .section-conditions, .section-pricing, .section-delivery,
      .section-why, .section-place, .section-faq, .section-contact { padding: 56px 20px; }
      .footer { padding: 24px 20px; }
      .footer__inner { flex-direction: column; align-items: center; text-align: center; gap: 16px; }
      .footer__logo img { height: 72px; }
      .footer__links { justify-content: center; gap: 16px; flex-wrap: wrap; }
      .section-vop { padding: 40px 20px 60px; }
      .vop-content h1 { font-size: 30px; }
    }
    @media (max-width: 480px) {
      .section-title { font-size: 30px; }
      .pricing-header .section-title { font-size: 24px; }
      .hero__title { font-size: 40px; line-height: 1.2; letter-spacing: 0.8px; }
      .hero__specs div, .hero__specs strong { font-size: 14px; }
      .hero__specs { gap: 4px; padding: 12px; }
      .hero__phone { font-size: 28px; }
      .mobile-menu a { font-size: 22px; }
      .btn { font-size: 18px; padding: 12px 40px; }
      .contact-card__value { font-size: 20px; }
      .place__phone { font-size: 28px; }
      .footer__inner { font-size: 13px; }
      .why-grid { grid-template-columns: 1fr; }
      .why-card { border-right: none !important; border-bottom: 1px solid var(--color-red); padding: 0 0 24px; }
      .why-card:last-child { border-bottom: none; }
      .error-404__code { font-size: 100px; }
    }

    /* --- WP/ACF kompatibilita (WYSIWYG výstup bez původních tříd) --- */
    .place p { font-size: 17px; color: rgba(27, 26, 25, 0.6); line-height: 1.7; margin-bottom: 10px; }
    .place p strong { color: var(--color-dark); }
    .modal__desc p { margin-bottom: 12px; }
    .modal__desc p:last-child { margin-bottom: 0; }
    .vop-supplier p { margin: 0; }
