/*
Theme Name: Fordulópontok
Theme URI: https://fordulopontokszalon.hu
Description: Egyedi téma a Fordulópontok Szalon wellness és mentorprogram weboldalához. Elementor Pro + WooCommerce kompatibilis.
Author: Dr. Kiss Edit
Version: 1.0.0
Requires at least: 6.5
Tested up to: 6.9
Requires PHP: 8.0
License: Private
Text Domain: fordulopontok
Tags: elementor, woocommerce, wellness, hungarian
*/

/* =========================================================
   FORDULÓPONTOK – GLOBÁLIS CSS VÁLTOZÓK
   ========================================================= */
:root {
    /* Színpaletta */
    --fp-zold:          #4E7C59;
    --fp-zold-vilagos:  #7AAD6E;
    --fp-zold-halvany:  #EAF2E8;
    --fp-barna:         #7A5532;
    --fp-barna-halvany: #F2EBE3;
    --fp-lila:          #7B5EA7;
    --fp-lila-halvany:  #F0EAF8;
    --fp-narancs:       #D4854A;
    --fp-narancs-halvany:#FDF0E6;
    --fp-krem:          #F7F3ED;
    --fp-feher:         #FFFFFF;
    --fp-sotet:         #2D2D2D;
    --fp-szurke:        #6B6B6B;
    --fp-szurke-halvany:#F0EFED;

    /* Tipográfia */
    --fp-font-cim:      'Playfair Display', serif;
    --fp-font-szoveg:   'adobe-caslon-pro', 'Adobe Caslon Pro', serif;

    /* Spacing */
    --fp-radius:        12px;
    --fp-radius-nagy:   24px;
    --fp-arnyek:        0 4px 24px rgba(0,0,0,0.08);
    --fp-arnyek-hover:  0 8px 40px rgba(0,0,0,0.14);

    /* Átmenetek */
    --fp-atmenet:       all 0.3s ease;

    /* Prémium paletta */
    --fp-violet-p:      #B199CD;
    --fp-taupe-p:       #B7A28B;
    --fp-sage-p:        #859F7A;
    --fp-violet-bg:     rgba(177,153,205,0.10);
    --fp-taupe-bg:      rgba(183,162,139,0.10);
    --fp-sage-bg:       rgba(133,159,122,0.10);
    --fp-violet-bg2:    rgba(177,153,205,0.18);
    --fp-taupe-bg2:     rgba(183,162,139,0.18);
    --fp-sage-bg2:      rgba(133,159,122,0.18);
}

/* =========================================================
   ALAP RESET ÉS BODY
   ========================================================= */
*, *::before, *::after {
    box-sizing: border-box;
}

html {
    scroll-behavior: smooth;
    font-size: 16px;
}

body {
    margin: 0;
    padding: 0;
    font-family: var(--fp-font-szoveg);
    color: var(--fp-sotet);
    background-color: var(--fp-feher);
    line-height: 1.7;
    -webkit-font-smoothing: antialiased;
}

/* =========================================================
   TIPOGRÁFIA
   ========================================================= */
h1, h2, h3, h4, h5, h6 {
    font-family: var(--fp-font-cim);
    line-height: 1.25;
    color: var(--fp-barna);
    margin-top: 0;
}

a {
    color: var(--fp-zold);
    text-decoration: none;
    transition: var(--fp-atmenet);
}

a:hover {
    color: var(--fp-barna);
}

p {
    margin-top: 0;
    margin-bottom: 1.2em;
}

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

/* =========================================================
   GOMB STÍLUSOK (Elementor gomb overrides)
   ========================================================= */
.fp-gomb-elso,
.elementor-button.fp-elso,
.wp-block-button__link {
    background-color: var(--fp-zold) !important;
    color: var(--fp-feher) !important;
    border: none;
    border-radius: var(--fp-radius);
    padding: 14px 32px;
    font-family: var(--fp-font-szoveg);
    font-weight: 700;
    font-size: 1rem;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: var(--fp-atmenet);
    display: inline-block;
}

.fp-gomb-elso:hover,
.elementor-button.fp-elso:hover {
    background-color: var(--fp-barna) !important;
    transform: translateY(-2px);
    box-shadow: var(--fp-arnyek-hover);
}

.fp-gomb-masodik {
    background-color: transparent;
    color: var(--fp-zold);
    border: 2px solid var(--fp-zold);
    border-radius: var(--fp-radius);
    padding: 12px 30px;
    font-weight: 700;
    transition: var(--fp-atmenet);
    display: inline-block;
}

.fp-gomb-masodik:hover {
    background-color: var(--fp-zold);
    color: var(--fp-feher);
}

/* =========================================================
   ELEMENTOR CONTAINER OVERRIDES
   ========================================================= */
.e-con,
.elementor-container {
    max-width: 1200px;
}

/* =========================================================
   KÁRTYA STÍLUS
   ========================================================= */
.fp-kartya {
    background: var(--fp-feher);
    border-radius: var(--fp-radius);
    box-shadow: var(--fp-arnyek);
    padding: 32px;
    transition: var(--fp-atmenet);
}

.fp-kartya:hover {
    box-shadow: var(--fp-arnyek-hover);
    transform: translateY(-4px);
}

/* =========================================================
   SZEKCIÓ HÁTTÉR SEGÉDOSZTÁLYOK
   ========================================================= */
.fp-bg-krem       { background-color: var(--fp-krem) !important; }
.fp-bg-zold       { background-color: var(--fp-zold-halvany) !important; }
.fp-bg-barna      { background-color: var(--fp-barna-halvany) !important; }
.fp-bg-lila       { background-color: var(--fp-lila-halvany) !important; }
.fp-bg-narancs    { background-color: var(--fp-narancs-halvany) !important; }
.fp-bg-sotet      { background-color: var(--fp-sotet) !important; color: var(--fp-feher) !important; }
.fp-bg-zold-sotet { background-color: var(--fp-zold) !important; color: var(--fp-feher) !important; }

/* =========================================================
   SZÖVEGSZÍN SEGÉDOSZTÁLYOK
   ========================================================= */
.fp-szin-zold    { color: var(--fp-zold) !important; }
.fp-szin-barna   { color: var(--fp-barna) !important; }
.fp-szin-lila    { color: var(--fp-lila) !important; }
.fp-szin-narancs { color: var(--fp-narancs) !important; }
.fp-szin-feher   { color: var(--fp-feher) !important; }

/* =========================================================
   SZEKCIÓCÍM STÍLUS
   ========================================================= */
.fp-szekciocim {
    text-align: center;
    margin-bottom: 48px;
}

.fp-szekciocim .alcim {
    font-family: var(--fp-font-szoveg);
    font-size: 0.875rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    color: var(--fp-zold);
    display: block;
    margin-bottom: 12px;
}

.fp-szekciocim h2 {
    font-size: clamp(1.75rem, 3vw, 2.5rem);
    margin-bottom: 16px;
}

.fp-szekciocim p {
    font-size: 1.1rem;
    color: var(--fp-szurke);
    max-width: 640px;
    margin: 0 auto;
}

/* =========================================================
   ELVÁLASZTÓ DÍSZ
   ========================================================= */
.fp-elvalaaszto {
    width: 60px;
    height: 3px;
    background: linear-gradient(90deg, var(--fp-zold), var(--fp-narancs));
    border-radius: 2px;
    margin: 0 auto 24px;
}

/* =========================================================
   TESTIMONIAL KÁRTYA
   ========================================================= */
.fp-velemeny {
    background: var(--fp-feher);
    border-radius: var(--fp-radius);
    box-shadow: var(--fp-arnyek);
    padding: 28px;
    position: relative;
}

.fp-velemeny::before {
    content: '\201C';
    font-family: var(--fp-font-cim);
    font-size: 5rem;
    color: var(--fp-zold-halvany);
    position: absolute;
    top: -16px;
    left: 20px;
    line-height: 1;
}

.fp-velemeny-szoveg {
    font-style: italic;
    color: var(--fp-szurke);
    margin-bottom: 20px;
}

.fp-velemeny-nev {
    font-weight: 700;
    color: var(--fp-barna);
}

/* =========================================================
   ÁRLISTA KÁRTYA
   ========================================================= */
.fp-ar-kartya {
    border: 1px solid #E8E0D6;
    border-radius: var(--fp-radius);
    padding: 28px;
    text-align: center;
    transition: var(--fp-atmenet);
}

.fp-ar-kartya.kiemelt {
    border-color: var(--fp-zold);
    border-width: 2px;
    box-shadow: var(--fp-arnyek);
}

.fp-ar-kartya .ar {
    font-family: var(--fp-font-cim);
    font-size: 2rem;
    color: var(--fp-zold);
    font-weight: 700;
}

.fp-ar-kartya .ar-egyseg {
    font-size: 0.875rem;
    color: var(--fp-szurke);
}

/* =========================================================
   FOGLALÁS BADGE / LEMONDÁSI SZABÁLYOK
   ========================================================= */
.fp-lemondas-info {
    background: var(--fp-krem);
    border-left: 4px solid var(--fp-narancs);
    border-radius: 0 var(--fp-radius) var(--fp-radius) 0;
    padding: 16px 20px;
    font-size: 0.9rem;
}

/* =========================================================
   FULL-WIDTH LAYOUT
   ========================================================= */
body .elementor-section.elementor-section-stretched,
body .e-con.e-con-full,
.elementor-location-header,
.elementor-location-footer {
    width: 100% !important;
    max-width: 100% !important;
    left: 0 !important;
}

/* Remove default WP padding on full-width pages */
.page-template-default .entry-content,
.single .entry-content {
    padding: 0;
    margin: 0;
}

/* =========================================================
   STICKY TRANSPARENT HEADER
   ========================================================= */
#fp-site-header {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 9999;
    transition: background 0.35s ease, box-shadow 0.35s ease, padding 0.35s ease;
    padding: 0;
}

/* Transparent state (homepage hero) */
#fp-site-header.fp-header--transparent {
    background: transparent;
    box-shadow: none;
}

#fp-site-header.fp-header--transparent .fp-header__inner {
    padding-top: 20px;
    padding-bottom: 20px;
}

/* White state after scroll / non-home pages */
#fp-site-header.fp-header--scrolled {
    background: #FFFFFF;
    box-shadow: 0 2px 16px rgba(0,0,0,0.08);
}

#fp-site-header.fp-header--scrolled .fp-header__inner {
    padding-top: 12px;
    padding-bottom: 12px;
}

.fp-header__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 16px 24px;
    display: flex;
    align-items: center;
    gap: 24px;
    transition: padding 0.35s ease;
}

/* Logo area */
.fp-header__logo {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    flex-shrink: 0;
}

.fp-header__logo img {
    width: 44px;
    height: 44px;
    display: block;
    transition: opacity 0.3s ease;
}

/* Show correct logo version */
.fp-header--transparent .fp-logo-default { display: none; }
.fp-header--transparent .fp-logo-white   { display: block; }
.fp-header--scrolled .fp-logo-default    { display: block; }
.fp-header--scrolled .fp-logo-white      { display: none; }

/* Nav menu */
.fp-header__nav {
    flex: 1;
    display: flex;
    justify-content: center;
}

.fp-nav-menu {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    align-items: center;
    gap: 4px;
}

.fp-nav-menu li a {
    display: block;
    padding: 8px 14px;
    font-size: 0.9rem;
    font-weight: 600;
    letter-spacing: 0.3px;
    border-radius: 6px;
    transition: color 0.25s ease, background 0.25s ease;
    text-decoration: none;
}

/* White links on transparent header */
.fp-header--transparent .fp-nav-menu li a {
    color: #FFFFFF;
}

.fp-header--transparent .fp-nav-menu li a:hover {
    color: #FFFFFF;
    background: rgba(255,255,255,0.18);
}

/* Brown links on scrolled header */
.fp-header--scrolled .fp-nav-menu li a {
    color: var(--fp-barna);
}

.fp-header--scrolled .fp-nav-menu li a:hover {
    color: var(--fp-zold);
    background: var(--fp-zold-halvany);
}

/* Right CTA */
.fp-header__cta {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-shrink: 0;
}

.fp-header__phone {
    font-size: 0.85rem;
    font-weight: 600;
    text-decoration: none;
    transition: color 0.3s ease;
    white-space: nowrap;
}

.fp-header--transparent .fp-header__phone { color: rgba(255,255,255,0.9); }
.fp-header--scrolled    .fp-header__phone { color: var(--fp-szurke); }
.fp-header__phone:hover { color: var(--fp-zold) !important; }

.fp-header__btn {
    font-size: 0.85rem !important;
    padding: 10px 20px !important;
    white-space: nowrap;
}

/* Burger button */
.fp-header__burger {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 40px;
    height: 40px;
    background: transparent;
    border: none;
    cursor: pointer;
    padding: 6px;
    border-radius: 6px;
    flex-shrink: 0;
}

.fp-header__burger span {
    display: block;
    height: 2px;
    width: 100%;
    border-radius: 2px;
    transition: all 0.3s ease;
    transform-origin: center;
}

.fp-header--transparent .fp-header__burger span { background: #FFFFFF; }
.fp-header--scrolled    .fp-header__burger span { background: var(--fp-barna); }

.fp-header__burger--open span:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.fp-header__burger--open span:nth-child(2) { opacity: 0; transform: scaleX(0); }
.fp-header__burger--open span:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }

/* Mobile menu drawer */
.fp-mobile-menu {
    background: #FFFFFF;
    border-top: 1px solid #F0EBE3;
    padding: 8px 0 0;
    box-shadow: 0 8px 24px rgba(0,0,0,0.1);
}

.fp-mobile-nav {
    list-style: none;
    margin: 0;
    padding: 0;
}

.fp-mobile-nav li a {
    display: block;
    padding: 14px 24px;
    font-weight: 600;
    color: var(--fp-barna);
    border-bottom: 1px solid var(--fp-krem);
    text-decoration: none;
    transition: background 0.2s ease;
}

.fp-mobile-nav li a:hover {
    background: var(--fp-krem);
    color: var(--fp-zold);
}

/* Body padding: see TOP INFO BAR section */
body.fp-menu-open { overflow: hidden; }

/* =========================================================
   PAGE LAYOUT WRAPPERS
   ========================================================= */
.fp-page-full {
    width: 100%;
}

/* Prémium bannerrel kezdődő oldalak: a banner szorosan a header alá kerül */
.fp-page-full > .fp-page-banner:first-child {
    margin-top: 0;
}

.fp-page-wrap {
    max-width: 900px;
    margin: 0 auto;
    padding: 60px 24px 80px;
}

.fp-page-title {
    font-family: var(--fp-font-cim);
    color: var(--fp-barna);
    font-size: clamp(1.8rem, 3vw, 2.5rem);
    margin-bottom: 32px;
    padding-bottom: 16px;
    border-bottom: 3px solid var(--fp-krem);
}

/* =========================================================
   HERO SLIDER
   ========================================================= */
.fp-hero {
    position: relative;
    width: 100%;
    height: 100vh;
    min-height: 520px;
    max-height: 800px;
    overflow: hidden;
    background: #1a1a1a;
}

.fp-hero__slides {
    position: relative;
    width: 100%;
    height: 100%;
}

.fp-hero__slide {
    position: absolute;
    inset: 0;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    opacity: 0;
    transition: opacity 1s ease;
    pointer-events: none;
}

.fp-hero__slide--active {
    opacity: 1;
    pointer-events: auto;
}

.fp-hero__overlay {
    position: absolute;
    inset: 0;
    background: linear-gradient(
        to bottom,
        rgba(0,0,0,0.35) 0%,
        rgba(0,0,0,0.50) 60%,
        rgba(0,0,0,0.65) 100%
    );
}

.fp-hero__content {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    text-align: center;
    padding: 24px;
    color: #fff;
}

.fp-hero__title {
    font-family: var(--fp-font-cim);
    font-size: clamp(2rem, 5vw, 3.5rem);
    font-weight: 700;
    color: #fff;
    margin-bottom: 20px;
    text-shadow: 0 2px 16px rgba(0,0,0,0.4);
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.7s ease 0.3s, transform 0.7s ease 0.3s;
}

.fp-hero__desc {
    font-size: clamp(1rem, 2vw, 1.25rem);
    color: rgba(255,255,255,0.92);
    max-width: 660px;
    line-height: 1.6;
    margin-bottom: 36px;
    text-shadow: 0 1px 8px rgba(0,0,0,0.3);
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.7s ease 0.5s, transform 0.7s ease 0.5s;
}

.fp-hero__btn {
    display: inline-block;
    background: var(--fp-zold);
    color: #fff;
    padding: 15px 40px;
    border-radius: var(--fp-radius);
    font-weight: 700;
    font-size: 1.05rem;
    letter-spacing: 0.5px;
    text-decoration: none;
    box-shadow: 0 4px 20px rgba(0,0,0,0.25);
    transition: background 0.28s ease, transform 0.22s ease, box-shadow 0.28s ease;
    opacity: 0;
    transform: translateY(20px);
    transition: opacity 0.7s ease 0.7s, transform 0.7s ease 0.7s,
                background 0.28s ease, box-shadow 0.28s ease;
}

.fp-hero__btn:hover {
    background: var(--fp-barna);
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 32px rgba(0,0,0,0.3);
    color: #fff;
}

/* Animate content when slide becomes active */
.fp-hero__slide--active .fp-hero__title,
.fp-hero__slide--active .fp-hero__desc,
.fp-hero__slide--active .fp-hero__btn {
    opacity: 1;
    transform: translateY(0);
}

/* Navigation dots */
.fp-hero__dots {
    position: absolute;
    bottom: 28px;
    left: 50%;
    transform: translateX(-50%);
    display: flex;
    gap: 10px;
    z-index: 10;
}

.fp-hero__dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    border: 2px solid rgba(255,255,255,0.7);
    background: transparent;
    cursor: pointer;
    padding: 0;
    transition: all 0.3s ease;
}

.fp-hero__dot--active {
    background: #fff;
    border-color: #fff;
    transform: scale(1.3);
}

/* Arrow buttons */
.fp-hero__arrow {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    z-index: 10;
    background: rgba(255,255,255,0.18);
    border: 2px solid rgba(255,255,255,0.5);
    color: #fff;
    width: 48px;
    height: 48px;
    border-radius: 50%;
    font-size: 1.1rem;
    cursor: pointer;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.25s ease, border-color 0.25s ease;
    backdrop-filter: blur(4px);
}

.fp-hero__arrow:hover {
    background: rgba(255,255,255,0.35);
    border-color: #fff;
}

.fp-hero__arrow--prev { left: 20px; }
.fp-hero__arrow--next { right: 20px; }

@media (max-width: 768px) {
    .fp-hero { height: 70vh; min-height: 400px; max-height: 600px; }
    .fp-hero__arrow { display: none; }
}

/* =========================================================
   SCROLL-IN ANIMATION
   ========================================================= */
.fp-animate {
    opacity: 0;
    transform: translateY(28px);
    transition: opacity 0.6s ease, transform 0.6s ease;
}

.fp-animate.fp-visible {
    opacity: 1;
    transform: translateY(0);
}

/* =========================================================
   FOOTER (Elementor Pro Theme Builder kezeli)
   ========================================================= */
#site-footer {
    background: var(--fp-sotet);
    color: #C8C8C8;
    padding: 48px 0 24px;
}

#site-footer a {
    color: #C8C8C8;
}

#site-footer a:hover {
    color: var(--fp-feher);
}

/* =========================================================
   WOOCOMMERCE OVERRIDES
   ========================================================= */
.woocommerce button.button,
.woocommerce input.button,
.woocommerce a.button {
    background-color: var(--fp-zold) !important;
    color: var(--fp-feher) !important;
    border-radius: var(--fp-radius) !important;
    font-weight: 700 !important;
    padding: 12px 28px !important;
    transition: var(--fp-atmenet) !important;
}

.woocommerce button.button:hover,
.woocommerce a.button:hover {
    background-color: var(--fp-barna) !important;
}

.woocommerce .price,
.woocommerce .amount {
    color: var(--fp-zold) !important;
    font-weight: 700;
}

.woocommerce .star-rating span {
    color: var(--fp-narancs) !important;
}

/* =========================================================
   GLOBAL BUTTON HOVER ANIMATION
   ========================================================= */
.elementor-button,
.wp-block-button__link,
.fp-gomb-elso,
.fp-gomb-masodik,
.woocommerce button.button,
.woocommerce a.button {
    transition: background-color 0.28s ease, color 0.28s ease,
                transform 0.22s ease, box-shadow 0.28s ease !important;
}

.elementor-button:hover,
.wp-block-button__link:hover {
    transform: translateY(-2px) scale(1.02) !important;
    box-shadow: 0 6px 24px rgba(78,124,89,0.28) !important;
}

/* =========================================================
   AMELIA BOOKING – FULL BRAND OVERRIDE
   ========================================================= */

/* Primary action buttons */
.amelia-v2-booking .am-button.am-button--primary,
.amelia-v2-booking button[type="submit"],
.amelia-v2-booking .am-button.-primary,
#amelia-booking .am-button.-primary,
.amelia-v2-booking .el-button--primary {
    background-color: var(--fp-zold) !important;
    border-color: var(--fp-zold) !important;
    color: #fff !important;
    border-radius: var(--fp-radius) !important;
    font-weight: 700 !important;
    transition: var(--fp-atmenet) !important;
}

.amelia-v2-booking .am-button.am-button--primary:hover,
.amelia-v2-booking button[type="submit"]:hover,
#amelia-booking .am-button.-primary:hover {
    background-color: var(--fp-barna) !important;
    border-color: var(--fp-barna) !important;
    transform: translateY(-2px) !important;
}

/* Secondary / outline buttons */
.amelia-v2-booking .am-button.am-button--secondary,
.amelia-v2-booking .am-button.-secondary {
    color: var(--fp-zold) !important;
    border-color: var(--fp-zold) !important;
    background: transparent !important;
}

.amelia-v2-booking .am-button.am-button--secondary:hover {
    background: var(--fp-zold) !important;
    color: #fff !important;
}

/* Selected service / category card */
.amelia-v2-booking .am-service-card.am-selected,
.amelia-v2-booking .am-category-card.am-selected,
.amelia-v2-booking .am-entity-card.am-selected {
    border-color: var(--fp-zold) !important;
    box-shadow: 0 0 0 2px var(--fp-zold) !important;
}

/* Selected date cell */
.amelia-v2-booking .el-date-table td.selected .el-date-table-cell__text,
.amelia-v2-booking .am-calendar .am-day--selected {
    background-color: var(--fp-zold) !important;
    color: #fff !important;
    border-radius: 50% !important;
}

/* Today highlight */
.amelia-v2-booking .el-date-table td.today .el-date-table-cell__text {
    color: var(--fp-zold) !important;
    font-weight: 700 !important;
}

/* Available time slots */
.amelia-v2-booking .am-time-slot:not(.am-time-slot--disabled):hover,
.amelia-v2-booking .am-time-slot.am-selected {
    background-color: var(--fp-zold) !important;
    color: #fff !important;
    border-color: var(--fp-zold) !important;
}

/* Step indicator / progress */
.amelia-v2-booking .am-step-active,
.amelia-v2-booking .am-step-done {
    color: var(--fp-zold) !important;
}

.amelia-v2-booking .am-step-active .am-step-icon,
.amelia-v2-booking .am-step-done .am-step-icon {
    background-color: var(--fp-zold) !important;
    border-color: var(--fp-zold) !important;
}

/* Links inside Amelia */
.amelia-v2-booking a,
.amelia-v2-booking .am-link {
    color: var(--fp-zold) !important;
}

/* Input focus */
.amelia-v2-booking .el-input__inner:focus,
.amelia-v2-booking .el-input.is-focus .el-input__inner {
    border-color: var(--fp-zold) !important;
    box-shadow: 0 0 0 2px rgba(78,124,89,0.15) !important;
}

/* Service price */
.amelia-v2-booking .am-service-price,
.amelia-v2-booking .am-price {
    color: var(--fp-zold) !important;
    font-weight: 700 !important;
}

/* Category badge */
.amelia-v2-booking .am-category-badge {
    background-color: var(--fp-lila-halvany) !important;
    color: var(--fp-lila) !important;
}

/* Header/accent bar inside Amelia */
.amelia-v2-booking .am-header,
.amelia-v2-booking .am-booking-header {
    background: linear-gradient(135deg, var(--fp-zold) 0%, #7AAD6E 100%) !important;
    color: #fff !important;
}

/* Overall container */
.amelia-v2-booking {
    font-family: var(--fp-font-szoveg) !important;
    border-radius: var(--fp-radius) !important;
    box-shadow: var(--fp-arnyek) !important;
}

/* =========================================================
   TOP INFO BAR
   ========================================================= */
.fp-topbar {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 10000;
    height: 38px;
    background: #D1C4E9;
    color: #4a3060;
    font-size: 0.8rem;
    transition: transform 0.3s ease, opacity 0.3s ease;
}

.fp-topbar--hidden {
    transform: translateY(-100%);
    opacity: 0;
    pointer-events: none;
}

.fp-topbar__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.fp-topbar__left,
.fp-topbar__right {
    display: flex;
    align-items: center;
    gap: 16px;
}

.fp-topbar__social,
.fp-topbar__link {
    display: flex;
    align-items: center;
    gap: 5px;
    color: #4a3060;
    text-decoration: none;
    font-weight: 500;
    transition: color 0.2s;
}

.fp-topbar__social:hover,
.fp-topbar__link:hover { color: var(--fp-lila); }

.fp-topbar__notice {
    font-style: italic;
    opacity: 0.8;
}

/* Main header offset by topbar height */
#fp-site-header {
    top: 38px;
}

#fp-site-header.fp-header--scrolled {
    top: 0;
}

/* Body padding accounts for topbar + header on non-home pages */
body {
    padding-top: calc(38px + 80px);
}

body.home {
    padding-top: 0;
}

/* =========================================================
   HEADER BRAND BLOCK
   ========================================================= */
.fp-header__brand {
    display: flex;
    flex-direction: column;
    line-height: 1.2;
}

.fp-header__brand-name {
    font-family: var(--fp-font-cim);
    font-size: 1.1rem;
    font-weight: 700;
    transition: color 0.35s ease;
}

.fp-header__brand-slogan {
    font-size: 0.7rem;
    font-weight: 400;
    letter-spacing: 0.3px;
    opacity: 0.85;
    transition: color 0.35s ease;
}

.fp-header--transparent .fp-header__brand-name,
.fp-header--transparent .fp-header__brand-slogan { color: #FFFFFF; }

.fp-header--scrolled .fp-header__brand-name { color: var(--fp-barna); }
.fp-header--scrolled .fp-header__brand-slogan { color: var(--fp-szurke); }

/* =========================================================
   FOOTER
   ========================================================= */
.fp-footer {
    background: #2a1f35;
    color: rgba(255,255,255,0.75);
    font-size: 0.9rem;
    line-height: 1.7;
}

.fp-footer__inner {
    max-width: 1200px;
    margin: 0 auto;
    padding: 0 24px;
}

/* Main grid */
.fp-footer__main {
    padding: 56px 0 40px;
    border-bottom: 1px solid rgba(255,255,255,0.1);
}

.fp-footer__main .fp-footer__inner {
    display: grid;
    grid-template-columns: 1.4fr 1fr 1fr 1fr;
    gap: 40px;
}

/* Headings */
.fp-footer__heading {
    font-family: var(--fp-font-cim);
    font-size: 1rem;
    font-weight: 700;
    color: #fff;
    margin: 0 0 16px;
    padding-bottom: 8px;
    border-bottom: 2px solid var(--fp-lila);
    display: inline-block;
}

/* Brand column */
.fp-footer__col--brand .fp-footer__logo-link {
    display: flex;
    align-items: center;
    gap: 10px;
    text-decoration: none;
    margin-bottom: 12px;
}

.fp-footer__logo {
    width: 48px;
    height: 48px;
    flex-shrink: 0;
}

.fp-footer__brand-name {
    font-family: var(--fp-font-cim);
    font-size: 1.05rem;
    font-weight: 700;
    color: #fff;
}

.fp-footer__slogan {
    font-style: italic;
    color: rgba(255,255,255,0.6);
    font-size: 0.85rem;
    margin: 0 0 10px;
}

.fp-footer__bio {
    font-size: 0.85rem;
    margin: 0 0 20px;
    color: rgba(255,255,255,0.65);
}

/* Social icons */
.fp-footer__socials {
    display: flex;
    gap: 10px;
}

.fp-footer__social-link {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border-radius: 50%;
    background: rgba(255,255,255,0.1);
    color: rgba(255,255,255,0.8);
    text-decoration: none;
    transition: background 0.2s, color 0.2s;
}

.fp-footer__social-link:hover {
    background: var(--fp-lila);
    color: #fff;
}

/* Lists */
.fp-footer__list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.fp-footer__list li {
    padding: 4px 0;
    color: rgba(255,255,255,0.7);
}

/* Contact list with icons */
.fp-footer__list--contact li {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    padding: 5px 0;
}

.fp-footer__list--contact svg {
    flex-shrink: 0;
    margin-top: 4px;
    opacity: 0.7;
}

.fp-footer__list--contact a {
    color: rgba(255,255,255,0.8);
    text-decoration: none;
    transition: color 0.2s;
}

.fp-footer__list--contact a:hover { color: var(--fp-lila-halvany); }

/* Hours list */
.fp-footer__list--hours li {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding: 4px 0;
    border-bottom: 1px solid rgba(255,255,255,0.06);
}

.fp-footer__hours-note {
    font-size: 0.78rem;
    font-style: italic;
    margin: 10px 0 0;
    opacity: 0.6;
}

/* Quick links */
.fp-footer__list--links li a {
    color: rgba(255,255,255,0.7);
    text-decoration: none;
    transition: color 0.2s, padding-left 0.2s;
    display: block;
    padding: 3px 0;
}

.fp-footer__list--links li a:hover {
    color: #fff;
    padding-left: 6px;
}

/* Bottom bar */
.fp-footer__bottom {
    padding: 20px 0;
}

.fp-footer__bottom .fp-footer__inner {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.fp-footer__copy {
    margin: 0;
    font-size: 0.8rem;
    color: rgba(255,255,255,0.5);
}

.fp-footer__legal {
    display: flex;
    gap: 20px;
}

.fp-footer__legal a {
    font-size: 0.8rem;
    color: rgba(255,255,255,0.5);
    text-decoration: none;
    transition: color 0.2s;
}

.fp-footer__legal a:hover { color: rgba(255,255,255,0.9); }

/* Mobile menu extras */
.fp-mobile-menu__inner {
    padding: 20px 24px 32px;
}

.fp-mobile-menu__contact {
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 16px 0;
    border-top: 1px solid rgba(0,0,0,0.08);
    border-bottom: 1px solid rgba(0,0,0,0.08);
    margin-bottom: 16px;
}

.fp-mobile-menu__contact a {
    color: var(--fp-szurke);
    text-decoration: none;
    font-size: 0.9rem;
}

.fp-mobile-menu__cta {
    display: block;
    text-align: center;
}

/* =========================================================
   NYELVVÁLTÓ GOMB
   ========================================================= */
.fp-lang-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    font-size: 1.35rem;
    text-decoration: none;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    flex-shrink: 0;
    line-height: 1;
}

.fp-lang-btn:hover {
    transform: scale(1.15);
    box-shadow: 0 2px 10px rgba(0,0,0,0.15);
}

/* Mobil menüben */
.fp-lang-btn--mobile {
    display: flex;
    align-items: center;
    gap: 8px;
    width: auto;
    height: auto;
    border-radius: var(--fp-radius);
    padding: 12px 20px;
    font-size: 1rem;
    font-weight: 600;
    color: var(--fp-barna);
    background: var(--fp-krem);
    margin-top: 12px;
    border-radius: 8px;
}

.fp-lang-btn--mobile:hover {
    background: var(--fp-barna-halvany);
    box-shadow: none;
    transform: none;
    color: var(--fp-barna);
}

/* =========================================================
   RESZPONZÍV
   ========================================================= */
@media (max-width: 1024px) {
    .fp-nav-menu { gap: 2px; }
    .fp-nav-menu li a { padding: 8px 10px; font-size: 0.85rem; }
    .fp-footer__main .fp-footer__inner {
        grid-template-columns: 1fr 1fr;
    }
    .fp-topbar__notice { display: none; }
}

@media (max-width: 768px) {
    .fp-kartya { padding: 20px; }
    .fp-szekciocim h2 { font-size: 1.5rem; }

    /* Hide desktop nav + CTA, show burger */
    .fp-header__nav  { display: none; }
    .fp-header__cta  { display: none; }
    .fp-header__burger { display: flex; }
    .fp-header__inner { justify-content: space-between; }

    .fp-topbar__right { display: none; }
    .fp-footer__main .fp-footer__inner {
        grid-template-columns: 1fr;
        gap: 32px;
    }
    .fp-footer__col--brand .fp-footer__logo-link { margin-bottom: 8px; }

    body { padding-top: calc(38px + 68px); }
}

/* =========================================================
   PRÉMIUM DESIGN RENDSZER — #B199CD · #B7A28B · #859F7A
   ========================================================= */

/* --- Alap szekció --- */
.fp-ps {
    padding: 80px 0;
}
.fp-ps--white       { background: #fff; }
.fp-ps--violet      { background: var(--fp-violet-bg); }
.fp-ps--taupe-light { background: var(--fp-taupe-bg); }
.fp-ps--sage-light  { background: var(--fp-sage-bg); }
.fp-ps--dark        { background: #2a1f35; color: rgba(255,255,255,0.85); }

/* Vékony elválasztó szomszéd szekciók között */
.fp-ps + .fp-ps { border-top: 1px solid rgba(0,0,0,0.06); }
.fp-ps--dark + .fp-ps,
.fp-ps + .fp-ps--dark { border-top: none; }

/* --- Konténer --- */
.fp-pc {
    max-width: 920px;
    margin: 0 auto;
    padding: 0 40px;
}
.fp-pc--wide { max-width: 1120px; }

/* --- Felső jelölő (eyebrow) --- */
.fp-eyebrow {
    display: block;
    font-size: 0.72rem;
    font-weight: 700;
    letter-spacing: 2.5px;
    text-transform: uppercase;
    margin: 0 0 12px;
}
.fp-eyebrow--sage   { color: var(--fp-sage-p); }
.fp-eyebrow--violet { color: var(--fp-violet-p); }
.fp-eyebrow--taupe  { color: var(--fp-taupe-p); }

/* --- Prémium fejléc --- */
.fp-ph {
    font-family: var(--fp-font-cim);
    font-size: clamp(1.7rem, 3vw, 2.6rem);
    line-height: 1.3;
    color: #2a2218;
    margin: 0 0 24px;
    font-weight: 700;
}
.fp-ps--dark .fp-ph { color: #fff; }

.fp-ph--sm {
    font-size: clamp(1.3rem, 2vw, 1.8rem);
}

/* --- Bevezető bekezdés --- */
.fp-plead {
    font-size: 1.1rem;
    line-height: 1.75;
    color: #555;
    margin-bottom: 20px;
}

/* --- Chip / tag elemek (élet 5 területe stb.) --- */
.fp-chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 20px 0 28px;
}
.fp-chip {
    display: inline-block;
    padding: 10px 22px;
    border-radius: 50px;
    font-size: 0.88rem;
    font-weight: 600;
    letter-spacing: 0.2px;
    border: 1.5px solid transparent;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.fp-chip:hover {
    transform: translateY(-2px);
    box-shadow: 0 4px 14px rgba(0,0,0,0.10);
}
.fp-chip--sage   { background: var(--fp-sage-bg);   border-color: var(--fp-sage-p);   color: #3c5433; }
.fp-chip--violet { background: var(--fp-violet-bg); border-color: var(--fp-violet-p); color: #533a72; }
.fp-chip--taupe  { background: var(--fp-taupe-bg);  border-color: var(--fp-taupe-p);  color: #5c4a38; }

/* --- Idézet stílus --- */
.fp-quote {
    margin: 28px 0 12px;
    padding: 4px 0 4px 20px;
    border-left: 3px solid var(--fp-violet-p);
    font-size: 1.2rem;
    font-style: italic;
    color: #533a72;
    line-height: 1.6;
}
.fp-quote--sage  { border-left-color: var(--fp-sage-p);  color: #3c5433; }
.fp-quote--taupe { border-left-color: var(--fp-taupe-p); color: #5c4a38; }

/* --- Apró megjegyzés / aláírás --- */
.fp-eloz {
    font-size: 0.85rem;
    color: #999;
    font-style: italic;
    margin: 4px 0 10px;
}
.fp-sign {
    font-family: var(--fp-font-cim);
    font-size: 1.15rem;
    font-style: italic;
    color: var(--fp-violet-p);
    margin: 0;
}

/* --- CTA wrap --- */
.fp-cta-wrap { margin-top: 32px; }

/* --- Szöveges tartalom blokk (Rólam stb.) --- */
.fp-textblock p {
    font-size: 1.05rem;
    line-height: 1.85;
    color: #444;
    margin-bottom: 16px;
}

/* --- Nyitvatartás kártya rács --- */
.fp-nyitva-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 10px;
    margin: 28px 0 16px;
}
.fp-nap {
    background: #fff;
    border-radius: 10px;
    padding: 18px 8px;
    text-align: center;
    box-shadow: 0 2px 10px rgba(0,0,0,0.06);
    border-top: 3px solid var(--fp-taupe-p);
}
.fp-nap--zarva {
    border-top-color: #e0d8d0;
    opacity: 0.7;
}
.fp-nap-nev {
    display: block;
    font-size: 0.65rem;
    font-weight: 700;
    letter-spacing: 0.8px;
    text-transform: uppercase;
    color: #aaa;
    margin-bottom: 8px;
}
.fp-nap-ido {
    display: block;
    font-size: 0.82rem;
    font-weight: 700;
    color: var(--fp-taupe-p);
}
.fp-nap--zarva .fp-nap-ido { color: #ccc; }

/* --- Aloldal fejléc banner --- */
.fp-page-banner {
    padding: 64px 40px 56px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.fp-page-banner::after {
    content: '';
    position: absolute;
    bottom: 0; left: 50%;
    transform: translateX(-50%);
    width: 60px; height: 3px;
    border-radius: 2px;
}
.fp-page-banner--sage   { background: var(--fp-sage-bg);   } .fp-page-banner--sage::after   { background: var(--fp-sage-p); }
.fp-page-banner--violet { background: var(--fp-violet-bg); } .fp-page-banner--violet::after { background: var(--fp-violet-p); }
.fp-page-banner--taupe  { background: var(--fp-taupe-bg);  } .fp-page-banner--taupe::after  { background: var(--fp-taupe-p); }

.fp-page-banner h1 {
    font-family: var(--fp-font-cim);
    font-size: clamp(2rem, 4vw, 3rem);
    color: #2a2218;
    margin: 0 0 10px;
    font-weight: 700;
}
.fp-page-banner .fp-banner-sub {
    font-size: 1rem;
    color: #888;
    font-style: italic;
    margin: 0;
}

/* --- Aloldal tartalom --- */
.fp-sub {
    max-width: 820px;
    margin: 0 auto;
    padding: 60px 40px 80px;
}
.fp-sub p {
    font-size: 1.05rem;
    line-height: 1.85;
    color: #444;
    margin-bottom: 18px;
}
.fp-sub h3 {
    font-family: var(--fp-font-cim);
    font-size: 1.25rem;
    color: #2a2218;
    margin: 36px 0 12px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(0,0,0,0.08);
}
.fp-sub ul, .fp-sub ol {
    margin: 8px 0 24px;
    padding: 0;
    list-style: none;
}
.fp-sub ul li, .fp-sub ol li {
    position: relative;
    padding: 8px 8px 8px 28px;
    font-size: 1rem;
    line-height: 1.7;
    color: #444;
    border-bottom: 1px solid rgba(0,0,0,0.04);
}
.fp-sub ul li::before {
    content: '';
    position: absolute;
    left: 6px; top: 16px;
    width: 8px; height: 8px;
    border-radius: 50%;
    background: var(--fp-sage-p);
}
.fp-sub .fp-sub-sage  ul li::before { background: var(--fp-sage-p); }
.fp-sub .fp-sub-violet ul li::before { background: var(--fp-violet-p); }
.fp-sub .fp-sub-taupe  ul li::before { background: var(--fp-taupe-p); }

/* --- Árlista táblázat --- */
.fp-artabla {
    width: 100%;
    border-collapse: collapse;
    margin: 20px 0 40px;
    font-size: 0.95rem;
    border-radius: 12px;
    overflow: hidden;
    box-shadow: 0 2px 16px rgba(0,0,0,0.07);
}
.fp-artabla thead th {
    background: var(--fp-sage-p);
    color: #fff;
    padding: 16px 20px;
    text-align: left;
    font-weight: 700;
    font-size: 0.88rem;
    letter-spacing: 0.5px;
    text-transform: uppercase;
}
.fp-artabla tbody td {
    padding: 16px 20px;
    border-bottom: 1px solid rgba(0,0,0,0.06);
    vertical-align: top;
    color: #444;
}
.fp-artabla tbody tr:last-child td { border-bottom: none; }
.fp-artabla tbody tr:nth-child(even) td { background: rgba(133,159,122,0.05); }
.fp-artabla .fp-ar-nev small { display: block; font-size: 0.82rem; color: #888; margin-top: 4px; line-height: 1.5; }
.fp-artabla .fp-ar-osszeg { font-weight: 700; color: var(--fp-sage-p); white-space: nowrap; }
.fp-artabla .fp-ar-cat td { background: var(--fp-taupe-bg); font-weight: 600; color: var(--fp-taupe-p); }

/* --- SOC protokoll rács --- */
.fp-protokoll-grid {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
    gap: 10px;
    margin: 20px 0 28px;
}
.fp-protokoll-item {
    background: var(--fp-violet-bg);
    border: 1px solid var(--fp-violet-bg2);
    border-radius: 8px;
    padding: 12px 14px;
    font-size: 0.88rem;
    font-weight: 600;
    color: #533a72;
    text-align: center;
}

/* --- Kapcsolat kártyák --- */
.fp-kapcsolat-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
    margin: 28px 0;
}
.fp-kapcsolat-card {
    background: #fff;
    border-radius: 14px;
    padding: 28px 24px;
    box-shadow: 0 2px 16px rgba(0,0,0,0.07);
    border-top: 3px solid var(--fp-violet-p);
}
.fp-kapcsolat-card--sage   { border-top-color: var(--fp-sage-p); }
.fp-kapcsolat-card--taupe  { border-top-color: var(--fp-taupe-p); }
.fp-kapcsolat-card h3 {
    font-family: var(--fp-font-cim);
    font-size: 1.05rem;
    color: #2a2218;
    margin: 0 0 14px;
    padding-bottom: 8px;
    border-bottom: 1px solid rgba(0,0,0,0.07);
}
.fp-kapcsolat-card p { font-size: 0.95rem; line-height: 1.75; color: #555; margin-bottom: 10px; }
.fp-kapcsolat-card a { color: var(--fp-violet-p); text-decoration: none; }
.fp-kapcsolat-card a:hover { text-decoration: underline; }
.fp-kapcsolat-card ul { list-style: none; padding: 0; margin: 0; }
.fp-kapcsolat-card ul li { padding: 4px 0 4px 20px; position: relative; font-size: 0.92rem; color: #555; }
.fp-kapcsolat-card ul li::before { content: '›'; position: absolute; left: 4px; color: var(--fp-taupe-p); font-weight: 700; }

/* --- Szolgáltatás kártya rács --- */
.fp-svc-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 24px;
    margin-top: 8px;
}
/* Pontosan 6 kártya – mindig 2 oszlop, legfeljebb 3 sor */
.fp-svc-grid--6 {
    grid-template-columns: repeat(2, 1fr);
}
/* wpautop által generált üres <p> és <br> tagek elrejtése gridben */
.fp-svc-grid > p,
.fp-svc-grid > br { display: none !important; }
.fp-svc-card {
    background: #fff;
    border-radius: 14px;
    padding: 32px 28px;
    box-shadow: 0 2px 16px rgba(0,0,0,0.07);
    border-top: 4px solid transparent;
    display: flex;
    flex-direction: column;
    transition: box-shadow 0.25s ease, transform 0.25s ease;
}
.fp-svc-card:hover {
    box-shadow: 0 6px 28px rgba(0,0,0,0.12);
    transform: translateY(-3px);
}
.fp-svc-card--full { grid-column: 1 / -1; }

.fp-svc-card--sage   { border-top-color: var(--fp-sage-p); }
.fp-svc-card--violet { border-top-color: var(--fp-violet-p); }
.fp-svc-card--taupe  { border-top-color: var(--fp-taupe-p); }

.fp-svc-card__eyebrow {
    font-size: 0.7rem;
    font-weight: 700;
    letter-spacing: 2px;
    text-transform: uppercase;
    margin-bottom: 10px;
    display: block;
}
.fp-svc-card--sage   .fp-svc-card__eyebrow { color: var(--fp-sage-p); }
.fp-svc-card--violet .fp-svc-card__eyebrow { color: var(--fp-violet-p); }
.fp-svc-card--taupe  .fp-svc-card__eyebrow { color: var(--fp-taupe-p); }

.fp-svc-card__title {
    font-family: var(--fp-font-cim);
    font-size: 1.15rem;
    color: #2a2218;
    margin: 0 0 14px;
    line-height: 1.35;
}
.fp-svc-card p {
    font-size: 0.95rem;
    line-height: 1.75;
    color: #555;
    margin-bottom: 12px;
    flex-grow: 1;
}
.fp-svc-card ul {
    list-style: none;
    padding: 0;
    margin: 8px 0 14px;
}
.fp-svc-card ul li {
    position: relative;
    padding: 5px 0 5px 20px;
    font-size: 0.92rem;
    color: #555;
    line-height: 1.6;
}
.fp-svc-card ul li::before {
    content: '';
    position: absolute;
    left: 0; top: 13px;
    width: 7px; height: 7px;
    border-radius: 50%;
}
.fp-svc-card--sage   ul li::before { background: var(--fp-sage-p); }
.fp-svc-card--violet ul li::before { background: var(--fp-violet-p); }
.fp-svc-card--taupe  ul li::before { background: var(--fp-taupe-p); }

.fp-svc-card__link {
    display: inline-block;
    margin-top: auto;
    padding-top: 14px;
    font-size: 0.88rem;
    font-weight: 700;
    text-decoration: none;
    transition: opacity 0.2s;
}
.fp-svc-card--sage   .fp-svc-card__link { color: var(--fp-sage-p); }
.fp-svc-card--violet .fp-svc-card__link { color: var(--fp-violet-p); }
.fp-svc-card--taupe  .fp-svc-card__link { color: var(--fp-taupe-p); }
.fp-svc-card__link:hover { opacity: 0.7; }

@media (max-width: 700px) {
    .fp-svc-grid { grid-template-columns: 1fr; }
    .fp-svc-card--full { grid-column: auto; }
}

/* --- Workshop kártyák --- */
.fp-ws-grid {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 28px;
    margin-top: 8px;
}
.fp-ws-grid > p,
.fp-ws-grid > br { display: none !important; }

.fp-ws-card {
    border-radius: 16px;
    padding: 48px 36px;
    text-align: center;
    position: relative;
    overflow: hidden;
}
.fp-ws-card--sage   { background: var(--fp-sage-bg);   border: 1.5px solid var(--fp-sage-p); }
.fp-ws-card--violet { background: var(--fp-violet-bg); border: 1.5px solid var(--fp-violet-p); }
.fp-ws-card--taupe  { background: var(--fp-taupe-bg);  border: 1.5px solid var(--fp-taupe-p); }

.fp-ws-card__icon {
    font-size: 1.6rem;
    margin-bottom: 18px;
    display: block;
    line-height: 1;
}
.fp-ws-card--sage   .fp-ws-card__icon { color: var(--fp-sage-p); }
.fp-ws-card--violet .fp-ws-card__icon { color: var(--fp-violet-p); }

.fp-ws-card__title {
    font-family: var(--fp-font-cim);
    font-size: 1.35rem;
    color: #2a2218;
    margin: 0 0 16px;
    line-height: 1.3;
}
.fp-ws-card p {
    font-size: 1rem;
    line-height: 1.8;
    color: #555;
    margin: 0;
}
@media (max-width: 640px) {
    .fp-ws-grid { grid-template-columns: 1fr; }
}

/* --- Webáruház – WooCommerce termék rács --- */
.fp-pc--wide .products {
    display: grid !important;
    grid-template-columns: repeat(4, 1fr) !important;
    gap: 20px !important;
    list-style: none !important;
    padding: 0 !important;
    margin: 24px 0 0 !important;
}
.fp-pc--wide .products .product {
    background: #fff;
    border-radius: 14px;
    box-shadow: 0 2px 16px rgba(0,0,0,0.07);
    padding: 20px;
    border-top: 3px solid var(--fp-sage-p);
    transition: transform 0.25s ease, box-shadow 0.25s ease;
}
.fp-pc--wide .products .product:hover {
    transform: translateY(-3px);
    box-shadow: 0 6px 28px rgba(0,0,0,0.12);
}
.fp-pc--wide .products .product .woocommerce-loop-product__title {
    font-family: var(--fp-font-cim);
    font-size: 1.05rem;
    color: #2a2218;
}
.fp-pc--wide .products .product .price {
    color: var(--fp-sage-p);
    font-weight: 700;
}
.fp-pc--wide .products .product .button {
    background: var(--fp-sage-p) !important;
    color: #fff !important;
    border-radius: 50px !important;
    padding: 8px 20px !important;
    font-size: 0.88rem !important;
    transition: opacity 0.2s !important;
}
.fp-pc--wide .products .product .button:hover { opacity: 0.85 !important; }

/* WooCommerce – rendezés és találatok száma */
.fp-ps .woocommerce-result-count {
    font-size: 0.88rem;
    color: #888;
    margin: 0;
}
.fp-ps .woocommerce-ordering {
    margin: 0;
}
.fp-ps .woocommerce-ordering select {
    border: 1px solid #ddd;
    border-radius: 8px;
    padding: 6px 12px;
    font-size: 0.88rem;
    color: #2a2218;
    background: #fff;
    cursor: pointer;
}
.fp-ps .woocommerce-products-header { display: none; }

@media (max-width: 1024px) {
    .fp-pc--wide .products { grid-template-columns: repeat(3, 1fr) !important; }
}
@media (max-width: 768px) {
    .fp-pc--wide .products { grid-template-columns: repeat(2, 1fr) !important; }
}
@media (max-width: 480px) {
    .fp-pc--wide .products { grid-template-columns: 1fr !important; }
}

/* --- Reszponzív premium --- */
@media (max-width: 900px) {
    .fp-nyitva-grid { grid-template-columns: repeat(4, 1fr); }
    .fp-kapcsolat-grid { grid-template-columns: 1fr; }
}
@media (max-width: 768px) {
    .fp-ps { padding: 52px 0; }
    .fp-pc { padding: 0 20px; }
    .fp-sub { padding: 40px 20px 60px; }
    .fp-page-banner { padding: 44px 20px 36px; }
    .fp-nyitva-grid { grid-template-columns: repeat(3, 1fr); }
    .fp-chips { gap: 8px; }
}
@media (max-width: 480px) {
    .fp-nyitva-grid { grid-template-columns: repeat(2, 1fr); }
    .fp-protokoll-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 480px) {
    .fp-topbar { display: none; }
    body { padding-top: 68px; }
    body.home { padding-top: 0; }
    #fp-site-header { top: 0; }
}

/* =========================================================
   WOOCOMMERCE – KOSÁR ÉS PÉNZTÁR (Blocks)
   ========================================================= */

/* Kosár és pénztár – oldalsó margók
   A WC Blocks saját layout-ot használ; a belső container elemeket célozzuk */
body.woocommerce-cart #fp-main,
body.woocommerce-checkout #fp-main {
    padding-top: 48px;
    padding-bottom: 80px;
}

.wc-block-cart,
.wc-block-checkout {
    max-width: 1200px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    padding-left: 40px !important;
    padding-right: 40px !important;
    box-sizing: border-box !important;
}

/* Belső layout elemek sem törhetnek ki */
.wc-block-cart__main-checkout,
.wc-block-cart__totals-wrapper,
.wc-block-checkout__main,
.wc-block-checkout__sidebar,
.wp-block-woocommerce-checkout-fields-block,
.wp-block-woocommerce-checkout-order-summary-block {
    box-sizing: border-box !important;
}

@media (max-width: 768px) {
    .wc-block-cart,
    .wc-block-checkout {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
    body.woocommerce-cart #fp-main,
    body.woocommerce-checkout #fp-main {
        padding-top: 32px;
    }
}

/* Közös cím stílus */
.wp-block-woocommerce-cart h1,
.wp-block-woocommerce-checkout h1,
.woocommerce-cart h1,
.woocommerce-checkout h1 {
    font-family: 'Playfair Display', serif;
    color: #2a2218;
    font-size: clamp(1.6rem, 3vw, 2.2rem);
    margin-bottom: 32px;
}

/* ── Kosár (Cart Block) ── */

/* Termék sor */
.wc-block-cart-items {
    border-collapse: collapse;
    width: 100%;
}

.wc-block-cart-items__row {
    border-bottom: 1px solid #f0ebe3 !important;
    padding: 20px 0 !important;
}

/* Termékkép */
.wc-block-cart-item__image img {
    border-radius: 8px;
    width: 72px !important;
    height: 72px !important;
    object-fit: cover;
    box-shadow: 0 2px 8px rgba(0,0,0,0.08);
}

/* Terméknév */
.wc-block-cart-item__product .wc-block-components-product-name a,
.wc-block-cart-item__product .wc-block-components-product-name {
    font-weight: 700;
    color: #2a2218;
    font-size: 1rem;
    text-decoration: none;
}

/* Termék leírás */
.wc-block-cart-item__product .wc-block-components-product-short-description {
    font-size: 0.85rem;
    color: var(--fp-szurke);
    margin-top: 4px;
}

/* Ár */
.wc-block-cart-item__total .wc-block-components-product-price__value,
.wc-block-cart-item__total .price {
    font-weight: 700;
    color: var(--fp-sage-p);
    font-size: 1.05rem;
}

/* Mennyiség vezérlő */
.wc-block-components-quantity-selector {
    border: 2px solid #e0d8d0 !important;
    border-radius: var(--fp-radius) !important;
    overflow: hidden;
    display: inline-flex;
    align-items: center;
}

.wc-block-components-quantity-selector__button {
    background: #f7f3ed !important;
    border: none !important;
    color: #2a2218 !important;
    width: 36px !important;
    height: 36px !important;
    font-size: 1.1rem !important;
    cursor: pointer;
    transition: background 0.2s;
}

.wc-block-components-quantity-selector__button:hover {
    background: #e8e0d6 !important;
}

.wc-block-components-quantity-selector__input {
    border: none !important;
    border-left: 1px solid #e0d8d0 !important;
    border-right: 1px solid #e0d8d0 !important;
    width: 48px !important;
    text-align: center;
    font-weight: 600;
    color: #2a2218;
    background: #fff;
}

/* Törlés gomb */
.wc-block-cart-item__remove-link {
    color: var(--fp-szurke) !important;
    font-size: 0.8rem !important;
    text-decoration: none !important;
    transition: color 0.2s;
}

.wc-block-cart-item__remove-link:hover {
    color: #c0392b !important;
}

/* Kupon mező */
.wc-block-components-totals-coupon__button {
    color: var(--fp-sage-p) !important;
    font-weight: 600;
    text-decoration: underline;
    background: none;
    border: none;
    cursor: pointer;
    font-size: 0.9rem;
}

.wc-block-components-totals-coupon-link {
    color: var(--fp-sage-p) !important;
}

/* ── Összesítő panel (jobb oldal) – border és shadow nélkül ── */
.wc-block-cart__totals,
.wc-block-components-order-summary,
.wp-block-woocommerce-cart .wc-block-cart__totals-wrapper,
.wc-block-checkout__order-summary,
.wc-block-checkout__order-summary *,
.wp-block-woocommerce-checkout-order-summary-block,
.wp-block-woocommerce-checkout-order-summary-block * {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
}

.wc-block-cart__totals,
.wc-block-components-order-summary,
.wp-block-woocommerce-cart .wc-block-cart__totals-wrapper,
.wc-block-checkout__order-summary,
.wp-block-woocommerce-checkout-order-summary-block {
    background: var(--fp-krem) !important;
    border-radius: var(--fp-radius-nagy) !important;
    padding: 28px !important;
}

.wc-block-components-totals-item {
    border: none !important;
    padding: 10px 0 !important;
    font-size: 0.95rem;
    color: #444;
}

.wc-block-components-totals-item__label {
    color: var(--fp-szurke);
}

.wc-block-components-totals-item__value {
    font-weight: 600;
    color: #2a2218;
}

/* Végösszeg */
.wc-block-components-totals-footer-item {
    padding-top: 16px !important;
    margin-top: 8px !important;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__label {
    font-size: 1.1rem;
    font-weight: 700;
    color: #2a2218;
}

.wc-block-components-totals-footer-item .wc-block-components-totals-item__value {
    font-size: 1.3rem;
    font-weight: 700;
    color: var(--fp-sage-p);
}

/* Pénztárhoz gomb (kosár oldalon) */
.wc-block-cart__submit-container .wc-block-cart__submit-button,
.wp-block-woocommerce-proceed-to-checkout-block a,
.wc-block-components-checkout-place-order-button {
    background-color: var(--fp-sage-p) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--fp-radius) !important;
    padding: 16px 32px !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    width: 100% !important;
    text-align: center;
    cursor: pointer;
    transition: background-color 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease !important;
    box-shadow: 0 4px 16px rgba(133,159,122,0.3) !important;
    display: block;
    text-decoration: none;
    margin-top: 20px;
}

.wc-block-cart__submit-container .wc-block-cart__submit-button:hover,
.wp-block-woocommerce-proceed-to-checkout-block a:hover,
.wc-block-components-checkout-place-order-button:hover {
    background-color: #6a8a60 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 28px rgba(133,159,122,0.4) !important;
}

/* ── Pénztár (Checkout Block) ── */

/* Krém háttér a pénztár oldalon */
body.woocommerce-checkout {
    background-color: #f5f1eb;
}

/* Szekció kártyák */
.wc-block-components-checkout-step {
    background: #fff !important;
    border-radius: var(--fp-radius-nagy) !important;
    padding: 28px 32px !important;
    margin-bottom: 16px !important;
    border: none !important;
    box-shadow: 0 2px 16px rgba(0,0,0,0.06) !important;
}

.wc-block-components-checkout-step::after,
.wc-block-components-checkout-step::before {
    display: none !important;
}

/* Szekció fejlécek */
.wc-block-components-checkout-step__title {
    font-family: 'Playfair Display', serif !important;
    font-size: 1.15rem !important;
    color: #2a2218 !important;
    font-weight: 700 !important;
    margin: 0 0 20px !important;
    padding-bottom: 14px !important;
    border-bottom: 1px solid #ece5db !important;
}

/* Input wrapper – border nélkül, csak háttér és árnyék */
.wc-block-components-text-input,
.wc-block-components-select,
.wc-block-components-country-input,
.wc-block-components-state-input,
.wc-block-components-textarea,
.wc-block-components-combobox {
    border: none !important;
    outline: none !important;
    border-radius: 8px !important;
    background: #f0ebe3 !important;
    box-shadow: none !important;
    transition: background 0.2s, box-shadow 0.2s !important;
    position: relative;
    overflow: hidden;
}

.wc-block-components-text-input:focus-within,
.wc-block-components-select:focus-within,
.wc-block-components-country-input:focus-within,
.wc-block-components-state-input:focus-within,
.wc-block-components-textarea:focus-within,
.wc-block-components-combobox:focus-within {
    border: none !important;
    outline: none !important;
    background: #e8f0e6 !important;
    box-shadow: inset 0 0 0 2px rgba(133,159,122,0.5) !important;
}

/* Input maga – minden keret és outline nélkül */
.wc-block-components-text-input input,
.wc-block-components-country-input input,
.wc-block-components-state-input input,
.wc-block-components-combobox input,
.wc-block-components-text-input input:focus,
.wc-block-components-country-input input:focus,
.wc-block-components-state-input input:focus {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    font-size: 0.95rem !important;
    color: #2a2218 !important;
    font-family: inherit !important;
    padding: 20px 14px 8px !important;
}

.wc-block-components-select select,
.wc-block-components-select select:focus {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    font-size: 0.95rem !important;
    color: #2a2218 !important;
    font-family: inherit !important;
    padding: 20px 14px 8px !important;
    -webkit-appearance: none;
    appearance: none;
}

.wc-block-components-textarea textarea,
.wc-block-components-textarea textarea:focus {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: transparent !important;
    font-size: 0.95rem !important;
    color: #2a2218 !important;
    font-family: inherit !important;
    padding: 20px 14px 8px !important;
}

/* Combobox / ország / megye – minden belső elem border/outline nélkül */
.wc-block-components-country-input *,
.wc-block-components-state-input *,
.wc-block-components-combobox * {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
}

/* A combobox wrapper maga is kapjon bézs hátteret */
.wc-block-components-country-input .wc-block-components-combobox,
.wc-block-components-state-input .wc-block-components-combobox {
    background: #f0ebe3 !important;
    border-radius: 8px !important;
    overflow: hidden;
}

/* Megye – natív select elem, ugyanolyan magasság mint a többi mező */
.wc-block-components-state-input select,
.wc-block-components-state-input .wc-block-components-select select {
    border: none !important;
    outline: none !important;
    box-shadow: none !important;
    background: #f0ebe3 !important;
    border-radius: 8px !important;
    padding: 20px 14px 8px !important;
    font-size: 0.95rem !important;
    color: #2a2218 !important;
    font-family: inherit !important;
    width: 100% !important;
    min-height: 56px;
    -webkit-appearance: none;
    appearance: none;
    cursor: pointer;
}

/* Ha a megye wrapper is külön select-ként jelenik meg */
.wc-block-components-state-input {
    background: #f0ebe3 !important;
    border-radius: 8px !important;
    border: none !important;
    overflow: hidden;
    position: relative;
}

/* Fizetési módok – rádiógombok kereteinek nullázása */
.wc-block-components-radio-control__option input[type="radio"] {
    accent-color: var(--fp-sage-p);
}

/* Fizetési mód rádiógombok belső borderjei */
.wc-block-components-radio-control__option input[type="radio"] {
    accent-color: var(--fp-sage-p);
}

/* Floating label */
.wc-block-components-text-input label,
.wc-block-components-select label,
.wc-block-components-textarea label,
.wc-block-components-combobox label,
.wc-block-components-country-input label,
.wc-block-components-state-input label {
    position: absolute !important;
    top: 7px !important;
    left: 14px !important;
    font-size: 0.68rem !important;
    font-weight: 700 !important;
    color: var(--fp-szurke) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.8px !important;
    pointer-events: none;
    padding: 0 !important;
    margin: 0 !important;
    line-height: 1 !important;
    background: transparent !important;
}

/* Fizetési módok – border invisible (transparent color) */
body .wc-block-components-payment-methods *,
body .wc-block-components-radio-control *,
body .wc-block-components-radio-control__option,
body .wc-block-components-radio-control__option * {
    border-color: transparent !important;
    outline-color: transparent !important;
    box-shadow: none !important;
}

/* A fizetési szekció kártya hátterét bézszínre állítjuk,
   és az opció hátterét ugyanerre — így az él teljesen láthatatlan */
.wc-block-components-checkout-step:has(.wc-block-components-payment-methods),
.wc-block-components-checkout-step:has(.wc-block-components-radio-control) {
    background: #f0ebe3 !important;
}

html body .wc-block-components-radio-control__option,
body.woocommerce-checkout .wc-block-components-radio-control__option,
body.woocommerce-checkout .wc-block-components-radio-control .wc-block-components-radio-control__option,
body.woocommerce-checkout .wc-block-components-payment-methods .wc-block-components-radio-control__option {
    border-radius: 8px !important;
    padding: 14px 16px !important;
    margin-bottom: 10px !important;
    background-color: #f0ebe3 !important;
    background: #f0ebe3 !important;
    cursor: pointer;
    transition: background 0.2s;
}

html body .wc-block-components-radio-control__option:has(input:checked),
body.woocommerce-checkout .wc-block-components-radio-control__option:has(input:checked) {
    background-color: rgba(133,159,122,0.2) !important;
    background: rgba(133,159,122,0.2) !important;
}

.wc-block-components-payment-method-label {
    font-weight: 600;
    color: #2a2218;
    font-size: 0.95rem;
}

.wc-block-components-payment-method-icons { opacity: 0.7; }

/* Rendelés összesítő – jobb panel sticky */
.wc-block-checkout__order-summary {
    position: sticky !important;
    top: 120px !important;
}

.wc-block-components-order-summary-item__image img { border-radius: 6px; }

.wc-block-components-order-summary-item__individual-price,
.wc-block-components-order-summary-item__total-price {
    color: var(--fp-sage-p) !important;
    font-weight: 700;
}

.wc-block-components-order-summary__button-text {
    color: var(--fp-sage-p);
    font-weight: 600;
}

/* Megrendelés gomb */
.wc-block-components-checkout-place-order-button {
    margin-top: 8px !important;
    letter-spacing: 0.5px;
}

/* Reszponzív */
@media (max-width: 768px) {
    body.woocommerce-checkout { background: #fff; }
    .wc-block-components-checkout-step {
        padding: 20px !important;
        border-radius: var(--fp-radius) !important;
    }
    .wc-block-cart__totals,
    .wc-block-checkout__order-summary { padding: 20px !important; }
}

/* =========================================================
   WOOCOMMERCE – TERMÉK RÉSZLETES NÉZET
   ========================================================= */

/* Fő konténer */
.fp-wc-container .woocommerce,
.fp-wc-container {
    max-width: 1200px;
    margin: 0 auto;
}

.woocommerce div.product {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 56px;
    align-items: start;
}

/* Kép galéria */
.woocommerce div.product div.images,
.woocommerce div.product .woocommerce-product-gallery {
    width: 100% !important;
    float: none !important;
    margin: 0 !important;
    padding: 0 !important;
    position: relative;
    align-self: start;
}

/* A teljes képernyős gomb ne foglaljon helyet a flow-ban */
.woocommerce div.product .woocommerce-product-gallery__trigger,
.woocommerce div.product button[aria-label="View full-screen image gallery"],
.woocommerce div.product .wc-block-product-image-gallery__dialog-open-button {
    position: absolute !important;
    top: 12px !important;
    right: 12px !important;
    z-index: 10;
}

.woocommerce div.product .woocommerce-product-gallery .flex-viewport,
.woocommerce div.product .woocommerce-product-gallery ol.flex-control-nav {
    width: 100% !important;
}

.woocommerce div.product .woocommerce-product-gallery__wrapper {
    width: 100% !important;
}

.woocommerce div.product .woocommerce-product-gallery__image,
.woocommerce div.product .woocommerce-product-gallery__image a {
    display: block;
    width: 100% !important;
}

.woocommerce div.product .woocommerce-product-gallery__image img,
.woocommerce div.product div.images .woocommerce-product-gallery__wrapper img {
    border-radius: var(--fp-radius-nagy);
    box-shadow: var(--fp-arnyek-hover);
    width: 100% !important;
    height: auto;
    display: block;
    object-fit: cover;
}

.woocommerce div.product div.images .flex-viewport {
    border-radius: var(--fp-radius-nagy);
    overflow: hidden;
    box-shadow: var(--fp-arnyek-hover);
}

/* Termék adatok összessége */
.woocommerce div.product div.summary {
    padding: 0;
}

/* Breadcrumb a termék felett */
.woocommerce .woocommerce-breadcrumb {
    grid-column: 1 / -1;
    font-size: 0.85rem;
    color: var(--fp-szurke);
    margin-bottom: 8px;
    padding-bottom: 0;
}

.woocommerce .woocommerce-breadcrumb a {
    color: var(--fp-szurke);
    text-decoration: none;
}

.woocommerce .woocommerce-breadcrumb a:hover {
    color: var(--fp-sage-p);
}

/* Terméknév */
.woocommerce div.product .product_title {
    font-family: 'Playfair Display', serif;
    font-size: clamp(1.7rem, 3vw, 2.4rem);
    font-weight: 700;
    color: #2a2218;
    margin: 0 0 16px;
    line-height: 1.25;
}

/* Értékelési csillagok */
.woocommerce div.product .woocommerce-product-rating {
    margin-bottom: 16px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.woocommerce div.product .star-rating {
    color: var(--fp-narancs);
}

/* Ár */
.woocommerce div.product p.price,
.woocommerce div.product span.price {
    font-size: 2rem;
    font-weight: 700;
    color: var(--fp-sage-p) !important;
    margin-bottom: 20px;
    display: block;
    line-height: 1.2;
}

.woocommerce div.product p.price del {
    color: var(--fp-szurke) !important;
    font-size: 1.3rem;
    font-weight: 400;
    margin-right: 8px;
    opacity: 0.6;
}

.woocommerce div.product p.price ins {
    text-decoration: none;
    font-weight: 700;
}

/* Rövid leírás */
.woocommerce div.product .woocommerce-product-details__short-description {
    font-size: 1.05rem;
    line-height: 1.8;
    color: #555;
    margin-bottom: 24px;
    padding-bottom: 24px;
    border-bottom: 1px solid rgba(0,0,0,0.07);
}

/* Elválasztó vonal a főbb adatok felett */
.woocommerce div.product .woocommerce-variation-price,
.woocommerce div.product form.cart {
    margin-bottom: 24px;
}

/* Mennyiség mező + gomb sor */
.woocommerce div.product form.cart {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: nowrap;
}

.woocommerce div.product form.cart div.quantity {
    flex-shrink: 0;
}

.woocommerce div.product form.cart .qty {
    width: 72px;
    height: 52px;
    border: 2px solid #e0d8d0;
    border-radius: var(--fp-radius);
    text-align: center;
    font-size: 1.1rem;
    font-weight: 600;
    color: #2a2218;
    background: #fff;
    transition: border-color 0.2s;
    -moz-appearance: textfield;
}

.woocommerce div.product form.cart .qty:focus {
    outline: none;
    border-color: var(--fp-sage-p);
    box-shadow: 0 0 0 3px rgba(133,159,122,0.15);
}

/* Kosárba gomb */
.woocommerce div.product form.cart .single_add_to_cart_button {
    flex: 1;
    min-width: 180px;
    background-color: var(--fp-sage-p) !important;
    color: #fff !important;
    border: none !important;
    border-radius: var(--fp-radius) !important;
    padding: 14px 32px !important;
    font-size: 1rem !important;
    font-weight: 700 !important;
    letter-spacing: 0.5px;
    cursor: pointer;
    transition: background-color 0.25s ease, transform 0.2s ease, box-shadow 0.25s ease !important;
    box-shadow: 0 4px 16px rgba(133,159,122,0.3) !important;
    text-transform: none !important;
}

.woocommerce div.product form.cart .single_add_to_cart_button:hover {
    background-color: #6a8a60 !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 8px 28px rgba(133,159,122,0.4) !important;
}

/* Kedvencek gomb (ha van) */
.woocommerce div.product .yith-wcwl-add-to-wishlist {
    margin-top: 8px;
}

/* Termék meta (cikkszám, kategória) */
.woocommerce div.product .product_meta {
    margin-top: 24px;
    padding-top: 20px;
    border-top: 1px solid rgba(0,0,0,0.07);
    font-size: 0.88rem;
    color: var(--fp-szurke);
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.woocommerce div.product .product_meta span {
    display: flex;
    align-items: center;
    gap: 6px;
}

.woocommerce div.product .product_meta .sku_wrapper,
.woocommerce div.product .product_meta .posted_in,
.woocommerce div.product .product_meta .tagged_as {
    display: block;
}

.woocommerce div.product .product_meta a {
    color: var(--fp-sage-p);
    text-decoration: none;
    font-weight: 600;
}

.woocommerce div.product .product_meta a:hover {
    text-decoration: underline;
}

/* Ajándékutalvány mezők */
.fp-utalvany-mezok {
    width: 100%;
    margin-bottom: 16px;
}

.fp-utalvany-mezok label {
    display: block;
    font-size: 0.88rem;
    font-weight: 600;
    color: #2a2218;
    margin-bottom: 6px;
}

.fp-input,
.fp-textarea {
    width: 100%;
    border: 2px solid #e0d8d0;
    border-radius: var(--fp-radius);
    padding: 10px 14px;
    font-size: 0.95rem;
    color: #2a2218;
    background: #fff;
    transition: border-color 0.2s, box-shadow 0.2s;
    font-family: inherit;
}

.fp-input:focus,
.fp-textarea:focus {
    outline: none;
    border-color: var(--fp-sage-p);
    box-shadow: 0 0 0 3px rgba(133,159,122,0.15);
}

/* ── Tabs (Leírás, Vélemények) ── */
.woocommerce div.product .woocommerce-tabs {
    grid-column: 1 / -1;
    margin-top: 48px;
}

.woocommerce div.product .woocommerce-tabs ul.tabs {
    display: flex;
    gap: 4px;
    list-style: none;
    padding: 0 0 0 0;
    margin: 0 0 0 0;
    border-bottom: 2px solid #e8e0d6;
}

.woocommerce div.product .woocommerce-tabs ul.tabs::before {
    display: none;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li {
    background: transparent !important;
    border: none !important;
    border-radius: var(--fp-radius) var(--fp-radius) 0 0 !important;
    margin: 0 !important;
    padding: 0 !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li a {
    display: block;
    padding: 12px 28px;
    font-size: 0.95rem;
    font-weight: 600;
    color: var(--fp-szurke);
    text-decoration: none;
    border-bottom: 2px solid transparent;
    margin-bottom: -2px;
    transition: color 0.2s, border-color 0.2s;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a {
    color: var(--fp-sage-p);
}

.woocommerce div.product .woocommerce-tabs ul.tabs li.active a {
    color: var(--fp-sage-p) !important;
    border-bottom: 2px solid var(--fp-sage-p);
    background: transparent !important;
}

.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after {
    display: none !important;
}

/* Tab tartalom */
.woocommerce div.product .woocommerce-tabs .panel {
    background: var(--fp-krem);
    border-radius: 0 var(--fp-radius) var(--fp-radius) var(--fp-radius);
    padding: 32px 36px;
    border: none;
    box-shadow: none;
    margin-top: 0;
}

.woocommerce div.product .woocommerce-tabs .panel h2 {
    font-family: 'Playfair Display', serif;
    font-size: 1.3rem;
    color: #2a2218;
    margin: 0 0 16px;
    padding-bottom: 12px;
    border-bottom: 1px solid rgba(0,0,0,0.07);
}

.woocommerce div.product .woocommerce-tabs .panel p {
    font-size: 1rem;
    line-height: 1.85;
    color: #444;
    margin-bottom: 14px;
}

/* Kapcsolódó termékek */
.woocommerce div.product ~ .related.products {
    grid-column: 1 / -1;
    margin-top: 64px;
    padding-top: 48px;
    border-top: 1px solid rgba(0,0,0,0.06);
}

.woocommerce div.product ~ .related.products h2 {
    font-family: 'Playfair Display', serif;
    font-size: 1.6rem;
    color: #2a2218;
    margin-bottom: 28px;
}

/* Reszponzív */
@media (max-width: 768px) {
    .woocommerce div.product {
        grid-template-columns: 1fr;
        gap: 32px;
    }

    .woocommerce div.product div.images {
        position: static;
    }

    .woocommerce div.product .product_title {
        font-size: 1.6rem;
    }

    .woocommerce div.product p.price {
        font-size: 1.6rem;
    }

    .woocommerce div.product form.cart .single_add_to_cart_button {
        width: 100%;
        min-width: unset;
    }

    .woocommerce div.product .woocommerce-tabs .panel {
        padding: 20px;
    }
}
