/*
 * Paradise TeaSpa â€“ egyedi stĂ­lusok
 *
 * ForrĂˇs: DESKTOP.pdf + 01-Design-Design_System.md
 * A Divi modulok CSS class / ID mezĹ‘iben a pts-* osztĂˇlyokat kell megadni.
 */

/* ==========================================================================
   0. Rendelés-visszaigazoló oldal fontkészlete (váltó)

   Alapból a site jelenlegi fontjai. Az ügyfél verziójához vedd ki a
   kommentből az @import sort és a három „ügyfél” változót.
   Az @import csak a fájl legelején, minden szabály előtt működik.
   ========================================================================== */

/* @import url('https://fonts.googleapis.com/css2?family=Cormorant+Garamond:wght@500;600&family=Inter:wght@400;500;600&display=swap'); */

:root {
  --pts-order-font-heading:   var(--pts-font-heading);
  --pts-order-font-body:      var(--pts-font-body);
  --pts-order-heading-scale:  1;

  /* Ügyfél: */
  /* --pts-order-font-heading: 'Cormorant Garamond', Georgia, serif; */
  /* --pts-order-font-body:    'Inter', sans-serif; */
  /* --pts-order-heading-scale: 1.4; */
}

/* ==========================================================================
   1. Design Tokens
   ========================================================================== */

:root {
  --pts-navy-primary:      #13386B;
  --pts-bg-page:           #F6F3EE;
  --pts-bg-section:        #ECE5D6;
  --pts-gold-primary:      #E1AA3F;
  --pts-gold-hover:        #C88C42;
  --pts-gold-secondary:    #DFA054;
  --pts-beige-warm:        #E2CAA1;
  --pts-gold-botanical:    #CEBB8D;
  --pts-brown-dark:        #695D3F;
  --pts-bg-soft-1:         #EDE9E1;
  --pts-bg-soft-2:         #DCD6C8;
  --pts-white:             #FFFFFF;

  --pts-font-heading:      'Syncopate', sans-serif;
  --pts-font-body:         'Quicksand', sans-serif;

  --pts-page-padding-x:    148px;
  --pts-content-max-width: 1304px;
  --pts-section-padding-x: 30px;
  --pts-section-gap:       80px;
  --pts-card-gap:          40px;
  --pts-header-height:     130px;
  --pts-header-height-stuck: 72px;
  --pts-header-logo-stuck: 68px;
  --pts-glow-height:       255px;
  --pts-radius-pill:       999px;
  --pts-radius-panel:      24px;
}

/* ==========================================================================
   2. Global page / layout
   ========================================================================== */

body {
  background-color: var(--pts-bg-page);
  color: var(--pts-navy-primary);
  font-family: var(--pts-font-body);
}

#page-container,
#et-boc,
#main-content,
#et-main-area,
.et-l--header,
.et-l--post,
.et-l--body {
  background-color: transparent;
}

body .et_pb_section {
  background-color: transparent !important;
  padding-left: var(--pts-section-padding-x);
  padding-right: var(--pts-section-padding-x);
}

#page-container {
  position: relative;
  z-index: 1;
}

#main-content,
.et-l--post,
.et_builder_inner_content {
  overflow: visible;
}

.et-l--body img,
.et-l--post img,
#et-main-area img,
#main-content img {
  border-radius: var(--pts-radius-panel);
}

.et-l--body .et_pb_image,
.et-l--body .et_pb_image_wrap,
.et-l--post .et_pb_image,
.et-l--post .et_pb_image_wrap,
#et-main-area .et_pb_image,
#et-main-area .et_pb_image_wrap,
#main-content .et_pb_image,
#main-content .et_pb_image_wrap {
  overflow: hidden;
  border-radius: var(--pts-radius-panel);
}

.et-l--header img,
.et-l--footer img,
.pts-header img,
.pts-footer img {
  border-radius: 0;
}

.pts-hero .et_pb_row,
.pts-hero__panel .et_pb_row,
.pts-brand-intro .et_pb_row,
.pts-private-spa .et_pb_row,
.pts-process .et_pb_row,
.pts-product-collection .et_pb_row,
.pts-media-block .et_pb_row,
.pts-faq .et_pb_row,
.pts-contact .et_pb_row,
.pts-header .et_pb_row,
.pts-footer .et_pb_row {
  width: 100%;
  max-width: var(--pts-content-max-width);
}

#termekek {
  scroll-margin-top: calc(var(--pts-header-height-stuck) + 16px);
}


/* Responsive “ About */
@media (max-width: 480px) {
  footer .et_pb_row.et_pb_row_2_tb_footer.pts-footer__logo-row {
    padding-left: 10% !important;
    padding-right: 10% !important;
  }

  .et_pb_section > .et_pb_row {
    width: 100% !important;
  }
}


/* ==========================================================================
   3. Shared heading / body resets (Divi 5 heading wrappers)
   ========================================================================== */

.pts-hero__headline .et_pb_heading_container,
.pts-hero__subheadline .et_pb_heading_container,
.pts-brand-intro__heading .et_pb_heading_container,
.pts-private-spa__heading .et_pb_heading_container,
.pts-process__heading .et_pb_heading_container,
.pts-process__step-heading .et_pb_heading_container,
.pts-product-collection__heading .et_pb_heading_container,
.pts-product-card__name .et_pb_heading_container,
.pts-media-block__heading .et_pb_heading_container,
.pts-faq__heading .et_pb_heading_container,
.pts-contact__heading .et_pb_heading_container {
  margin: 0;
}

.pts-hero__headline .et_pb_module_header,
.pts-hero__subheadline .et_pb_module_header,
.pts-brand-intro__heading .et_pb_module_header,
.pts-private-spa__heading .et_pb_module_header,
.pts-process__heading .et_pb_module_header,
.pts-process__step-heading .et_pb_module_header,
.pts-product-collection__heading .et_pb_module_header,
.pts-product-card__name .et_pb_module_header,
.pts-media-block__heading .et_pb_module_header,
.pts-faq__heading .et_pb_module_header,
.pts-contact__heading .et_pb_module_header {
  margin: 0;
  font-weight: 400;
}

/* ==========================================================================
   4. Buttons â€“ gold pill (DESKTOP.pdf)
   ========================================================================== */

.pts-btn-primary,
.pts-btn-cta,
.pts-btn-cta-wide,
.pts-btn-card,
.et_pb_button.pts-private-spa__cta,
.et_pb_button.pts-product-card__cta,
.pts-contact__form .et_pb_contact_submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-family: var(--pts-font-body);
  font-weight: 500;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
  background-color: var(--pts-gold-primary) !important;
  background-image: none !important;
  color: var(--pts-white) !important;
  border: none !important;
  border-radius: var(--pts-radius-pill) !important;
  box-shadow: none !important;
  cursor: pointer;
  transition: background-color 300ms ease-in-out, color 300ms ease-in-out;
}

.pts-btn-primary:hover,
.pts-btn-cta:hover,
.pts-btn-cta-wide:hover,
.pts-btn-card:hover,
.et_pb_button.pts-private-spa__cta:hover,
.et_pb_button.pts-product-card__cta:hover,
.pts-contact__form .et_pb_contact_submit:hover {
  background-color: var(--pts-gold-hover) !important;
  color: var(--pts-white) !important;
}

.et_pb_button.pts-private-spa__cta {
  min-width: 386px;
  min-height: 52px;
  padding: 14px 40px;
  font-size: 1rem;
}

.et_pb_button.pts-product-card__cta {
  min-width: 115px;
  min-height: 30px;
  padding: 8px 20px;
  font-size: 0.8rem;
  margin-top: 8px;
}

.pts-contact__form .et_pb_contact_submit {
  min-width: 220px;
  min-height: 48px;
  padding: 14px 48px;
  font-size: 1rem;
}

/* ==========================================================================
   5. Page atmosphere (header glow only)
   A 255px-es Figma-box a glow magassĂˇga, nem a headerĂ©.
   A hullĂˇmok a .pts-hero__panel-en vannak, nem itt.
   ========================================================================== */

.pts-page-decor {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  pointer-events: none;
  z-index: 0;
}

.pts-page-decor__glow {
  display: block;
  width: 100%;
  height: var(--pts-glow-height);
  background-image: radial-gradient(32.52% 88.87% at 50% 0%, rgba(201, 140, 66, 0.2) 0%, rgba(238, 234, 225, 0) 100%);
  background-repeat: no-repeat;
  background-position: top center;
  background-size: 100% 100%;
}

/* ==========================================================================
   6. Header
   ========================================================================== */

.et-l--header .pts-header.et_pb_section,
.pts-header.et_pb_section,
.pts-header {
  min-height: var(--pts-header-height);
  height: auto !important;
  padding-top: 0;
  padding-bottom: 0;
  overflow: visible;
  background-color: transparent !important;
  background-image: none !important;
}

.pts-header .et_pb_row {
  min-height: var(--pts-header-height);
  height: 100%;
  display: flex;
  align-items: center;
}

.pts-header .pts-header__nav-item,
.pts-header .pts-header__nav-item a,
.pts-header .pts-header__nav-item p {
  font-family: var(--pts-font-body);
  font-weight: 500;
  font-size: 17px;
  line-height: 1.2;
  color: var(--pts-navy-primary);
  text-decoration: none;
}

.pts-header .pts-header__nav-item a {
  transition: color 300ms ease-in-out;
}

.pts-header .pts-header__nav-item a:hover {
  color: var(--pts-gold-primary);
}

.pts-header__logo {
  text-align: center;
}

.pts-header__logo-img,
.pts-header__logo-img img {
  display: block;
  width: 135px;
  max-width: 135px;
  height: auto;
  margin: 0 auto;
  transition: width 220ms ease, max-width 220ms ease;
}

.pt-top-menu ul.et-menu,
.pts-header__utility ul.et-menu {
  display: flex;
  align-items: center;
  gap: 32px;
  list-style: none;
  margin: 0;
  padding: 0;
}

.pt-top-menu ul.et-menu li,
.pts-header__utility ul.et-menu li {
  padding: 0;
}

.pt-top-menu ul.et-menu li a,
.pts-header__utility ul.et-menu li a,
.pts-header__utility .et_pb_menu__icon,
.pts-header__utility .et_pb_menu__icon a {
  font-family: var(--pts-font-body);
  font-weight: 500;
  font-size: 17px;
  line-height: 1.2;
  color: var(--pts-navy-primary);
  text-decoration: none;
  transition: color 300ms ease-in-out;
}

.pt-top-menu ul.et-menu li a:hover,
.pts-header__utility ul.et-menu li a:hover,
.pts-header__utility .et_pb_menu__icon a:hover {
  color: var(--pts-gold-primary);
}

.pt-top-menu ul.et-menu li.current-menu-item a {
  color: var(--pts-navy-primary);
}

.pts-header__nav-right,
.pts-header__nav-right .et_pb_menu__wrap,
.pts-header__utility .et_pb_menu__wrap {
  display: flex;
  justify-content: flex-end;
  gap: 32px;
}

.pts-header__utility .et_pb_menu__search-button,
.pts-header__utility .et_pb_menu__logo-wrap {
  display: none;
}

.pts-header__account a,
.pts-header__utility .menu-item.pts-header__account > a {
  display: inline-flex;
  align-items: center;
  gap: 8px;
}

.pts-header__account a::before,
.pts-header__utility .menu-item.pts-header__account > a::before {
  content: '';
  display: inline-block;
  width: 15px;
  height: 17px;
  margin-right: 0px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 17' fill='none'%3E%3Ccircle cx='7.5' cy='4.2' r='3.2' fill='black'/%3E%3Cpath d='M1.2 16c0-3.5 2.8-6.3 6.3-6.3S13.8 12.5 13.8 16' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 17' fill='none'%3E%3Ccircle cx='7.5' cy='4.2' r='3.2' fill='black'/%3E%3Cpath d='M1.2 16c0-3.5 2.8-6.3 6.3-6.3S13.8 12.5 13.8 16' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.pts-header .pts-header__utility a.et_pb_menu__icon,
.pts-header .pts-header__utility a.et_pb_menu__icon.et_pb_menu__cart-button {
  position: relative;
  display: inline-flex;
  flex-direction: row;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: var(--pts-navy-primary);
}

.pts-header .pts-header__utility a.et_pb_menu__icon.et_pb_menu__cart-button::before {
  content: '';
  display: inline-block;
  width: 17px;
  height: 16px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 16' fill='none'%3E%3Cpath d='M5.1 5.1V3.8A3.4 3.4 0 0 1 8.5.4a3.4 3.4 0 0 1 3.4 3.4v1.3' stroke='black' stroke-width='1.6' stroke-linecap='round'/%3E%3Cpath d='M2.2 5.1h12.6l-1.1 9.4H3.3L2.2 5.1z' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 17 16' fill='none'%3E%3Cpath d='M5.1 5.1V3.8A3.4 3.4 0 0 1 8.5.4a3.4 3.4 0 0 1 3.4 3.4v1.3' stroke='black' stroke-width='1.6' stroke-linecap='round'/%3E%3Cpath d='M2.2 5.1h12.6l-1.1 9.4H3.3L2.2 5.1z' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
}

.pts-header .pts-header__utility a.et_pb_menu__icon.et_pb_menu__cart-button::after {
  content: 'Kos\00E1r';
  font-family: var(--pts-font-body);
  font-weight: 500;
  font-size: 17px;
  line-height: 1.2;
  margin: 0;
}

.pts-header .pts-header__utility a.et_pb_menu__icon.et_pb_menu__cart-button:hover,
.pts-header .pts-header__utility a.et_pb_menu__icon.et_pb_menu__cart-button:hover::after {
  color: var(--pts-gold-primary);
}

.pts-header__utility .et_pb_menu__cart-count {
  display: none;
}

.pts-header__utility .et_mobile_nav_menu {
  display: none !important;
}

.pts-header ul.et_mobile_menu {
  background-color: var(--pts-white) !important;
  background-image: none !important;
  border: 0 !important;
  box-shadow: 0 12px 32px rgba(19, 56, 107, 0.08);
}

.pts-header ul.et_mobile_menu li {
  background-color: var(--pts-white) !important;
  border-color: var(--pts-bg-soft-2) !important;
}

.pts-header ul.et_mobile_menu li a {
  display: block !important;
  background-color: var(--pts-white) !important;
  background-image: none !important;
  color: var(--pts-navy-primary) !important;
  font-family: var(--pts-font-body) !important;
  font-size: calc(17px * 1.2) !important;
  font-weight: 500 !important;
  line-height: 1.3 !important;
}

.pts-header ul.et_mobile_menu li a:hover,
.pts-header ul.et_mobile_menu li a:focus,
.pts-header ul.et_mobile_menu li.current-menu-item > a {
  background-color: var(--pts-bg-page) !important;
  color: var(--pts-gold-primary) !important;
}

@media (min-width: 981px) {
  .pts-header .pts-mobile-only {
    display: none !important;
  }
}

@media (max-width: 980px) {
  .pts-header__utility .et_pb_menu__menu {
    display: none !important;
  }
}

@media (max-width: 1024px) {
  .pts-header,
  .pts-header .et_pb_row,
  .pts-header .pts-header__nav-left,
  .pts-header .et_pb_menu,
  .pts-header .et_pb_menu_inner_container,
  .pts-header .et_pb_menu__wrap,
  .pts-header .et_mobile_nav_menu,
  .pts-header .mobile_nav {
    overflow: visible !important;
  }

  .pts-header {
    position: relative;
  }

  .pts-header .et_pb_row,
  .pts-header .pts-header__nav-left,
  .pts-header .et_pb_menu,
  .pts-header .et_pb_menu_inner_container,
  .pts-header .et_pb_menu__wrap,
  .pts-header .et_mobile_nav_menu,
  .pts-header .mobile_nav {
    position: static !important;
  }

  .pts-header ul.et_mobile_menu {
    position: absolute !important;
    top: 100% !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    max-width: none !important;
    margin: 0 !important;
    padding: 8px 0 !important;
    box-sizing: border-box !important;
    z-index: 99999;
  }

  .pts-header ul.et_mobile_menu li a {
    white-space: nowrap;
  }
}

/* Sticky: full size at the top, compact bar after scroll. */
.et-l--header {
  position: sticky;
  top: 0;
  z-index: 1000;
  background-color: transparent;
  transition: background-color 220ms ease;
}

body.admin-bar .et-l--header {
  top: 32px;
}

@media screen and (max-width: 782px) {
  body.admin-bar .et-l--header {
    top: 46px;
  }
}

.pts-header,
.pts-header .et_pb_row {
  transition: min-height 220ms ease, background-color 220ms ease;
}

.et-l--header.is-compact,
.et-l--header.is-compact .pts-header.et_pb_section,
.pts-header.is-compact.et_pb_section {
  background-color: var(--pts-bg-page) !important;
  background-image: none !important;
}

.et-l--header.is-compact .pts-header,
.et-l--header.is-compact .pts-header .et_pb_row,
.pts-header.is-compact,
.pts-header.is-compact .et_pb_row {
  min-height: var(--pts-header-height-stuck);
}

.et-l--header.is-compact .pts-header .et_pb_row,
.pts-header.is-compact .et_pb_row {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.et-l--header.is-compact .pts-header__logo-img,
.et-l--header.is-compact .pts-header__logo-img img,
.pts-header.is-compact .pts-header__logo-img,
.pts-header.is-compact .pts-header__logo-img img {
  width: var(--pts-header-logo-stuck);
  max-width: var(--pts-header-logo-stuck);
}

/* ==========================================================================
   6. Footer
   ========================================================================== */

footer .pts-footer.et_pb_section {
  padding-left: var(--pts-section-padding-x) !important;
  padding-right: var(--pts-section-padding-x) !important;
}

.pts-footer a ,
.pts-footer p {
  transition: color 200ms ease-in-out;
}

.pts-footer a:hover {
  color: var(--pts-navy-primary);
}

.pts-footer .pts-footer__link-item p:hover {
  color: var(--pts-gold-primary);
}

/* ==========================================================================
   7. Homepage â€“ Hero
   Headline on cream; navy panel is a separate section (DESKTOP.pdf)
   ========================================================================== */

.pts-hero,
.pts-hero__panel,
.pts-brand-intro,
.pts-private-spa,
.pts-process,
.pts-product-collection,
.pts-media-block,
.pts-faq,
.pts-contact {
  width: 100%;
  box-sizing: border-box;
}

.pts-hero.et_pb_section,
.pts-hero {
  background-color: transparent !important;
  padding-top: 36px;
  padding-bottom: 24px;
  text-align: center;
  overflow: visible;
}

.pts-hero__headline,
.pts-hero__headline .et_pb_module_header {
  font-family: var(--pts-font-heading);
  font-weight: 400;
  font-size: clamp(1.75rem, 3vw, 2.5rem);
  line-height: 1.15;
  letter-spacing: 0.04em;
  color: var(--pts-navy-primary);
}

.pts-hero__subheadline,
.pts-hero__subheadline .et_pb_module_header {
  font-family: var(--pts-font-heading);
  font-weight: 400;
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  line-height: 1.2;
  letter-spacing: 0.04em;
  color: var(--pts-navy-primary);
  margin-top: 8px;
}

.pts-hero__panel.et_pb_section,
.pts-hero__panel {
  position: relative;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0;
  margin-right: 0;
  padding: 56px 0 72px !important;
  overflow: hidden;
  text-align: center;
  background-color: transparent !important;
  background-image: none !important;
}

.pts-hero__panel::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url('../img/decor/main-top-hullam.svg') center / 100% 100% no-repeat;
  pointer-events: none;
  z-index: 0;
}

.pts-hero__panel .et_pb_row {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(100% - 48px) !important;
  max-width: var(--pts-content-max-width) !important;
  min-height: 480px;
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 56px 32px !important;
  overflow: visible;
  border-radius: var(--pts-radius-panel);
  background-color: var(--pts-navy-primary);
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
}

.pts-hero__panel .et_pb_row::before {
  content: '';
  position: absolute;
  top: -8px;
  right: -10px;
  bottom: -14px;
  left: -8px;
  border: 1px solid var(--pts-gold-botanical);
  border-radius: calc(var(--pts-radius-panel) + 6px);
  pointer-events: none;
}

.pts-hero__panel .et_pb_column {
  width: 100%;
  text-align: center;
}

.pts-hero__panel .pts-hero__logo-placeholder,
.pts-hero__panel .pts-hero__logo-placeholder .et_pb_image_wrap,
.pts-hero__panel .pts-hero__logo-placeholder img {
  display: block;
  width: 174px;
  max-width: 174px;
  height: auto;
  margin: 0 auto;
}

.pts-hero__panel .pts-hero__logo-placeholder {
  margin-bottom: 20px;
}

.pts-hero__logo-placeholder:empty,
.pts-hero__logo-placeholder .et_pb_image_wrap:empty {
  width: 174px;
  height: 121px;
  background: url('../img/white-logo.png') center / contain no-repeat;
}

.pts-hero__tagline,
.pts-hero__tagline p {
  font-family: var(--pts-font-heading);
  font-weight: 400;
  font-size: clamp(0.95rem, 2vw, 2rem);
  line-height: 1.3;
  letter-spacing: 0.14em;
  color: var(--pts-white);
  margin: 0;
  text-align: center;
}

/* ==========================================================================
   8. Homepage â€“ Brand intro
   ========================================================================== */

.pts-brand-intro.et_pb_section {
  background-color: transparent !important;
}
/*
.pts-brand-intro__heading,
.pts-brand-intro__heading .et_pb_module_header {
  
  font-family: var(--pts-font-heading);
  font-weight: 400;
  font-size: clamp(1.6rem, 2.8vw, 2.2rem);
  letter-spacing: 0.06em;
  color: var(--pts-navy-primary);
  margin-bottom: 16px;
}

.pts-brand-intro__intro,
.pts-brand-intro__intro p {
  font-family: var(--pts-font-body);
  font-weight: 500;
  font-size: 1.25rem;
  line-height: 1.7;
  color: var(--pts-navy-primary);
}
*/
.pts-brand-intro__col .et_pb_module_header {
  font-family: var(--pts-font-heading);
  font-weight: 400;
  font-size: 1.4rem;
  letter-spacing: 0.08em;
  color: var(--pts-navy-primary);
  margin: 0 0 12px; 
}

.pts-brand-intro__col .et_pb_blurb_description,
.pts-brand-intro__col .et_pb_blurb_description p {
  font-family: var(--pts-font-body);
  font-weight: 500;
  font-size: 0.95rem;
  line-height: 1.7;
  color: var(--pts-navy-primary);
}

.pts-brand-intro__col {
  overflow: visible;
}

.pts-brand-intro__col .et_pb_blurb_description {
  position: relative;
}

.pts-brand-intro__col + .pts-brand-intro__col .et_pb_blurb_description::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(-1 * var(--pts-brand-intro-divider-offset, clamp(16px, 2.5vw, 32px)));
  width: 1px;
  background-color: var(--pts-gold-primary);
  pointer-events: none;
}

/* ==========================================================================
   9. Homepage â€“ Private spa / quote + CTA
   ========================================================================== */

.pts-private-spa {
  background-color: transparent !important;
  padding-top: 100px;
  padding-bottom: 100px;
  text-align: center;
}

.pts-private-spa__heading,
.pts-private-spa__heading .et_pb_module_header {
  font-family: var(--pts-font-heading);
  font-weight: 400;
  font-size: clamp(1.6rem, 3vw, 2.4rem);
  letter-spacing: 0.04em;
  color: var(--pts-gold-primary);
  margin-bottom: 32px;
}

.pts-private-spa__quote {
  max-width: 809px;
  margin: 0 auto 48px;
}

.pts-private-spa__quote p {
  font-family: var(--pts-font-body);
  font-weight: 500;
  font-size: 1.15rem;
  font-style: italic;
  line-height: 1.75;
  color: var(--pts-navy-primary);
}

/* ==========================================================================
   10. Homepage â€“ Process
   ========================================================================== */

.pts-process {
  padding-top: 100px;
  padding-bottom: 100px;
}

.pts-process__steps_row {
}

.pts-process__heading,
.pts-process__heading .et_pb_module_header {
  font-family: var(--pts-font-heading);
  font-weight: 400;
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  letter-spacing: 0.06em;
  color: var(--pts-navy-primary);
  margin-bottom: 0 !important;
  text-align: center;
}

.et_pb_column.pts-process__step {
  padding: 0;
  overflow: visible;
}

.pts-process__step-heading,
.pts-process__step-heading .et_pb_module_header {
  font-family: var(--pts-font-body);
  font-weight: 500;
  font-size: 1.5rem;
  line-height: 1.35;
  letter-spacing: 0.02em;
  color: var(--pts-navy-primary);
  margin: 0;
  margin-bottom: 0 !important;
  padding: 0 10px 10px 20px;
  text-align: left;
}

.pts-process__step.et_pb_blurb {
  --pts-process-badge: 64px;
  --pts-process-overlap: 24px;
  margin-bottom: 0;
  overflow: visible;
}

.pts-process__step.et_pb_blurb .et_pb_blurb_content {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0;
  overflow: visible;
}

.pts-process__step.et_pb_blurb .et_pb_main_blurb_image {
  position: relative;
  z-index: 1;
  width: 100%;
  margin: 0;
  overflow: hidden;
  border-radius: 20px;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.pts-process__step.et_pb_blurb .et_pb_image_wrap,
.pts-process__step.et_pb_blurb img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 5;
  object-fit: cover;
  border-radius: 20px;
  border-bottom-left-radius: 0 !important;
  border-bottom-right-radius: 0 !important;
}

.pts-process__step.et_pb_blurb .et_pb_blurb_container {
  position: relative;
  overflow: visible;
  margin-top: 0;
}

.pts-process__step.et_pb_blurb .et_pb_module_header {
  position: absolute;
  top: 0px;
  left: -30px;
  z-index: 3;
  display: flex;
  align-items: center;
  justify-content: center;
  width: var(--pts-process-badge);
  height: var(--pts-process-badge);
  margin: 0;
  transform: translateY(-50%);
  border: 1px solid var(--pts-gold-primary);
  border-radius: 50%;
  background-color: var(--pts-white);
  font-family: var(--pts-font-heading);
  font-weight: 500;
  font-size: 2rem;
  line-height: 1;
  color: var(--pts-navy-primary);
  padding-top: 12px;
}

.pts-process__step.et_pb_blurb .et_pb_blurb_description {
  margin: 0;
  padding: 30px 10px 10px 10%;
  background: linear-gradient(332.68deg, var(--pts-bg-page) 50.49%, var(--pts-gold-primary) 108.01%);
}

.pts-process__step.et_pb_blurb .et_pb_blurb_description,
.pts-process__step.et_pb_blurb .et_pb_blurb_description p {
  font-family: var(--pts-font-body);
  font-weight: 500;
  font-size: 1.1rem;
  line-height: 1.7;
  color: var(--pts-navy-primary);
}

.pts-process__step-text:empty {
  display: none;
}

/* ==========================================================================
   11. Homepage â€“ Product collection
   ========================================================================== */

.pts-product-collection.et_pb_section,
.pts-product-collection {
  position: relative;
  overflow: hidden;
  padding-top: 100px;
  padding-bottom: 100px;
}

.pts-product-collection::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url('../img/decor/main-top-hullam.svg') center / 100% 100% no-repeat;
  transform: scaleX(-1);
  pointer-events: none;
  z-index: 0;
}

.pts-product-collection .et_pb_row,
.pts-product-collection__heading {
  position: relative;
  z-index: 1;
}

.pts-product-collection__heading,
.pts-product-collection__heading .et_pb_module_header {
  font-family: var(--pts-font-heading);
  font-weight: 400;
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  letter-spacing: 0.06em;
  color: var(--pts-navy-primary);
  margin-bottom: 10px;
  text-align: center;
}

.pts-products-row.et_pb_row,
.et_pb_row.pts-products-row {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--pts-card-gap);
  align-items: stretch;
}

.pts-products-row > .et_pb_column,
.pts-products-row > .pts-product-card-col {
  display: flex !important;
  flex-direction: column;
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  float: none !important;
  border-radius: 16px;
  box-shadow: 0 12px 28px color-mix(in srgb, var(--pts-navy-primary) 0%, transparent);
  transition: box-shadow 0.75s ease;
}

.pts-products-row > .et_pb_column:hover,
.pts-products-row > .pts-product-card-col:hover {
  box-shadow: 0 12px 28px color-mix(in srgb, var(--pts-navy-primary) 16%, transparent);
}

.pts-product-card.et_pb_blurb,
.pts-product-card {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  margin-bottom: 0;
  padding: 0 !important;
  overflow: hidden;
  border-radius: 16px;
  background-color: #F6F4EF;
  text-align: left;
}

.pts-product-card .et_pb_blurb_content {
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  width: 100%;
  height: 100%;
  min-height: 100%;
  padding: 0 !important;
  gap: 0;
}

.pts-product-card .et_pb_main_blurb_image {
  width: 100%;
  margin: 0 !important;
  padding: 0;
}

.et-l--body .pts-product-card .et_pb_image_wrap,
.et-l--post .pts-product-card .et_pb_image_wrap,
#et-main-area .pts-product-card .et_pb_image_wrap,
#main-content .pts-product-card .et_pb_image_wrap,
.pts-product-card .et_pb_image_wrap,
.et-l--body .pts-product-card img,
.et-l--post .pts-product-card img,
#et-main-area .pts-product-card img,
#main-content .pts-product-card img,
.pts-product-card img {
  display: block;
  width: 100%;
  max-width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 0 !important;
}

.pts-product-card .et_pb_blurb_container {
  flex: 1 1 auto;
  margin: 0;
  padding: 16px 20px 16px;
  text-align: left;
  background: linear-gradient(332.68deg, rgba(255, 255, 255, 0) 50.49%, #e2caa1 108.01%);
}

.pts-product-card .et_pb_module_header {
  margin: 0 0 12px;
  font-family: var(--pts-font-heading);
  font-weight: 400;
  font-size: clamp(1.15rem, 1.7vw, 2rem);
  letter-spacing: 0.04em;
  line-height: 1.1;
  color: var(--pts-navy-primary);
}

.pts-product-card .et_pb_module_header a {
  color: inherit;
  text-decoration: none;
}

.pts-product-card .et_pb_blurb_description,
.pts-product-card .et_pb_blurb_description p {
  margin: 0;
  font-family: var(--pts-font-body);
  font-weight: 500;
  font-size: 1.1rem;
  line-height: 1.55;
  color: var(--pts-navy-primary);
}

.pts-product-card .et_pb_button_module_wrapper {
  position: relative;
  z-index: 1;
  width: auto;
  max-width: 100%;
  margin-top: auto;
  margin-bottom: 0;
  padding: 12px 20px 40px;
  align-self: flex-start;
  background: transparent;
}

.pts-product-card .et_pb_button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 148px;
  min-height: 42px;
  padding: 10px 32px !important;
  font-family: var(--pts-font-heading);
  font-size: .9rem;
  font-weight: 500;
  letter-spacing: 0.02em;
  line-height: 1;
  text-transform: lowercase;
  text-decoration: none;
  color: var(--pts-white) !important;
  background-color: var(--pts-gold-secondary) !important;
  background-image: none !important;
  border: none !important;
  border-radius: var(--pts-radius-pill) !important;
  box-shadow: none !important;
  transition: background-color 300ms ease-in-out;
}

.pts-product-card .et_pb_button:hover,
.pts-product-card .et_pb_button:focus {
  color: var(--pts-white) !important;
  background-color: var(--pts-gold-hover) !important;
}

.pts-product-card .et_pb_button::after,
.pts-product-card .et_pb_button::before {
  display: none !important;
}

.pts-product-card__img {
  width: 100%;
  min-height: 335px;
  margin-bottom: 16px;
  background-color: var(--pts-navy-primary);
}

.pts-product-card__img .et_pb_image_wrap,
.pts-product-card__img img {
  display: block;
  width: 100%;
  height: auto;
  background-color: var(--pts-navy-primary);
}

.pts-product-card__name,
.pts-product-card__name .et_pb_module_header {
  font-family: var(--pts-font-heading);
  font-weight: 400;
  font-size: 1.25rem;
  letter-spacing: 0.06em;
  color: var(--pts-navy-primary);
  margin: 0 0 8px;
}

.pts-product-card__desc,
.pts-product-card__desc p {
  font-family: var(--pts-font-body);
  font-weight: 500;
  font-size: 0.875rem;
  line-height: 1.6;
  color: var(--pts-navy-primary);
  margin: 0 0 12px;
}

/* ==========================================================================
   12. Homepage â€“ Media / video
   Same panel treatment as .pts-hero__panel; the row is a video surface.
   ========================================================================== */

.pts-media-block.et_pb_section,
.pts-media-block {
  position: relative;
  width: 100% !important;
  max-width: none !important;
  margin-left: 0;
  margin-right: 0;
  overflow: hidden;
  text-align: center;
  background-color: transparent !important;
  background-image: none !important;
}

.pts-media-block::before {
  content: '';
  position: absolute;
  inset: 0;
  background: url('../img/decor/main-top-hullam.svg') center / 100% 100% no-repeat;
  pointer-events: none;
  z-index: 0;
}

.pts-media-block__heading,
.pts-media-block__heading .et_pb_module_header {
  position: relative;
  z-index: 1;
  font-family: var(--pts-font-heading);
  font-weight: 400;
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  letter-spacing: 0.04em;
  color: var(--pts-navy-primary);
  margin-bottom: 48px;
}

.pts-media-block .pts-media-block-row {
  position: relative;
  z-index: 1;
  width: calc(100% - 48px) !important;
  max-width: var(--pts-content-max-width) !important;
  min-height: 0;
  /* aspect-ratio: 1287 / 484; */
  margin-left: auto !important;
  margin-right: auto !important;
  padding: 0 !important;
  overflow: visible;
  border-radius: var(--pts-radius-panel);
  background-color: var(--pts-navy-primary);
}

.pts-media-block .pts-media-block-row::before {
  content: '';
  position: absolute;
  top: -8px;
  right: -10px;
  bottom: -14px;
  left: -8px;
  border: 1px solid var(--pts-gold-botanical);
  border-radius: calc(var(--pts-radius-panel) + 6px);
  pointer-events: none;
}

.pts-media-block .et_pb_column,
.pts-media-block .et_pb_video,
.pts-media-block .et_pb_video_box,
.pts-media-block .et_pb_video_overlay,
.pts-media-block__video-placeholder {
  width: 100%;
  height: 100%;
  margin: 0;
  border-radius: var(--pts-radius-panel);
}

.pts-media-block .pts-media-block-row .et_pb_column,
.pts-media-block .et_pb_video,
.pts-media-block .et_pb_video_box {
  overflow: hidden;
}

.pts-media-block .et_pb_video_box iframe,
.pts-media-block .et_pb_video_box video,
.pts-media-block__video-placeholder img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  border-radius: var(--pts-radius-panel);
}

.pts-media-block .et_pb_video_overlay {
  background-color: var(--pts-navy-primary);
}

.pts-media-block .et_pb_video_play,
.pts-media-block__video-placeholder::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 96px;
  height: 96px;
  margin: 0;
  transform: translate(-50%, -50%);
  border: 2px solid var(--pts-white);
  border-radius: 50%;
  background: transparent !important;
  box-shadow: none;
}

.pts-media-block .et_pb_video_play::after,
.pts-media-block__video-placeholder::before {
  content: '';
  position: absolute;
  top: 50%;
  left: 52%;
  transform: translate(-40%, -50%);
  border-style: solid;
  border-width: 14px 0 14px 22px;
  border-color: transparent transparent transparent var(--pts-white);
}

.pts-media-block__video-placeholder {
  position: relative;
  min-height: 100%;
  background-color: var(--pts-navy-primary);
}

/* ==========================================================================
   13. Homepage â€“ FAQ
   ========================================================================== */

.pts-faq {
  padding-top: 100px;
  padding-bottom: 100px;
}

.pts-faq__heading,
.pts-faq__heading .et_pb_module_header {
  font-family: var(--pts-font-heading);
  font-weight: 400;
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  letter-spacing: 0.06em;
  color: var(--pts-navy-primary);
  margin-bottom: 48px;
  text-align: center;
}

.pts-faq__accordion .et_pb_toggle {
  background-color: transparent !important;
  border: 0 !important;
  border-bottom: 1px solid var(--pts-gold-botanical) !important;
  border-radius: 0 !important;
  padding: 15px 0 !important;
  margin-bottom: 0px !important;
}

.pts-faq__accordion .et_pb_toggle_title {
  position: relative;
  padding-right: 2rem;
  font-family: var(--pts-font-body);
  font-weight: 500;
  font-size: 1rem;
  color: var(--pts-navy-primary);
}

.et-db #et-boc .et-l .et_pb_toggle_title::before,
.pts-faq__accordion .et_pb_toggle_title::before {
  content: '' !important;
  font-family: inherit !important;
  speak: none;
  position: absolute;
  top: 50%;
  right: 12px !important;
  left: auto;
  width: 16px;
  height: 10px;
  margin: 0;
  padding: 0;
  border: 0;
  font-size: 0;
  line-height: 0;
  background-color: var(--pts-brown-dark);
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 14' fill='none'%3E%3Cpath d='M2 2L12 12L22 2' stroke='black' stroke-width='3' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 14' fill='none'%3E%3Cpath d='M2 2L12 12L22 2' stroke='black' stroke-width='3' stroke-linecap='square' stroke-linejoin='miter'/%3E%3C/svg%3E");
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: contain;
  mask-size: contain;
  transform: translateY(-50%);
}

.et-db #et-boc .et-l .et_pb_toggle_open .et_pb_toggle_title::before,
.pts-faq__accordion .et_pb_toggle_open .et_pb_toggle_title::before {
  transform: translateY(-50%) rotate(180deg);
}

.pts-faq__accordion .et_pb_toggle_content {
  font-family: var(--pts-font-body);
  font-weight: 500;
  font-size: 0.9rem;
  line-height: 1.7;
  color: var(--pts-navy-primary);
  padding-top: 15px !important;
}

/* ==========================================================================
   14. Homepage â€“ Contact form
   ========================================================================== */

.pts-contact {
  padding-top: 100px;
  padding-bottom: 100px;
}

.pts-contact__heading,
.pts-contact__heading .et_pb_module_header {
  font-family: var(--pts-font-heading);
  font-weight: 400;
  font-size: clamp(1.35rem, 2.4vw, 2rem);
  letter-spacing: 0.06em;
  color: var(--pts-navy-primary);
  margin-bottom: 40px;
}

.pts-contact__form .et_pb_contact_field {
  margin-bottom: 28px;
}

.pts-contact__form .et_pb_contact_field label {
  font-family: var(--pts-font-body);
  font-weight: 500;
  font-size: 1.125rem;
  letter-spacing: 0.04em;
  color: var(--pts-navy-primary);
}

.pts-contact__form .et_pb_contact_field input,
.pts-contact__form .et_pb_contact_field textarea {
  font-family: var(--pts-font-body);
  font-weight: 500;
  font-size: 1rem;
  color: var(--pts-navy-primary);
  background-color: transparent;
  border: 0;
  border-bottom: 1px solid var(--pts-gold-primary);
  border-radius: 0;
  padding: 10px 0;
  width: 100%;
  box-sizing: border-box;
  transition: border-color 300ms ease-in-out;
}

.pts-contact__form .et_pb_contact_field input:focus,
.pts-contact__form .et_pb_contact_field textarea:focus {
  outline: none;
  border-bottom-color: var(--pts-navy-primary);
}

.pts-contact__form .et_pb_contact_field textarea {
  min-height: 96px;
  resize: vertical;
}

/* ==========================================================================
   15. Responsive
   ========================================================================== */

@media (max-width: 1199px) {
  .et_pb_button.pts-private-spa__cta {
    min-width: 0;
    width: auto;
    max-width: 100%;
  }
}

/* Product cards: 2×2 from tablet down through mobile. */
@media (max-width: 980px) {
  .pts-products-row.et_pb_row,
  .et_pb_row.pts-products-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 767px) {
  .pts-hero,
  .pts-brand-intro.et_pb_section,
  .pts-private-spa,
  .pts-process,
  .pts-product-collection,
  .pts-media-block,
  .pts-faq,
  .pts-contact {
    padding-top: 56px;
    padding-bottom: 56px;
  }

  .pts-hero {
    padding-top: 24px;
    padding-bottom: 16px;
  }

  .pts-hero__panel.et_pb_section,
  .pts-hero__panel {
    width: 100%;
    padding: 40px 0 56px;
  }

  .pts-hero__panel .et_pb_row {
    width: calc(100% - 32px);
    min-height: 220px;
    padding: 40px 20px;
  }

  .pts-hero__panel .et_pb_row::before,
  .pts-media-block .et_pb_row::before {
    top: -6px;
    right: -6px;
    bottom: -10px;
    left: -6px;
  }

  .pts-media-block.et_pb_section,
  .pts-media-block {
    padding: 40px 0 56px !important;
  }

  .pts-media-block .et_pb_row {
    width: calc(100% - 32px) !important;
    aspect-ratio: 16 / 9;
  }

  .pts-media-block .et_pb_video_play,
  .pts-media-block__video-placeholder::after {
    width: 72px;
    height: 72px;
  }

  body .pts-product-collection.et_pb_section {
    padding-left: 16px;
    padding-right: 16px;
  }

  .pts-products-row.et_pb_row,
  .et_pb_row.pts-products-row {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 12px;
  }

  .pts-product-card .et_pb_blurb_container {
    padding: 10px 10px 8px;
  }

  .pts-product-card .et_pb_module_header {
    margin-bottom: 6px;
    font-size: 0.8rem;
    letter-spacing: 0.02em;
    line-height: 1.2;
  }

  .pts-product-card .et_pb_blurb_description,
  .pts-product-card .et_pb_blurb_description p {
    font-size: 0.75rem;
    line-height: 1.35;
  }

  .pts-product-card .et_pb_button_module_wrapper {
    margin-top: auto;
    padding: 8px 10px 16px;
  }

  .pts-product-collection .pts-product-card .et_pb_button,
  .pts-product-collection .et_pb_button.pts-product-card__cta,
  .pts-product-collection .pts-product-card .et_pb_button:hover,
  .pts-product-collection .pts-product-card .et_pb_button:focus {
    min-width: 0 !important;
    min-height: 32px;
    padding: 6px 14px !important;
    font-size: 0.72rem !important;
    --pts-btn-pt: 6px;
    --pts-btn-pr: 14px;
    --pts-btn-pb: 6px;
    --pts-btn-pl: 14px;
  }

  .pts-product-card__img {
    min-height: 240px;
  }

  .et_pb_column.pts-process__step {
    margin-bottom: 40px;
  }

  .pts-brand-intro__col + .pts-brand-intro__col .et_pb_blurb_description::before {
    content: none;
  }
}


/* ==========================================================================
   16. RĂłlunk â€“ About page editorial layout
   ========================================================================== */

/* Story sections â€“ alternating text / image */

.pts-2col-text-image .et_pb_text_inner p {
  font-weight: 500;
  font-size: 1.0625rem;
  line-height: 1.85;
  margin: 0 0 1em;
  text-align: right;
}

.pts-2col-text-image.pts-2col-reversed .et_pb_text_inner p {
  text-align: left;
}


/* Responsive “ About */
@media (max-width: 767px) {
  .pts-2col-text-image .et_pb_text_inner p {}
  
  .pts-2col-text-image.pts-2col-reversed .et_pb_text_inner p {}

}

/* Responsive “ About */
@media (max-width: 480px) {
  .pts-2col-text-image > .et_pb_row {
    display: flex! important;
    flex-wrap: wrap !important;
    flex-direction: column-reverse !important;
  }

  .pts-2col-text-image > .et_pb_row .et_pb_text_inner p {
    text-align: left !important;
  }
  
  .pts-2col-text-image.pts-2col-reversed > .et_pb_row {
    flex-direction: column !important;
  }

}

/* ==========================================================================
   17. WooCommerce â€“ variation swatches (kiszerelĂ©s gombok)
   ========================================================================== */

.single-product table.variations,
.et_pb_wc_add_to_cart table.variations {
  border: 0;
  width: 100%;
  margin: 0 0 24px;
}

.single-product table.variations tbody,
.single-product table.variations tr,
.single-product table.variations th,
.single-product table.variations td,
.et_pb_wc_add_to_cart table.variations tbody,
.et_pb_wc_add_to_cart table.variations tr,
.et_pb_wc_add_to_cart table.variations th,
.et_pb_wc_add_to_cart table.variations td {
  display: block;
  width: 100%;
  border: 0;
  padding: 0;
  text-align: left;
  background: transparent;
}

.single-product table.variations .label,
.et_pb_wc_add_to_cart table.variations .label {
  padding-bottom: 12px;
}

.single-product table.variations .label label,
.et_pb_wc_add_to_cart table.variations .label label {
  font-family: var(--pts-font-body);
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.5;
  letter-spacing: 0.01em;
  color: var(--pts-navy-primary);
}

.pts-variation-select-wrap {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.single-product table.variations .reset_variations,
.et_pb_wc_add_to_cart table.variations .reset_variations {
  display: none !important;
}

.et_pb_wc_add_to_cart form.cart .variations td.value span::after,
.single-product form.cart .variations td.value span::after {
  content: none !important;
  display: none !important;
  border: 0 !important;
}

.pts-variation-swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  align-items: center;
}

.pts-variation-swatch {
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  min-width: 76px;
  min-height: 56px;
  padding: 12px 18px;
  margin: 0;
  border: 2px solid var(--pts-gold-primary);
  border-radius: 16px;
  background-color: var(--pts-white);
  color: var(--pts-gold-primary);
  cursor: pointer;
  transition: background-color 200ms ease-in-out;
}

.pts-variation-swatch input[type="radio"] {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  clip-path: inset(50%);
  white-space: nowrap;
  border: 0;
}

.pts-variation-swatch__label {
  font-family: var(--pts-font-heading);
  font-weight: 400;
  font-size: 0.95rem;
  letter-spacing: 0.04em;
  line-height: 1;
  color: var(--pts-gold-primary);
}

.pts-variation-swatch:hover .pts-variation-swatch__label{
  color: var(--pts-white);
}

.pts-variation-swatch.is-active,
.pts-variation-swatch:has(input:checked) {
  background-color: var(--pts-gold-hover);
  border-color: var(--pts-gold-hover);
}

.pts-variation-swatch.is-active .pts-variation-swatch__label,
.pts-variation-swatch:has(input:checked) .pts-variation-swatch__label {
  color: var(--pts-white) !important;
}

.pts-variation-swatch:hover:not(.is-active):not(.is-disabled) {
  background-color: var(--pts-gold-secondary);
}

.pts-variation-swatch:focus-within {
  outline: 2px solid var(--pts-navy-primary);
  outline-offset: 3px;
}

.pts-variation-swatch.is-disabled {
  opacity: 0.45;
  cursor: not-allowed;
}

/* ==========================================================================
   18. WooCommerce – product gallery thumbs
   Six thumbnails in one row. Divi sets a 4-column grid with a 30px gap
   on the product images module, so these overrides need equal weight.
   ========================================================================== */

.et-db #et-boc .et-l .et_pb_wc_images.et_pb_module ol.flex-control-nav.flex-control-thumbs {
  --horizontal-gap: 8px !important;
  --vertical-gap: 8px !important;
  --column-count: 6 !important;
  grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
  column-gap: 8px !important;
  row-gap: 8px !important;
}

.et-db #et-boc .et-l .et_pb_wc_images.et_pb_module ol.flex-control-nav.flex-control-thumbs li img {
  width: 100%;
  height: auto;
  aspect-ratio: 1 / 1;
  object-fit: cover;
  border-radius: 12px;
}

/* ==========================================================================
   18. WooCommerce â€“ add to cart + quantity
   ========================================================================== */

.single-product form.cart .woocommerce-variation-add-to-cart,
.et_pb_wc_add_to_cart form.cart .woocommerce-variation-add-to-cart,
.single-product form.cart:not(.variations_form),
.et_pb_wc_add_to_cart form.cart:not(.variations_form) {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 12px;
  margin-top: 8px;
}

.et_pb_woo_custom_button_icon .single_add_to_cart_button.button,
.single-product .pts-add-to-cart.single_add_to_cart_button,
.et_pb_wc_add_to_cart .pts-add-to-cart.single_add_to_cart_button,
.single-product .single_add_to_cart_button.button,
.et_pb_wc_add_to_cart .single_add_to_cart_button.button {
  --pts-atc-pad: 12px 22px 12px 28px;
  box-sizing: border-box !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  flex: 0 0 auto;
  width: max-content !important;
  min-width: 0 !important;
  max-width: none !important;
  min-height: 56px !important;
  height: auto !important;
  margin: 0 !important;
  padding: var(--pts-atc-pad) !important;
  border: 0 !important;
  border-radius: 16px !important;
  background-color: var(--pts-gold-primary) !important;
  background-image: none !important;
  box-shadow: none !important;
  color: var(--pts-white) !important;
  font-family: var(--pts-font-heading) !important;
  font-weight: 400 !important;
  font-size: 0.95rem !important;
  letter-spacing: 0.08em !important;
  line-height: 1 !important;
  white-space: nowrap !important;
  text-transform: uppercase;
  text-decoration: none !important;
  transform: none !important;
  top: auto !important;
  left: auto !important;
  transition: background-color 200ms ease-in-out !important;
}

.et_pb_woo_custom_button_icon .single_add_to_cart_button.button:hover,
.et_pb_woo_custom_button_icon .single_add_to_cart_button.button:focus,
.et_pb_woo_custom_button_icon .single_add_to_cart_button.button:active,
.single-product .single_add_to_cart_button.button:hover,
.et_pb_wc_add_to_cart .single_add_to_cart_button.button:hover,
.single-product .single_add_to_cart_button.button:focus,
.et_pb_wc_add_to_cart .single_add_to_cart_button.button:focus,
.single-product .single_add_to_cart_button.button:active,
.et_pb_wc_add_to_cart .single_add_to_cart_button.button:active {
  background-color: var(--pts-gold-hover) !important;
  padding: var(--pts-atc-pad) !important;
}

.pts-add-to-cart__icon {
  display: inline-block;
  flex: 0 0 18px;
  width: 18px;
  height: 18px;
  margin-left: 12px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5 7h16l-1.4 9.2a2 2 0 0 1-2 1.8H9.2a2 2 0 0 1-2-1.7L5 7z' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3Cpath d='M5 7L4 4H2' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='10' cy='20.2' r='1.4' fill='black'/%3E%3Ccircle cx='17.5' cy='20.2' r='1.4' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none'%3E%3Cpath d='M5 7h16l-1.4 9.2a2 2 0 0 1-2 1.8H9.2a2 2 0 0 1-2-1.7L5 7z' stroke='black' stroke-width='1.8' stroke-linejoin='round'/%3E%3Cpath d='M5 7L4 4H2' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3Ccircle cx='10' cy='20.2' r='1.4' fill='black'/%3E%3Ccircle cx='17.5' cy='20.2' r='1.4' fill='black'/%3E%3C/svg%3E") center / contain no-repeat;
}

.et_pb_woo_custom_button_icon .single_add_to_cart_button.button::before,
.et_pb_woo_custom_button_icon .single_add_to_cart_button.button::after,
.et_pb_woo_custom_button_icon .single_add_to_cart_button.button:hover::before,
.et_pb_woo_custom_button_icon .single_add_to_cart_button.button:hover::after,
.single-product .single_add_to_cart_button.button::before,
.et_pb_wc_add_to_cart .single_add_to_cart_button.button::before,
.single-product .single_add_to_cart_button.button::after,
.et_pb_wc_add_to_cart .single_add_to_cart_button.button::after,
.single-product .single_add_to_cart_button.button:hover::before,
.et_pb_wc_add_to_cart .single_add_to_cart_button.button:hover::before,
.single-product .single_add_to_cart_button.button:hover::after,
.et_pb_wc_add_to_cart .single_add_to_cart_button.button:hover::after {
  content: none !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  opacity: 0 !important;
}

.single-product form.cart .quantity.pts-qty,
.et_pb_wc_add_to_cart form.cart .quantity.pts-qty {
  display: inline-flex;
  align-items: stretch;
  gap: 4px;
  width: auto;
  margin: 0;
  float: none;
}

.single-product form.cart .pts-qty__btn,
.et_pb_wc_add_to_cart form.cart .pts-qty__btn,
.pts-qty__btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 36px;
  min-height: 40px;
  padding: 0;
  border: 0;
  border-radius: 10px;
  background-color: var(--pts-gold-primary);
  color: var(--pts-white);
  font-family: var(--pts-font-body);
  font-size: 1.2rem;
  font-weight: 500;
  line-height: 1;
  cursor: pointer;
  transition: background-color 200ms ease-in-out;
}

.pts-qty__btn:hover,
.pts-qty__btn:focus {
  background-color: var(--pts-gold-hover);
  outline: none;
}

.single-product form.cart .pts-qty__value,
.et_pb_wc_add_to_cart form.cart .pts-qty__value,
.pts-qty__value {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 62px;
  min-height: 40px;
  padding: 0 8px;
  border-radius: 10px;
  background-color: var(--pts-bg-soft-1);
}

.single-product form.cart .pts-qty input.qty,
.et_pb_wc_add_to_cart form.cart .pts-qty input.qty,
.pts-qty input.qty,
.pts-qty input.qty[type='number'] {
  width: 2.2ch !important;
  max-width: 2.2ch !important;
  min-width: 0 !important;
  height: auto !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  color: var(--pts-navy-primary) !important;
  font-family: var(--pts-font-heading) !important;
  font-size: 0.8rem !important;
  font-weight: 400 !important;
  letter-spacing: 0 !important;
  line-height: 1 !important;
  text-align: right !important;
  appearance: textfield !important;
  -webkit-appearance: textfield !important;
  -moz-appearance: textfield !important;
}

.single-product form.cart .pts-qty input.qty::-webkit-outer-spin-button,
.single-product form.cart .pts-qty input.qty::-webkit-inner-spin-button,
.et_pb_wc_add_to_cart form.cart .pts-qty input.qty::-webkit-outer-spin-button,
.et_pb_wc_add_to_cart form.cart .pts-qty input.qty::-webkit-inner-spin-button,
.pts-qty input.qty::-webkit-outer-spin-button,
.pts-qty input.qty::-webkit-inner-spin-button {
  appearance: none !important;
  -webkit-appearance: none !important;
  display: none !important;
  margin: 0 !important;
  width: 0 !important;
  height: 0 !important;
}

.single-product form.cart .pts-qty__suffix,
.et_pb_wc_add_to_cart form.cart .pts-qty__suffix,
.pts-qty__suffix {
  margin-left: 4px;
  color: var(--pts-navy-primary);
  font-family: var(--pts-font-heading);
  font-size: 0.8rem;
  font-weight: 400;
  letter-spacing: 0;
  line-height: 1;
  text-transform: uppercase;
}

@media (max-width: 480px) {
  .single-product form.cart .woocommerce-variation-add-to-cart,
  .et_pb_wc_add_to_cart form.cart .woocommerce-variation-add-to-cart {
    flex-direction: column;
    align-items: stretch;
  }

  .single-product .single_add_to_cart_button.button,
  .et_pb_wc_add_to_cart .single_add_to_cart_button.button {
    width: max-content;
  }

  .single-product form.cart .quantity.pts-qty,
  .et_pb_wc_add_to_cart form.cart .quantity.pts-qty {
    width: 100%;
    justify-content: center;
  }
}

/* ==========================================================================
   19. WooCommerce â€“ ingredient cards
   ========================================================================== */

.pts-ingredient-cards {
  --pts-ingredient-card-width: 180px;
  --pts-ingredient-image-height: 210px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: flex-start;
  gap: 32px 20px;
  width: 100%;
  margin: 0 auto;
  box-sizing: border-box;
}

.pts-ingredient-card {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: 0 0 var(--pts-ingredient-card-width);
  width: var(--pts-ingredient-card-width);
  max-width: var(--pts-ingredient-card-width);
  padding: 0;
  text-align: center;
  box-sizing: border-box;
}

.pts-ingredient-card__image {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 165px;
  height: var(--pts-ingredient-image-height);
  margin: 0 auto 14px;
  overflow: hidden;
  border-radius: 18px;
  background-color: #F3E4D0;
}

.et-l--body .pts-ingredient-card__image img,
.et-l--post .pts-ingredient-card__image img,
#et-main-area .pts-ingredient-card__image img,
#main-content .pts-ingredient-card__image img,
.pts-ingredient-card__image img {
  display: block;
  width: auto;
  height: 100%;
  max-width: none;
  flex-shrink: 0;
  object-fit: cover;
  object-position: center;
  border-radius: 0;
}

.pts-ingredient-card__name {
  margin: 0 0 12px;
  font-family: var(--pts-font-body);
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.3;
  color: var(--pts-navy-primary);
}

.pts-ingredient-card__benefits {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 8px;
  width: 100%;
}

.pts-ingredient-card__benefit {
  display: block;
  box-sizing: border-box;
  width: 100%;
  padding: 7px 12px;
  border: 1px solid var(--pts-gold-botanical);
  border-radius: var(--pts-radius-pill);
  background-color: var(--pts-bg-page);
  color: var(--pts-navy-primary);
  font-family: var(--pts-font-body);
  font-weight: 500;
  font-size: 0.8125rem;
  line-height: 1.3;
  text-align: center;
}

@media (max-width: 980px) {
  .pts-ingredient-cards {
    max-width: calc(var(--pts-ingredient-card-width) * 3 + 40px * 2);
  }
}

@media (max-width: 767px) {
  .pts-ingredient-cards {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-items: center;
    max-width: none;
  }

  .pts-ingredient-card {
    width: 100%;
    max-width: none;
  }

  .pts-ingredient-card:last-child:nth-child(odd) {
    grid-column: 1 / -1;
    width: calc((100% - 20px) / 2);
  }

  .pts-ingredient-card__image {
    width: 100%;
    max-width: 165px;
    height: auto;
    aspect-ratio: 165 / 210;
  }

  .et-l--body .pts-ingredient-card__image img,
  .et-l--post .pts-ingredient-card__image img,
  #et-main-area .pts-ingredient-card__image img,
  #main-content .pts-ingredient-card__image img,
  .pts-ingredient-card__image img {
    width: 100%;
    max-width: 100%;
    height: 100%;
  }
}

/* ==========================================================================
   19. WooCommerce – saját fiók navigáció
   ========================================================================== */

.woocommerce-account .woocommerce {
  display: grid;
  grid-template-columns: minmax(220px, 280px) minmax(0, 1fr);
  gap: 40px 48px;
  align-items: start;
}

.woocommerce-account .woocommerce-notices-wrapper {
  grid-column: 1 / -1;
}

.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
  float: none;
  width: auto;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
  grid-column: 1;
  padding: 20px 16px;
  background-color: var(--pts-bg-soft-1);
  border-radius: var(--pts-radius-panel);
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li {
  margin: 0;
  padding: 0;
  list-style: none;
  border: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px 16px;
  border-radius: var(--pts-radius-pill);
  background-color: transparent;
  color: var(--pts-navy-primary);
  font-family: var(--pts-font-body);
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.3;
  letter-spacing: 0.01em;
  text-decoration: none;
  transition: background-color 200ms ease-in-out, color 200ms ease-in-out;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a::before {
  content: '';
  display: block;
  flex-shrink: 0;
  width: 18px;
  height: 18px;
  background-color: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'%3E%3Ccircle cx='9' cy='9' r='6.2' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'%3E%3Ccircle cx='9' cy='9' r='6.2' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E") center / contain no-repeat;
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--dashboard a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'%3E%3Crect x='1.8' y='1.8' width='6' height='6' rx='1.2' stroke='black' stroke-width='1.7'/%3E%3Crect x='10.2' y='1.8' width='6' height='6' rx='1.2' stroke='black' stroke-width='1.7'/%3E%3Crect x='1.8' y='10.2' width='6' height='6' rx='1.2' stroke='black' stroke-width='1.7'/%3E%3Crect x='10.2' y='10.2' width='6' height='6' rx='1.2' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'%3E%3Crect x='1.8' y='1.8' width='6' height='6' rx='1.2' stroke='black' stroke-width='1.7'/%3E%3Crect x='10.2' y='1.8' width='6' height='6' rx='1.2' stroke='black' stroke-width='1.7'/%3E%3Crect x='1.8' y='10.2' width='6' height='6' rx='1.2' stroke='black' stroke-width='1.7'/%3E%3Crect x='10.2' y='10.2' width='6' height='6' rx='1.2' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E");
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--orders a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M3 6.2h12v8.5c0 .7-.6 1.3-1.3 1.3H4.3C3.6 16 3 15.4 3 14.7V6.2z' stroke='black' stroke-width='1.7'/%3E%3Cpath d='M3 6.2l1.8-3.4h8.4L15 6.2' stroke='black' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='M7 8.4h4' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M3 6.2h12v8.5c0 .7-.6 1.3-1.3 1.3H4.3C3.6 16 3 15.4 3 14.7V6.2z' stroke='black' stroke-width='1.7'/%3E%3Cpath d='M3 6.2l1.8-3.4h8.4L15 6.2' stroke='black' stroke-width='1.7' stroke-linejoin='round'/%3E%3Cpath d='M7 8.4h4' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--downloads a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M9 2.5v8.2' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3Cpath d='M5.6 7.8L9 11.2l3.4-3.4' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M3.4 13.2v1.3c0 .7.6 1.3 1.3 1.3h8.6c.7 0 1.3-.6 1.3-1.3v-1.3' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M9 2.5v8.2' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3Cpath d='M5.6 7.8L9 11.2l3.4-3.4' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M3.4 13.2v1.3c0 .7.6 1.3 1.3 1.3h8.6c.7 0 1.3-.6 1.3-1.3v-1.3' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-address a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M9 16s5.4-5 5.4-8.2A5.4 5.4 0 0 0 9 2.4a5.4 5.4 0 0 0-5.4 5.4C3.6 11 9 16 9 16z' stroke='black' stroke-width='1.7' stroke-linejoin='round'/%3E%3Ccircle cx='9' cy='7.8' r='1.7' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M9 16s5.4-5 5.4-8.2A5.4 5.4 0 0 0 9 2.4a5.4 5.4 0 0 0-5.4 5.4C3.6 11 9 16 9 16z' stroke='black' stroke-width='1.7' stroke-linejoin='round'/%3E%3Ccircle cx='9' cy='7.8' r='1.7' stroke='black' stroke-width='1.7'/%3E%3C/svg%3E");
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--edit-account a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 17' fill='none'%3E%3Ccircle cx='7.5' cy='4.2' r='3.2' fill='black'/%3E%3Cpath d='M1.2 16c0-3.5 2.8-6.3 6.3-6.3S13.8 12.5 13.8 16' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 17' fill='none'%3E%3Ccircle cx='7.5' cy='4.2' r='3.2' fill='black'/%3E%3Cpath d='M1.2 16c0-3.5 2.8-6.3 6.3-6.3S13.8 12.5 13.8 16' stroke='black' stroke-width='1.8' stroke-linecap='round'/%3E%3C/svg%3E");
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--payment-methods a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'%3E%3Crect x='2' y='4.2' width='14' height='10.2' rx='1.6' stroke='black' stroke-width='1.7'/%3E%3Cpath d='M2 7.6h14' stroke='black' stroke-width='1.7'/%3E%3Cpath d='M5 11.4h4' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'%3E%3Crect x='2' y='4.2' width='14' height='10.2' rx='1.6' stroke='black' stroke-width='1.7'/%3E%3Cpath d='M2 7.6h14' stroke='black' stroke-width='1.7'/%3E%3Cpath d='M5 11.4h4' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3C/svg%3E");
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout {
  margin-top: 10px;
  padding-top: 12px;
  border-top: 1px solid var(--pts-gold-botanical);
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M7.2 3.4H4.4C3.6 3.4 3 4 3 4.8v8.4c0 .8.6 1.4 1.4 1.4h2.8' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3Cpath d='M7.6 9h7.2' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3Cpath d='M12.2 6.2L15.2 9l-3 2.8' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M7.2 3.4H4.4C3.6 3.4 3 4 3 4.8v8.4c0 .8.6 1.4 1.4 1.4h2.8' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3Cpath d='M7.6 9h7.2' stroke='black' stroke-width='1.7' stroke-linecap='round'/%3E%3Cpath d='M12.2 6.2L15.2 9l-3 2.8' stroke='black' stroke-width='1.7' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li a:focus {
  background-color: var(--pts-white);
  color: var(--pts-navy-primary);
  text-decoration: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li a:focus-visible {
  outline: 2px solid var(--pts-navy-primary);
  outline-offset: 2px;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation ul li.is-active a:focus {
  background-color: var(--pts-gold-primary);
  color: var(--pts-white);
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a {
  color: var(--pts-gold-primary);
}

.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a:hover,
.woocommerce-account .woocommerce-MyAccount-navigation-link--customer-logout a:focus {
  background-color: var(--pts-gold-primary);
  color: var(--pts-white);
}

@media (max-width: 768px) {
  .woocommerce-account .woocommerce {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content {
    grid-column: 1;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation {
    padding: 14px 12px;
  }
}

/* ==========================================================================
   20. Pénztár előtti belépés / vendégvásárlás
   ========================================================================== */

.pts-checkout-gate-page .entry-title,
.pts-checkout-gate-page .et_post_meta_wrapper {
  display: none;
}

.pts-checkout-gate {
  box-sizing: border-box;
  width: min(480px, 100%);
  margin: 48px auto 96px;
  padding: 8px 24px 0;
  color: var(--pts-navy-primary);
  font-family: var(--pts-font-body);
}

.pts-checkout-gate__title {
  margin: 0 0 16px;
  font-family: var(--pts-font-heading);
  font-weight: 400;
  font-size: clamp(1.75rem, 3vw, 2.25rem);
  line-height: 1.2;
  letter-spacing: 0.04em;
  text-align: center;
  color: var(--pts-navy-primary);
}

.pts-checkout-gate__lead {
  margin: 0 0 32px;
  font-size: 1.05rem;
  line-height: 1.5;
  text-align: center;
}

.pts-checkout-gate .woocommerce-error,
.pts-checkout-gate .woocommerce-message,
.pts-checkout-gate .woocommerce-info {
  margin: 0 0 24px;
  padding: 14px 16px 14px 18px;
  list-style: none;
  border: 0;
  border-left: 3px solid var(--pts-gold-hover);
  border-radius: 12px;
  background: var(--pts-white);
  color: var(--pts-navy-primary);
  font-family: var(--pts-font-body);
}

.pts-checkout-gate .woocommerce-error {
  border-left-color: #9b3d3d;
}

/* Fiókom: belépés és regisztráció egymás alatt, azonos szélességben. */
.pts-checkout-gate #customer_login.col2-set .col-1,
.pts-checkout-gate #customer_login.col2-set .col-2 {
  float: none;
  width: 100%; 
}

.pts-checkout-gate #customer_login.col2-set .col-2 {
  margin-top: 40px;
}

.woocommerce .pts-checkout-gate form.woocommerce-form-login.login,
.woocommerce .pts-checkout-gate form.woocommerce-form-register.register {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  border-radius: 0;
}

.pts-checkout-gate .woocommerce-form-login p,
.pts-checkout-gate .woocommerce-form-register p {
  margin: 0 0 18px;
  padding: 0;
}

.pts-checkout-gate .woocommerce-form-login label,
.pts-checkout-gate .woocommerce-form-register label {
  display: block;
  margin: 0 0 8px;
  color: var(--pts-navy-primary);
  font-family: var(--pts-font-body);
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.3;
}

.pts-checkout-gate .woocommerce-form-login .form-row .input-text,
.pts-checkout-gate .woocommerce-form-register .form-row .input-text {
  box-sizing: border-box;
  width: 100% !important;
  min-height: 48px;
  margin: 0;
  padding: 12px 16px !important;
  border: 1px solid var(--pts-gold-botanical) !important;
  border-radius: 12px !important;
  background: var(--pts-white) !important;
  background-color: var(--pts-white) !important;
  color: var(--pts-navy-primary) !important;
  font-family: var(--pts-font-body);
  font-size: 1rem;
  line-height: 1.4;
}

.pts-checkout-gate .woocommerce-form-login .input-text:focus,
.pts-checkout-gate .woocommerce-form-register .input-text:focus {
  border-color: var(--pts-gold-primary);
  outline: 2px solid var(--pts-navy-primary);
  outline-offset: 2px;
}

.pts-checkout-gate .woocommerce-form-login__rememberme {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0 0 18px;
  font-size: 0.95rem;
}

.pts-checkout-gate .woocommerce-form-login__rememberme input {
  margin: 0;
  accent-color: var(--pts-navy-primary);
}

.pts-checkout-gate .woocommerce-form-login p.form-row,
.pts-checkout-gate .woocommerce-form-register p.form-row {
  display: flex;
  flex-direction: column;
  align-items: stretch;
}

.pts-checkout-gate button.woocommerce-form-login__submit,
.pts-checkout-gate button.woocommerce-form-register__submit,
.pts-checkout-gate button.pts-checkout-gate__guest {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  float: none !important;
  width: 100%;
  min-height: 52px;
  margin: 0;
  padding: 14px 28px;
  border: none !important;
  border-radius: var(--pts-radius-pill) !important;
  background-color: var(--pts-gold-primary) !important;
  background-image: none !important;
  box-shadow: none !important;
  color: var(--pts-white) !important;
  font-family: var(--pts-font-body);
  font-weight: 500;
  font-size: 0.95rem;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 300ms ease-in-out;
}

.pts-checkout-gate button.woocommerce-form-login__submit:hover,
.pts-checkout-gate button.woocommerce-form-register__submit:hover,
.pts-checkout-gate button.pts-checkout-gate__guest:hover,
.pts-checkout-gate button.woocommerce-form-login__submit:focus,
.pts-checkout-gate button.woocommerce-form-register__submit:focus,
.pts-checkout-gate button.pts-checkout-gate__guest:focus {
  background-color: var(--pts-gold-hover) !important;
  color: var(--pts-white) !important;
}

.pts-checkout-gate button.woocommerce-form-login__submit:focus-visible,
.pts-checkout-gate button.woocommerce-form-register__submit:focus-visible,
.pts-checkout-gate button.pts-checkout-gate__guest:focus-visible {
  outline: 2px solid var(--pts-navy-primary);
  outline-offset: 3px;
}

.pts-checkout-gate .lost_password {
  margin: 16px 0 0;
  text-align: center;
}

.pts-checkout-gate .pts-register-lead {
  margin: 0 0 18px;
  color: var(--pts-navy-primary);
  font-family: var(--pts-font-body);
  font-weight: 600;
  font-size: 0.95rem;
  line-height: 1.45;
}

.pts-checkout-gate .pts-register-privacy {
  margin: 0 0 18px;
}

.pts-checkout-gate .pts-register-privacy__label {
  display: flex;
  align-items: flex-start;
  gap: 8px;
  margin: 0;
  color: var(--pts-navy-primary);
  font-family: var(--pts-font-body);
  font-weight: 500;
  font-size: 0.95rem;
  line-height: 1.45;
}

.pts-checkout-gate .pts-register-privacy__label input {
  flex-shrink: 0;
  margin: 3px 0 0;
  accent-color: var(--pts-navy-primary);
}

.pts-checkout-gate .lost_password a,
.pts-checkout-gate .woocommerce-privacy-policy-text a,
.pts-checkout-gate .pts-register-privacy a {
  color: var(--pts-navy-primary);
  font-size: 0.95rem;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.pts-checkout-gate .woocommerce-form-register .woocommerce-privacy-policy-text,
.pts-checkout-gate .woocommerce-form-register > p {
  color: var(--pts-navy-primary);
  font-family: var(--pts-font-body);
  font-size: 0.95rem;
  line-height: 1.5;
}

.pts-checkout-gate__divider {
  display: flex;
  align-items: center;
  gap: 16px;
  margin: 28px 0;
  color: var(--pts-brown-dark);
  font-size: 0.95rem;
}

.pts-checkout-gate__divider::before,
.pts-checkout-gate__divider::after {
  content: '';
  flex: 1 1 auto;
  height: 1px;
  background: var(--pts-gold-botanical);
}

.pts-checkout-gate__guest-form {
  margin: 0;
}

.pts-checkout-gate__back {
  margin: 24px 0 0;
  text-align: center;
}

.pts-checkout-gate__back a {
  color: var(--pts-navy-primary);
  font-size: 0.95rem;
  text-decoration: underline;
  text-underline-offset: 3px;
}

body.woocommerce-account.pts-checkout-gate-page .woocommerce {
  display: block;
  width: auto;
  max-width: none;
  float: none;
}

.pts-checkout-gate > h2 {
  display: none;
}

/* Elfelejtett jelszó: ugyanaz a mező és a gomb, mint a belépésnél. */
body.woocommerce-lost-password .woocommerce {
  display: block;
  width: auto;
  max-width: none;
  float: none;
}

body.woocommerce-lost-password form.lost_reset_password {
  max-width: 480px;
  margin: 0;
}

body.woocommerce-lost-password form.lost_reset_password .form-row,
body.woocommerce-lost-password form.lost_reset_password .form-row-first,
body.woocommerce-lost-password form.lost_reset_password .form-row-last {
  float: none !important;
  width: 100% !important;
  margin: 0 0 18px;
  padding: 0;
}

body.woocommerce-lost-password form.lost_reset_password label {
  display: block;
  margin: 0 0 8px;
  color: var(--pts-navy-primary);
  font-family: var(--pts-font-body);
  font-weight: 500;
  font-size: 1rem;
  line-height: 1.3;
}

body.woocommerce-lost-password form.lost_reset_password .input-text {
  box-sizing: border-box;
  width: 100% !important;
  min-height: 48px;
  margin: 0;
  padding: 12px 16px !important;
  border: 1px solid var(--pts-gold-botanical) !important;
  border-radius: 12px !important;
  background: var(--pts-white) !important;
  background-color: var(--pts-white) !important;
  color: var(--pts-navy-primary) !important;
  font-family: var(--pts-font-body);
  font-size: 1rem;
  line-height: 1.4;
}

body.woocommerce-lost-password form.lost_reset_password .input-text:focus {
  border-color: var(--pts-gold-primary) !important;
  outline: 2px solid var(--pts-navy-primary);
  outline-offset: 2px;
}

body.woocommerce-lost-password form.lost_reset_password button.button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  float: none !important;
  width: 100%;
  min-height: 52px;
  margin: 0;
  padding: 14px 28px;
  border: none !important;
  border-radius: var(--pts-radius-pill) !important;
  background-color: var(--pts-gold-primary) !important;
  background-image: none !important;
  box-shadow: none !important;
  color: var(--pts-white) !important;
  font-family: var(--pts-font-body);
  font-weight: 500;
  font-size: 0.95rem;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-align: center;
  text-transform: uppercase;
  text-decoration: none;
  cursor: pointer;
  transition: background-color 300ms ease-in-out;
}

body.woocommerce-lost-password form.lost_reset_password button.button:hover,
body.woocommerce-lost-password form.lost_reset_password button.button:focus {
  background-color: var(--pts-gold-hover) !important;
  color: var(--pts-white) !important;
}

body.woocommerce-lost-password form.lost_reset_password button.button:focus-visible {
  outline: 2px solid var(--pts-navy-primary);
  outline-offset: 3px;
}

/* Divi fehér nyila ne jelenjen meg a gombok közepén hoverre. */
.et_pb_button::before,
.et_pb_button::after,
.et_pb_button:hover::before,
.et_pb_button:hover::after,
.et_pb_button:focus::before,
.et_pb_button:focus::after,
.woocommerce a.button::before,
.woocommerce a.button::after,
.woocommerce a.button:hover::before,
.woocommerce a.button:hover::after,
.woocommerce a.button:focus::before,
.woocommerce a.button:focus::after,
.woocommerce button.button::before,
.woocommerce button.button::after,
.woocommerce button.button:hover::before,
.woocommerce button.button:hover::after,
.woocommerce button.button:focus::before,
.woocommerce button.button:focus::after,
.woocommerce input.button::before,
.woocommerce input.button::after,
.woocommerce input.button:hover::before,
.woocommerce input.button:hover::after,
.woocommerce input.button:focus::before,
.woocommerce input.button:focus::after,
.woocommerce-page a.button::before,
.woocommerce-page a.button::after,
.woocommerce-page a.button:hover::before,
.woocommerce-page a.button:hover::after,
.woocommerce-page button.button::before,
.woocommerce-page button.button::after,
.woocommerce-page button.button:hover::before,
.woocommerce-page button.button:hover::after,
.woocommerce-page input.button::before,
.woocommerce-page input.button::after,
.woocommerce-page input.button:hover::before,
.woocommerce-page input.button:hover::after,
button.woocommerce-button::before,
button.woocommerce-button::after,
button.woocommerce-button:hover::before,
button.woocommerce-button:hover::after,
button.woocommerce-button:focus::before,
button.woocommerce-button:focus::after,
.et_pb_contact_submit::before,
.et_pb_contact_submit::after,
.et_pb_contact_submit:hover::before,
.et_pb_contact_submit:hover::after {
  content: none !important;
  display: none !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
}

/* Hoverre a Divi paddingja ne tolja el a feliratot és ne változtassa a gomb magasságát. */
.et_pb_button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce-page a.button,
.woocommerce-page button.button,
.woocommerce-page input.button,
button.woocommerce-button,
.et_pb_contact_submit {
  --pts-btn-pt: 0.3em;
  --pts-btn-pr: 1em;
  --pts-btn-pb: 0.3em;
  --pts-btn-pl: 1em;
}

.pts-checkout-gate button.woocommerce-form-login__submit,
.pts-checkout-gate button.woocommerce-form-register__submit,
.pts-checkout-gate button.pts-checkout-gate__guest,
body.woocommerce-lost-password form.lost_reset_password button.button {
  --pts-btn-pt: 14px;
  --pts-btn-pr: 28px;
  --pts-btn-pb: 14px;
  --pts-btn-pl: 28px;
}

.pts-product-card .et_pb_button,
.et_pb_button.pts-product-card__cta {
  --pts-btn-pt: 10px;
  --pts-btn-pr: 32px;
  --pts-btn-pb: 10px;
  --pts-btn-pl: 32px;
}

.et_pb_button.pts-private-spa__cta {
  --pts-btn-pt: 14px;
  --pts-btn-pr: 40px;
  --pts-btn-pb: 14px;
  --pts-btn-pl: 40px;
}

.pts-contact__form .et_pb_contact_submit {
  --pts-btn-pt: 14px;
  --pts-btn-pr: 48px;
  --pts-btn-pb: 14px;
  --pts-btn-pl: 48px;
}

.single-product .single_add_to_cart_button.button,
.et_pb_wc_add_to_cart .single_add_to_cart_button.button {
  --pts-btn-pt: 12px;
  --pts-btn-pr: 22px;
  --pts-btn-pb: 12px;
  --pts-btn-pl: 28px;
}

.et_pb_button:hover,
.et_pb_button:focus,
.woocommerce a.button:hover,
.woocommerce a.button:focus,
.woocommerce button.button:hover,
.woocommerce button.button:focus,
.woocommerce input.button:hover,
.woocommerce input.button:focus,
.woocommerce-page a.button:hover,
.woocommerce-page a.button:focus,
.woocommerce-page button.button:hover,
.woocommerce-page button.button:focus,
.woocommerce-page input.button:hover,
.woocommerce-page input.button:focus,
button.woocommerce-button:hover,
button.woocommerce-button:focus,
.et_pb_contact_submit:hover,
.et_pb_contact_submit:focus {
  padding: var(--pts-btn-pt) var(--pts-btn-pr) var(--pts-btn-pb) var(--pts-btn-pl) !important;
}

/* Pénztár: a csomagpont-kereső legördülő listája a következő lépés mezőcímkéi (pl. Ország/Régió) fölött legyen. */
.wc-block-components-checkout-step:has(.vp-woo-pont-block) {
  position: relative;
  z-index: 5;
}

.vp-woo-pont-block-list-item.selected {
  z-index: 5;
}

/* Az adószám formátummintája csak akkor látszik, amikor a mező aktív. */
.wc-block-checkout input[id$="vat-number"]::placeholder,
.wc-block-checkout input[name$="vat-number"]::placeholder {
  opacity: 0;
}

.wc-block-checkout input[id$="vat-number"]:focus::placeholder,
.wc-block-checkout input[name$="vat-number"]:focus::placeholder {
  opacity: 1;
}

/* Az EU Elállási Gomb a korán megnyíló kuponűrlapba is beteszi a hozzájárulást. Ott rejtve marad. */
.wc-block-components-totals-coupon #ewb-checkout-consent-wrap {
  display: none;
}

/* ==========================================================================
   21. WooCommerce – rendelés-visszaigazoló (köszönő) oldal
   ========================================================================== */

/* Sikeres rendelésnél a „Köszönjük! A rendelést megkaptuk.” üzenet a főcím. */
.woocommerce-order-received article:has(.woocommerce-thankyou-order-received) .entry-title {
  display: none;
}

.woocommerce-order-received .woocommerce-order {
  --pts-order-card-bg:     rgba(255, 255, 255, 0.55);
  --pts-order-card-head:   rgba(236, 229, 214, 0.6);
  --pts-order-card-border: rgba(206, 187, 141, 0.55);
  --pts-order-card-line:   rgba(206, 187, 141, 0.35);
  --pts-order-card-shadow: 0 8px 28px rgba(105, 93, 63, 0.08);
  --pts-order-card-radius: 14px;

  max-width: 860px;
  margin: 0 auto;
  color: var(--pts-navy-primary);
  font-family: var(--pts-order-font-body);
  font-size: 0.95rem;
  line-height: 1.5;
}

.woocommerce-order-received .woocommerce-order > p {
  margin: 0 0 32px;
  padding: 0;
}

.woocommerce-order-received .woocommerce-order .woocommerce-thankyou-order-received,
.woocommerce-order-received .woocommerce-order .woocommerce-order-details__title,
.woocommerce-order-received .woocommerce-order .woocommerce-column__title {
  margin: 0 0 20px;
  padding: 0;
  border: 0;
  background: none;
  color: var(--pts-navy-primary);
  font-family: var(--pts-order-font-heading);
  font-weight: 400;
  line-height: 1.25;
}

.woocommerce-order-received .woocommerce-order .woocommerce-thankyou-order-received {
  position: relative;
  margin-bottom: 28px;
  padding-bottom: 16px;
  font-size: calc(1.6rem * var(--pts-order-heading-scale));
}

.woocommerce-order-received .woocommerce-order .woocommerce-order-details__title {
  position: relative;
  padding-bottom: 14px;
  font-size: calc(1.3rem * var(--pts-order-heading-scale));
}

.woocommerce-order-received .woocommerce-order .woocommerce-column__title {
  margin-bottom: 14px;
  font-size: calc(1.3rem * var(--pts-order-heading-scale));
}

.woocommerce-order-received .woocommerce-order .woocommerce-thankyou-order-received::after,
.woocommerce-order-received .woocommerce-order .woocommerce-order-details__title::after {
  content: '';
  position: absolute;
  left: 0;
  bottom: 0;
  width: 56px;
  height: 2px;
  background-color: var(--pts-gold-secondary);
}

/* Összefoglaló sáv: rendelésszám, dátum, végösszeg, fizetési mód. */
.woocommerce-order-received .woocommerce-order ul.woocommerce-order-overview {
  display: flex;
  flex-wrap: wrap;
  gap: 16px 0;
  margin: 0 0 24px;
  padding: 0 !important;
  list-style: none;
}

.woocommerce-order-received .woocommerce-order ul.woocommerce-order-overview::before,
.woocommerce-order-received .woocommerce-order ul.woocommerce-order-overview::after {
  content: none;
}

.woocommerce-order-received .woocommerce-order ul.woocommerce-order-overview li {
  float: none;
  margin: 0;
  padding: 0 28px;
  border: 0;
  border-left: 1px solid var(--pts-order-card-border);
  color: var(--pts-brown-dark);
  font-family: var(--pts-order-font-body);
  font-size: 0.7rem;
  line-height: 1.4;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  list-style: none;
}

.woocommerce-order-received .woocommerce-order ul.woocommerce-order-overview li:first-child {
  padding-left: 0;
  border-left: 0;
}

.woocommerce-order-received .woocommerce-order ul.woocommerce-order-overview li strong {
  display: block;
  margin-top: 6px;
  color: var(--pts-navy-primary);
  font-size: 1rem;
  font-weight: 600;
  line-height: 1.4;
  letter-spacing: 0;
  text-transform: none;
}

/* Rendelés részletei táblázat kártyaként. */
.woocommerce-order-received .woocommerce-order .woocommerce-order-details {
  margin: 0 0 40px;
}

.woocommerce-order-received .woocommerce-order table.shop_table.order_details {
  width: 100%;
  margin: 0;
  border: 1px solid var(--pts-order-card-border);
  border-collapse: separate;
  border-spacing: 0;
  border-radius: var(--pts-order-card-radius);
  overflow: hidden;
  background-color: var(--pts-order-card-bg);
  box-shadow: var(--pts-order-card-shadow);
  font-family: var(--pts-order-font-body);
  font-size: 0.9rem;
}

.woocommerce-order-received .woocommerce-order table.shop_table.order_details th,
.woocommerce-order-received .woocommerce-order table.shop_table.order_details td {
  width: 50%;
  padding: 11px 20px !important;
  border: 0;
  border-top: 1px solid var(--pts-order-card-line);
  background: none;
  color: var(--pts-navy-primary);
  font-family: var(--pts-order-font-body);
  font-weight: 500;
  line-height: 1.4;
  text-align: left;
  vertical-align: middle;
}

.woocommerce-order-received .woocommerce-order table.shop_table.order_details thead th {
  border-top: 0;
  background-color: var(--pts-order-card-head);
  font-weight: 600;
}

.woocommerce-order-received .woocommerce-order table.shop_table.order_details .product-name a {
  color: var(--pts-gold-hover);
  text-decoration: none;
  transition: color 200ms ease-in-out;
}

.woocommerce-order-received .woocommerce-order table.shop_table.order_details .product-name a:hover,
.woocommerce-order-received .woocommerce-order table.shop_table.order_details .product-name a:focus {
  color: var(--pts-navy-primary);
}

.woocommerce-order-received .woocommerce-order table.shop_table.order_details .product-quantity {
  font-weight: 600;
}

.woocommerce-order-received .woocommerce-order table.shop_table.order_details small {
  color: var(--pts-brown-dark);
  font-size: 0.9em;
  font-weight: 400;
}

.woocommerce-order-received .woocommerce-order table.shop_table.order_details .wc-item-meta {
  margin: 4px 0 0;
  padding: 0;
  list-style: none;
  font-size: 0.9em;
}

/* Számlázási és szállítási cím kártyák ikonokkal. */
.woocommerce-order-received .woocommerce-order .woocommerce-customer-details {
  margin: 0;
}

.woocommerce-order-received .woocommerce-order .woocommerce-customer-details .col2-set {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 32px 40px;
  width: 100%;
  margin: 0;
}

.woocommerce-order-received .woocommerce-order .woocommerce-customer-details .col2-set::before,
.woocommerce-order-received .woocommerce-order .woocommerce-customer-details .col2-set::after {
  content: none;
}

.woocommerce-order-received .woocommerce-order .woocommerce-customer-details .col2-set .col-1,
.woocommerce-order-received .woocommerce-order .woocommerce-customer-details .col2-set .col-2 {
  float: none;
  width: auto;
  max-width: none;
  margin: 0;
  padding: 0;
}

.woocommerce-order-received .woocommerce-order .woocommerce-customer-details address {
  position: relative;
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding: 18px 22px 18px 56px;
  border: 1px solid var(--pts-order-card-border);
  border-radius: var(--pts-order-card-radius);
  background-color: var(--pts-order-card-bg);
  box-shadow: var(--pts-order-card-shadow);
  color: var(--pts-navy-primary);
  font-family: var(--pts-order-font-body);
  font-size: 0.9rem;
  font-style: normal;
  line-height: 1.5;
  text-align: left;
}

.woocommerce-order-received .woocommerce-order .woocommerce-customer-details address::before,
.woocommerce-order-received .woocommerce-order .woocommerce-customer-details address p.woocommerce-customer-details--phone::before,
.woocommerce-order-received .woocommerce-order .woocommerce-customer-details address p.woocommerce-customer-details--email::before {
  content: '';
  position: absolute;
  display: block;
  width: 18px;
  height: 18px;
  margin: 0;
  background-color: var(--pts-gold-hover);
  font-family: inherit;
  line-height: 1;
}

.woocommerce-order-received .woocommerce-order .woocommerce-customer-details address::before {
  top: 20px;
  left: 22px;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M9 16s5.4-5 5.4-8.2A5.4 5.4 0 0 0 9 2.4a5.4 5.4 0 0 0-5.4 5.4C3.6 11 9 16 9 16z' stroke='black' stroke-width='1.6' stroke-linejoin='round'/%3E%3Ccircle cx='9' cy='7.8' r='1.7' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M9 16s5.4-5 5.4-8.2A5.4 5.4 0 0 0 9 2.4a5.4 5.4 0 0 0-5.4 5.4C3.6 11 9 16 9 16z' stroke='black' stroke-width='1.6' stroke-linejoin='round'/%3E%3Ccircle cx='9' cy='7.8' r='1.7' stroke='black' stroke-width='1.6'/%3E%3C/svg%3E") center / contain no-repeat;
}

.woocommerce-order-received .woocommerce-order .woocommerce-customer-details address p.woocommerce-customer-details--phone,
.woocommerce-order-received .woocommerce-order .woocommerce-customer-details address p.woocommerce-customer-details--email {
  position: relative;
  margin: 6px 0 0;
  padding: 0;
}

.woocommerce-order-received .woocommerce-order .woocommerce-customer-details address p:first-of-type {
  margin-top: 14px;
}

.woocommerce-order-received .woocommerce-order .woocommerce-customer-details address p.woocommerce-customer-details--phone::before,
.woocommerce-order-received .woocommerce-order .woocommerce-customer-details address p.woocommerce-customer-details--email::before {
  top: 1px;
  left: -34px;
}

.woocommerce-order-received .woocommerce-order .woocommerce-customer-details address p.woocommerce-customer-details--phone::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M4.2 2.2h2.6l1.3 3.3-1.7 1.1a8.6 8.6 0 0 0 4.9 4.9l1.1-1.7 3.3 1.3v2.6c0 .7-.6 1.3-1.3 1.3A12.9 12.9 0 0 1 2.9 3.5c0-.7.6-1.3 1.3-1.3z' stroke='black' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'%3E%3Cpath d='M4.2 2.2h2.6l1.3 3.3-1.7 1.1a8.6 8.6 0 0 0 4.9 4.9l1.1-1.7 3.3 1.3v2.6c0 .7-.6 1.3-1.3 1.3A12.9 12.9 0 0 1 2.9 3.5c0-.7.6-1.3 1.3-1.3z' stroke='black' stroke-width='1.6' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

.woocommerce-order-received .woocommerce-order .woocommerce-customer-details address p.woocommerce-customer-details--email::before {
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'%3E%3Crect x='2' y='3.8' width='14' height='10.4' rx='1.6' stroke='black' stroke-width='1.6'/%3E%3Cpath d='M2.6 5l6.4 5 6.4-5' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 18' fill='none'%3E%3Crect x='2' y='3.8' width='14' height='10.4' rx='1.6' stroke='black' stroke-width='1.6'/%3E%3Cpath d='M2.6 5l6.4 5 6.4-5' stroke='black' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

@media (max-width: 768px) {
  .woocommerce-order-received .woocommerce-order ul.woocommerce-order-overview {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px 20px;
  }

  .woocommerce-order-received .woocommerce-order ul.woocommerce-order-overview li,
  .woocommerce-order-received .woocommerce-order ul.woocommerce-order-overview li:first-child {
    padding: 0;
    border-left: 0;
  }

  .woocommerce-order-received .woocommerce-order table.shop_table.order_details th,
  .woocommerce-order-received .woocommerce-order table.shop_table.order_details td {
    padding: 10px 14px !important;
  }

  .woocommerce-order-received .woocommerce-order .woocommerce-customer-details .col2-set {
    grid-template-columns: 1fr;
  }
}

/* ==========================================================================
   19/b. Fiókom aloldalak (Rendelések, Rendelés megtekintése, Címek, Fiókadatok)
   ========================================================================== */

/* A WooCommerce „Confirm your email address to check for past orders…” értesítése: rejtve. */
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info:has(a[href*="wc_send_verification"]) {
  display: none !important;
}

/* Tablet szélességen is egymás alá kerül a menü és a tartalom (eddig csak 768px alatt). */
@media (max-width: 980px) {
  .woocommerce-account .woocommerce {
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content {
    grid-column: 1;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation {
    padding: 14px 12px;
  }

  /* Rendelések tábla: soronként kártya. */
  .woocommerce-account table.my_account_orders,
  .woocommerce-account table.my_account_orders tbody {
    display: block;
    width: 100%;
    border: 0 !important;
    background: transparent;
  }

  .woocommerce-account table.my_account_orders thead {
    display: none;
  }

  .woocommerce-account table.my_account_orders tbody tr {
    display: block;
    margin: 0 0 16px;
    padding: 8px 20px;
    border-radius: 16px;
    background-color: var(--pts-white);
  }

  .woocommerce-account table.my_account_orders tbody th,
  .woocommerce-account table.my_account_orders tbody td {
    display: flex !important;
    justify-content: space-between;
    align-items: center;
    gap: 16px;
    padding: 10px 0 !important;
    border: 0 !important;
    border-bottom: 1px solid var(--pts-bg-soft-2) !important;
    text-align: right !important;
    background: transparent !important;
  }

  .woocommerce-account table.my_account_orders tbody tr > :last-child {
    border-bottom: 0 !important;
  }

  .woocommerce-account table.my_account_orders tbody th::before,
  .woocommerce-account table.my_account_orders tbody td::before {
    content: attr(data-title);
    float: none !important;
    color: var(--pts-navy-primary);
    font-weight: 600;
    text-align: left;
  }

  .woocommerce-account table.my_account_orders tbody td.woocommerce-orders-table__cell-order-actions::before {
    content: none;
  }

  .woocommerce-account table.my_account_orders tbody td.woocommerce-orders-table__cell-order-actions {
    justify-content: flex-end;
  }
}

/* ==========================================================================
   Nyitás előtti zárolás: szürke, inaktív kosár gomb (paradis-teaspa: launch-lock.php)
   ========================================================================== */

.single-product .pts-add-to-cart--locked.single_add_to_cart_button.button,
.et_pb_wc_add_to_cart .pts-add-to-cart--locked.single_add_to_cart_button.button,
.single-product .pts-add-to-cart--locked.single_add_to_cart_button.button:hover,
.et_pb_wc_add_to_cart .pts-add-to-cart--locked.single_add_to_cart_button.button:hover,
.single-product .pts-add-to-cart--locked.single_add_to_cart_button.button:focus,
.et_pb_wc_add_to_cart .pts-add-to-cart--locked.single_add_to_cart_button.button:focus {
  background-color: #9A9A9A !important;
  color: var(--pts-white) !important;
  opacity: 1 !important;
  cursor: not-allowed !important;
  pointer-events: none;
  white-space: normal !important;
  text-align: center;
}

/* ==========================================================================
   Ingyenes szállítás: áthúzott eredeti díj + 0 Ft (paradis-teaspa: free-shipping.js)
   ========================================================================== */

.pts-fs-free {
  font-size: 0 !important;
}

.pts-fs-free > :not(.pts-fs-price) {
  display: none !important;
}

.pts-fs-price del {
  margin-right: 6px;
  opacity: 0.6;
  font-weight: 400;
}

.pts-fs-price ins {
  text-decoration: none;
  font-weight: 600;
}

/* Zárolás: AJAX kosárfiók – Kosár/Pénztár gombok helyett szürke felirat. */
.pts-ajax-cart__footer-actions--locked {
  display: block;
}

.pts-ajax-cart__locked {
  display: flex;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
  min-height: 56px;
  padding: 12px 20px;
  border-radius: 16px;
  background-color: #9A9A9A;
  color: var(--pts-white);
  font-family: var(--pts-font-heading);
  font-size: 0.9rem;
  letter-spacing: 0.08em;
  line-height: 1.3;
  text-align: center;
  text-transform: uppercase;
  cursor: not-allowed;
}

/* Zárolás: tájékoztató sáv a kosár és a pénztár oldal tetején. */
.pts-launch-banner {
  box-sizing: border-box;
  width: 100%;
  margin: 0 0 32px;
  padding: 18px 24px;
  border-radius: 16px;
  background-color: var(--pts-navy-primary);
  color: var(--pts-white);
  font-family: var(--pts-font-body);
  font-size: 1.1rem;
  font-weight: 600;
  line-height: 1.4;
  text-align: center;
}
