.checkout-form { max-width: 500px; margin: 30px auto; background: #fafafa; padding: 24px 32px; border-radius: 8px; }
.checkout-form label { display:block; margin-bottom:8px; font-weight:500; }
.checkout-form input, .checkout-form textarea, .checkout-form select { width:100%; margin-bottom:16px; padding:8px; border-radius:4px; border:1px solid #ccc; }
.checkout-form select { background: #fff; font-size: 1em; color: #222; }
.checkout-form button { padding:10px 24px; background:#1976d2; color:#fff; border:none; border-radius:4px; font-size:1em; cursor:pointer; }
.checkout-form button:hover { background:#125ea8; }
.order-summary { margin-bottom: 24px; }
.coupon-row { display: flex; align-items: center; gap: 10px; margin-bottom: 10px; }
.coupon-row input[type="text"] { padding:8px;border-radius:4px;border:1px solid #bbb; }
.coupon-row button { padding:8px 14px;background:#388e3c;color:#fff;border:none;border-radius:4px;cursor:pointer; }
.coupon-row span { color:#388e3c;font-weight:bold;margin-left:10px; }
.checkout-form label[for="country"] + span { display: none; }

    .modal {
      position: fixed;
      z-index: 1000;
      left: 0; top: 0;
      width: 100vw; height: 100vh;
      background: rgba(0,0,0,0.4);
      display: flex;
      align-items: center;
      justify-content: center;
    }
    .modal-content {
      background: #fff;
      padding: 20px;
      border-radius: 8px;
      max-width: 500px;
      width: 100%;
      box-shadow: 0 4px 8px rgba(0,0,0,0.2);
    }
    .options-list {
      list-style: none;
      padding: 0;
    }
    .options-list li {
      padding: 10px;
      margin: 8px 0;
      border: 1px solid #ddd;
      border-radius: 6px;
      cursor: pointer;
      transition: background 0.2s;
    }
    .options-list li:hover {
      background: #f0f0f0;
    }
    .close {
      float: right;
      font-size: 24px;
      cursor: pointer;
    }

/* === MOBILNÍ DESIGN - MODERNÍ RESPONSIVITA === */
@media (max-width: 700px) {
    body {
        background: #f7f9fc;
    }
    .container {
        padding: 0;
        margin: 0;
        width: 100vw;
        min-height: 100vh;
    }
    .order-summary {
        margin: 0 auto 24px auto;
        background: #fff;
        border-radius: 18px;
        box-shadow: 0 4px 16px rgba(0,0,0,0.10);
        padding: 18px 8px;
        max-width: 98vw;
        text-align: center;
    }
    .order-summary table {
        width: 100%;
        border-collapse: separate;
        border-spacing: 0 0;
        font-size: 1.08em;
        background: none;
    }
    .order-summary tbody tr {
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: flex-start;
        background: #fff;
        margin-bottom: 14px;
        border-radius: 14px;
        box-shadow: 0 2px 12px rgba(0,0,0,0.07);
        border: 1px solid #e0e0e0;
        min-height: 80px;
        padding: 0;
    }
    .order-summary tbody td {
        border: none;
        background: none;
        padding: 10px 8px;
        font-size: 1.08em;
        display: flex;
        align-items: center;
        justify-content: center;
        text-align: left;
    }
    .order-summary tbody td:first-child {
        flex: 0 0 70px;
        justify-content: center;
        align-items: center;
        padding-right: 0;
    }
    .order-summary tbody td img {
        max-width: 60px;
        max-height: 60px;
        border-radius: 10px;
        box-shadow: 0 2px 8px rgba(0,0,0,0.10);
        margin: 0;
    }
    .order-summary tbody td:nth-child(2) {
        flex: 2 1 0;
        font-weight: 700;
        font-size: 1.13em;
        color: #222;
        margin-bottom: 0;
        align-items: flex-start;
        justify-content: center;
        text-align: left;
        padding-left: 8px;
    }
    .order-summary tbody td:nth-child(3) {
        flex: 1 1 0;
        font-weight: bold;
        color: #1976d2;
        font-size: 1.13em;
        align-items: flex-end;
        justify-content: center;
        text-align: right;
        padding-left: 8px;
    }
    .order-summary tbody td:nth-child(4) {
        flex: 0 0 40px;
        font-size: 1.08em;
        color: #444;
        text-align: center;
        justify-content: center;
        align-items: center;
        padding-left: 8px;
    }
    .order-summary tbody td:nth-child(5) {
        display: none; /* Skryj celkovou cenu za produkt */
    }
    .order-summary tfoot tr {
        background: #f5f5f5;
        border-radius: 12px;
        box-shadow: none;
        margin-bottom: 0;
        padding: 0;
        display: flex;
        flex-direction: row;
        align-items: center;
        justify-content: center;
    }
    .order-summary tfoot td {
        font-size: 1.12em;
        font-weight: bold;
        color: #1976d2;
        padding: 14px 8px;
        text-align: center;
        border: none;
    }
    .order-summary tfoot tr:first-child td:nth-child(3),
    .order-summary tfoot tr:first-child td:nth-child(4),
    .order-summary tfoot tr:first-child td:nth-child(5) {
        display: none !important;
    }
    .coupon-row {
        flex-direction: column;
        align-items: stretch;
        gap: 8px;
        margin-bottom: 14px;
        width: 100%;
        text-align: center;
        justify-content: center;
    }
    .coupon-row input[type="text"] {
        width: 100%;
        font-size: 1.08em;
        padding: 14px;
        border-radius: 8px;
        border: 1px solid #bbb;
        margin-bottom: 0;
        text-align: left;
        box-sizing: border-box;
    }
    .coupon-row button {
        width: 100%;
        font-size: 1.08em;
        padding: 14px 0;
        border-radius: 8px;
        background: #388e3c;
        color: #fff;
        font-weight: 600;
        box-shadow: 0 2px 8px rgba(0,0,0,0.07);
        margin-bottom: 0;
        margin-left: 0;
        align-self: stretch;
        display: block;
    }
    .coupon-row span {
        display: block;
        margin-left: 0;
        margin-top: 6px;
        font-size: 1em;
        text-align: center;
        width: 100%;
    }
    .checkout-form {
        max-width: 98vw;
        margin: 0 auto 24px auto;
        background: #fff;
        padding: 18px 10px;
        border-radius: 18px;
        box-shadow: 0 4px 16px rgba(0,0,0,0.10);
        text-align: center;
    }
    .checkout-form label {
        font-size: 1.12em;
        margin-bottom: 10px;
        font-weight: 600;
        text-align: left;
        display: block;
    }
    .checkout-form input,
    .checkout-form textarea,
    .checkout-form select {
        width: 100%;
        padding: 12px;
        font-size: 1.08em;
        margin-bottom: 14px;
        border-radius: 8px;
        border: 1px solid #bbb;
        background: #fafafa;
        box-sizing: border-box;
        text-align: left;
    }
    .checkout-form button {
        width: 100%;
        font-size: 1.15em;
        padding: 14px 0;
        border-radius: 10px;
        background: #1976d2;
        color: #fff;
        font-weight: 700;
        letter-spacing: 0.5px;
        box-shadow: 0 2px 8px rgba(0,0,0,0.07);
        margin-top: 10px;
        margin-bottom: 4px;
    }
    .checkout-form button:hover {
        background: #125ea8;
    }
    fieldset {
        border-radius: 10px;
        border: 1px solid #e0e0e0;
        padding: 14px 8px;
        margin-bottom: 18px;
        background: #f7f9fc;
    }
    legend {
        font-size: 1.12em;
        font-weight: bold;
        color: #1976d2;
        margin-bottom: 8px;
        text-align: left;
    }
    .modal-content {
        max-width: 98vw;
        padding: 14px 8px;
        border-radius: 12px;
        box-shadow: 0 2px 12px rgba(0,0,0,0.10);
    }
    .options-list li {
        padding: 14px;
        margin: 10px 0;
        font-size: 1.08em;
        border-radius: 10px;
        border: 1px solid #ddd;
        background: #fafafa;
        text-align: center;
        transition: background 0.2s;
    }
    .options-list li:hover {
        background: #e0e0e0;
    }
    .close {
        font-size: 32px;
        color: #1976d2;
        cursor: pointer;
        margin-bottom: 8px;
    }
    /* Zlepši oddělení sekcí */
    .order-summary,
    .checkout-form,
    .modal-content {
        margin-bottom: 28px;
    }
    .checkout-summary-row {
        display: flex;
        justify-content: flex-end;
        align-items: center;
        gap: 32px;
        margin: 12px 0 24px 0;
        font-size: 1.18em;
        font-weight: bold;
        color: #1976d2;
        background: #f5f5f5;
        border-radius: 12px;
        padding: 18px 18px;
        box-shadow: 0 2px 8px rgba(0,0,0,0.07);
        text-align: right;
    }
    .checkout-summary-row span {
        display: flex;
        align-items: center;
        gap: 8px;
    }
    .checkout-summary-row #delivery-summary,
    .checkout-summary-row #total-summary {
        color: #222;
        font-weight: bold;
        font-size: 1.13em;
    }

    /* Mobilní úpravy */
    @media (max-width: 700px) {
        .checkout-summary-row {
            flex-direction: column;
            align-items: flex-end;
            gap: 10px;
            font-size: 1.08em;
            padding: 12px 8px;
            margin: 10px 0 18px 0;
            border-radius: 10px;
            text-align: right;
        }
        .checkout-summary-row span {
            gap: 6px;
        }
        .checkout-summary-row #delivery-summary,
        .checkout-summary-row #total-summary {
            font-size: 1.08em;
        }
    }
}

/* Extra malé mobily */
@media (max-width: 480px) {
    .container {
        padding: 0;
    }
    .order-summary,
    .checkout-form {
        padding: 8px 2px;
        border-radius: 12px;
        margin-bottom: 10px;
    }
    .order-summary td,
    .checkout-form input,
    .checkout-form textarea,
    .checkout-form select {
        padding: 8px 4px;
        font-size: 1em;
    }
    .order-summary td img {
        max-width: 44px;
        max-height: 44px;
    }
    .coupon-row button {
        font-size: 1em;
        padding: 8px 0;
        border-radius: 8px;
    }
    .modal-content {
        padding: 8px 2px;
        border-radius: 10px;
    }
    .options-list li {
        padding: 8px;
        font-size: 1em;
        border-radius: 8px;
    }
}

.checkout-coupon-summary-wrap {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    margin-top: 0;
    margin-bottom: 0;
}
.checkout-coupon-summary {
    min-width: 340px;
    max-width: 480px;
    width: 100%;
}

@media (max-width: 700px) {
    .checkout-coupon-summary-wrap {
        display: block;
        justify-content: unset;
        align-items: unset;
        width: 100%;
        margin-top: 0;
        margin-bottom: 0;
    }
    .checkout-coupon-summary {
        min-width: 0;
        max-width: 100vw;
        width: 100%;
    }
}

