/* ==========================================================================
   URSUS — kosár, pénztár, fiókom
   Világos papíron: ezek munkafelületek, itt olvasni és ellenőrizni kell.
   A WooCommerce natív jelölésére épül — a Woo osztályneveit stílusozzuk,
   nem cseréljük le a szerkezetet.
   ========================================================================== */

/* --- Oldalfejléc --------------------------------------------------------- */
/* .u-shophead átkerült a components.css-be: az /uzlet oldal is használja. */

/* Lépéssor: kosár → adatok → fizetés */
.u-steps-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:16px;font-size:.76rem}
.u-steps-bar span{display:inline-flex;align-items:center;gap:7px;color:var(--u-tx-d2)}
.u-steps-bar .is-now{color:#fff;font-weight:700}
.u-steps-bar .is-done{color:var(--u-sage)}
.u-steps-bar i{font-style:normal;opacity:.4}

/* --- Kétoszlopos elrendezés: tartalom + összegző --------------------------
   Mobilon egymás alatt, az összegző legalul. 1000px felett az összegző
   jobb oldalt tapad, hogy görgetés közben is látszódjon a végösszeg. */
.u-checkout{display:grid;grid-template-columns:1fr;gap:24px}
@media (min-width:1000px){
  .u-checkout{grid-template-columns:minmax(0,1.55fr) minmax(320px,.95fr);gap:36px;align-items:start}
  .u-checkout__aside{position:sticky;top:96px}
}

.u-panel{
  background:#fff;border:1px solid var(--u-line-l);border-radius:var(--u-r-lg);
  padding:18px;
}
@media (min-width:600px){ .u-panel{padding:24px} }
.u-panel + .u-panel{margin-top:16px}
.u-panel__title{
  font-size:.78rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;
  color:var(--u-tx-l2);margin-bottom:16px;font-family:var(--u-mono);
}

/* --- Kosár tételei -------------------------------------------------------
   A Woo alap táblázata helyett kártyás lista: mobilon a táblázat
   olvashatatlan, itt viszont minden töréspontnál működik. */
.u-cartlist{list-style:none;margin:0;padding:0}
.u-cartitem{
  display:grid;grid-template-columns:72px 1fr;gap:14px;
  padding-block:16px;border-bottom:1px solid var(--u-line-l);
}
.u-cartitem:first-child{padding-top:0}
.u-cartitem:last-child{border-bottom:none;padding-bottom:0}
@media (min-width:600px){ .u-cartitem{grid-template-columns:88px 1fr;gap:18px} }

.u-cartitem__media{
  position:relative;aspect-ratio:1/1;background:var(--u-paper-2);
  border-radius:var(--u-r);overflow:hidden;
}
.u-cartitem__media img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;padding:6px;box-sizing:border-box}
.u-cartitem__main{display:flex;flex-direction:column;gap:8px;min-width:0}
.u-cartitem__name{font-size:.95rem;font-weight:700;line-height:1.3;text-decoration:none;color:var(--u-tx-l)}
a.u-cartitem__name:hover{color:var(--u-bronze-ink)}
.u-cartitem__meta{font-size:.78rem;color:var(--u-tx-l2)}
.u-cartitem__meta dl,.u-cartitem__meta p{margin:0}
.u-cartitem__row{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:auto}
.u-cartitem__price{font-family:var(--u-mono);font-size:1rem;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap}
.u-cartitem__unit{display:block;font-size:.72rem;font-weight:400;color:var(--u-tx-l2)}
.u-cartitem__remove{
  background:none;border:none;padding:0;cursor:pointer;
  font-size:.76rem;color:var(--u-tx-l2);text-decoration:underline;text-underline-offset:2px;
}
.u-cartitem__remove:hover{color:var(--u-clay)}

/* Mennyiség léptető a kosároldalon */
.u-cartqty{display:inline-flex;align-items:stretch;border:1px solid var(--u-line-l);border-radius:var(--u-r);overflow:hidden;background:#fff}
.u-cartqty button{width:38px;background:none;border:none;color:var(--u-tx-l);font-size:1.05rem;line-height:1;cursor:pointer}
.u-cartqty button:hover{background:var(--u-paper-2)}
.u-cartqty input,
.woocommerce-cart-form .quantity input.qty{
  width:48px;min-height:40px;text-align:center;background:none;border:none;
  color:var(--u-tx-l);font-family:var(--u-mono);font-size:16px;
  font-variant-numeric:tabular-nums;-moz-appearance:textfield;
}
.u-cartqty input::-webkit-outer-spin-button,
.u-cartqty input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}

/* --- Összegző ------------------------------------------------------------ */
.u-summary{background:var(--u-paper-2);border:1px solid var(--u-line-l);border-radius:var(--u-r-lg);padding:18px}
@media (min-width:600px){ .u-summary{padding:24px} }
.u-summary__row{display:flex;align-items:baseline;justify-content:space-between;gap:14px;padding-block:9px;font-size:.9rem}
.u-summary__row > span{min-width:0}

/* A szállítási sor kivétel: a választható módok egy teljes listát tesznek ki,
   ami nem fér el egy címke-érték páros jobb oldalán. Ezért itt a sor
   egymás ALÁ rendez: fent a felirat, alatta a módok teljes szélességben. */
.u-summary__row.woocommerce-shipping-totals{
  flex-direction:column;align-items:stretch;gap:8px;
}
.u-summary__row.woocommerce-shipping-totals > span:last-child{text-align:left!important}
.u-summary__row.woocommerce-shipping-totals #shipping_method{width:100%}
.u-summary__row + .u-summary__row{border-top:1px solid var(--u-line-l)}
.u-summary__row span:last-child{font-family:var(--u-mono);font-variant-numeric:tabular-nums;white-space:nowrap}
/* A szállítási sor tartalma lista, nem egy összeg — ott a mono és a nowrap
   csak elrontaná a tördelést. */
.u-summary__row.woocommerce-shipping-totals span:last-child{
  font-family:var(--u-sans);white-space:normal;
}
.u-summary__total{
  display:flex;align-items:baseline;justify-content:space-between;gap:14px;
  margin-top:12px;padding-top:14px;border-top:2px solid var(--u-line-l);
}
.u-summary__total b{font-size:.95rem}
.u-summary__total strong{font-family:var(--u-mono);font-size:1.4rem;font-weight:700;font-variant-numeric:tabular-nums}
.u-summary .u-btn{width:100%;margin-top:16px}
/* Az ikon `<svg>`, amire a témában `display:block` vonatkozik (ez veszi el a
   sorvégi szóköz-hézagot a képek alól). Blokkelemre viszont a `text-align`
   nem hat: az ikon külön sorba esett és balra ragadt, a szöveg meg alatta
   középre. Ezért itt flexbox, nem szövegigazítás. */
.u-summary__note{
  display:flex;align-items:center;justify-content:center;gap:6px;
  margin-top:10px;font-size:.74rem;color:var(--u-tx-l2);
}
.u-summary__note svg{flex:0 0 auto}

/* Ingyenes szállítás sáv a kosároldalon */
.u-freebar{margin-bottom:16px}
.u-freebar p{margin:0 0 8px;font-size:.82rem;color:var(--u-tx-l2)}
.u-freebar__track{display:block;height:6px;background:#fff;border:1px solid var(--u-line-l);border-radius:99px;overflow:hidden}
.u-freebar__fill{display:block;height:100%;background:var(--u-bronze-ink);transition:width .3s ease}
.u-freebar.is-reached .u-freebar__fill{background:var(--u-sage-ink)}
.u-freebar.is-reached p{color:var(--u-sage-ink);font-weight:700}

/* --- Kupon --------------------------------------------------------------- */
.u-coupon summary{
  cursor:pointer;list-style:none;font-size:.84rem;font-weight:700;
  color:var(--u-bronze-ink);text-decoration:underline;text-underline-offset:3px;
  min-height:38px;display:flex;align-items:center;
}
.u-coupon summary::-webkit-details-marker{display:none}
.u-coupon__form{display:flex;flex-direction:column;gap:9px;margin-top:12px}
/* A min-width:0 nélkül a flex elem nem zsugorodik a tartalma alá, és a
   mellette lévő gombot kinyomja a konténerből. */
/* A `flex-basis` a FŐ tengelyre vonatkozik. Sorirányban ez szélesség, de
   oszlopirányban MAGASSÁG. Amíg a `flex:1 1 160px` az alapállapotban állt
   (ahol az űrlap oszlopirányú), a kuponmező 160 képpont MAGAS lett mobilon.
   Ezért a `flex-basis` csak ott van, ahol az űrlap tényleg sorirányú. */
.u-coupon__form input{flex:0 0 auto;min-width:0;width:100%}
.u-coupon__form .button{flex:0 0 auto;white-space:nowrap}

@media (min-width:520px){
  .u-coupon__form{flex-direction:row;flex-wrap:wrap;align-items:center}
  .u-coupon__form input{flex:1 1 160px;width:auto}
}

/* --- Űrlapmezők (a Woo natív jelölésére) --------------------------------- */
.woocommerce form .form-row,
.u-panel .form-row{display:flex;flex-direction:column;gap:6px;margin:0 0 14px;padding:0}
.woocommerce form .form-row label,
.u-panel .form-row label{
  font-size:.78rem;font-weight:700;letter-spacing:.02em;color:var(--u-tx-l2);
}
.woocommerce form .form-row label .required{color:var(--u-clay);text-decoration:none;border:none}
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select{border-color:var(--u-clay)}
.woocommerce form .form-row.woocommerce-validated input.input-text{border-color:var(--u-sage)}

.u-panel input[type="text"],.u-panel input[type="email"],.u-panel input[type="tel"],
.u-panel input[type="password"],.u-panel input[type="number"],.u-panel input[type="search"],
.u-panel textarea,.u-panel select,
.woocommerce .input-text,.woocommerce select,
.woocommerce-page .input-text,.woocommerce-page select{
  width:100%;min-height:var(--u-tap);padding:10px 13px;
  background:#fff;color:var(--u-tx-l);
  border:1px solid var(--u-line-l);border-radius:var(--u-r);
  font-size:16px; /* 16px alatt az iOS ráközelít */
  line-height:1.4;
}
.u-panel textarea{min-height:96px;padding-block:12px;resize:vertical}
.u-panel select,.woocommerce select{
  appearance:none;-webkit-appearance:none;padding-right:38px;cursor:pointer;
  background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%238A4F0E' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;
}
.u-panel input:focus,.u-panel select:focus,.u-panel textarea:focus,
.woocommerce .input-text:focus{outline:2px solid var(--u-bronze-ink);outline-offset:1px;border-color:transparent}

/* Két mező egy sorban nagyobb kijelzőn.
   RÁCCSAL, nem inline-flex + calc szélességgel: az utóbbinál a jelölésben
   lévő sortörések szóközzé válnak, és a két mező összege túllépi a 100%-ot,
   amitől a második mező a következő sorba ugrik. A rács ettől független. */
@media (min-width:600px){
  .woocommerce-billing-fields__field-wrapper,
  .woocommerce-shipping-fields__field-wrapper,
  .woocommerce-additional-fields__field-wrapper{
    display:grid;grid-template-columns:1fr 1fr;column-gap:14px;
  }
  .woocommerce form .form-row-first{grid-column:1}
  .woocommerce form .form-row-last{grid-column:2}
  .woocommerce form .form-row-wide,
  .woocommerce form .form-row.notes,
  .woocommerce form .form-row:not(.form-row-first):not(.form-row-last){grid-column:1 / -1}
}

/* Jelölőnégyzetek */
.woocommerce form .form-row.u-check,
.u-panel .u-check{flex-direction:row;align-items:flex-start;gap:10px}
.u-panel input[type="checkbox"],.u-panel input[type="radio"]{
  width:20px;height:20px;min-height:0;flex:0 0 20px;margin-top:2px;accent-color:var(--u-bronze-ink);
}
.u-check label{font-weight:400!important;font-size:.86rem!important;color:var(--u-tx-l)!important;cursor:pointer}

/* --- Szállítási módok és fizetés ---------------------------------------- */
.woocommerce-checkout #payment,
.woocommerce-checkout ul.wc_payment_methods{background:none;border:none;padding:0;margin:0;list-style:none}
.woocommerce-checkout ul.wc_payment_methods li{
  border:1px solid var(--u-line-l);border-radius:var(--u-r);
  padding:13px 15px;margin-bottom:10px;background:#fff;
}
.woocommerce-checkout ul.wc_payment_methods li:has(input:checked){
  border-color:var(--u-bronze-ink);background:rgba(205,127,50,.05);
}
/* A címke TÖRDELHET.
   A Barion sora a szöveg mellett öt logót is kiír (barion, Mastercard,
   VISA, Apple Pay, G Pay). `inline-flex` mellett ezek egyetlen, nem
   törhető sorba kerültek, ami telefonon szétfeszítette az egész lapot:
   a tartalom szélesebb lett a képernyőnél, és minden elcsúszott. */
.woocommerce-checkout ul.wc_payment_methods label{
  display:flex;flex-wrap:wrap;align-items:center;gap:8px;
  max-width:100%;
  font-weight:700!important;font-size:.9rem!important;color:var(--u-tx-l)!important;cursor:pointer;
}
.woocommerce-checkout ul.wc_payment_methods label img{
  max-height:24px;width:auto;max-width:100%;
  display:inline-block;margin:0;flex:0 0 auto;
}
.woocommerce-checkout .payment_box{
  margin-top:10px;padding:12px 14px;background:var(--u-paper-2);
  border-radius:var(--u-r);font-size:.85rem;color:var(--u-tx-l2);
}
.woocommerce-checkout .payment_box p{margin:0}

#shipping_method{list-style:none;margin:0;padding:0}
#shipping_method li{
  border:1px solid var(--u-line-l);border-radius:var(--u-r);
  padding:12px 14px;margin-bottom:9px;background:#fff;
}
#shipping_method li:has(input:checked){border-color:var(--u-bronze-ink);background:rgba(205,127,50,.05)}
#shipping_method label{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  font-weight:500!important;font-size:.88rem!important;color:var(--u-tx-l)!important;cursor:pointer;
}
#shipping_method .woocommerce-Price-amount{font-family:var(--u-mono);font-weight:700}

/* --- Csomagpont-választó (Hungarian Pickup Points plugin) ----------------
   A plugin táblázatsort ad vissza (<tr><th>Átvételi hely</th><td>…), mert a
   Woo alap tábla-elrendezését feltételezi. A mi összegzőnk div-alapú, ezért
   a böngésző eldobja a sor- és cella-tageket, és a link csupaszon marad.
   Nem harcolunk ellene: a linket önálló, jól kattintható vezérlővé
   formázzuk, és visszaadjuk a hiányzó címkét. */
#vp-woo-pont-show-map{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  min-height:var(--u-tap);margin-top:10px;padding:11px 14px;
  background:#fff;border:1px solid var(--u-line-l);border-radius:var(--u-r);
  font-size:.86rem;font-weight:700;color:var(--u-bronze-ink);
  text-decoration:none;cursor:pointer;
  transition:border-color .18s,background-color .18s;
}
#vp-woo-pont-show-map::before{
  content:"Átvételi hely";
  font-family:var(--u-mono);font-size:.66rem;font-weight:500;
  letter-spacing:.1em;text-transform:uppercase;color:var(--u-tx-l2);
}
#vp-woo-pont-show-map::after{content:"→";font-weight:400}
#vp-woo-pont-show-map:hover{border-color:var(--u-bronze-ink);background:rgba(205,127,50,.05)}

/* A választott átvevőpont visszajelzése */
.vp-woo-pont-selected-terminal,
#vp-woo-pont-selected-terminal{
  display:block;margin-top:8px;padding:10px 13px;
  background:rgba(111,130,106,.1);border:1px solid rgba(111,130,106,.35);
  border-radius:var(--u-r);font-size:.82rem;color:var(--u-tx-l);
}

/* Fizetés gomb */
#place_order,
.woocommerce #respond input#submit,
.woocommerce button.button.alt,
.woocommerce a.button.alt{
  display:inline-flex;align-items:center;justify-content:center;
  width:100%;min-height:52px;padding-inline:24px;
  background:var(--u-bronze-ink);color:#fff;
  border:1px solid var(--u-bronze-ink);border-radius:var(--u-r);
  font-size:.98rem;font-weight:700;letter-spacing:.02em;cursor:pointer;
  transition:background-color .18s,border-color .18s;
}
#place_order:hover,.woocommerce button.button.alt:hover{background:var(--u-ink);border-color:var(--u-ink)}

.woocommerce button.button,
.woocommerce a.button,
.woocommerce input.button{
  display:inline-flex;align-items:center;justify-content:center;
  min-height:var(--u-tap);padding-inline:20px;
  background:transparent;color:var(--u-tx-l);
  border:1px solid var(--u-line-l);border-radius:var(--u-r);
  font-size:.88rem;font-weight:700;cursor:pointer;text-decoration:none;
}
.woocommerce button.button:hover,.woocommerce a.button:hover{border-color:var(--u-bronze-ink);color:var(--u-bronze-ink)}

/* --- Woo értesítések ----------------------------------------------------- */
.woocommerce-notices-wrapper:empty{display:none}
.woocommerce-message,.woocommerce-info,.woocommerce-error,
.woocommerce .woocommerce-message,.woocommerce .woocommerce-info,.woocommerce .woocommerce-error{
  list-style:none;margin:0 0 16px;padding:13px 16px;
  border:1px solid var(--u-line-l);border-left-width:3px;border-radius:var(--u-r);
  background:#fff;font-size:.88rem;color:var(--u-tx-l);
}
.woocommerce-message{border-left-color:var(--u-sage)}
.woocommerce-info{border-left-color:var(--u-bronze-ink)}
.woocommerce-error{border-left-color:var(--u-clay)}
.woocommerce-error li{margin:0}
.woocommerce-message .button,.woocommerce-info .button{float:right;margin-left:12px}

/* --- Üres kosár ---------------------------------------------------------- */
.u-emptycart{text-align:center;padding-block:48px;display:flex;flex-direction:column;align-items:center;gap:18px}
.u-emptycart p{margin:0;color:var(--u-tx-l2);max-width:44ch}

/* --- Rendelés visszaigazolás (köszönő oldal) ----------------------------- */
.woocommerce-order-overview{
  list-style:none;margin:0 0 24px;padding:0;
  display:grid;grid-template-columns:1fr;gap:12px;
}
@media (min-width:600px){ .woocommerce-order-overview{grid-template-columns:repeat(2,1fr)} }
@media (min-width:900px){ .woocommerce-order-overview{grid-template-columns:repeat(4,1fr)} }
.woocommerce-order-overview li{
  background:#fff;border:1px solid var(--u-line-l);border-radius:var(--u-r);
  padding:13px 15px;font-size:.74rem;color:var(--u-tx-l2);
  text-transform:uppercase;letter-spacing:.06em;font-family:var(--u-mono);
}
.woocommerce-order-overview li strong{
  display:block;margin-top:6px;font-size:.95rem;color:var(--u-tx-l);
  text-transform:none;letter-spacing:0;font-family:var(--u-sans);
}

/* --- Táblázatok (rendelés részletei, fiókom) ----------------------------- */
.woocommerce table.shop_table{
  width:100%;border-collapse:collapse;background:#fff;
  border:1px solid var(--u-line-l);border-radius:var(--u-r-lg);overflow:hidden;
  font-size:.88rem;
}
.woocommerce table.shop_table th,
.woocommerce table.shop_table td{padding:12px 14px;text-align:left;border-bottom:1px solid var(--u-line-l)}
.woocommerce table.shop_table thead th{
  background:var(--u-paper-2);font-family:var(--u-mono);font-size:.7rem;
  letter-spacing:.08em;text-transform:uppercase;color:var(--u-tx-l2);
}
.woocommerce table.shop_table tfoot th,
.woocommerce table.shop_table tfoot td{font-weight:700}
.woocommerce table.shop_table .woocommerce-Price-amount{font-family:var(--u-mono);font-variant-numeric:tabular-nums}
.u-tablewrap{overflow-x:auto;-webkit-overflow-scrolling:touch}

/* --- Fiókom ------------------------------------------------------------- */
/* A fiók-oldal stílusa ÁTKERÜLT az account.css-be, saját sablonokkal együtt.
   A régi szabályok itt maradva ütköztek az újakkal: a
   `.woocommerce-account .woocommerce` kétoszlopos ráccsá tette a
   burkolót, amitől a sötét fejlécsáv egy 220 képpontos oszlopba
   szorult, a panelek pedig mellé csúsztak. */

/* A select2 (ország/megye választó) illesztése */
.select2-container--default .select2-selection--single{
  height:auto;min-height:var(--u-tap);padding:9px 12px;
  border:1px solid var(--u-line-l);border-radius:var(--u-r);background:#fff;
}
.select2-container--default .select2-selection--single .select2-selection__rendered{line-height:1.5;color:var(--u-tx-l);padding:0}
.select2-container--default .select2-selection--single .select2-selection__arrow{top:50%;transform:translateY(-50%);right:8px}
.select2-dropdown{border-color:var(--u-line-l);border-radius:var(--u-r)}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:var(--u-bronze-ink)}

/* --- Rendelés-összegző: variáció-adatok ----------------------------------
   A Woo `<dl class="variation">` szerkezetben adja vissza az attribútumokat:
   <dt>Szín:</dt><dd>Fekete</dd>. Alapból ez egymás alá tördel, behúzással —
   ezért nézett ki elcsúszva. Címke és érték egy sorban a helyes. */
.u-cartitem__meta .variation{
  display:grid;grid-template-columns:auto 1fr;gap:2px 6px;margin:0;
}
.u-cartitem__meta .variation dt{
  margin:0;font-weight:400;color:var(--u-tx-l2);
}
.u-cartitem__meta .variation dd{
  margin:0;color:var(--u-tx-l);font-weight:500;
}
.u-cartitem__meta .variation dd p{margin:0}

/* --- Kupon a jobb hasábban ---------------------------------------------- */
/* A kuponmező FIX helye: a részösszeg alatt, a szállítás fölött.
   Nem lenyíló többé. Aki keresi, látja; aki nem, annak nem ugrik be
   semmi a végösszeg után, közvetlenül a fizetés előtt. */
.u-coupon--row{
  padding-block:12px;
  border-block:1px solid var(--u-line-l);
  margin-block:4px;
}
/* Az összegző hasábja akkor is keskeny (~370px), ha a képernyő széles.
   A médialekérdezés viszont a képernyőt méri, nem a hasábot, ezért itt
   nem bízhatunk rá: mindig sorirány, tördeléssel. Ha nem fér el, a gomb
   a mező alá kerül, és mindkettő megtartja a saját magasságát. */
.u-coupon--row .u-coupon__form{
  margin-top:0;
  flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px;
}
.u-coupon--row .u-coupon__form input{flex:1 1 140px;width:auto}
.u-coupon--row input{
  /* Kisebb, mint a címmezők: ez kiegészítő mező, nem kötelező lépés. */
  min-height:40px;font-size:.88rem;
}
.u-coupon--row .button{
  min-height:40px;padding-inline:16px;
  border:1px solid var(--u-line-l);border-radius:var(--u-r);
  background:#fff;color:var(--u-tx-l);
  font-size:.85rem;cursor:pointer;
}
.u-coupon--row .button:hover{border-color:var(--u-bronze-ink);color:var(--u-bronze-ink)}

/* --- Csomagpont sor -------------------------------------------------------
   CSAK csomagpontos szállításnál jelenik meg: a bővítmény a sablont be sem
   tölti más módnál (lásd woocommerce/checkout/pont.php). */
.u-pont{flex-direction:column;align-items:stretch;gap:8px}
.u-pont__label{
  font-family:var(--u-mono);font-size:.68rem;letter-spacing:.08em;
  text-transform:uppercase;color:var(--u-tx-l2);
}
/* A `.u-summary__row span:last-child` szabály minden összegző-sor utolsó
   span-jére `white-space:nowrap`-et tesz, mert ott általában egy ÁR áll,
   ami nem törhet ketté. A csomagpont-sorban viszont az utolsó span a
   szöveges tartalom („Válassz egy átvételi helyet"), ami így nem tudott
   tördelni: 387 képpont széles lett egy 375 képpontos telefonon, és
   szétfeszítette az egész pénztárt. Ezért itt visszaállítjuk. */
.u-pont__value{display:flex;flex-direction:column;gap:6px;white-space:normal;min-width:0}
.u-pont__pick{
  display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;
  align-self:flex-start;max-width:100%;
  color:var(--u-bronze-ink);font-weight:600;font-size:.88rem;
  text-decoration:none;white-space:normal;
}
.u-pont__pick:hover{text-decoration:underline}
.u-pont__sel{display:flex;flex-direction:column;gap:2px;font-size:.88rem}
.u-pont__sel .vp-woo-pont-review-order-selected-address{color:var(--u-tx-l2);font-size:.82rem}
.u-pont__cost{font-weight:600;font-variant-numeric:tabular-nums}
.u-coupon__msg{margin:8px 0 0;font-size:.8rem;min-height:1em}
.u-coupon__msg.is-ok{color:var(--u-sage-ink)}
.u-coupon__msg.is-error{color:var(--u-clay)}

/* --- Szállítási módok: szolgáltatói logó ---------------------------------
   A logót a szállítási mód NEVÉBŐL azonosítjuk, mert a mód azonosítója
   minden magyar szolgáltatónál ugyanaz (vp_shipping_rate). A jelölést a
   szerver teszi rá — lásd inc/woocommerce.php. */
/* Valódi szolgáltatói logó a szállítási mód előtt. A színes doboz helyett
   maga a vektoros logó áll — nem kell mögé márkaszín, mert a logók saját
   színesek. Fehér alapon ülnek, hogy a sötét logók is kivehetők legyenek. */
.u-carrier{
  display:inline-block;flex:0 0 34px;
  width:34px;height:26px;margin-right:10px;
  object-fit:contain;
  background:#fff;border:1px solid var(--u-line-l);border-radius:3px;
  padding:2px;box-sizing:border-box;
}
/* A DPD logója fekvő (144×48), ezért szélesebb dobozt kap. */
.u-carrier--dpd{flex-basis:46px;width:46px}

#shipping_method label,
.woocommerce-shipping-methods label{display:flex;align-items:center;gap:0}
#shipping_method .u-carrier{margin-left:6px}

/* --- Ország-zászlók a select2 listában -----------------------------------
   Az <option> elemre nem lehet ::before-t tenni, a select2 <li>-jére viszont
   igen. A zászlót a kliens teszi rá az országkódból (assets/js/ursus.js),
   mert így minden országra magától működik. */
.select2-results__option .u-flag,
.select2-selection__rendered .u-flag{margin-right:8px;font-size:1.05em;line-height:1}

/* --- Köszönőoldal: visszaigazoló levél ----------------------------------
   Ez a tájékoztató korábban a PÉNZTÁR tetején állt, ahol értelmetlen volt
   (a vevő még nem rendelt). Ide került, ahol időszerű. */
.u-mailnote{
  background:#fff;border:1px solid var(--u-line-l);
  border-left:3px solid var(--u-sage);border-radius:var(--u-r-lg);
  padding:20px;margin-bottom:26px;
}
@media (min-width:600px){ .u-mailnote{padding:26px} }
.u-mailnote p{margin:0 0 10px;font-size:.92rem;line-height:1.6;color:var(--u-tx-l2)}
.u-mailnote__lead{font-size:1rem!important;color:var(--u-tx-l)!important}
.u-mailnote strong{color:var(--u-tx-l)}
.u-mailnote__from{margin:14px 0 0!important;font-size:.78rem!important}
.u-mailnote__from code{
  background:var(--u-paper-2);border-radius:3px;padding:2px 6px;
  font-family:var(--u-mono);font-size:.95em;
}

/* --- „Jelszó megjelenítése" kapcsoló ---------------------------------------
   A WooCommerce minden jelszómező mellé betesz egy gombot, és a saját
   stíluslapján ad neki szem-ikont. Az itt nincs betöltve, ezért a gomb
   16×6 képpontos, fekete keretes csíkként jelent meg a mező alatt.

   Itt kap valódi ikont, és a mezőn BELÜLRE kerül, jobb oldalra. Az ikon
   adat-URI, tehát nem külön kérés és nem függ külső ikonkészlettől. */
.password-input{position:relative;display:block}

.password-input input{padding-right:46px}

.show-password-input{
  position:absolute;top:0;right:0;
  width:44px;height:44px;
  display:flex;align-items:center;justify-content:center;
  padding:0;border:0;background:none;
  cursor:pointer;opacity:.55;
  transition:opacity .15s;
}
.show-password-input:hover{opacity:1}
.show-password-input:focus-visible{
  outline:2px solid var(--u-bronze-ink);outline-offset:-2px;border-radius:var(--u-r);
}
.show-password-input::before{
  content:"";width:20px;height:20px;
  background:currentColor;
  /* Szem ikon. A maszk azért kell, hogy az ikon a szöveg színét vegye fel,
     és sötét felületen is látszódjon. */
  -webkit-mask:var(--u-eye) center / contain no-repeat;
          mask:var(--u-eye) center / contain no-repeat;
}
/* A Woo ezt az osztályt teszi rá, amikor a jelszó LÁTHATÓ: ilyenkor
   áthúzott szemet mutatunk, mert a gomb ekkor elrejtésre szolgál. */
.show-password-input.display-password::before{
  -webkit-mask-image:var(--u-eye-off);
          mask-image:var(--u-eye-off);
}

:root{
  --u-eye:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1.5 12s3.8-7 10.5-7 10.5 7 10.5 7-3.8 7-10.5 7S1.5 12 1.5 12z'/%3E%3Ccircle cx='12' cy='12' r='3'/%3E%3C/svg%3E");
  --u-eye-off:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M9.9 4.7A10.6 10.6 0 0 1 12 4.5c6.7 0 10.5 7 10.5 7a19 19 0 0 1-3.2 4.2M6.3 6.3A19 19 0 0 0 1.5 11.5s3.8 7 10.5 7c2 0 3.8-.6 5.3-1.5'/%3E%3Cpath d='M9.9 9.9a3 3 0 0 0 4.2 4.2'/%3E%3Cpath d='M2 2l20 20'/%3E%3C/svg%3E");
}
/* Kötelező elfogadó jelölőnégyzet (ÁSZF + Adatkezelés) */
.woocommerce-terms-and-conditions-wrapper{
  margin-top:14px;padding:14px 16px;
  background:var(--u-paper-2);
  border:1px solid var(--u-line-l);border-radius:var(--u-r);
}
.woocommerce-terms-and-conditions-wrapper .form-row{
  margin:0;padding:0;
}
.woocommerce-terms-and-conditions-wrapper a{
  color:var(--u-bronze-ink);text-decoration:underline;
  text-underline-offset:2px;
}
.woocommerce-terms-and-conditions-wrapper a:hover{
  color:var(--u-ink);
}
.woocommerce-error{
  color: red !important;
  font-size: 1.2rem !important;
  font-weight: 500 !important;
}
/* --- Rendelés-összegző a köszönőoldalon -----------------------------------
   A rendelésszám, a dátum, a végösszeg és a fizetési mód. Ez az a négy adat,
   amit a vevő a köszönőoldalon keres, és amit meg kell adnia, ha ír nekünk. */
.u-ordermeta{
  display:grid;grid-template-columns:1fr;gap:1px;
  list-style:none;margin:0 0 24px;padding:0;
  background:var(--u-line-l);
  border:1px solid var(--u-line-l);border-radius:var(--u-r-lg);
  overflow:hidden;
}
@media (min-width:600px){ .u-ordermeta{grid-template-columns:repeat(2,1fr)} }
@media (min-width:900px){ .u-ordermeta{grid-template-columns:repeat(4,1fr)} }
.u-ordermeta li{
  display:flex;flex-direction:column;gap:4px;
  margin:0;padding:14px 16px;background:#fff;
}
/* KÖZVETLEN gyerek, nem minden span. A `wc_price()` a pénznem jelét is
   span-be teszi (`.woocommerce-Price-currencySymbol`), és a tág szelektor
   arra is ráhúzta a nagybetűsítést: „57 091 FT" lett a „57 091 Ft" helyett. */
.u-ordermeta > li > span{
  font-family:var(--u-mono);font-size:.66rem;letter-spacing:.09em;
  text-transform:uppercase;color:var(--u-tx-l2);
}
.u-ordermeta strong{font-size:1rem;font-weight:600;color:var(--u-tx-l)}
.u-ordermeta .woocommerce-Price-amount{font-variant-numeric:tabular-nums}


/* --- Biztonsági háló a vízszintes túlcsordulás ellen ----------------------
   A pénztáron sok idegen elem jelenik meg: fizetési átjárók logói,
   csomagpont-választó, keresztajánlatok. Bármelyik kilóghat, és EGY
   túlnyúló elem az EGÉSZ lapot elcsúsztatja telefonon.

   Ez nem takarja el a hibát, csak megakadályozza, hogy egyetlen elem
   szétvigye az elrendezést. */
.woocommerce-checkout .u-panel,
.woocommerce-checkout .u-summary,
.u-checkout > *{min-width:0}

.woocommerce-checkout img{max-width:100%;height:auto}

.woocommerce-checkout table{max-width:100%}
