/* ===== THERGOfit Cart — clean look + brand #143C89 ===== */
:root{
    --thf-primary:#143C89;
    --thf-primary-600:#0F2F6A;      /* hover/active */
    --thf-bg:#F5F7FB;               /* м'який фон секцій */
    --thf-card:#FFFFFF;             /* картки */
    --thf-border:#E4E9F5;           /* бордери/розділювачі */
    --thf-text:#1C2434;             /* основний текст */
    --thf-muted:#5C6A8A;            /* другорядний */
    --thf-shadow:0 10px 30px rgba(20,60,137,.08);
    --thf-radius:16px;
}

/* Контейнер */
.wp-block-woocommerce-cart .wc-block-cart{
    background:var(--thf-bg);
    padding:clamp(16px,3vw,32px);
    color:var(--thf-text);
}

/* Layout columns spacing */
.wc-block-cart .wc-block-cart__main,
.wc-block-cart .wc-block-cart__sidebar {
    gap: clamp(14px,2vw,22px);
}

/* Cart items «картка» */
.wc-block-cart-items{
    background:var(--thf-card);
    border:1px solid var(--thf-border);
    border-radius:var(--thf-radius);
    box-shadow:var(--thf-shadow);
    padding:clamp(14px,2vw,22px);
}

/* Рядок товару */
.wc-block-cart-items__row{
    padding:16px 0;
    border-bottom:1px dashed var(--thf-border);
}
.wc-block-cart-items__row:last-child{border-bottom:0}

/* Зображення */
.wc-block-cart-item__image img{
    border-radius:12px;
    box-shadow:0 6px 18px rgba(12,24,48,.08);
}

/* Назва + мета */
.wc-block-components-product-name{
    color:var(--thf-text);
    font-weight:700;
    text-decoration:none;
    line-height:1.35;
}
.wc-block-components-product-name:hover{color:var(--thf-primary)}
.wc-block-components-product-metadata,
.wc-block-cart-item__detail .wc-block-components-product-price{
    color:var(--thf-muted);
    font-size:.94rem;
}

/* Qty — чисті поля + легкі кнопки */
.wc-block-components-quantity-selector{
    display:inline-flex; align-items:center; gap:8px;
}
.wc-block-components-quantity-selector__button{
    min-width:34px; height:34px; border-radius:10px;
    border:1px solid var(--thf-border);
    background:#fff; color:var(--thf-primary);
}
.wc-block-components-quantity-selector__button:hover{
    border-color:var(--thf-primary);
}
.wc-block-components-quantity-selector__input{
    width:80px;height:38px;text-align:center;border-radius:10px;
    border:1px solid var(--thf-border);
}

/* Remove item */
.wc-block-cart-item__remove-link,.wc-block-cart-item__remove-button{
    border:1px solid var(--thf-border);
    border-radius:999px; padding:6px 10px; background:#fff;
    color:var(--thf-muted);
}
.wc-block-cart-item__remove-link:hover,
.wc-block-cart-item__remove-button:hover{
    background:#ffefef;border-color:#ffbcbc;color:#B42318;
}

/* Totals — картка */
.wc-block-cart__totals,.wc-block-components-totals-wrapper{
    margin-top: 15px;
    background:var(--thf-card);
    border:1px solid var(--thf-border);
    border-radius:var(--thf-radius);
    box-shadow:var(--thf-shadow);
    padding:clamp(16px,2.5vw,26px);
}
.wc-block-cart__totals h2,
.wc-block-components-totals-wrapper h2{
    margin:.25rem 0 1rem;
    font-size:1.15rem;font-weight:800;color:var(--thf-text);
}

/* Totals rows */
.wc-block-components-totals-item,
.wc-block-components-totals-footer-item{
    padding:10px 0;border-bottom:1px dashed var(--thf-border);
}
.wc-block-components-totals-footer-item:last-child{border-bottom:0}
.wc-block-components-totals-item__label{color:var(--thf-muted)}
.wc-block-components-totals-item__value{color:var(--thf-text);font-weight:600}
.wc-block-components-totals-item.order-total .wc-block-components-totals-item__value{
    font-size:1.2rem;font-weight:800;color:var(--thf-text);
}

/* Coupon input */
.wc-block-components-totals-coupon .wc-block-components-text-input input{
    border:1px solid var(--thf-border);border-radius:12px;padding:10px 12px;
}
.wc-block-components-totals-coupon .wc-block-components-button{
    margin-left:8px;
}

/* Головні кнопки (Update/Checkout/Continue) */
.wc-block-components-button,
.wc-block-components-button:not(.is-link){
    background:var(--thf-primary); color:#fff; border:0;
    border-radius:14px; padding:12px 18px; font-weight:800;
    transition:transform .06s ease, background .2s ease, box-shadow .2s ease;
    box-shadow:0 8px 18px rgba(20,60,137,.18);
}
.wc-block-components-button:hover{
    background:var(--thf-primary-600); transform:translateY(-1px);
    box-shadow:0 10px 22px rgba(15,47,106,.22);
}
.wc-block-cart__submit-container .wc-block-components-button{
    width:100%;padding:14px 20px;font-size:1.05rem;
}

/* Banner notices (success/info/error) у світлій темі */
.wc-block-components-notice-banner{
    border-radius:12px; box-shadow:var(--thf-shadow); background:#fff;
    border:1px solid var(--thf-border);
}
.wc-block-components-notice-banner.is-info{border-color:#C9D7F5}
.wc-block-components-notice-banner.is-success{border-color:#B7E4C7}
.wc-block-components-notice-banner.is-error{border-color:#F2C2C2}

/* Mini-cart button/badge (якщо є у хедері) */
.wc-block-mini-cart__button,
.wc-block-mini-cart__badge{ background:var(--thf-primary); color:#fff; }

/* Посилання/ховери в cart */
.wc-block-cart a{ color:var(--thf-primary); }
.wc-block-cart a:hover{ color:var(--thf-primary-600); text-decoration:none; }

/* Мобільні */
@media (max-width: 768px){
    .wc-block-cart,.wc-block-cart-items,.wc-block-cart__totals{padding:16px}
    .wc-block-cart__submit-container{
        position:sticky;bottom:0;
        background:linear-gradient(to top,var(--thf-bg),rgba(245,247,251,0));
        padding-bottom:12px;margin-bottom:-12px;
    }
}

/* Фокусні стани — доступність + бренд */
.wc-block-components-button:focus,
.wc-block-components-text-input input:focus,
.wc-block-components-quantity-selector__input:focus{
    outline:2px solid rgba(20,60,137,.35);
    outline-offset:2px;
    box-shadow:0 0 0 4px rgba(20,60,137,.12);
}


/* === Right sidebar: Coupon + Totals — tidy & centered === */

/* Робимо всю праву колонку трохи компактнішою */
.wc-block-cart__sidebar .wc-block-components-totals-wrapper {
    padding: 18px 18px 20px;
}

/* Заголовки в Totals/купоні — дрібніші, щільніші */
.wc-block-cart__totals h2,
.wc-block-components-totals-wrapper h2 {
    font-size: 0.95rem;
    font-weight: 800;
    letter-spacing: .02em;
    color: #143C89; /* бренд */
    margin: 0 0 10px;
    text-align: center;           /* по центру */
}

/* СЕКЦІЯ КУПОНУ */
.wc-block-components-totals-coupon {
    text-align: center;           /* центр всередині блоку */
}
.wc-block-components-totals-coupon .wc-block-components-text-input,
.wc-block-components-totals-coupon .wc-block-components-select {
    width: 100%;
}
.wc-block-components-totals-coupon .wc-block-components-text-input input,
.wc-block-components-totals-coupon .wc-block-components-select select {
    text-align: center;           /* текст у полі/селекті по центру */
    border: 1px solid #E4E9F5;
    border-radius: 12px;
    height: 42px;
    line-height: 42px;
    font-weight: 600;
}
.wc-block-components-totals-coupon .wc-block-components-button {
    width: 100%;
    margin: 10px 0 0;
    border-radius: 12px;
    background: #143C89;
}

/* Між купоном і сумами — трохи повітря */
.wc-block-components-totals-wrapper .wc-block-components-totals-item {
    padding: 10px 0;
}

/* Підписи рядків — дрібні, приглушені, вирівняні по центру */
.wc-block-components-totals-item__label {
    color: #5C6A8A;
    font-size: .9rem;
    text-align: center;
    width: 100%;
}

/* Значення рядків — по центру та читабельні */
.wc-block-components-totals-item__value {
    color: #1C2434;
    font-weight: 600;
    text-align: center;
    width: 100%;
}

/* ORDER TOTAL — акцент: великий шрифт, щільна картка, все по центру */
.wc-block-components-totals-item.order-total {
    background: #fff;
    border: 1px solid #E4E9F5;
    border-radius: 14px;
    padding: 14px 12px;
    margin-top: 8px;
}
.wc-block-components-totals-item.order-total .wc-block-components-totals-item__label {
    font-size: .92rem;
    color: #143C89;
    font-weight: 800;
    text-transform: none;
    margin-bottom: 4px;
}
.wc-block-components-totals-item.order-total .wc-block-components-totals-item__value {
    font-size: 1.3rem;
    font-weight: 900;
    color: #1C2434;
}

/* Кнопка "Weiter zur Kasse" — широка, центрована, трохи масивніша */
.wc-block-cart__submit-container .wc-block-components-button {
    width: 100%;
    border-radius: 14px;
    padding: 14px 20px;
    font-weight: 800;
    font-size: 1.03rem;
    background: #143C89;
}

/* Внутрішні «білі» картки в Totals — центр тексту */
.wc-block-cart__totals .components-panel__body,
.wc-block-cart__totals .wc-block-components-panel {
    text-align: center;
}

/* Мобільні дрібниці */
@media (max-width: 768px) {
    .wc-block-cart__sidebar .wc-block-components-totals-wrapper { padding: 14px; }
    .wc-block-components-totals-item.order-total { padding: 12px 10px; }
}


/* === Quantity field redesign (– 2 +) with hover === */

.wc-block-components-quantity-selector {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    background: #fff;
    border: 1px solid #E4E9F5;
    border-radius: 12px;
    padding: 4px;
    box-shadow: 0 4px 10px rgba(20,60,137,.05);
    transition: box-shadow .25s ease, border-color .25s ease;
}
.wc-block-components-quantity-selector:hover {
    border-color: #143C89;
    box-shadow: 0 6px 14px rgba(20,60,137,.12);
}

/* Кнопки “+” та “–” */
.wc-block-components-quantity-selector__button {
    width: 34px;
    height: 34px;
    border: none;
    border-radius: 8px;
    background: #F0F3FA;
    color: #143C89;
    font-size: 1.25rem;
    font-weight: 700;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all .25s ease;
}

/* Ефект при наведенні */
.wc-block-components-quantity-selector__button:hover {
    background: #143C89;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 4px 10px rgba(20,60,137,.25);
}

/* Ефект при кліку (active) */
.wc-block-components-quantity-selector__button:active {
    transform: scale(0.94);
    box-shadow: 0 2px 6px rgba(20,60,137,.3);
}

/* Поле з цифрою */
.wc-block-components-quantity-selector__input {
    width: 55px;
    height: 34px;
    border: none;
    background: transparent;
    text-align: center;
    font-weight: 600;
    color: #1C2434;
    font-size: 1rem;
    outline: none;
}

/* Focus — тонкий бренд-ефект */
.wc-block-components-quantity-selector__input:focus {
    outline: 2px solid rgba(20,60,137,.25);
    border-radius: 6px;
}

.alignwide {
    margin-inline: 0!important;
}