/**
 * Cart + Checkout — jagatud stiilid.
 * Kasutusel mõlemal lehel: kreem-paneelid, form-väljad, nupud, notice.
 */

/* ───────────────────────────────────────────────────────────────────
 * Lehe-laius (sinu kindel reegel)
 * ─────────────────────────────────────────────────────────────────── */

.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce {
    max-width: var(--wp--style--global--wide-size) !important;
    margin-left: auto;
    margin-right: auto;
}

/* ───────────────────────────────────────────────────────────────────
 * Pealkirjad
 * ─────────────────────────────────────────────────────────────────── */

.woocommerce-cart h1.wp-block-post-title,
.woocommerce-checkout h1.wp-block-post-title {
    font-family: var(--wp--preset--font-family--posada);
    color: var(--wp--preset--color--deep-charcoal);
    margin: 0 0 1.5rem;
}

/* ───────────────────────────────────────────────────────────────────
 * Üldised form-väljad (mõlemas vormis)
 * ─────────────────────────────────────────────────────────────────── */

.bubblos-cart .form-row,
.bubblos-checkout .form-row {
    margin: 0 0 1rem;
    padding: 0;
}

.bubblos-cart .form-row label,
.bubblos-checkout .form-row label {
    display: block;
    margin-bottom: 0.4rem;
    font-weight: 600;
    font-size: 0.9rem;
    color: var(--wp--preset--color--deep-charcoal);
}

.bubblos-cart .form-row .required,
.bubblos-checkout .form-row .required {
    color: var(--wp--preset--color--carnival-orange-dark);
    text-decoration: none;
    margin-left: 0.2rem;
}

.bubblos-cart .form-row .optional,
.bubblos-checkout .form-row .optional {
    color: var(--wp--preset--color--body-text-light);
    font-weight: 400;
    font-size: 0.85rem;
}

.bubblos-cart .input-text,
.bubblos-checkout .input-text,
.bubblos-cart input[type="text"],
.bubblos-cart input[type="email"],
.bubblos-cart input[type="tel"],
.bubblos-cart input[type="number"],
.bubblos-cart input[type="date"],
.bubblos-cart textarea,
.bubblos-cart select,
.bubblos-checkout input[type="text"],
.bubblos-checkout input[type="email"],
.bubblos-checkout input[type="tel"],
.bubblos-checkout input[type="number"],
.bubblos-checkout input[type="date"],
.bubblos-checkout textarea,
.bubblos-checkout select {
    width: 100%;
    padding: 0.7rem 0.9rem;
    border: 2px solid var(--bubblos-border);
    border-radius: var(--bubblos-radius-md);
    background: var(--wp--preset--color--white);
    font-family: var(--wp--preset--font-family--roboto);
    font-size: 1rem;
    color: var(--wp--preset--color--deep-charcoal);
    transition: border-color 0.15s ease;
}

.bubblos-cart .input-text:focus,
.bubblos-checkout .input-text:focus,
.bubblos-cart input:focus,
.bubblos-cart textarea:focus,
.bubblos-cart select:focus,
.bubblos-checkout input:focus,
.bubblos-checkout textarea:focus,
.bubblos-checkout select:focus {
    outline: none;
    border-color: var(--wp--preset--color--carnival-orange);
}

.bubblos-cart textarea,
.bubblos-checkout textarea {
    min-height: 80px;
    resize: vertical;
}

/* Select2 (riigi-dropdown) */
.bubblos-checkout .select2-container--default .select2-selection--single {
    height: auto;
    padding: 0.4rem 0.5rem;
    border: 2px solid var(--bubblos-border);
    border-radius: var(--bubblos-radius-md);
    background: var(--wp--preset--color--white);
}

.bubblos-checkout .select2-container--default .select2-selection--single .select2-selection__rendered {
    padding: 0;
    line-height: 1.6;
    color: var(--wp--preset--color--deep-charcoal);
}

.bubblos-checkout .select2-container--default .select2-selection--single .select2-selection__arrow {
    top: 50%;
    transform: translateY(-50%);
}

.bubblos-checkout .select2-container--default.select2-container--open .select2-selection--single,
.bubblos-checkout .select2-container--default.select2-container--focus .select2-selection--single {
    border-color: var(--wp--preset--color--carnival-orange);
}

/* WC float-loogika kahe-veerulise field-row jaoks */
.bubblos-cart .form-row-first,
.bubblos-checkout .form-row-first {
    width: calc(50% - 0.5rem);
    float: left;
    margin-right: 1rem;
    clear: left;
}

.bubblos-cart .form-row-last,
.bubblos-checkout .form-row-last {
    width: calc(50% - 0.5rem);
    float: left;
}

.bubblos-cart .form-row-wide,
.bubblos-checkout .form-row-wide,
.bubblos-cart .form-row.clear,
.bubblos-checkout .form-row.clear {
    clear: both;
    width: 100%;
    float: none;
}

@media (max-width: 600px) {
    .bubblos-cart .form-row-first,
    .bubblos-cart .form-row-last,
    .bubblos-checkout .form-row-first,
    .bubblos-checkout .form-row-last {
        width: 100%;
        float: none;
        margin-right: 0;
    }
}

/* ───────────────────────────────────────────────────────────────────
 * Kreem-paneeli mixin (kasutatakse mõlemal lehel mitmes kohas)
 * ─────────────────────────────────────────────────────────────────── */

.bubblos-cart__form,
.bubblos-cart__totals,
.bubblos-checkout__customer,
.bubblos-checkout .bubblos-quote-fields,
.bubblos-checkout__review {
    background: var(--wp--preset--color--vintage-cream);
    border-radius: var(--bubblos-radius-lg);
    box-shadow: var(--bubblos-shadow);
}

/* ───────────────────────────────────────────────────────────────────
 * h3 pealkirjad paneelides
 * ─────────────────────────────────────────────────────────────────── */

.bubblos-checkout__customer h3,
.bubblos-checkout .bubblos-quote-fields h3,
.bubblos-cart__totals-title,
.bubblos-checkout__review-title {
    font-family: var(--wp--preset--font-family--posada);
    font-size: 1.25rem;
    color: var(--wp--preset--color--deep-charcoal);
    margin: 0 0 1rem;
    padding-bottom: 0.6rem;
    border-bottom: 2px solid var(--bubblos-border);
}

/* ───────────────────────────────────────────────────────────────────
 * Nupud (üldine "alt"/primary stiil)
 * ─────────────────────────────────────────────────────────────────── */

.bubblos-cart button.button,
.bubblos-checkout button.button,
.bubblos-cart input[type="submit"].button,
.bubblos-checkout input[type="submit"].button {
    display: inline-block;
    padding: 0.65rem 1.25rem;
    background: var(--wp--preset--color--white);
    color: var(--wp--preset--color--deep-charcoal);
    border: 2px solid var(--bubblos-border);
    border-radius: var(--bubblos-radius-md);
    font-family: var(--wp--preset--font-family--posada);
    font-size: 0.95rem;
    letter-spacing: 0.03em;
    cursor: pointer;
    transition: all 0.15s ease;
    text-decoration: none;
    line-height: 1.4;
}

.bubblos-cart button.button:hover:not(:disabled),
.bubblos-checkout button.button:hover:not(:disabled) {
    border-color: var(--wp--preset--color--carnival-orange);
    color: var(--wp--preset--color--carnival-orange-dark);
    background: var(--wp--preset--color--white);
}

.bubblos-cart button.button:disabled,
.bubblos-checkout button.button:disabled {
    opacity: 0.5;
    cursor: not-allowed;
}

/* Primary nupp (place-order, esita päring, mine maksma) */
.bubblos-cart__checkout-btn,
.bubblos-checkout #place_order {
    display: block;
   
    padding: 0.95rem 1.25rem;
    background: var(--wp--preset--color--carnival-orange);
    color: var(--wp--preset--color--white);
    border: 2px solid transparent;
    border-radius: var(--bubblos-radius-md);
    font-family: var(--wp--preset--font-family--posada);
    font-size: 1.1rem;
    letter-spacing: 0.04em;
    text-align: center;
    text-decoration: none;
    cursor: pointer;
    transition: all 0.2s ease;
}

.bubblos-cart__checkout-btn:hover,
.bubblos-checkout #place_order:hover {
    background: var(--wp--preset--color--carnival-orange-dark);
    color: var(--wp--preset--color--white);
    transform: translateY(-1px);
    box-shadow: 0 6px 16px rgba(232, 136, 56, 0.3);
}

.bubblos-cart__checkout-btn--quote,
.bubblos-checkout--quote #place_order {
    background: var(--wp--preset--color--circus-teal-dark);
}

.bubblos-cart__checkout-btn--quote:hover,
.bubblos-checkout--quote #place_order:hover {
    background: var(--wp--preset--color--deep-charcoal);
    box-shadow: 0 6px 16px rgba(26, 52, 56, 0.25);
}

/* ───────────────────────────────────────────────────────────────────
 * WC notices (success, error, info)
 * ─────────────────────────────────────────────────────────────────── */

.woocommerce-cart .woocommerce-error,
.woocommerce-cart .woocommerce-info,
.woocommerce-cart .woocommerce-message,
.woocommerce-checkout .woocommerce-error,
.woocommerce-checkout .woocommerce-info,
.woocommerce-checkout .woocommerce-message {
    list-style: none;
    padding: 1rem 1.25rem;
    border-radius: var(--bubblos-radius-md);
    margin: 0 0 1.5rem;
    background: var(--wp--preset--color--vintage-cream);
    border-left: 4px solid var(--wp--preset--color--carnival-orange);
    color: var(--wp--preset--color--deep-charcoal);
}

.woocommerce-error {
    border-left-color: #c0392b;
    background: rgba(192, 57, 43, 0.06);
}

.woocommerce-message {
    border-left-color: var(--wp--preset--color--sage-green);
    background: rgba(139, 168, 126, 0.08);
}

.woocommerce-info {
    border-left-color: var(--wp--preset--color--circus-teal);
    background: rgba(90, 154, 168, 0.08);
}