/*
Theme Name: Trivale Trail Child
Theme URI: https://www.trivaletrail.ro/
Author: AMP
Author URI: https://www.idealsys.ro/
Description: Child theme pentru site-ul Trivale Trail, bazat pe Twenty Twenty-Five.
Requires at least: 6.9
Tested up to: 6.9
Requires PHP: 8.1
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Template: twentytwentyfive
Text Domain: trivale-trail-child
Tags:
*/

:root {
  --tt-font-heading: "Platypi", Georgia, serif;
  --tt-font-body: "Ysabeau Office", Arial, sans-serif;

  --tt-color-link: #FFAA00;
  --tt-color-link-hover: #FF5500;

  --tt-color-add-to-cart-text: #FFFFFF;
  --tt-color-add-to-cart-bg: #A44400;
  --tt-color-add-to-cart-hover-bg: #FF5500;

  --tt-color-cart-card-text: #0D1812;
  --tt-color-cart-card-bg: #f5f3ee;
  --tt-color-cart-summary-bg: #f5f3ee;
  --tt-color-empty-cart: #AA0000;

  --inscriere-btn-bg: #d8b84e;
  --inscriere-btn-bg-hover: #b99632;
  --inscriere-btn-text: #061a10;

  /* off canvas */
  --tt-color-ink: #0d1812;
  --tt-color-white: #ffffff;

  /* cart */
  --tt-color-danger: #AA0000;

  --tt-color-price-pill-bg: #FFFFFF;
  --tt-color-price-pill-border: #e8d6b8;

  /* buton finalizare comanda */
  --tt-color-cta-bg: #d8b84e;
  --tt-color-cta-bg-hover: #FF5500;
  --tt-color-cta-bg-hover-alt: #2d4a2f;
  --tt-color-cta-text: #000000;
  --tt-color-cta-text-hover: #fff3df;
  --tt-color-cta-border: #e8d6b8;

  --tt-color-focus-ring: rgba(200, 169, 110, 0.15);
  --tt-color-shadow-strong: rgba(0, 0, 0, 0.90);
  --tt-color-shadow-soft: rgba(0, 0, 0, 0.10);
  --tt-color-shadow-button: rgba(0, 0, 0, 0.18);

  /* pagina checkout */
  --tt-color-input-bg: #f9f9f7;
  --tt-color-checkout-panel-bg: #f5f3ee;
  --tt-color-checkout-table-head-bg: #1a2e1c;
  --tt-color-notice-bg: #faf8f0;

  --tt-color-accent-gold: #c8a96e;
  --tt-color-accent-gold-alt: #c8a96f;
  --tt-color-border-light: #e0d8c8;
  --tt-color-border-subtle: #e5e0d5;
  --tt-color-border-dark: #2a3f2b;

  --tt-color-text-black: #000000;
  --tt-color-text-strong: #0D1812;
  --tt-color-text-body: #2c2c2a;
  --tt-color-text-form: #3a3a2a;
  --tt-color-text-muted: #b0b0a0;
  --tt-color-separator-muted: #b0b0a0;
  
  /* erori finalizare */
  --tt-color-error-bg: #fff1f1;
  --tt-color-error-border: #d92332;
  --tt-color-error-icon: #d92332;
  --tt-color-error-text: #1a1a1a;
  --tt-color-error-muted: #fff;
}

/* =========================================================
   Reset stiluri
========================================================= */

body,
button,
input,
select,
textarea {
  font-family: var(--tt-font-body);
  font-weight: 400;
  letter-spacing: 0;
  font-synthesis: none;
}

h1,
h2,
h3,
h4,
.wp-block-heading {
  font-family: var(--tt-font-heading);
  font-weight: 700;
  letter-spacing: 0;
  font-synthesis: none;
}

p {
  text-align: justify;
}

/* Marime meniuri */
.menu a,
.nav a,
.header-menu a {
  font-size: clamp(13px, 1vw, 16px) !important;
}

/* LOGO dimensiuni */
.wp-block-site-logo {
  flex-shrink: 0;
}

.wp-block-site-logo img.custom-logo {
  width: 234px !important;
  max-width: none !important;
  height: auto !important;
}

/* Border off pe link-uri */
a:focus:not(:focus-visible),
a:active {
  outline: none !important;
  box-shadow: none !important;
  border: none !important;
}

/* Culori trigger off-canvas */
.wp-block-kadence-off-canvas-trigger {
  color: var(--tt-color-ink) !important;
  background-color: var(--tt-color-white) !important;
}

/* =========================================================
   Product page
========================================================= */

/* Background coloana galerie produs */
.single-product .wp-block-column:has(.wp-block-woocommerce-product-image-gallery) {
  background: none;
}

/* Buton adauga in cos */
.single-product button.single_add_to_cart_button {
  background-color: var(--tt-color-add-to-cart-bg) !important;
  color: var(--tt-color-add-to-cart-text) !important;
  border: 2px solid var(--tt-color-add-to-cart-bg) !important;
  border-radius: 24px !important;
  padding: 12px 48px !important;
  font-weight: 600 !important;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.single-product button.single_add_to_cart_button:hover {
  background-color: var(--tt-color-add-to-cart-hover-bg) !important;
  border-color: var(--tt-color-add-to-cart-hover-bg) !important;
  color: var(--tt-color-add-to-cart-text) !important;
}

/* Butoane produse similare */
.wp-block-woocommerce-product-button .wc-block-components-product-button__button {
  background-color: var(--inscriere-btn-bg) !important;
  color: var(--inscriere-btn-text) !important;
}

.wp-block-woocommerce-product-button .wc-block-components-product-button__button:hover {
  background-color: var(--inscriere-btn-bg-hover) !important;
  color: var(--inscriere-btn-text) !important;
}

/* =========================================================
   PPOM - afisare inline pentru campuri radio
========================================================= */

.ppom-field-wrapper[data-type="radio"] .form-check {
  display: inline-flex;
  align-items: center;
  margin-right: 2.5em;
  margin-bottom: 0;
}

.ppom-field-wrapper[data-type="radio"] .form-check-label {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-bottom: 0;
}

.ppom-field-wrapper[data-type="radio"] .form-check-input {
  margin: 0;
}

/* Ascunde titlurile PPOM doar pentru checkbox-urile de acorduri */
.ppom-wrapper_outer-apt_medical > .form-group > .form-control-label,
.ppom-wrapper_outer-accept_regulament > .form-group > .form-control-label,
.ppom-wrapper_outer-accept_gdpr > .form-group > .form-control-label,
.ppom-wrapper_outer-date_reale > .form-group > .form-control-label {
  display: none !important;
}

/* =========================================================
   PPOM / WooCommerce - compactare spatieri formulare
========================================================= */

.ppom-section-collapse .ppom-wrapper_outer-apt_medical {
  margin-top: 22px !important;
}

.ppom-wrapper .form-group {
  margin: 3px 0;
  padding: 0;
}

.woocommerce form .form-row label {
  margin: 0;
  padding: 0;
}

/* Compactare acorduri */
.ppom-wrapper_outer-apt_medical .form-group,
.ppom-wrapper_outer-accept_regulament .form-group,
.ppom-wrapper_outer-accept_gdpr .form-group,
.ppom-wrapper_outer-date_reale .form-group,
.ppom-wrapper_outer-apt_medical .form-check-inline,
.ppom-wrapper_outer-accept_regulament .form-check-inline,
.ppom-wrapper_outer-accept_gdpr .form-check-inline,
.ppom-wrapper_outer-date_reale .form-check-inline,
.ppom-wrapper_outer-apt_medical .form-check-label,
.ppom-wrapper_outer-accept_regulament .form-check-label,
.ppom-wrapper_outer-accept_gdpr .form-check-label,
.ppom-wrapper_outer-date_reale .form-check-label,
.ppom-wrapper_outer-apt_medical .ppom-label-checkbox,
.ppom-wrapper_outer-accept_regulament .ppom-label-checkbox,
.ppom-wrapper_outer-accept_gdpr .ppom-label-checkbox,
.ppom-wrapper_outer-date_reale .ppom-label-checkbox {
  margin: 2px 0 !important;
  padding: 0 2px !important;
  line-height: 1.2 !important;
}

.tt-product-page-links {
  color: var(--tt-color-link) !important;
}

.tt-product-page-links:hover {
  color: var(--tt-color-link-hover) !important;
  text-decoration: none !important;
}

/* =========================================================
   WooCommerce Single Product - spatiere miniaturi galerie
========================================================= */

.single-product ol.flex-control-nav.flex-control-thumbs li {
  margin: 12px 0 0 12px !important;
}

/* =========================================================
   WooCommerce Cart
========================================================= */

/* Elemente WooCommerce pe care nu le folosim */
.woocommerce-cart table.cart th.product-quantity,
.woocommerce-cart table.cart td.product-quantity,
.woocommerce-cart table.cart th.product-subtotal,
.woocommerce-cart table.cart td.product-subtotal,
.woocommerce-cart table.cart td.actions,
.woocommerce-cart table.cart tr:has(td.actions),
.woocommerce-cart button[name="update_cart"],
.woocommerce-cart .wc-block-cart__totals-title {
  display: none !important;
}

.woocommerce-cart .entry-content .woocommerce-notices-wrapper:empty,
.woocommerce-cart .wc-block-store-notices:empty {
  display: none;
}

/* Layout general */
.woocommerce-cart .wp-block-post-title.alignwide,
.woocommerce-cart .entry-content > .woocommerce {
  max-width: 1100px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: 24px;
  padding-right: 24px;
  box-sizing: border-box;
}

.woocommerce-cart .entry-content > .woocommerce {
  display: grid;
  grid-template-columns: minmax(520px, 1fr) 480px;
  column-gap: 48px;
  align-items: start;
  min-width: 0;
}

.woocommerce-cart .woocommerce > .woocommerce-notices-wrapper {
  grid-column: 1 / -1;
}

.woocommerce-cart form.woocommerce-cart-form {
  min-width: 0;
}

/* Lista produse */
.woocommerce-cart table.shop_table.woocommerce-cart-form__contents {
  display: block;
  width: 100%;
  max-width: none;
  margin: 0;
  border: 0;
  border-spacing: 0;
  background: transparent;
}

.woocommerce-cart table.shop_table.woocommerce-cart-form__contents thead {
  display: none;
}

.woocommerce-cart table.shop_table.woocommerce-cart-form__contents tbody {
  display: block;
}

.woocommerce-cart table.shop_table tr.cart_item {
  display: grid;
  grid-template-columns: 34px 118px minmax(0, 1fr) 126px;
  margin-bottom: 14px;
  color: var(--tt-color-cart-card-text);
  background: var(--tt-color-cart-card-bg);
  border: 1px solid var(--tt-color-border-light);
  border-radius: 6px;
  overflow: hidden;
  box-shadow: none;
}

.woocommerce-cart table.shop_table tr.cart_item:last-child {
  margin-bottom: 0;
}

.woocommerce-cart table.shop_table tr.cart_item td {
  background: transparent;
  border: 0 !important;
  padding: 14px 12px;
  vertical-align: top;
}

.woocommerce-cart table.shop_table tr.cart_item td.product-remove,
.woocommerce-cart table.shop_table tr.cart_item td.product-price {
  border-radius: 0 !important;
}

/* Imagine produs */
.woocommerce-cart td.product-thumbnail {
  width: 118px;
  min-width: 118px;
}

.woocommerce-cart td.product-thumbnail img {
  width: 96px !important;
  height: auto !important;
  aspect-ratio: 3 / 4 !important;
  object-fit: cover !important;
  border-radius: 4px;
  display: block;
}

/* Detalii produs */
.woocommerce-cart td.product-name {
  min-width: 0;
}

.woocommerce-cart td.product-name a {
  display: inline-block;
  margin-bottom: 8px;
  color: var(--tt-color-cart-card-text);
  font-size: 18px;
  line-height: 1.25;
  font-weight: 600;
  text-decoration: none;
}

.woocommerce-cart td.product-name dl.variation {
  display: grid;
  grid-template-columns: max-content minmax(0, 1fr);
  column-gap: 14px;
  row-gap: 2px;
  margin: 0;
  color: var(--tt-color-cart-card-text);
  font-size: 15px;
  line-height: 1.35;
}

.woocommerce-cart td.product-name dl.variation dt,
.woocommerce-cart td.product-name dl.variation dd {
  float: none !important;
  clear: none !important;
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-cart td.product-name dl.variation dt {
  font-weight: 500;
}

.woocommerce-cart td.product-name dl.variation dd,
.woocommerce-cart td.product-name dl.variation dd p {
  margin: 0;
  overflow-wrap: break-word;
}

/* Pret produs */
.woocommerce-cart td.product-price {
  white-space: nowrap;
  text-align: right;
  color: var(--tt-color-text-strong);
  font-size: 15px;
  font-weight: 600;
  letter-spacing: 1px;
}

.woocommerce-cart td.product-price .amount {
  display: inline-block;
  color: var(--tt-color-text-strong);
  line-height: 1;
  font-size: 15px;
  font-weight: 600;
  padding: 7px 10px;
  background: var(--tt-color-price-pill-bg);
  border: 1px solid var(--tt-color-price-pill-border);
  border-radius: 999px;
}

/* Stergere produs */
.woocommerce a.remove {
  color: inherit !important;
}

.woocommerce a.remove:hover {
  color: var(--tt-color-danger) !important;
  background: transparent !important;
}

.woocommerce-cart td.product-remove a.remove {
  display: inline-block;
  width: 22px;
  height: 22px;
  margin-top: 2px;
  color: var(--tt-color-danger) !important;
  border-radius: 50%;
  font-size: 24px;
  line-height: 20px;
  font-weight: 400;
  text-align: center;
  text-decoration: none;
  opacity: 0.75;
}

/* Sumar */
.woocommerce-cart .cart-collaterals,
.woocommerce-cart .cart-collaterals .cart_totals {
  width: 100%;
  margin: 0;
}

.woocommerce-cart .cart-collaterals .cart_totals {
  max-width: none;
  padding: 0;
  background: var(--tt-color-cart-summary-bg);
  border: 1px solid var(--tt-color-border-light);
  border-radius: 6px;
  overflow: hidden;
  box-shadow: none;
  position: sticky;
  top: 24px;
}

/* Text inainte de buton 
.woocommerce-cart .wc-proceed-to-checkout::before {
  content: " ";
  display: block;
  margin-bottom: 12px;
  color: var(--tt-color-accent-gold);
  font-size: 13px;
  line-height: 1.2;
  letter-spacing: 1.4px;
  text-transform: uppercase;
  font-weight: 600;
}*/

.woocommerce-cart .cart-collaterals .cart_totals h2 {
  display: block !important;
  margin: 0;
  padding: 12px 0 8px 22px;
  color: var(--tt-color-cart-card-text);
  border-bottom: 1px solid var(--tt-color-border-light);
  font-size: 13px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 600;
}

.woocommerce-cart .cart-collaterals .cart_totals table {
  width: calc(100% - 44px);
  margin: 0 22px;
  background: var(--tt-color-checkout-panel-bg);
  border: 0;
  border-collapse: collapse;
  border-radius: 6px;
  overflow: hidden;
}

.woocommerce-cart .cart-collaterals .cart_totals table tbody {
  display: table-row-group;
}

.woocommerce-cart .cart-collaterals .cart_totals th,
.woocommerce-cart .cart-collaterals .cart_totals td {
  padding: 12px 14px;
  background: var(--tt-color-checkout-panel-bg);
  color: var(--tt-color-text-strong);
  border-top: 1px solid var(--tt-color-border-light) !important;
  font-size: 15px;
  text-align: right !important;
}

.woocommerce-cart .cart-collaterals .cart_totals tr:first-child th,
.woocommerce-cart .cart-collaterals .cart_totals tr:first-child td {
  border-top: 0 !important;
}

.woocommerce-cart .cart-collaterals .order-total th,
.woocommerce-cart .cart-collaterals .order-total td {
  font-size: 16px;
  font-weight: 600;
  letter-spacing: 1px;
}

/* Buton finalizare */
.woocommerce-cart .wc-proceed-to-checkout {
  margin-top: 16px;
  padding: 0 22px;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
  display: block;
  width: 100%;
  margin: 0;
  padding: 14px 0 !important;
  background: var(--tt-color-cta-bg) !important;
  color: var(--tt-color-cta-text) !important;
  border: none !important;
  border-radius: 3px !important;
  box-shadow: none;
  font-size: 12px !important;
  line-height: 1.35;
  letter-spacing: 2px !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  white-space: normal;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover {
  background: var(--tt-color-cta-bg-hover) !important;
  color: var(--tt-color-cta-text-hover) !important;
}

.woocommerce-cart .wc-proceed-to-checkout::after {
  content: "🔒  Plată securizată";
  display: flex;
  justify-content: center;
  gap: 6px;
  margin-top: 10px;
  color: var(--tt-color-text-muted);
  font-family: var(--tt-font-body);
  font-size: 14px;
  letter-spacing: 0.05em;
}

/* Golire cos */
.woocommerce-cart .tt-empty-cart-wrap {
  margin-top: 14px;
  margin-bottom: 8px;
  padding-left: 22px;
  padding-right: 22px;
  text-align: left;
}

.woocommerce-cart .tt-empty-cart-link {
  color: var(--tt-color-empty-cart);
  font-family: var(--tt-font-body);
  font-size: 14px;
  text-decoration: none;
  opacity: 0.9;
  transition: opacity 0.2s;
}

.woocommerce-cart .tt-empty-cart-link:hover {
  opacity: 1;
}


/* =========================================================
   Checkout - Card sumar comanda
========================================================= */

.woocommerce-checkout-review-order-table .product-name dl.variation {
  display: grid;
  grid-template-columns: max-content 1fr;
  column-gap: 14px;
  row-gap: 2px;
  margin: 8px 0 0;
  font-size: 16px;
  line-height: 1.35;
}

.woocommerce-checkout-review-order-table .product-name dl.variation dt,
.woocommerce-checkout-review-order-table .product-name dl.variation dd {
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  padding: 0 !important;
  width: auto !important;
}

.woocommerce-checkout-review-order-table .product-name dl.variation dd p {
  margin: 0 !important;
  padding: 0 !important;
}

.woocommerce-checkout-review-order-table .product-name dl.variation dt {
  font-weight: 400;
}

.woocommerce-checkout-review-order-table tr.cart_item td {
  padding-top: 14px;
  padding-bottom: 14px;
}

/* =========================================================
   Checkout - layout 2 coloane: formular stanga, sumar dreapta
========================================================= */

/* === 1. LAYOUT: Billing stanga, Order dreapta === */

.woocommerce-checkout form.checkout {
  display: grid !important;
  grid-template-columns: minmax(560px, 680px) 360px;
  grid-template-areas:
    "billing heading"
    "billing review";
  column-gap: 44px;
  align-items: start;
  max-width: 1080px;
  margin: 0 auto;
  padding: 0 24px;
}

/* Customer details (billing) - coloana stanga */
.col2-set#customer_details {
  grid-area: billing;
  display: block !important;
  width: 100% !important;
  float: none !important;
}

.col2-set#customer_details .col-1 {
  width: 100% !important;
  float: none !important;
}

/* col-2 (shipping/notes) - ascunde daca e gol */
.col2-set#customer_details .col-2 {
  display: none;
}

/* Titlul "Comanda ta" - coloana dreapta sus */
h3#order_review_heading {
  grid-area: heading;
  font-size: 14px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--tt-color-accent-gold);
  border-bottom: 1px solid var(--tt-color-border-light);
  padding-bottom: 10px;
  margin-bottom: 16px;
}

/* Rezumatul comenzii - coloana dreapta jos, sticky */
#order_review.woocommerce-checkout-review-order {
  grid-area: review;
  position: sticky;
  top: 24px;
}

/* === 2. BILLING FIELDS - stilizare campuri === */

.woocommerce-billing-fields h3 {
  font-size: 14px;
  letter-spacing: 2px;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--tt-color-accent-gold);
  border-bottom: 1px solid var(--tt-color-border-light);
  padding-bottom: 10px;
  margin-bottom: 20px;
}

.woocommerce-billing-fields__field-wrapper {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 16px;
}

.woocommerce-billing-fields__field-wrapper .form-row-wide {
  grid-column: 1 / -1;
}

.woocommerce-checkout .form-row label {
  font-size: 12px;
  letter-spacing: 1.2px;
  text-transform: uppercase;
  font-weight: 500;
  color: var(--tt-color-accent-gold-alt);
  margin-bottom: 4px;
}

.woocommerce-checkout .form-row input.input-text,
.woocommerce-checkout .form-row select,
.woocommerce-checkout .select2-container .select2-selection--single {
  border: 1px solid var(--tt-color-border-dark) !important;
  border-radius: 3px !important;
  padding: 9px 12px !important;
  font-size: 14px;
  background: var(--tt-color-input-bg);
  transition: border-color 0.15s;
  width: 100% !important;
  box-sizing: border-box;
}

.woocommerce-checkout .form-row input.input-text:focus,
.woocommerce-checkout .form-row select:focus {
  border-color: var(--tt-color-accent-gold) !important;
  outline: none;
  box-shadow: 0 0 0 2px var(--tt-color-focus-ring);
}

/* Select2 height fix */
.woocommerce-checkout .select2-container--default
  .select2-selection--single {
  height: 42px !important;
  display: flex !important;
  align-items: center !important;
  border: 1px solid var(--tt-color-border-dark) !important;
  border-radius: 3px !important;
  background: var(--tt-color-input-bg) !important;
}

.woocommerce-checkout .select2-container--default
  .select2-selection--single .select2-selection__rendered {
  line-height: normal !important;
  padding: 0 !important;
  position: static !important;
  display: block !important;
  width: 100%;
  color: var(--tt-color-text-black);
}

.woocommerce-checkout .select2-container--default
  .select2-selection--single .select2-selection__arrow {
  height: 100% !important;
  top: 0 !important;
}

/* === 3. TABELUL COMENZII === */

.woocommerce-checkout-review-order-table {
  width: 100%;
  border-collapse: collapse;
  font-size: 16px;
  background: var(--tt-color-checkout-panel-bg);
  border-radius: 6px;
  overflow: hidden;
}

.woocommerce-checkout-review-order-table thead th {
  background: var(--tt-color-checkout-table-head-bg);
  color: var(--tt-color-accent-gold);
  font-size: 12px;
  letter-spacing: 2px;
  text-transform: uppercase;
  padding: 10px 14px;
  text-align: left;
  font-weight: 600;
}

.woocommerce-checkout-review-order-table tbody .cart_item td {
  padding: 12px 14px;
  border-bottom: 1px solid var(--tt-color-border-subtle);
  vertical-align: top;
  color: var(--tt-color-text-body);
}

.woocommerce-checkout-review-order-table .product-name {
  font-weight: 500;
  line-height: 1.4;
}

/* Variatiile (Sex, Nume, etc.) */
.woocommerce-checkout-review-order-table .variation {
  margin: 6px 0 0;
  font-size: 11px;
}

.woocommerce-checkout-review-order-table .variation dt,
.woocommerce-checkout-review-order-table .variation dd {
  display: inline;
  margin: 0;
  color: var(--tt-color-text-strong);
}

.woocommerce-checkout-review-order-table .variation dt::after {
  content: ' ';
}

.woocommerce-checkout-review-order-table .variation dd::after {
  content: ' ';
  color: var(--tt-color-separator-muted);
}

.woocommerce-checkout-review-order-table .variation dd:last-child::after {
  content: '';
}

.woocommerce-checkout-review-order-table .variation dd p {
  display: inline;
  margin: 0;
}

/* Pretul */
.woocommerce-checkout-review-order-table .product-total {
  text-align: right;
  white-space: nowrap;
  font-weight: 600;
  color: var(--tt-color-text-muted);
}

/* Footer tabel (subtotal, total) */
.woocommerce-checkout-review-order-table tfoot tr th,
.woocommerce-checkout-review-order-table tfoot tr td {
  padding: 8px 14px;
  font-size: 14px;
  color: var(--tt-color-text-strong);
  border-top: 1px solid var(--tt-color-border-light);
}

.woocommerce-checkout-review-order-table tfoot .order-total th,
.woocommerce-checkout-review-order-table tfoot .order-total td {
  font-size: 16px;
  font-weight: 700;
  color: var(--tt-color-checkout-table-head-bg);
  border-top: 2px solid var(--tt-color-border-dark);
  padding-top: 12px;
}

.woocommerce-checkout-review-order-table tfoot .order-total
  .woocommerce-Price-amount {
  color: var(--tt-color-text-strong);
}

/* === 4. SECTIUNEA DE PLATA === */

#payment {
  background: var(--tt-color-checkout-panel-bg);
  border-radius: 6px;
  margin-top: 16px;
  overflow: hidden;
}

#payment .wc_payment_methods {
  list-style: none;
  padding: 0;
  margin: 0;
}

#payment .wc-block-components-notice-banner {
  margin: 0;
  border-radius: 0;
  border: none;
  border-bottom: 1px solid var(--tt-color-border-light);
  background: var(--tt-color-notice-bg);
  font-size: 12px;
}

/* Terms & conditions */
/* Terms & privacy */
.woocommerce-checkout .woocommerce-terms-and-conditions-wrapper {
  padding: 0;
}

.woocommerce-checkout .woocommerce-privacy-policy-text,
.woocommerce-checkout .woocommerce-privacy-policy-text p {
  margin: 0 0 12px;
  color: var(--tt-color-text-muted);
  font-size: 13px;
  line-height: 1.45;
  letter-spacing: 0.2px;
  text-transform: none;
}

.woocommerce-checkout #payment .woocommerce-form__label-for-checkbox {
  display: flex;
  align-items: flex-start;
  gap: 4px;
  margin: 0;
  color: var(--tt-color-text-muted);
  font-size: 13px !important;
  line-height: 1.45 !important;
  letter-spacing: 0.1px !important;
  text-transform: none !important;
  cursor: pointer;
  text-align: left;
}

.woocommerce-checkout #payment .woocommerce-form__label-for-checkbox input[type="checkbox"] {
  flex: 0 0 auto;
  margin-top: 3px;
}

.woocommerce-checkout #payment .woocommerce-form__label-for-checkbox span,
.woocommerce-checkout #payment .woocommerce-form__label-for-checkbox a,
.woocommerce-checkout .woocommerce-privacy-policy-text a {
  display: inline !important;
  color: inherit;
  font: inherit !important;
  line-height: inherit !important;
  letter-spacing: inherit !important;
  text-transform: inherit !important;
  text-decoration: none !important;
}

.woocommerce-checkout #payment .woocommerce-form__label-for-checkbox a,
.woocommerce-checkout .woocommerce-privacy-policy-text a {
  color: var(--tt-color-link) !important;
  font-weight: 600;
}

.woocommerce-checkout #payment .woocommerce-form__label-for-checkbox a:hover,
.woocommerce-checkout .woocommerce-privacy-policy-text a:hover {
  color: var(--tt-color-link-hover) !important;
}


/* Butonul principal */
#place_order {
  display: block;
  width: calc(100% - 28px);
  margin: 14px 14px 0;
  background: var(--tt-color-cta-bg) !important;
  color: var(--tt-color-cta-text) !important;
  border: none !important;
  padding: 14px !important;
  font-size: 12px !important;
  letter-spacing: 3px !important;
  text-transform: uppercase !important;
  font-weight: 700 !important;
  border-radius: 3px !important;
  cursor: pointer;
  transition: background 0.2s !important;
}

#place_order:hover {
  background: var(--tt-color-cta-bg-hover) !important;
  color: var(--tt-color-white) !important;
}

/* Checkout - erori WooCommerce blocks */
.woocommerce-checkout .woocommerce-NoticeGroup-checkout
  .wc-block-components-notice-banner.is-error {
  margin: 22px 0 22px;
  padding: 18px 22px !important;
  background: var(--tt-color-error-bg) !important;
  border: 1px solid var(--tt-color-error-border) !important;
  border-radius: 4px;
  color: var(--tt-color-error-text) !important;
  align-items: flex-start;
}

.woocommerce-checkout .wc-block-components-notice-banner.is-error svg,
.woocommerce-checkout .wc-block-components-notice-banner.is-error svg path {
  color: var(--tt-color-error-icon) !important;
  fill: var(--tt-color-error-icon) !important;
}

.woocommerce-checkout .wc-block-components-notice-banner.is-error
  .wc-block-components-notice-banner__summary {
  font-size: 16px !important;
  line-height: 1.35;
}

.woocommerce-checkout .wc-block-components-notice-banner.is-error
  .wc-block-components-notice-banner__content,
.woocommerce-checkout .wc-block-components-notice-banner.is-error p,
.woocommerce-checkout .wc-block-components-notice-banner.is-error li,
.woocommerce-checkout .wc-block-components-notice-banner.is-error a,
.woocommerce-checkout .wc-block-components-notice-banner.is-error strong {
  font-size: 15px !important;
  line-height: 1.45;
  color: var(--tt-color-error-text) !important;
}

.woocommerce-checkout .wc-block-components-notice-banner.is-error ul {
  margin: 8px 0 0;
  padding-left: 22px;
}

.woocommerce-checkout .wc-block-components-notice-banner.is-error a {
  text-decoration: none !important;
}

.woocommerce-checkout .wc-block-components-notice-banner.is-error strong {
  font-weight: 600;
}

/* Checkout - erori inline campuri */
.woocommerce-checkout .form-row.woocommerce-invalid label {
  color: var(--tt-color-accent-gold-alt) !important;
}

.woocommerce-checkout .form-row.woocommerce-invalid input.input-text,
.woocommerce-checkout .form-row.woocommerce-invalid select,
.woocommerce-checkout .form-row.woocommerce-invalid .select2-selection {
  border-color: var(--tt-color-error-muted) !important;
  box-shadow: 0 0 0 1px rgba(215, 120, 85, 0.25);
}

/* Ascunde mesajele inline care rup grila */
.woocommerce-checkout .checkout-inline-error-message {
  display: none !important;
}

/* =========================================================
   Responsive Tableta    
========================================================= */

@media (max-width: 1180px) {
  .woocommerce-cart .woocommerce,
  .woocommerce-cart .entry-content > .woocommerce {
    min-width: 0 !important;
  }

  .woocommerce-cart .entry-content > .woocommerce {
    grid-template-columns: 1fr;
    max-width: 760px;
    row-gap: 34px;
  }

  .woocommerce-cart form.woocommerce-cart-form {
    width: 100%;
  }

  .woocommerce-cart .cart-collaterals {
    float: none !important;
    max-width: 100%;
    margin: 0 auto;
  }

  .woocommerce-cart .cart-collaterals .cart_totals {
    float: none !important;
    position: static;
    padding-top: 3px;
    padding-bottom: 5px;
  }
}

/* =========================================================
   Responsive mobil (≤767px)    
========================================================= */

@media (max-width: 767px) {
  .wp-block-site-logo img.custom-logo {
    width: 160px !important;
    max-width: 160px !important;
  }
  
  .woocommerce-cart .cart-collaterals .cart_totals table.shop_table_responsive tr td,
  .woocommerce-cart .cart-collaterals .cart_totals table.shop_table_responsive tr:nth-child(2n) td {
    background: var(--tt-color-checkout-panel-bg) !important;
    background-color: var(--tt-color-checkout-panel-bg) !important;
  }
  
  /* Cart container */
  .woocommerce-cart .woocommerce {
    max-width: 100%;
    min-width: 300px !important;
    padding-left: 12px;
    padding-right: 12px;
  }

  .woocommerce-cart form.woocommerce-cart-form,
  .woocommerce-cart .cart-collaterals {
    max-width: 100%;
  }

  /* Opreste label-urile responsive automate WooCommerce */
  .woocommerce-cart table.shop_table_responsive td::before,
  .woocommerce-cart table.shop_table td::before {
    display: none !important;
    content: none !important;
  }

  /* Card produs */
  .woocommerce-cart table.shop_table.woocommerce-cart-form__contents {
    width: 100%;
    table-layout: auto;
    border-spacing: 0;
  }

  .woocommerce-cart table.shop_table.woocommerce-cart-form__contents thead {
    display: none;
  }

  .woocommerce-cart table.shop_table tr.cart_item {
    display: block;
    position: relative;
    min-width: 300px !important;
    margin-bottom: 18px;
    border-radius: 6px;
    overflow: hidden;
  }

  .woocommerce-cart table.shop_table tr.cart_item td {
    display: block;
    width: 100% !important;
    min-width: 0 !important;
    padding: 7px 16px;
    border-radius: 0 !important;
    box-sizing: border-box;
    text-align: right !important;
  }

  /* Stergere */
  .woocommerce-cart table.shop_table tr.cart_item td.product-remove {
    position: absolute;
    top: 10px;
    left: 10px;
    width: 28px !important;
    padding: 0;
    z-index: 2;
    background: transparent;
  }

  .woocommerce-cart td.product-remove a.remove {
    width: 28px;
    height: 28px;
    font-size: 28px;
    line-height: 26px;
  }

  /* Imagine */
  .woocommerce-cart table.shop_table tr.cart_item td.product-thumbnail {
    padding: 16px 16px 0;
  }

  .woocommerce-cart table.cart td.product-thumbnail a {
    display: block;
    width: fit-content;
    margin-left: auto;
  }

  .woocommerce-cart table.cart td.product-thumbnail img,
  .woocommerce-cart .wc-block-cart-items .wc-block-cart-item__image img {
    width: 84px !important;
    height: auto !important;
    aspect-ratio: 3 / 4 !important;
    object-fit: cover !important;
    border-radius: 8px;
    display: block;
  }

  /* Detalii */
  .woocommerce-cart table.shop_table tr.cart_item td.product-name {
    padding-top: 8px;
    padding-bottom: 10px;
  }

  .woocommerce-cart td.product-name a {
    display: block;
    margin: 0 0 10px;
    padding-right: 0;
    font-size: 17px;
    line-height: 1.3;
  }

  .woocommerce-cart td.product-name dl.variation {
    display: grid;
    grid-template-columns: max-content 1fr;
    column-gap: 10px;
    row-gap: 3px;
    margin-top: 0;
  }

  .woocommerce-cart td.product-name dl.variation dt,
  .woocommerce-cart td.product-name dl.variation dd,
  .woocommerce-cart td.product-name dl.variation dd p {
    font-size: 15px;
    line-height: 1.35;
  }

  .woocommerce-cart td.product-name dl.variation dt {
    text-align: left;
  }

  .woocommerce-cart td.product-name dl.variation dd p {
    text-align: right;
  }

  /* Pret */
  .woocommerce-cart table.shop_table tr.cart_item td.product-price {
    padding-top: 8px;
    padding-bottom: 16px;
    text-align: right !important;
  }

  .woocommerce-cart td.product-price::before {
    content: "Preț:";
    display: inline-block !important;
    margin-right: 8px;
    font-weight: 700;
  }

  .woocommerce-cart td.product-price .amount {
    display: inline-block;
    padding: 6px 10px;
    font-size: 14px;
    vertical-align: middle;
  }
/* Sumar */
.woocommerce-cart .cart-collaterals .cart_totals {
  width: 100%;
  min-width: 0 !important;
  margin-left: auto;
  margin-right: 0;
  box-sizing: border-box;
  position: static;
  background: var(--tt-color-cart-summary-bg);
  padding-bottom: 5px;
}

.woocommerce-cart .cart-collaterals .cart_totals table {
  width: calc(100% - 44px);
  margin: auto;
  border-radius: 6px;
  overflow: hidden;
  background: var(--tt-color-checkout-panel-bg);
}

.woocommerce-cart .cart-collaterals .cart_totals tr {
  display: table-row;
}

.woocommerce-cart .cart-collaterals .cart_totals th,
.woocommerce-cart .cart-collaterals .cart_totals td {
  display: table-cell;
  width: 50%;
  padding: 12px 14px !important;
  box-sizing: border-box;
  font-size: 15px;
  line-height: 1.3;
  vertical-align: middle;
  border-top: 1px solid var(--tt-color-border-light) !important;
}

  .woocommerce-cart .cart-collaterals .cart_totals tr:first-child th,
  .woocommerce-cart .cart-collaterals .cart_totals tr:first-child td {
    border-top: 0 !important;
  }

  .woocommerce-cart .cart-collaterals .cart_totals th {
    text-align: left;
  }

  .woocommerce-cart .cart-collaterals .cart_totals td {
    text-align: right;
    white-space: nowrap;
  }

  .woocommerce-cart .cart-collaterals .order-total th,
  .woocommerce-cart .cart-collaterals .order-total td {
    font-weight: 700;
  }

  /* Actiuni */
  .woocommerce-cart .wc-proceed-to-checkout {
    margin-top: 14px;
  }

  .woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
    max-width: 100%;
    margin: 0 auto;
    padding: 12px 0 !important;
    box-sizing: border-box;
    font-size: 16px;
    line-height: 1.25;
  }

  .woocommerce-cart .tt-empty-cart-wrap {
    margin-top: 22px;
    text-align: left;
  }

  .woocommerce-cart .tt-empty-cart-link {
    color: var(--tt-color-empty-cart);
    font-size: 16px;
    opacity: 0.9;
  }

  /* Checkout */
  .woocommerce-checkout form.checkout {
    grid-template-columns: 1fr !important;
    grid-template-areas:
      "billing"
      "heading"
      "review" !important;
  }

  .woocommerce-billing-fields__field-wrapper {
    grid-template-columns: 1fr;
  }

  #order_review.woocommerce-checkout-review-order {
    position: static;
  }
}

/* =========================================================
   Desktop (≥768px) - proprietati suplimentare cart
========================================================= 

@media (min-width: 768px) {
  .woocommerce-cart form.woocommerce-cart-form {
    grid-column: 1;
    max-width: 620px;
    margin: 0;
  }

  .woocommerce-cart .cart-collaterals {
    grid-column: 2;
    max-width: 380px;
    margin: 18px 0 0;
  }

  .woocommerce-cart .cart-collaterals .cart_totals {
    width: 100%;
    max-width: 380px;
    margin: 0;
    padding: 22px 24px;
  }
}*/