/*
 Theme Name: Astra Child
 Theme URI: https://wpastra.com/
 Description: Child theme for Astra
 Author: Nyári Viktor
 Template: astra
 Version: 1.0.0
*/

/* ===== Be My Macaron – egyedi termékkártya (szögletes) ===== */

/* A WooCommerce <li> elem – extra pozicionálás az ikonokhoz */
.bm-card-item {
    position: relative;
}

.woocommerce ul.products li.bm-card-item {
    list-style: none;
    padding: 0;
    margin: 0 0 30px;
}

/* A teljes kártya doboz */
.bm-card {
    background: #ffffff;
    border-radius: 0;                 /* SZÖGLETES */
    border: 1px solid #f0d6e6;        /* finom, pasztell keret */
    box-shadow: 0 4px 14px rgba(0,0,0,0.03);
    overflow: hidden;
    transition:
        transform 0.25s ease,
        box-shadow 0.25s ease,
        border-color 0.25s ease;
}

/* Erősebb hover animáció a kártyára */
.bm-card:hover {
    transform: translateY(-10px);
    box-shadow: 0 22px 55px rgba(0,0,0,0.18);
    border-color: #e0b7d0;
}

/* KÉP RÉSZ */

.bm-card__image-wrap {
    position: relative;
    display: block;
}

.bm-card__image-wrap img {
    width: 100%;
    display: block;
    transition: transform 0.4s ease;
}

/* Hoverre finom zoom a képre */
.bm-card:hover .bm-card__image-wrap img {
    transform: scale(1.06);
}

/* Akció jelvény (Woo) */
.woocommerce span.onsale {
    position: absolute;
    top: 10px;
    right: 10px;
    background: #e25555;
    color: #fff;
    border-radius: 999px;
    padding: 4px 10px;
    font-size: 11px;
}

/* VEGAN badge */
.bm-card__badge {
    position: absolute;
    top: 10px;
    left: 10px;
    padding: 4px 10px;
    font-size: 11px;
    border-radius: 999px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.bm-card__badge--vegan {
    background: #3aa85a;
    color: #fff;
}

/* TARTALMI BLOKK */

.bm-card__body {
    padding: 16px 18px 18px;
}

.bm-card__category {
    font-size: 11px;
    text-transform: uppercase;
    letter-spacing: 0.12em;
    color: #b28c6f;
    margin-bottom: 3px;
}

.bm-card__title {
    font-size: 18px;
    font-weight: 600;
    margin: 0 0 6px;
    color: #222;
}

.bm-card__title a {
    color: inherit;
    text-decoration: none;
}

.bm-card__title a:hover {
    text-decoration: underline;
}

.bm-card__excerpt {
    font-size: 13px;
    line-height: 1.5;
    color: #666;
    margin-bottom: 12px;
}

/* ALSÓ SOR: ár + gomb */

.bm-card__bottom {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.bm-card__price {
    font-weight: 700;
    font-size: 16px;
    color: #222;
}

/* Kosár gomb – átlátszó háttér, fekete border */

.bm-card__cta .button {
    display: inline-block;
    width: auto;
    padding: 8px 18px;
    font-size: 13px;
    border-radius: 999px;
    text-transform: uppercase;
    letter-spacing: 0.08em;
    font-weight: 600;
    background-color: transparent !important;
    color: #000000 !important;
    border: 1px solid #000000 !important;
    box-shadow: none;
    transition:
        background-color 0.18s ease,
        color 0.18s ease,
        transform 0.18s ease;
}

.bm-card__cta .button:hover {
    background-color: #000000 !important;
    color: #ffffff !important;
    transform: translateY(-1px);
}

/* ===== Ikonok (gyorsnézet + szív) a kép sarkaiban, fehér körben ===== */

/* Szív (wishlist) – BAL felső sarok
   (többféle plugin class-t fogunk meg) */
.bm-card-item .yith-wcwl-add-to-wishlist,
.bm-card-item .yith-wcwl-add-button,
.bm-card-item .tinvwl_add_to_wishlist,
.bm-card-item .woosw-btn,
.bm-card-item .wl-add-to {
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 10;
}

/* Gyorsnézet – JOBB felső sarok
   (YITH, WooSmart Quick View, általános „quick-view” linkek) */
.bm-card-item .yith-wcqv-button,
.bm-card-item .woosq-btn,
.bm-card-item .quick-view,
.bm-card-item a[href*="quick-view"] {
    position: absolute;
    top: 10px;
    right: 10px;
    z-index: 10;
}

/* Közös kör-stílus a szív + gyorsnézet ikonokra */
.bm-card-item .yith-wcwl-add-to-wishlist a,
.bm-card-item .yith-wcwl-add-button a,
.bm-card-item .tinvwl_add_to_wishlist a,
.bm-card-item .woosw-btn,
.bm-card-item .wl-add-to a,
.bm-card-item .yith-wcqv-button,
.bm-card-item .woosq-btn,
.bm-card-item .quick-view,
.bm-card-item a[href*="quick-view"] {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    background: #ffffff;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 14px rgba(0,0,0,0.18);
    font-size: 0;
    border: none;
    padding: 0;
    transition:
        transform 0.18s ease,
        box-shadow 0.18s ease;
}

/* Ikon a körön belül */
.bm-card-item .yith-wcwl-add-to-wishlist a i,
.bm-card-item .yith-wcwl-add-button a i,
.bm-card-item .tinvwl_add_to_wishlist a i,
.bm-card-item .woosw-btn i,
.bm-card-item .wl-add-to a i,
.bm-card-item .yith-wcqv-button i,
.bm-card-item .woosq-btn i,
.bm-card-item .quick-view i,
.bm-card-item a[href*="quick-view"] i {
    font-size: 15px;
    color: #222;
}

/* Hover anim az ikonokra */
.bm-card-item .yith-wcwl-add-to-wishlist a:hover,
.bm-card-item .yith-wcwl-add-button a:hover,
.bm-card-item .tinvwl_add_to_wishlist a:hover,
.bm-card-item .woosw-btn:hover,
.bm-card-item .wl-add-to a:hover,
.bm-card-item .yith-wcqv-button:hover,
.bm-card-item .woosq-btn:hover,
.bm-card-item .quick-view:hover,
.bm-card-item a[href*="quick-view"]:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 26px rgba(0,0,0,0.26);
}

/* ===== Összehasonlítás ikon elrejtése ===== */

.bm-card-item .compare,
.bm-card-item .woosc-btn,
.bm-card-item a[href*="compare"],
.bm-card-item a[data-rel="compare"] {
    display: none !important;
}

/* BŐVEBBEN GOMB */

.bm-card__icon-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid rgba(0,0,0,.14);
  background: transparent;
  transition: 
    border-color .25s ease,
    background-color .25s ease,
    transform .25s ease,
    box-shadow .25s ease;
}

.bm-card__icon{
  display:block;
  transition: transform .25s ease;
}

.bm-card__icon-link:hover{
  border-color: rgba(0,0,0,.35);
  background-color: rgba(0,0,0,.03);
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(0,0,0,.12);
}

.bm-card__icon-link:hover .bm-card__icon{
  transform: scale(1.08);
}



/* ============================================================
   SHOPENGINE IKONOK áthelyezése és dizájnja
   ============================================================ */

/* 1) A teljes kártyát legyen pozicionálható */
.bm-card-item {
    position: relative;
}

/* 2) Alap ikon stílus – minden ShopEngine ikon kör alakú legyen */
.bm-card-item .shopengine_add_to_list_action,
.bm-card-item .shopengine-quickview-trigger,
.bm-card-item .shopengine_comparison_add_to_list_action {
    position: absolute;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: #ffffff;
    display: flex !important;
    align-items: center;
    justify-content: center;
    padding: 0 !important;
    box-shadow: 0 4px 14px rgba(0,0,0,0.18);
    z-index: 20;
    cursor: pointer;
    transition: transform 0.18s ease, box-shadow 0.18s ease;
}

/* Ikon mérete */
.bm-card-item .shopengine_add_to_list_action i,
.bm-card-item .shopengine-quickview-trigger i,
.bm-card-item .shopengine_comparison_add_to_list_action i {
    font-size: 18px;
    color: #222;
}

/* Hover animáció */
.bm-card-item .shopengine_add_to_list_action:hover,
.bm-card-item .shopengine-quickview-trigger:hover,
.bm-card-item .shopengine_comparison_add_to_list_action:hover {
    transform: translateY(-2px);
    box-shadow: 0 8px 26px rgba(0,0,0,0.26);
}


/* 3) POZÍCIONÁLÁS */
/* Szív (wishlist) → BAL FELSŐ SAROK */
.bm-card-item .shopengine_add_to_list_action {
    top: 10px;
    left: 10px;
}

/* Quick View → JOBB FELSŐ SAROK */
.bm-card-item .shopengine-quickview-trigger {
    top: 10px;
    right: 10px;
}

/* Compare → ELTŰNTETÉS */
.bm-card-item .shopengine_comparison_add_to_list_action {
    display: none !important;
}

/* 4) Tüntessük el az eredeti ikonokat a gomb mellett (mielőtt áthelyeznénk) */
.bm-card__cta .shopengine_add_to_list_action,
.bm-card__cta .shopengine-quickview-trigger,
.bm-card__cta .shopengine_comparison_add_to_list_action {
    position: absolute !important;
}

/* Wishlist ikon pozicionálása */
.bm-card__wishlist {
    position: absolute;
    top: 12px;
    right: 12px;
    z-index: 10;
    display: none;
}

/* A gomb konténer reszet */
.bm-card__wishlist .tinvwl_add_to_wishlist_button {
    background: #ffffff;
    border-radius: 50%;
    padding: 20px; /* közepes padding */
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    border: none !important;
}

/* Ikon színe – fekete */
.bm-card__wishlist .tinvwl_add_to_wishlist_button i,
.bm-card__wishlist .tinvwl-icon-heart {
    color: #000000 !important;
    font-size: 18px;
}

/* Hover – finom árnyék */
.bm-card__wishlist .tinvwl_add_to_wishlist_button:hover {
    box-shadow: 0 4px 10px rgba(0,0,0,0.15);
}

/* Ha már hozzáadta (ti_wishlist_added class) → legyen rózsaszín szív */
.bm-card__wishlist .tinvwl-product-in-list i {
    color: #d63384 !important; /* választható: Be My Macaron rózsaszín */
}

/* Alapból egyik Fiók-link se látszódjon */
.show-when-logged,
.show-when-guest {
    display: none !important;
}  /* Hamburger gomb */
  #ast-mobile-header .menu-toggle {
    padding: 8px;
    margin: 0;
  }

  /* Lenyíló mobil menü */
  #ast-mobile-header .ast-mobile-header-content {
    background: #fff;
    padding: 18px 22px 22px;
    border-top: 1px solid rgba(0,0,0,0.06);
    box-shadow: 0 8px 24px rgba(0,0,0,0.06);
  }

  /* Menü wrapper-ek rendbetétele */
  #ast-mobile-header .ast-mobile-header-content .ast-builder-menu-1,
  #ast-mobile-header .ast-mobile-header-content .main-header-bar-navigation,
  #ast-mobile-header .ast-mobile-header-content .main-navigation,
  #ast-mobile-header .ast-mobile-header-content .main-header-menu {
    display: block;
    width: 100%;
  }

  /* Menüelemek egymás alatt */
  #ast-mobile-header .ast-mobile-header-content .main-header-menu > li {
    display: block;
    width: 100%;
  }

  #ast-mobile-header .ast-mobile-header-content .main-header-menu > li > a,
  #ast-mobile-header .ast-mobile-header-content .main-header-menu .menu-link {
    display: block;
    width: 100%;
    padding: 12px 0;
    font-size: 15px;
    line-height: 1.3;
    text-align: left;
    border-bottom: 1px solid rgba(0,0,0,0.08);
  }

  /* Esetleges duplikált logó/egyéb builder elem elrejtése a lenyíló részben */
  #ast-mobile-header .ast-mobile-header-content .site-branding,
  #ast-mobile-header .ast-mobile-header-content .custom-logo-link {
    display: none !important;
  }

  /* Social ikonok csak a lenyíló rész alján jelenjenek meg szépen középen */
  #ast-mobile-header .ast-mobile-header-content [data-section="section-hb-social-icons-1"] {
    display: flex !important;
    justify-content: center;
    width: 100%;
    margin-top: 16px;
  }

  #ast-mobile-header .ast-mobile-header-content .header-social-inner-wrap {
    display: flex !important;
    justify-content: center;
    align-items: center;
    gap: 14px;
    width: 100%;
  }

  #ast-mobile-header .ast-mobile-header-content .header-social-item {
    font-size: 18px;
  }

@media (max-width: 1400px) {
  /* Desktop header teljes elrejtése */
  #masthead #ast-desktop-header,
  #masthead #ast-desktop-header .ast-below-header-wrap,
  #masthead #ast-desktop-header .ast-below-header-bar,
  #masthead #ast-desktop-header .site-below-header-wrap,
  #masthead #ast-desktop-header .ast-builder-grid-row-container,
  #masthead #ast-desktop-header .ast-builder-grid-row {
    display: none !important;
  }

  /* Mobil header maradjon látható */
  #masthead #ast-mobile-header {
    display: block !important;
  }
}


@media (max-width: 1400px) {

  /* A felső mobil header tartalma menjen egymás alá és középre */
  #masthead #ast-mobile-header .ast-primary-header-bar .ast-builder-grid-row {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    row-gap: 14px;
  }

  /* Üres bal oszlop ne kavarjon be */
  #masthead #ast-mobile-header .site-header-primary-section-left {
    display: none !important;
  }

  /* Logó blokk középre */
  #masthead #ast-mobile-header .site-header-primary-section-center {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    order: 1;
  }

  /* X / hamburger blokk középre */
  #masthead #ast-mobile-header .site-header-primary-section-right {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    order: 2;
  }

  /* Logó tényleges középre igazítása */
  #masthead #ast-mobile-header .custom-logo-link {
    display: inline-flex;
    justify-content: center;
    align-items: center;
  }

  #masthead #ast-mobile-header .custom-logo-link img.custom-logo {
    display: block;
    margin: 0 auto;
    max-width: 180px;
    height: auto;
  }

  /* X / hamburger gomb középre */
  #masthead #ast-mobile-header .menu-toggle.main-header-menu-toggle {
    display: inline-flex;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
    padding: 8px;
  }
}

/* Shortcode-os BM card grid */
.bmm-shortcode-grid .woocommerce ul.products,
.bmm-shortcode-grid ul.products {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 24px;
  margin: 0 !important;
  padding: 0 !important;
  list-style: none !important;
}

.bmm-shortcode-grid .woocommerce ul.products::before,
.bmm-shortcode-grid .woocommerce ul.products::after,
.bmm-shortcode-grid ul.products::before,
.bmm-shortcode-grid ul.products::after {
  display: none !important;
  content: none !important;
}

.bmm-shortcode-grid .woocommerce ul.products li.bm-card-item,
.bmm-shortcode-grid ul.products li.bm-card-item {
  float: none !important;
  width: 100% !important;
  margin: 0 !important;
  list-style: none !important;
}

.bmm-shortcode-grid .bm-card {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.bmm-shortcode-grid .bm-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.bmm-shortcode-grid .bm-card__bottom {
  margin-top: auto;
}

/* Tablet nézettől lefelé: 1 kártya / sor */
@media (max-width: 1024px) {
  .bmm-shortcode-grid .woocommerce ul.products,
  .bmm-shortcode-grid ul.products {
    grid-template-columns: 1fr !important;
    justify-items: center;
    gap: 20px;
  }

  .bmm-shortcode-grid .woocommerce ul.products li.bm-card-item,
  .bmm-shortcode-grid ul.products li.bm-card-item {
    width: 80% !important;
    max-width: 80% !important;
  }
}

/* Mobil */
@media (max-width: 767px) {
  .bmm-shortcode-grid .woocommerce ul.products,
  .bmm-shortcode-grid ul.products {
    grid-template-columns: 1fr !important;
    justify-items: center;
    gap: 16px;
  }

  .bmm-shortcode-grid .woocommerce ul.products li.bm-card-item,
  .bmm-shortcode-grid ul.products li.bm-card-item {
    width: 95% !important;
    max-width: 95% !important;
  }
}


#nav_menu-1 .menu {
  columns: 2;
  column-gap: 32px;
  list-style: none;
  margin: 0;
  padding: 0;
}

#nav_menu-1 .menu > li {
  break-inside: avoid;
  -webkit-column-break-inside: avoid;
  margin-bottom: 10px;
}

#nav_menu-1 .menu > li:last-child {
  margin-bottom: 0;
}

#nav_menu-1 .menu-link {
  display: inline-block;
  text-decoration: none;
}

@media (max-width: 767px) {
  #nav_menu-1 .menu {
    columns: 1;
  }
}

.textwidget p{
	text-align: left !important;
}

#bmm_gift_card_fields {
    margin: 0 0 32px 0;
    padding: 24px;
    border: 1px solid #e3dade;
    border-radius: 14px;
    background: #fff;
    box-shadow: 0 6px 18px rgba(60, 30, 45, 0.04);
}

#bmm_gift_card_fields h3 {
    margin: 0 0 14px 0;
    font-size: 18px;
    line-height: 1.3;
}

#bmm_gift_card_fields .form-row {
    margin-bottom: 14px;
}

#bmm_gift_card_fields .bmm-gift-card-message-row {
    display: none;
}

#bmm_gift_card_fields .woocommerce-input-wrapper {
    display: block;
}

#bmm_gift_card_fields textarea {
    min-height: 110px;
    resize: vertical;
}

#bmm_gift_card_fields .bmm-gift-card-intro {
    margin: 0 0 16px 0;
    font-size: 14px;
    line-height: 1.5;
    color: #6f5b64;
}

#bmm_gift_card_fields .form-row:last-child {
    margin-bottom: 0;
}

#bmm_gift_card_fields .bmm-gift-card-message-row .optional {
    display: none !important;
}

/* Fiókom / Címek oldalon a "Számlázási cím" és "Szállítási cím" kisebb legyen */
.woocommerce-account .woocommerce-Addresses .woocommerce-Address-title h2 {
    font-size: 24px;
    line-height: 1.2;
    margin-bottom: 8px;
}

.woocommerce-cart .return-to-shop {
  display: none !important;
}


/* Kosár oldalon ne jelenjen meg a szállítási cím és a "Cím megváltoztatása" link */
.woocommerce-cart .woocommerce-shipping-destination,
.woocommerce-cart .shipping-calculator-button {
  display: none !important;
}

/* Guest rendelés utáni fiókfelajánló blokk */
.woocommerce-order-received .bmm-thankyou-account-offer {
  margin-top: 28px;
  padding: 20px;
  border: 1px solid #e7d8dd;
  border-radius: 18px;
  background: #fff;
}

.woocommerce-order-received .bmm-thankyou-account-offer h3 {
  margin: 0 0 10px;
}

.woocommerce-order-received .bmm-thankyou-account-offer p:last-child {
  margin-bottom: 0;
}


/* WooCommerce hibaüzenetek globális stílusa */
.woocommerce-error,
.woocommerce-NoticeGroup .woocommerce-error,
.woocommerce-notices-wrapper .woocommerce-error,
ul.woocommerce-error {
    color: #b42318 !important;
    border-color: #f3b3b3 !important;
    background: #fff5f5 !important;
}

/* Az üzeneten belüli szöveg és linkek */
.woocommerce-error li,
.woocommerce-error strong,
.woocommerce-error a,
.woocommerce-NoticeGroup .woocommerce-error li,
.woocommerce-notices-wrapper .woocommerce-error li {
    color: #b42318 !important;
}

/* Az alap WooCommerce "bullet"/ikon jellegű elemek */
.woocommerce-error::before,
ul.woocommerce-error::before {
    color: #b42318 !important;
}

@media (min-width: 922px) {
    body.single-product #primary,
    body.single-product .site-main {
        max-width: 1180px;
        margin-left: auto;
        margin-right: auto;
    }

    body.single-product div.product {
        max-width: 1180px;
        margin-left: auto;
        margin-right: auto;
    }
}


/* Ha be van jelentkezve → csak a "Fiókom" (show-when-logged) látszódjon */
.user-logged-in .show-when-logged {
    display: inline-flex !important;
}

/* Ha NINCS bejelentkezve → csak a "Belépés / Regisztráció" (show-when-guest) látszódjon */
.user-logged-out .show-when-guest {
    display: inline-flex !important;
}


/* Ikon igazítás a menüben */
/* Fiók ikon igazítása a főmenüben */
.main-header-menu svg {
    display: inline-block;
    vertical-align: middle;
    width: 20px;
    height: 20px;
}

/* Ha szöveg is van az ikon után (pl. Fiókom), legyen kis hely köztük */
.main-header-menu svg + span,
.main-header-menu svg + b,
.main-header-menu svg + strong {
    margin-left: 4px;
}

/* Jelszó mutatás gomb alap styling */
.woocommerce form .show-password-input,
.woocommerce-page form .show-password-input {
    border: none !important;
    box-shadow: none !important;
    background: transparent !important;
    padding: 0 !important;
    width: 32px;
    height: 32px;
    right: 10px !important;
    top: 50% !important;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
}

/* Az ikon mérete */
.woocommerce form .show-password-input::after,
.woocommerce-page form .show-password-input::after {
    font-size: 18px !important;
    color: #5C3055 !important;
}

/* Hover effekt */
.woocommerce form .show-password-input:hover,
.woocommerce-page form .show-password-input:hover {
    opacity: 0.7;
}

/* ASTRA beúszó kosár – termék sor javítás */
.ast-mini-cart-wrap .woocommerce-mini-cart.cart_list li.mini_cart_item {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 10px 0;
    border-bottom: 1px solid #f1e6de;
}

/* Kép legyen kicsi, ne nyúljon szét */
.ast-mini-cart-wrap .woocommerce-mini-cart.cart_list li.mini_cart_item img {
    width: 70px !important;
    height: auto !important;
    flex-shrink: 0;
}

/* A terméknév link és a mennyiség rendesen látszódjon */
.ast-mini-cart-wrap .woocommerce-mini-cart.cart_list li.mini_cart_item a:not(.remove) {
    display: block;
    font-size: 14px;
    line-height: 1.4;
    color: #222;
}

.ast-mini-cart-wrap .woocommerce-mini-cart.cart_list li.mini_cart_item .quantity {
    font-size: 13px;
    color: #555;
}

.ast-menu-toggle{
    border: none !important;
}


/* =========================================================
   Be My Macaron – Checkout / Fizetési box finomítás
   Tiszta, kétoszlopos verzió
   ========================================================= */

/* ---------- Alap checkout konténer ---------- */

body.woocommerce-checkout .woocommerce {
  max-width: 1180px;
  margin: 0 auto;
}

/* JAVÍTVA: felesleges checkout oldalcím elrejtése, ha a téma kirakja */
body.woocommerce-checkout h1.entry-title,
body.woocommerce-checkout .entry-header,
body.woocommerce-checkout .page-title,
body.woocommerce-checkout .woocommerce-products-header {
  display: none !important;
}

/* Biztonságos méretezés */
body.woocommerce-checkout form.checkout,
body.woocommerce-checkout form.checkout * {
  box-sizing: border-box;
}

/* =========================================================
   Desktop layout
   Bal oldal: ajándékkártya + számlázási adatok
   Jobb oldal: rendelés tartalma + fizetési box
   ========================================================= */

@media (min-width: 769px) {

  body.woocommerce-checkout form.checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(440px, 500px) !important;
    grid-template-rows: auto auto !important;
    column-gap: 42px !important;
    row-gap: 18px !important;
    align-items: start !important;
  }

  /*
     Ajándékkártya blokk.
     Mivel nem tudjuk biztosan a pontos class nevét, minden olyan direkt gyerekelemet
     ide rakunk, ami nem a fő WooCommerce checkout blokk.
  */
  body.woocommerce-checkout form.checkout > :not(#customer_details):not(#order_review_heading):not(#order_review):not(.woocommerce-NoticeGroup):not(.woocommerce-NoticeGroup-checkout) {
    grid-column: 1 !important;
    grid-row: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 18px !important;
  }

  /* Bal oldal: számlázási / szállítási adatok */
  body.woocommerce-checkout form.checkout #customer_details {
    grid-column: 1 !important;
    grid-row: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
  }

  /* JAVÍTVA: jobb felső "BE MY MACARON PÉNZTÁR" / rendelés címsor elrejtése */
  body.woocommerce-checkout form.checkout #order_review_heading {
    display: none !important;
  }

  /* Jobb oldal: rendelés összesítő + fizetési mód */
  body.woocommerce-checkout form.checkout #order_review {
    grid-column: 2 !important;

    /* JAVÍTVA: mivel a jobb felső címsort elrejtettük, az összesítő induljon felül */
    grid-row: 1 / span 2 !important;

    width: 100% !important;
    max-width: 500px !important;
    float: none !important;
    margin: 0 !important;
    border: 1px solid #ead9e3 !important;

    align-self: start !important;
    padding-top: 20px !important;
    padding-bottom: 20px !important;

    position: sticky !important;
    top: 110px !important;
  }
}

/* =========================================================
   Ajándékkártya blokk kinézet
   ========================================================= */

body.woocommerce-checkout form.checkout > :not(#customer_details):not(#order_review_heading):not(#order_review):not(.woocommerce-NoticeGroup):not(.woocommerce-NoticeGroup-checkout) {
  background: #ffffff;
  border: 1px solid #ead9e3;
  border-radius: 14px;
  padding: 14px 16px;
  box-shadow: 0 10px 22px rgba(70, 35, 55, 0.045);
  color: #432438;
}

body.woocommerce-checkout form.checkout > :not(#customer_details):not(#order_review_heading):not(#order_review):not(.woocommerce-NoticeGroup):not(.woocommerce-NoticeGroup-checkout) h3,
body.woocommerce-checkout form.checkout > :not(#customer_details):not(#order_review_heading):not(#order_review):not(.woocommerce-NoticeGroup):not(.woocommerce-NoticeGroup-checkout) h4,
body.woocommerce-checkout form.checkout > :not(#customer_details):not(#order_review_heading):not(#order_review):not(.woocommerce-NoticeGroup):not(.woocommerce-NoticeGroup-checkout) label {
  color: #6f315b;
  font-weight: 800;
}

/* =========================================================
   Rendelés összesítő blokk
   ========================================================= */

body.woocommerce-checkout #order_review {
  background: #fffafc;
  border: 1px solid #ead9e3;
  border-radius: 22px;
  padding: 22px;
  box-shadow: 0 16px 38px rgba(70, 35, 55, 0.08);

  /* JAVÍTVA: Stripe ikonok / mezők miatt ne vágjon le semmit */
  overflow: visible !important;
}

/* Rendelési táblázat */
body.woocommerce-checkout .woocommerce-checkout-review-order-table {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
  border-radius: 20px !important;    
  background: #ffffff;
  border: 1px solid #ead9e3 !important;
  border-collapse: separate !important;
  border-spacing: 0;
  overflow: hidden;
  margin-bottom: 22px !important;
  box-shadow: 0 10px 24px rgba(70, 35, 55, 0.045);
}

/* Táblázat cellák */
body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td {
  padding: 15px 16px !important;
  border-bottom: 1px solid #eee1e8 !important;
  color: #432438;
  vertical-align: top;
  box-sizing: border-box !important;

  /* JAVÍTVA: ez volt az egyik fő baj, az anywhere miatt bárhol törhette a termékneveket */
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* Utolsó sor ne kapjon alsó vonalat */
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr:last-child th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tr:last-child td {
  border-bottom: none !important;
}

/* Fejléc */
body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
  font-size: 12px;
  font-weight: 900;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: #6f315b;
  background: #fff7fb;
}

/* Termék nevek */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name {
  /* JAVÍTVA: több hely a termékneveknek */
  width: 74% !important;

  font-weight: 700;
  line-height: 1.35;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* JAVÍTVA: a terméknévben lévő elemek se törjenek indokolatlanul */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name *,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name a,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name strong,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name span {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* JAVÍTVA: variációk / választott ízek törhetnek, de ne karakterenként */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name .variation,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name .variation * {
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
}

/* Ár / részösszeg */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td:last-child {
  /* JAVÍTVA: az ár oszlop feleslegesen széles volt */
  width: 26% !important;

  text-align: right;
  white-space: nowrap !important;
  font-weight: 700;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* Összeg / végösszeg sorok */
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th {
  font-weight: 800;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td {
  font-size: 15px;
  font-weight: 900;
  color: #6f315b;
  background: #fff7fb;
}

/* Szállítás sor */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals td {
  line-height: 1.35;
}

/* =========================================================
   Fizetési mód box
   ========================================================= */

body.woocommerce-checkout #payment {
  background: #ffffff !important;
  border: 1px solid #ead9e3 !important;
  border-radius: 20px !important;
  padding: 20px !important;
  margin-top: 24px !important;
  box-shadow: 0 16px 34px rgba(70, 35, 55, 0.075);

  /* JAVÍTVA: ne vágja / nyomja össze a Stripe belső ikonokat */
  overflow: visible !important;
}

/* Fizetési mód lista */
body.woocommerce-checkout #payment ul.payment_methods {
  padding: 0 !important;
  margin: 0 !important;
  border: none !important;
  background: transparent !important;
}

/* Egy fizetési mód külön kártyában */
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method {
  background: #fff7fb;
  border: 1px solid #ead9e3;
  border-radius: 16px;
  padding: 15px 15px 14px !important;
  margin: 0 0 14px !important;
  box-shadow: 0 8px 18px rgba(70, 35, 55, 0.04);
}

/* Radio gomb */
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method input[type="radio"] {
  margin: 0 9px 0 0 !important;
  accent-color: #a81b7e;
}

/* Fizetési mód címke */
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method label {
  font-weight: 800;
  color: #432438;
  cursor: pointer;
  line-height: 1.3;
}

/* Bankkártya logók */
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method label img {
  max-height: 22px !important;
  width: auto !important;
  margin-left: 8px !important;
  vertical-align: middle;
}

/* Aktív fizetési mód doboz */
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method.payment_method_stripe,
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method:has(input:checked) {
  border-color: rgba(168, 27, 126, 0.35);
  background: #fff2fa;
}

/* Payment box, például bankkártya mezők */
body.woocommerce-checkout #payment div.payment_box {
  background: #ffffff !important;
  border: 1px solid #ead9e3 !important;
  border-radius: 15px !important;
  padding: 17px !important;
  margin: 14px 0 0 !important;
  color: #432438 !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,0.5);

  /* JAVÍTVA */
  overflow: visible !important;
}

/* WooCommerce kis háromszög eltüntetése */
body.woocommerce-checkout #payment div.payment_box::before {
  display: none !important;
}

/* Stripe / kártya mezők */
body.woocommerce-checkout #payment .wc-stripe-elements-field,
body.woocommerce-checkout #payment input[type="text"],
body.woocommerce-checkout #payment input[type="tel"],
body.woocommerce-checkout #payment input[type="email"] {
  border: 1px solid #dfcad6 !important;
  border-radius: 10px !important;
  background: #ffffff !important;
  min-height: 42px !important;
  padding: 10px 12px !important;
  box-shadow: none !important;
}

/* JAVÍTVA: a stripe-card-group ne kapjon külön keretet, mert az tud rácsúszni az ikonokra */
body.woocommerce-checkout #payment .stripe-card-group {
  border: 0 !important;
  background: transparent !important;
  min-height: 0 !important;
  padding: 0 !important;
  box-shadow: none !important;
}

/* Mentés checkbox sor */
body.woocommerce-checkout #payment .woocommerce-SavedPaymentMethods-saveNew,
body.woocommerce-checkout #payment .form-row {
  color: #432438;
  font-size: 13px;
}

/* Adatkezelési / privacy szöveg */
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text {
  background: #fff7fb;
  border: 1px solid #ead9e3;
  border-radius: 15px;
  padding: 15px;
  margin: 18px 0 16px;
  color: #5b4050;
  font-size: 13px;
  line-height: 1.45;
}

/* Linkek */
body.woocommerce-checkout #payment .woocommerce-privacy-policy-text a {
  color: #a81b7e;
  font-weight: 800;
  text-decoration: none;
}

/* Megrendelés gomb */
body.woocommerce-checkout #payment #place_order {
  width: 100%;
  min-height: 54px;
  margin: 8px 0 0 !important;
  border: none !important;
  border-radius: 999px !important;
  background: #d9bda9 !important;
  color: #ffffff !important;
  font-size: 14px !important;
  font-weight: 900 !important;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  box-shadow: 0 10px 22px rgba(90, 50, 35, 0.14);
  transition: transform .15s ease, box-shadow .15s ease, background .15s ease;
}

body.woocommerce-checkout #payment #place_order:hover {
  background: #cfae98 !important;
  transform: translateY(-1px);
  box-shadow: 0 14px 28px rgba(90, 50, 35, 0.18);
}

/* =========================================================
   Checkout mezők finomítása
   ========================================================= */

body.woocommerce-checkout #customer_details input.input-text,
body.woocommerce-checkout #customer_details textarea,
body.woocommerce-checkout #customer_details select {
  border: 1px solid #dfcad6 !important;
  border-radius: 6px !important;
  min-height: 38px;
  box-shadow: none !important;
}

body.woocommerce-checkout #customer_details input.input-text:focus,
body.woocommerce-checkout #customer_details textarea:focus,
body.woocommerce-checkout #customer_details select:focus {
  border-color: #a81b7e !important;
  outline: none !important;
  box-shadow: 0 0 0 2px rgba(168, 27, 126, 0.08) !important;
}

/* =========================================================
   Mobil layout
   ========================================================= */

@media (max-width: 768px) {

  body.woocommerce-checkout form.checkout {
    display: flex !important;
    flex-direction: column !important;
  }

  /* Ajándékkártya mobilon is felül */
  body.woocommerce-checkout form.checkout > :not(#customer_details):not(#order_review_heading):not(#order_review):not(.woocommerce-NoticeGroup):not(.woocommerce-NoticeGroup-checkout) {
    order: 1 !important;
    width: 100% !important;
    max-width: 100% !important;
    margin: 0 0 18px !important;
  }

  body.woocommerce-checkout form.checkout #customer_details {
    order: 2 !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 0 !important;
  }

  /* JAVÍTVA: mobilon se jelenjen meg a felesleges jobb oldali / rendelési címsor */
  body.woocommerce-checkout form.checkout #order_review_heading {
    display: none !important;
  }

  body.woocommerce-checkout form.checkout #order_review {
    order: 3 !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    margin: 24px 0 0 !important;
    position: static !important;
    padding: 12px !important;
    border-radius: 18px;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table {
    border-radius: 15px;
    margin-bottom: 18px !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table td {
    padding: 11px 8px !important;
    font-size: 11.5px !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table thead th {
    font-size: 10.5px;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name {
    width: 68% !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-total,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table td:last-child {
    width: 32% !important;
    white-space: nowrap !important;
  }

  body.woocommerce-checkout #payment {
    padding: 14px !important;
    border-radius: 18px !important;
    margin-top: 18px !important;
    overflow: visible !important;
  }

  body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method {
    padding: 13px 12px !important;
    border-radius: 14px;
  }

  body.woocommerce-checkout #payment div.payment_box {
    padding: 13px !important;
    border-radius: 13px !important;
    overflow: visible !important;
  }

  body.woocommerce-checkout #payment .woocommerce-privacy-policy-text {
    padding: 13px;
    font-size: 12px;
  }

  body.woocommerce-checkout #payment #place_order {
    min-height: 50px;
    font-size: 12px !important;
  }
}

/* =========================================================
   Be My Macaron – Stripe bankkártyás fizetés végleges rendezés
   ========================================================= */

/* Fizetési mód kártya ne nyomódjon szét */
body.woocommerce-checkout #payment li.payment_method_stripe {
  /* JAVÍTVA: korábban hidden volt, emiatt a Stripe belső elemek könnyen furán viselkedtek */
  overflow: visible !important;
}

/* Radio + cím + ikonok rendezése */
body.woocommerce-checkout #payment li.payment_method_stripe > input[type="radio"] {
  float: left !important;
  margin: 7px 10px 0 0 !important;
}

body.woocommerce-checkout #payment li.payment_method_stripe > label {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px 8px !important;
  width: calc(100% - 28px) !important;
  margin: 0 0 12px !important;
  padding: 0 !important;
  line-height: 1.25 !important;
  color: #432438 !important;
  font-size: 15px !important;
  font-weight: 900 !important;
}

/* Kártya ikonok ne lógjanak bele semmibe */
body.woocommerce-checkout #payment li.payment_method_stripe > label img {
  display: inline-block !important;
  max-height: 17px !important;
  width: auto !important;
  margin: 0 1px !important;
  vertical-align: middle !important;
  flex: 0 0 auto !important;
}

/* JAVÍTVA: Stripe kártyaikon konténerek normális helyre rakása */
body.woocommerce-checkout #payment li.payment_method_stripe .wc-stripe-card-icons-container,
body.woocommerce-checkout #payment li.payment_method_stripe .stripe-card-icons,
body.woocommerce-checkout #payment li.payment_method_stripe .cards {
  position: static !important;
  float: none !important;
  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 4px !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  transform: none !important;
  clear: both !important;
}

body.woocommerce-checkout #payment li.payment_method_stripe .wc-stripe-card-icons-container img,
body.woocommerce-checkout #payment li.payment_method_stripe .stripe-card-icons img,
body.woocommerce-checkout #payment li.payment_method_stripe .cards img {
  position: static !important;
  float: none !important;
  display: inline-block !important;
  max-height: 18px !important;
  width: auto !important;
  margin: 0 !important;
}

/* Stripe belső fizetési box */
body.woocommerce-checkout #payment li.payment_method_stripe div.payment_box {
  clear: both !important;
  width: 100% !important;
  margin: 14px 0 0 !important;
  padding: 16px !important;
  background: #ffffff !important;
  border: 1px solid #ead9e3 !important;
  border-radius: 16px !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

/* Tesztkártyás szöveg maradjon, de normálisan törjön */
body.woocommerce-checkout #payment li.payment_method_stripe div.payment_box > p:first-child {
  margin: 0 0 16px !important;
  padding: 0 !important;
  color: #432438 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}

/* Stripe form teljes reset */
body.woocommerce-checkout #payment li.payment_method_stripe .wc-credit-card-form,
body.woocommerce-checkout #payment li.payment_method_stripe .wc-stripe-cc-form {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 14px 12px !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

/* Form sorok reset */
body.woocommerce-checkout #payment li.payment_method_stripe .form-row {
  display: block !important;
  width: 100% !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  padding: 0 !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

/* Kártyaszám teljes szélesség */
body.woocommerce-checkout #payment li.payment_method_stripe .form-row-wide {
  grid-column: 1 / -1 !important;
}

/* Lejárat bal oldalt */
body.woocommerce-checkout #payment li.payment_method_stripe .form-row-first {
  grid-column: 1 !important;
}

/* CVC jobb oldalt */
body.woocommerce-checkout #payment li.payment_method_stripe .form-row-last {
  grid-column: 2 !important;
}

/* Label-ek */
body.woocommerce-checkout #payment li.payment_method_stripe .form-row label {
  display: block !important;
  margin: 0 0 7px !important;
  padding: 0 !important;
  color: #6f315b !important;
  font-size: 13px !important;
  font-weight: 900 !important;
  line-height: 1.25 !important;
  white-space: normal !important;
}

/* JAVÍTVA: a stripe-card-group csak wrapper legyen, ne külön kártyamező */
body.woocommerce-checkout #payment li.payment_method_stripe .stripe-card-group {
  display: block !important;
  position: relative !important;
  width: 100% !important;
  min-width: 0 !important;
  height: auto !important;
  min-height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  background: transparent !important;
  border: 0 !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

/* Stripe mezők */
body.woocommerce-checkout #payment li.payment_method_stripe .wc-stripe-elements-field,
body.woocommerce-checkout #payment li.payment_method_stripe .StripeElement,
body.woocommerce-checkout #payment li.payment_method_stripe #stripe-card-element,
body.woocommerce-checkout #payment li.payment_method_stripe #stripe-exp-element,
body.woocommerce-checkout #payment li.payment_method_stripe #stripe-cvc-element {
  display: flex !important;
  align-items: center !important;
  width: 100% !important;
  min-width: 0 !important;
  height: 48px !important;
  min-height: 48px !important;
  margin: 0 !important;
  padding: 0 13px !important;
  background: #ffffff !important;
  border: 1px solid #dfcad6 !important;
  border-radius: 10px !important;
  box-shadow: none !important;
  box-sizing: border-box !important;
  overflow: hidden !important;
}

/* JAVÍTVA: ha a kártya márka ikon a kártyaszám mezőn belül jelenik meg, legyen neki hely */
body.woocommerce-checkout #payment li.payment_method_stripe #stripe-card-element {
  padding-right: 72px !important;
}

/* JAVÍTVA: Stripe belső brand ikon pozicionálás */
body.woocommerce-checkout #payment li.payment_method_stripe .stripe-card-group .stripe-credit-card-brand,
body.woocommerce-checkout #payment li.payment_method_stripe .stripe-card-group .stripe-card-brand {
  position: absolute !important;
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 2 !important;
  pointer-events: none !important;
}

/* Stripe iframe-ek ne lógjanak ki */
body.woocommerce-checkout #payment li.payment_method_stripe .wc-stripe-elements-field iframe,
body.woocommerce-checkout #payment li.payment_method_stripe .StripeElement iframe {
  width: 100% !important;
  max-width: 100% !important;
}

/* Fókusz */
body.woocommerce-checkout #payment li.payment_method_stripe .wc-stripe-elements-field.focused,
body.woocommerce-checkout #payment li.payment_method_stripe .StripeElement--focus {
  border-color: #a81b7e !important;
  box-shadow: 0 0 0 2px rgba(168, 27, 126, 0.08) !important;
}

/* Mentés checkbox sor */
body.woocommerce-checkout #payment li.payment_method_stripe .woocommerce-SavedPaymentMethods-saveNew {
  grid-column: 1 / -1 !important;
  display: flex !important;
  align-items: flex-start !important;
  gap: 9px !important;
  width: 100% !important;
  margin: 2px 0 0 !important;
  padding: 0 !important;
  color: #432438 !important;
  font-size: 13px !important;
  line-height: 1.35 !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout #payment li.payment_method_stripe .woocommerce-SavedPaymentMethods-saveNew input[type="checkbox"] {
  width: 15px !important;
  height: 15px !important;
  min-width: 15px !important;
  margin: 2px 0 0 !important;
  accent-color: #a81b7e !important;
}

body.woocommerce-checkout #payment li.payment_method_stripe .woocommerce-SavedPaymentMethods-saveNew label {
  margin: 0 !important;
  color: #432438 !important;
  font-size: 13px !important;
  font-weight: 800 !important;
  line-height: 1.35 !important;
}

/* Mobil finomítás */
@media (max-width: 768px) {

  body.woocommerce-checkout #payment li.payment_method_stripe > label {
    font-size: 14px !important;
    gap: 6px 7px !important;
  }

  body.woocommerce-checkout #payment li.payment_method_stripe > label img {
    max-height: 15px !important;
  }

  body.woocommerce-checkout #payment li.payment_method_stripe div.payment_box {
    padding: 13px !important;
  }

  body.woocommerce-checkout #payment li.payment_method_stripe .wc-credit-card-form,
  body.woocommerce-checkout #payment li.payment_method_stripe .wc-stripe-cc-form {
    gap: 12px 9px !important;
  }

  body.woocommerce-checkout #payment li.payment_method_stripe .form-row label {
    font-size: 12px !important;
    margin-bottom: 6px !important;
  }

  body.woocommerce-checkout #payment li.payment_method_stripe .wc-stripe-elements-field,
  body.woocommerce-checkout #payment li.payment_method_stripe .StripeElement,
  body.woocommerce-checkout #payment li.payment_method_stripe #stripe-card-element,
  body.woocommerce-checkout #payment li.payment_method_stripe #stripe-exp-element,
  body.woocommerce-checkout #payment li.payment_method_stripe #stripe-cvc-element {
    height: 44px !important;
    min-height: 44px !important;
    padding: 0 10px !important;
  }

  body.woocommerce-checkout #payment li.payment_method_stripe #stripe-card-element {
    padding-right: 62px !important;
  }

  body.woocommerce-checkout #payment li.payment_method_stripe .woocommerce-SavedPaymentMethods-saveNew label {
    font-size: 12px !important;
  }
}

/* Nagyon keskeny nézeten is maradjon kezelhető */
@media (max-width: 420px) {

  body.woocommerce-checkout #payment li.payment_method_stripe .wc-credit-card-form,
  body.woocommerce-checkout #payment li.payment_method_stripe .wc-stripe-cc-form {
    grid-template-columns: 1fr 1fr !important;
    gap: 11px 8px !important;
  }

  body.woocommerce-checkout #payment li.payment_method_stripe .wc-stripe-elements-field,
  body.woocommerce-checkout #payment li.payment_method_stripe .StripeElement,
  body.woocommerce-checkout #payment li.payment_method_stripe #stripe-card-element,
  body.woocommerce-checkout #payment li.payment_method_stripe #stripe-exp-element,
  body.woocommerce-checkout #payment li.payment_method_stripe #stripe-cvc-element {
    padding: 0 8px !important;
  }

  body.woocommerce-checkout #payment li.payment_method_stripe #stripe-card-element {
    padding-right: 56px !important;
  }
}

/* =========================================================
   Be My Macaron – Checkout finomjavítások 2.
   Ajándékkártya alatti nagy üres tér, összesítő tördelés,
   szállítási sor kilógás, Stripe ikon ütközés javítása
   ========================================================= */


/* =========================================================
   1. Desktop checkout layout újrarendezése
   A nagy ajándékkártya alatti üres tér megszüntetése
   ========================================================= */

@media (min-width: 769px) {

  body.woocommerce-checkout form.checkout {
    display: block !important;
    position: relative !important;
    max-width: 1180px !important;
    margin: 0 auto !important;

    /* jobb oldali rendelési box helye */
    padding-right: 542px !important;
    min-height: 980px !important;
  }

  /* Bal oldali elemek: kupon / ajándékkártya / számlázási adatok */
  body.woocommerce-checkout form.checkout > :not(#order_review):not(#order_review_heading):not(.woocommerce-NoticeGroup):not(.woocommerce-NoticeGroup-checkout) {
    width: 100% !important;
    max-width: 100% !important;
  }

  body.woocommerce-checkout form.checkout #customer_details {
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: none !important;
    margin-top: 0 !important;
  }

  /* Jobb oldali cím továbbra se kell */
  body.woocommerce-checkout form.checkout #order_review_heading {
    display: none !important;
  }

  /* Jobb oldali rendelés/fizetés box függetlenítése a bal oldali oszloptól */
  body.woocommerce-checkout form.checkout #order_review {
    position: absolute !important;
    top: 0 !important;
    right: 0 !important;

    width: 500px !important;
    max-width: 500px !important;
    margin: 0 !important;

    float: none !important;
    clear: none !important;
  }
}


/* =========================================================
   2. Termékösszesítő: terméknév kapjon több helyet
   ========================================================= */

body.woocommerce-checkout .woocommerce-checkout-review-order-table {
  table-layout: auto !important;
  width: 100% !important;
}

/* Termék oszlop: minél több hely */
body.woocommerce-checkout .woocommerce-checkout-review-order-table th.product-name,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name {
  width: auto !important;
  max-width: none !important;

  padding-right: 14px !important;

  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* Ár oszlop: legyen fixen keskenyebb */
body.woocommerce-checkout .woocommerce-checkout-review-order-table th.product-total,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-total {
  width: 86px !important;
  min-width: 86px !important;
  max-width: 86px !important;

  text-align: right !important;
  white-space: nowrap !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
}

/* A korábbi td:last-child szélesség ne rontsa el a teljes táblázatot */
body.woocommerce-checkout .woocommerce-checkout-review-order-table td:last-child {
  width: auto !important;
  max-width: none !important;
}

/* Terméknevek és választott ízek ne törjenek karakterenként */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name *,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name a,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name strong,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name span {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

/* A hosszabb ízlista azért törhessen normálisan */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name .variation,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .product-name .variation * {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}


/* =========================================================
   3. Szállítási sor kilógás javítása
   ========================================================= */

/* Shipping / szállítás sor cellái */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals td {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  max-width: 100% !important;
}

/* Ingyenes szállítás szöveg ne lógjon ki */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals td *,
body.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method,
body.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method li,
body.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method label {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  max-width: 100% !important;
  text-align: right !important;
}

/* A saját "15.000 Ft..." üzenet ne menjen ki a dobozból */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals .woocommerce-shipping-destination,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals .shipping-method-description,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals p,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals small,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals span {
  display: block !important;
  max-width: 100% !important;
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  line-height: 1.35 !important;
}

/* Ha a free shipping üzenet sima szövegként van bent a cellában */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals td {
  overflow: hidden !important;
}


/* =========================================================
   4. Stripe / bankkártyás fizetés ikon ütközés javítása
   ========================================================= */

body.woocommerce-checkout #payment li.payment_method_stripe {
  position: relative !important;
  overflow: visible !important;
}

/* Radio ne floatoljon, mert az okozza a kis kártyás káoszt */
body.woocommerce-checkout #payment li.payment_method_stripe > input[type="radio"] {
  position: absolute !important;
  left: 16px !important;
  top: 20px !important;

  float: none !important;
  margin: 0 !important;
}

/* Fizetési mód címke és ikonok tiszta sorban */
body.woocommerce-checkout #payment li.payment_method_stripe > label {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;

  width: 100% !important;
  min-height: 26px !important;

  margin: 0 0 18px 0 !important;
  padding: 0 0 0 28px !important;

  line-height: 1.25 !important;
  box-sizing: border-box !important;
}

/* Kártya ikonok ne legyenek abszolút pozicionálva */
body.woocommerce-checkout #payment li.payment_method_stripe > label img,
body.woocommerce-checkout #payment ul.payment_methods li.payment_method_stripe label img {
  position: static !important;
  float: none !important;

  display: inline-block !important;
  flex: 0 0 auto !important;

  max-height: 17px !important;
  width: auto !important;

  margin: 0 2px !important;
  vertical-align: middle !important;
  transform: none !important;
}

/* Ha a plugin külön ikon-konténert használ */
body.woocommerce-checkout #payment li.payment_method_stripe .wc-stripe-card-icons-container,
body.woocommerce-checkout #payment li.payment_method_stripe .stripe-card-icons,
body.woocommerce-checkout #payment li.payment_method_stripe .cards {
  position: static !important;
  float: none !important;
  clear: both !important;

  display: flex !important;
  justify-content: flex-end !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 4px !important;

  width: 100% !important;
  height: auto !important;

  margin: 0 0 14px !important;
  padding: 0 !important;

  transform: none !important;
}

/* Payment box kezdődjön ténylegesen az ikonok alatt */
body.woocommerce-checkout #payment li.payment_method_stripe div.payment_box {
  clear: both !important;
  margin-top: 16px !important;
  overflow: visible !important;
}

/* Stripe formon belül legyen több hely a kártyamezőnek */
body.woocommerce-checkout #payment li.payment_method_stripe .wc-credit-card-form,
body.woocommerce-checkout #payment li.payment_method_stripe .wc-stripe-cc-form {
  clear: both !important;
  padding-top: 2px !important;
}

/* A kártyaszám mező ne nyúljon rá a belső márkaikonra */
body.woocommerce-checkout #payment li.payment_method_stripe #stripe-card-element,
body.woocommerce-checkout #payment li.payment_method_stripe .wc-stripe-elements-field,
body.woocommerce-checkout #payment li.payment_method_stripe .StripeElement {
  position: relative !important;
  z-index: 1 !important;
}

/* Belső brand ikon helye, ha a Stripe ilyen elemet rak be */
body.woocommerce-checkout #payment li.payment_method_stripe .stripe-card-group .stripe-credit-card-brand,
body.woocommerce-checkout #payment li.payment_method_stripe .stripe-card-group .stripe-card-brand {
  right: 12px !important;
  top: 50% !important;
  transform: translateY(-50%) !important;
  z-index: 3 !important;
}


/* =========================================================
   5. Mobilon ne használjuk az absolute desktop layoutot
   ========================================================= */

@media (max-width: 768px) {

  body.woocommerce-checkout form.checkout {
    display: flex !important;
    flex-direction: column !important;
    position: static !important;
    padding-right: 0 !important;
    min-height: 0 !important;
  }

  body.woocommerce-checkout form.checkout #order_review {
    position: static !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-top: 24px !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table th.product-total,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-total {
    width: 82px !important;
    min-width: 82px !important;
    max-width: 82px !important;
  }
}

/* =========================================================
   Be My Macaron – Checkout finomjavítások 3.
   Jobb oldali összesítő szétesésének javítása
   ========================================================= */

/* ---------------------------------------------------------
   1. Jobb oldali order review doboz maradjon a saját szélességén belül
   --------------------------------------------------------- */
@media (min-width: 769px) {
  body.woocommerce-checkout form.checkout #order_review {
    width: 500px !important;
    max-width: 500px !important;
    min-width: 500px !important;
    overflow: hidden !important;
  }
}

/* ---------------------------------------------------------
   2. Rendelés összesítő táblázat – fix, stabil elrendezés
   --------------------------------------------------------- */
body.woocommerce-checkout .woocommerce-checkout-review-order-table {
  width: 100% !important;
  max-width: 100% !important;
  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;
  overflow: hidden !important;
}

/* Minden cella maradjon a dobozon belül */
body.woocommerce-checkout .woocommerce-checkout-review-order-table th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td {
  box-sizing: border-box !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

/* ---------------------------------------------------------
   3. 75% / 25% oszloparány
   --------------------------------------------------------- */
body.woocommerce-checkout .woocommerce-checkout-review-order-table th.product-name,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name {
  width: 75% !important;
  max-width: 75% !important;
  padding-right: 10px !important;

  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 600 !important;

  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table th.product-total,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-total {
  width: 25% !important;
  max-width: 25% !important;
  min-width: 92px !important;

  text-align: right !important;
  white-space: nowrap !important;

  font-size: 13px !important;
  line-height: 1.35 !important;
  font-weight: 700 !important;
}

/* Ne a td:last-child kavarjon be */
body.woocommerce-checkout .woocommerce-checkout-review-order-table td:last-child {
  width: 25% !important;
  max-width: 25% !important;
  min-width: 92px !important;
  text-align: right !important;
  white-space: nowrap !important;
}

/* Terméknéven belüli elemek is normálisan törjenek */
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name *,
body.woocommerce-checkout .woocommerce-checkout-review-order-table th.product-name * {
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
}

/* Variáció / választott ízek */
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name .variation,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name .variation * {
  font-size: 12px !important;
  line-height: 1.35 !important;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
}

/* ---------------------------------------------------------
   4. Shipping sorok ne lógjanak ki
   --------------------------------------------------------- */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals td {
  font-size: 12px !important;
  line-height: 1.35 !important;
  vertical-align: top !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals td *,
body.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method,
body.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method li,
body.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method label {
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  max-width: 100% !important;
  text-align: right !important;
}

/* A 15.000 Ft-os üzenet normálisan törjön */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals small,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals p,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals span {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  white-space: normal !important;
  word-break: break-word !important;
  overflow-wrap: break-word !important;
  line-height: 1.35 !important;
}

/* ---------------------------------------------------------
   5. Összegsorok maradjanak tiszták
   --------------------------------------------------------- */
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .order-total td {
  font-size: 13px !important;
  line-height: 1.35 !important;
}

/* ---------------------------------------------------------
   6. Stripe fejléc és ikonok – ne csússzanak egymásra
   --------------------------------------------------------- */
body.woocommerce-checkout #payment li.payment_method_stripe,
body.woocommerce-checkout #payment li.payment_method_wc_stripe {
  position: relative !important;
  overflow: visible !important;
}

body.woocommerce-checkout #payment li.payment_method_stripe > input[type="radio"],
body.woocommerce-checkout #payment li.payment_method_wc_stripe > input[type="radio"] {
  position: absolute !important;
  left: 14px !important;
  top: 18px !important;
  margin: 0 !important;
  float: none !important;
}

body.woocommerce-checkout #payment li.payment_method_stripe > label,
body.woocommerce-checkout #payment li.payment_method_wc_stripe > label {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 6px !important;
  width: 100% !important;
  padding-left: 28px !important;
  margin: 0 0 14px 0 !important;
  line-height: 1.3 !important;
  box-sizing: border-box !important;
}

body.woocommerce-checkout #payment li.payment_method_stripe > label img,
body.woocommerce-checkout #payment li.payment_method_wc_stripe > label img {
  position: static !important;
  float: none !important;
  display: inline-block !important;
  max-height: 16px !important;
  width: auto !important;
  margin: 0 2px !important;
  vertical-align: middle !important;
}

body.woocommerce-checkout #payment li.payment_method_stripe div.payment_box,
body.woocommerce-checkout #payment li.payment_method_wc_stripe div.payment_box {
  clear: both !important;
  margin-top: 14px !important;
  overflow: visible !important;
}

/* ---------------------------------------------------------
   7. Mobil finomítás
   --------------------------------------------------------- */
@media (max-width: 768px) {
  body.woocommerce-checkout form.checkout #order_review {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow: hidden !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table th.product-name,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name {
    width: 72% !important;
    max-width: 72% !important;
    font-size: 12px !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table th.product-total,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-total,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table td:last-child {
    width: 28% !important;
    max-width: 28% !important;
    min-width: 76px !important;
    font-size: 12px !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals th,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals td {
    font-size: 11px !important;
  }
}

/* =========================================================
   Be My Macaron – Checkout végleges javítás
   Footer overlap + shipping tördelés + order table 75/25
   ========================================================= */


/* =========================================================
   1. Desktop layout vissza normál gridbe
   Fontos: nincs absolute, így nem megy bele a footerbe
   ========================================================= */

@media (min-width: 769px) {

  body.woocommerce-checkout form.checkout {
    display: grid !important;
    grid-template-columns: minmax(0, 1fr) minmax(0, 500px) !important;
    grid-template-rows: auto auto !important;
    column-gap: 42px !important;
    row-gap: 18px !important;
    align-items: start !important;

    max-width: 1180px !important;
    margin: 0 auto !important;
    padding-right: 0 !important;
    min-height: 0 !important;
    position: relative !important;
  }

  /* Bal oldal: kupon / ajándékkártya / egyéb checkout előtti elemek */
  body.woocommerce-checkout form.checkout > :not(#customer_details):not(#order_review):not(#order_review_heading):not(.woocommerce-NoticeGroup):not(.woocommerce-NoticeGroup-checkout) {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: 0 !important;
    margin-right: 0 !important;
  }

  /* Bal oldal: számlázási adatok */
  body.woocommerce-checkout form.checkout #customer_details {
    grid-column: 1 !important;
    grid-row: auto !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: none !important;
    margin: 0 !important;
  }

  /* Jobb oldali címsor rejtve */
  body.woocommerce-checkout form.checkout #order_review_heading {
    display: none !important;
  }

  /* Jobb oldali rendelési box */
  body.woocommerce-checkout form.checkout #order_review {
    grid-column: 2 !important;
    grid-row: 1 / span 20 !important;

    position: sticky !important;
    top: 110px !important;
    right: auto !important;
    left: auto !important;

    width: 100% !important;
    max-width: 500px !important;
    min-width: 0 !important;

    float: none !important;
    clear: none !important;

    margin: 0 !important;
    align-self: start !important;

    overflow: visible !important;
  }
}


/* =========================================================
   2. Rendelés összesítő belső doboz
   Ne lógjon ki a saját konténeréből
   ========================================================= */

body.woocommerce-checkout #order_review {
  box-sizing: border-box !important;
  overflow: visible !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table {
  width: 100% !important;
  max-width: 100% !important;

  table-layout: fixed !important;
  border-collapse: separate !important;
  border-spacing: 0 !important;

  overflow: hidden !important;
  box-sizing: border-box !important;
}


/* =========================================================
   3. Termékösszesítő: 75% terméknév / 25% ár
   ========================================================= */

body.woocommerce-checkout .woocommerce-checkout-review-order-table th.product-name,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name {
  width: 75% !important;
  max-width: 75% !important;

  padding: 13px 12px !important;

  font-size: 12.5px !important;
  line-height: 1.32 !important;
  font-weight: 600 !important;

  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;

  vertical-align: top !important;
}

body.woocommerce-checkout .woocommerce-checkout-review-order-table th.product-total,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-total,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td:last-child {
  width: 25% !important;
  max-width: 25% !important;
  min-width: 0 !important;

  padding: 13px 12px !important;

  text-align: right !important;
  white-space: nowrap !important;

  font-size: 12.5px !important;
  line-height: 1.32 !important;
  font-weight: 700 !important;

  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;

  vertical-align: top !important;
}

/* Terméknevek belső elemei */
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name *,
body.woocommerce-checkout .woocommerce-checkout-review-order-table th.product-name * {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;
}

/* Választott ízek finomabb megjelenése */
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name .variation,
body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name .variation * {
  font-size: 12px !important;
  line-height: 1.3 !important;
  font-weight: 500 !important;

  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
}


/* =========================================================
   4. Shipping sor javítása
   Ne törje így: szállít / ás
   ========================================================= */

body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals td {
  font-size: 12.5px !important;
  line-height: 1.35 !important;

  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;

  vertical-align: top !important;
}

/* A shipping ár/módszer cella ne törjön karakterenként */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals td,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals td *,
body.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method,
body.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method li,
body.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method label {
  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;

  text-align: right !important;
}

/* Ingyenes szállítás külön sorban, de nem betűnként */
body.woocommerce-checkout .woocommerce-checkout-review-order-table #shipping_method label {
  display: block !important;
  line-height: 1.25 !important;
}

/* Saját 15.000 Ft-os üzenet: ne lógjon ki */
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals p,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals small,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals span,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals .shipping-method-description,
body.woocommerce-checkout .woocommerce-checkout-review-order-table .woocommerce-shipping-totals .woocommerce-shipping-destination {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;

  white-space: normal !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  hyphens: none !important;

  line-height: 1.35 !important;
  text-align: left !important;
}

/* Ha a 15.000 Ft-os szöveg külön tfoot sorban van */
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr th,
body.woocommerce-checkout .woocommerce-checkout-review-order-table tfoot tr td {
  overflow: hidden !important;
  box-sizing: border-box !important;
}


/* =========================================================
   5. Stripe / bankkártya rész: IFS badge és ikon ütközés
   ========================================================= */

/* A fizetési box tartsa bent az elemeket */
body.woocommerce-checkout #payment,
body.woocommerce-checkout #payment ul.payment_methods,
body.woocommerce-checkout #payment li.wc_payment_method,
body.woocommerce-checkout #payment div.payment_box {
  box-sizing: border-box !important;
}

/* Stripe kártya */
body.woocommerce-checkout #payment li.payment_method_stripe,
body.woocommerce-checkout #payment li.payment_method_wc_stripe {
  position: relative !important;
  overflow: visible !important;
}

/* Label sor tisztítása */
body.woocommerce-checkout #payment li.payment_method_stripe > label,
body.woocommerce-checkout #payment li.payment_method_wc_stripe > label {
  display: flex !important;
  align-items: center !important;
  flex-wrap: wrap !important;
  gap: 5px !important;

  width: 100% !important;
  padding-left: 28px !important;
  margin: 0 0 14px 0 !important;

  box-sizing: border-box !important;
}

/* Kis kártya ikonok */
body.woocommerce-checkout #payment li.payment_method_stripe > label img,
body.woocommerce-checkout #payment li.payment_method_wc_stripe > label img,
body.woocommerce-checkout #payment ul.payment_methods li.wc_payment_method label img {
  position: static !important;
  float: none !important;

  display: inline-block !important;
  max-height: 15px !important;
  width: auto !important;

  margin: 0 1px !important;
  transform: none !important;
}

/* Stripe payment box belső méretezés */
body.woocommerce-checkout #payment li.payment_method_stripe div.payment_box,
body.woocommerce-checkout #payment li.payment_method_wc_stripe div.payment_box {
  width: 100% !important;
  max-width: 100% !important;

  clear: both !important;
  overflow: hidden !important;

  padding: 14px !important;
  box-sizing: border-box !important;
}

/* Stripe mezők */
body.woocommerce-checkout #payment li.payment_method_stripe .wc-credit-card-form,
body.woocommerce-checkout #payment li.payment_method_stripe .wc-stripe-cc-form,
body.woocommerce-checkout #payment li.payment_method_wc_stripe .wc-credit-card-form,
body.woocommerce-checkout #payment li.payment_method_wc_stripe .wc-stripe-cc-form {
  width: 100% !important;
  max-width: 100% !important;

  display: grid !important;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) !important;
  gap: 12px !important;

  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* Kártyaszám teljes szélesség */
body.woocommerce-checkout #payment li.payment_method_stripe .form-row-wide,
body.woocommerce-checkout #payment li.payment_method_wc_stripe .form-row-wide {
  grid-column: 1 / -1 !important;
}

/* Form sorok */
body.woocommerce-checkout #payment li.payment_method_stripe .form-row,
body.woocommerce-checkout #payment li.payment_method_wc_stripe .form-row {
  width: 100% !important;
  max-width: 100% !important;

  margin: 0 !important;
  padding: 0 !important;

  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* Stripe input dobozok */
body.woocommerce-checkout #payment li.payment_method_stripe .wc-stripe-elements-field,
body.woocommerce-checkout #payment li.payment_method_stripe .StripeElement,
body.woocommerce-checkout #payment li.payment_method_stripe #stripe-card-element,
body.woocommerce-checkout #payment li.payment_method_stripe #stripe-exp-element,
body.woocommerce-checkout #payment li.payment_method_stripe #stripe-cvc-element {
  width: 100% !important;
  max-width: 100% !important;

  height: 46px !important;
  min-height: 46px !important;

  padding: 0 10px !important;

  border: 1px solid #dfcad6 !important;
  border-radius: 8px !important;
  background: #ffffff !important;

  overflow: hidden !important;
  box-sizing: border-box !important;
}

/* IFS badge ne ússzon rá a CVC mezőre */
body.woocommerce-checkout #payment li.payment_method_stripe img[src*="IFS"],
body.woocommerce-checkout #payment li.payment_method_stripe img[alt*="IFS"],
body.woocommerce-checkout #payment li.payment_method_stripe .ifs,
body.woocommerce-checkout #payment li.payment_method_stripe .ifs-logo,
body.woocommerce-checkout #payment li.payment_method_stripe .ifs-badge {
  position: static !important;
  display: block !important;

  max-width: 120px !important;
  height: auto !important;

  margin: 12px 0 0 auto !important;
  transform: none !important;
}

/* Mentés checkbox */
body.woocommerce-checkout #payment li.payment_method_stripe .woocommerce-SavedPaymentMethods-saveNew {
  grid-column: 1 / -1 !important;
  width: 100% !important;
  max-width: 100% !important;

  display: flex !important;
  align-items: flex-start !important;
  gap: 8px !important;

  overflow: hidden !important;
  box-sizing: border-box !important;
}


/* =========================================================
   6. Mobil layout
   ========================================================= */

@media (max-width: 768px) {

  body.woocommerce-checkout form.checkout {
    display: flex !important;
    flex-direction: column !important;

    position: static !important;
    padding-right: 0 !important;
    min-height: 0 !important;
  }

  body.woocommerce-checkout form.checkout #order_review {
    position: static !important;

    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;

    margin: 24px 0 0 !important;
    overflow: visible !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table th.product-name,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-name {
    width: 72% !important;
    max-width: 72% !important;
    font-size: 12px !important;
  }

  body.woocommerce-checkout .woocommerce-checkout-review-order-table th.product-total,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table td.product-total,
  body.woocommerce-checkout .woocommerce-checkout-review-order-table td:last-child {
    width: 28% !important;
    max-width: 28% !important;
    font-size: 12px !important;
  }

  body.woocommerce-checkout #payment li.payment_method_stripe .wc-credit-card-form,
  body.woocommerce-checkout #payment li.payment_method_stripe .wc-stripe-cc-form {
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
  }
}

/* =========================================================
   BMM – Biztonságos telefonos single válogatás sorrend
   FONTOS: a WooCommerce/FlexSlider belső galéria elemeihez nem nyúl.
   ========================================================= */

@media only screen and (max-width: 599px) {

  body.single-product .ast-woocommerce-container > div.product.product_cat-macaron-valogatasaink {
    display: flex !important;
    flex-direction: column !important;
    width: 100% !important;
  }

  body.single-product .ast-woocommerce-container > div.product.product_cat-macaron-valogatasaink > .summary.entry-summary {
    display: contents !important;
  }

  body.single-product .ast-woocommerce-container > div.product.product_cat-macaron-valogatasaink .single-product-category {
    order: 10 !important;
    display: block !important;
    width: 100% !important;
    margin: 0 0 8px !important;
    padding: 0 !important;
  }

  body.single-product .ast-woocommerce-container > div.product.product_cat-macaron-valogatasaink .single-product-category a {
    color: #7b3b68 !important;
    text-decoration: none !important;
    font-weight: 500 !important;
  }

  body.single-product .ast-woocommerce-container > div.product.product_cat-macaron-valogatasaink .product_title {
    order: 20 !important;
    display: block !important;
    width: 100% !important;
    margin: 0 0 16px !important;
    padding: 0 !important;
    line-height: 1.12 !important;
  }

  body.single-product .ast-woocommerce-container > div.product.product_cat-macaron-valogatasaink > .woocommerce-product-gallery {
    order: 30 !important;
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    float: none !important;
    clear: both !important;
    margin: 0 0 22px !important;
    padding: 0 !important;
  }

  body.single-product .ast-woocommerce-container > div.product.product_cat-macaron-valogatasaink p.price {
    order: 40 !important;
    width: 100% !important;
    margin: 0 0 18px !important;
  }

  body.single-product .ast-woocommerce-container > div.product.product_cat-macaron-valogatasaink .ast-shipping-text {
    order: 45 !important;
    display: none !important;
  }

  body.single-product .ast-woocommerce-container > div.product.product_cat-macaron-valogatasaink form.cart {
    order: 50 !important;
    width: 100% !important;
    margin: 0 0 24px !important;
  }

  body.single-product .ast-woocommerce-container > div.product.product_cat-macaron-valogatasaink .woocommerce-product-details__short-description {
    order: 60 !important;
    width: 100% !important;
    margin: 0 0 32px !important;
  }

  body.single-product .ast-woocommerce-container > div.product.product_cat-macaron-valogatasaink .product_meta {
    order: 65 !important;
    display: none !important;
  }

  body.single-product .ast-woocommerce-container > div.product.product_cat-macaron-valogatasaink > section.bmm-flavours,
  body.single-product .ast-woocommerce-container > div.product.product_cat-macaron-valogatasaink .bmm-flavours {
    order: 70 !important;
    width: 100% !important;
    margin: 0 0 36px !important;
  }
}

/* =========================================================
   BMM – Galéria védelmi megjegyzés
   A következő elemeket NE írd felül width/transform/display/height szabályokkal:
   .flex-viewport, .woocommerce-product-gallery__wrapper,
   .woocommerce-product-gallery__image, .flex-active-slide
   ========================================================= */
