/* ==========================================================================
   Pizza Workshop Manager – Frontend styles
   Colours are defined as CSS custom properties so the Elementor global
   colour palette can override them without touching this file.
   ========================================================================== */

:root {
	--pwm-primary:       #7E0303;  /* site dark red – matches hello-biz header */
	--pwm-primary-dark:  #5c0202;
	--pwm-primary-light: #fdf0f0;
	--pwm-gray-light:    #f5f5f5;  /* semleges szürke – info dobozok háttere */
	--pwm-text:          #2d2d2d;
	--pwm-muted:         #666;
	--pwm-border:        #e8d8d8;
	--pwm-green:         #2E7D32;
	--pwm-orange:        #E65100;
	--pwm-red:           #C62828;
	--pwm-radius:        10px;
	--pwm-shadow:        0 2px 16px rgba(0,0,0,.08);
	--pwm-font:          'Lora', serif;
}

/* ==========================================================================
   Font egységesítés – Lora (megegyezik a header / footer betűtípusával)
   ========================================================================== */
.pwm-workshops-wrap,
.pwm-calendar-wrap,
.single-product div.summary,
.single-product .woocommerce-tabs .panel,
.single-product .related.products,
.single-product .pwm-product-sections,
.single-product .pwm-booking-heading {
	font-family: var(--pwm-font);
}

/* ==========================================================================
   Workshop lista wrapper
   ========================================================================== */
.pwm-workshops-wrap {
	/* Header offset máshol van megoldva */
}

/* ==========================================================================
   SVG inline ikonok (Feather-stílus, currentColor)
   ========================================================================== */
.pwm-svg-icon {
	display: inline-block;
	width: 15px;
	height: 15px;
	vertical-align: middle;
	flex-shrink: 0;
	position: relative;
	top: -1px;
}

/* Kártya meta sor igazítás */
.pwm-card-meta li {
	display: flex;
	align-items: center;
	gap: 7px;
}

/* Kártya ikon színek */
.pwm-card-meta .pwm-date .pwm-svg-icon   { color: var(--pwm-primary); }
.pwm-card-meta .pwm-time .pwm-svg-icon   { color: var(--pwm-muted); }
.pwm-card-meta .pwm-venue .pwm-svg-icon  { color: var(--pwm-muted); }
.pwm-card-meta .pwm-seats.available .pwm-svg-icon { color: var(--pwm-green); }
.pwm-card-meta .pwm-seats.low .pwm-svg-icon       { color: var(--pwm-orange); }
.pwm-card-meta .pwm-seats.full .pwm-svg-icon      { color: var(--pwm-red); }

/* Gift ikon – rövid leírás dobozban és a Leírás fülön */
.woocommerce-product-details__short-description .pwm-svg-icon--gift,
.woocommerce-tabs #tab-description .pwm-svg-icon--gift {
	color: var(--pwm-green);
	width: 16px;
	height: 16px;
}

/* Termék oldali szekció ikonok */
.pwm-section-icon .pwm-svg-icon {
	width: 18px;
	height: 18px;
	color: var(--pwm-primary);
	top: -1px;
}

.pwm-info-icon .pwm-svg-icon {
	width: 16px;
	height: 16px;
	color: var(--pwm-muted);
}

.pwm-info-icon--alert .pwm-svg-icon {
	color: var(--pwm-orange);
}

.pwm-booking-heading .pwm-svg-icon {
	width: 18px;
	height: 18px;
	color: var(--pwm-green);
}

/* ==========================================================================
   WooCommerce Bookings "From:" prefix elrejtése
   ========================================================================== */
.pwm-card-price .woocommerce-Price-amount::before,
.pwm-card-price > .wc-bookings-booking-from {
	display: none;
}

/* A WC Bookings a price elé egy span-t szúr be "From: " szöveggel */
.pwm-card-price .from {
	display: none;
}


/* ==========================================================================
   Szűrősáv (pwm_calendar_label alapján)
   ========================================================================== */
.pwm-filter-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 28px;
}

.pwm-filter-bar .pwm-filter-btn {
	display: inline-block;
	padding: 10px 18px;
	border-radius: 8px;
	border: 2px solid var(--pwm-primary);
	background: transparent;
	color: var(--pwm-primary);
	font-size: 14px;
	font-weight: 700;
	font-family: var(--pwm-font);
	cursor: pointer;
	line-height: 1.4;
	text-align: center;
	transition: background .2s, border-color .2s, color .2s;
}

.pwm-filter-bar .pwm-filter-btn:hover {
	background: var(--pwm-primary);
	border-color: var(--pwm-primary);
	color: #fff;
}

.pwm-filter-bar .pwm-filter-btn.pwm-filter-btn--active {
	background: var(--pwm-primary);
	border-color: var(--pwm-primary);
	color: #fff;
}

.pwm-filter-bar .pwm-filter-btn.pwm-filter-btn--active:hover {
	background: var(--pwm-primary-dark);
	border-color: var(--pwm-primary-dark);
	color: #fff;
}

/* ==========================================================================
   Grid
   ========================================================================== */
.pwm-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 28px;
}

.pwm-card {
	background: #fff;
	border-radius: var(--pwm-radius);
	box-shadow: var(--pwm-shadow);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transition: transform .2s ease, box-shadow .2s ease;
}

.pwm-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 32px rgba(0,0,0,.13);
}


/* ==========================================================================
   Card image
   ========================================================================== */
.pwm-card-image {
	position: relative;
	overflow: hidden;
	aspect-ratio: 16 / 9;
	background: var(--pwm-primary-light);
}

.pwm-card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform .3s ease;
}

.pwm-card:hover .pwm-card-image img {
	transform: scale(1.03);
}

.pwm-card-image-placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 56px;
}


/* ==========================================================================
   Card body
   ========================================================================== */
.pwm-card-body {
	padding: 20px 22px;
	flex: 1;
}

.pwm-card-title {
	font-size: 17px;
	font-weight: 700;
	margin: 0 0 10px;
	line-height: 1.35;
}

.pwm-card-title a {
	color: var(--pwm-text);
	text-decoration: none;
}

.pwm-card-title a:hover {
	color: var(--pwm-primary);
}

.pwm-card-topics {
	font-size: 13px;
	color: var(--pwm-muted);
	margin: 0 0 12px;
	line-height: 1.5;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.pwm-card-meta {
	list-style: none;
	padding: 0;
	margin: 0 0 14px;
	display: flex;
	flex-direction: column;
	gap: 5px;
	font-size: 13px;
	color: var(--pwm-muted);
}

.pwm-seats.available  { color: var(--pwm-green);  font-weight: 600; }
.pwm-seats.low        { color: var(--pwm-orange);  font-weight: 600; }
.pwm-seats.full       { color: var(--pwm-red);     font-weight: 600; }

.pwm-no-dates {
	font-size: 13px;
	color: var(--pwm-muted);
	font-style: italic;
	margin-bottom: 12px;
}

.pwm-card-price {
	font-size: 20px;
	font-weight: 700;
	color: var(--pwm-primary);
}

.pwm-per-person {
	font-size: 14px;
	font-weight: 400;
	color: var(--pwm-muted);
}

/* ==========================================================================
   Card footer / buttons
   ========================================================================== */
.pwm-card-footer {
	padding: 14px 22px;
	border-top: 1px solid var(--pwm-border);
	display: flex;
	gap: 10px;
}

.pwm-btn {
	display: inline-block;
	padding: 10px 18px;
	border-radius: 8px;
	font-size: 13px;
	font-weight: 700;
	text-decoration: none;
	text-align: center;
	transition: background .2s, border-color .2s, color .2s;
	cursor: pointer;
	flex: 1;
	border: 2px solid transparent;
	line-height: 1.4;
}

.pwm-btn-primary {
	background: var(--pwm-primary);
	color: #fff;
	border-color: var(--pwm-primary);
}

.pwm-btn-primary:hover {
	background: var(--pwm-primary-dark);
	border-color: var(--pwm-primary-dark);
	color: #fff;
}

.pwm-btn-secondary {
	background: transparent;
	color: var(--pwm-primary);
	border-color: var(--pwm-primary);
}

.pwm-btn-secondary:hover {
	background: var(--pwm-primary);
	color: #fff;
}

.pwm-btn-disabled {
	background: #eee;
	color: #aaa;
	border-color: #eee;
	cursor: not-allowed;
}

/* ==========================================================================
   Single product page extras (added via meta box hook)
   ========================================================================== */
.pwm-product-meta {
	background: var(--pwm-primary-light);
	border-left: 4px solid var(--pwm-primary);
	padding: 14px 18px;
	border-radius: 0 var(--pwm-radius) var(--pwm-radius) 0;
	margin-bottom: 20px;
}

.pwm-product-meta-row {
	margin: 5px 0;
	font-size: 14px;
}

.pwm-topics {
	font-style: italic;
	color: var(--pwm-muted);
}

.pwm-capacity-info {
	margin: 8px 0 4px;
	font-size: 14px;
}

.pwm-cancellation-note {
	margin: 4px 0 0;
	font-size: 13px;
	color: var(--pwm-muted);
}

/* ==========================================================================
   Workshop naptár – FullCalendar redesign
   ========================================================================== */

/* Külső keret */
.pwm-calendar-wrap {
	background: #fff;
	border: 1px solid var(--pwm-border);
	border-radius: var(--pwm-radius);
	box-shadow: var(--pwm-shadow);
	padding: 20px 18px;
	margin: 0 0 32px;
	overflow: hidden;
}

#pwm-fullcalendar {
	max-width: 100%;
	font-size: 13px;
}

/* ---------- Toolbar ---------- */
.fc .fc-toolbar.fc-header-toolbar {
	margin-bottom: 20px !important;
	align-items: center;
}

.fc .fc-toolbar-title {
	font-size: 20px !important;
	font-weight: 700 !important;
	color: var(--pwm-text) !important;
	letter-spacing: .2px;
}

.fc .fc-button {
	font-size: 13px !important;
	font-weight: 600 !important;
	border-radius: 6px !important;
	padding: 6px 14px !important;
	transition: background .18s, border-color .18s !important;
	line-height: 1.4 !important;
}

.fc .fc-button-primary {
	background-color: var(--pwm-primary) !important;
	border-color: var(--pwm-primary) !important;
	color: #fff !important;
}

.fc .fc-button-primary:hover,
.fc .fc-button-primary:not(:disabled):active {
	background-color: var(--pwm-primary-dark) !important;
	border-color: var(--pwm-primary-dark) !important;
}

.fc .fc-button-primary:focus {
	box-shadow: 0 0 0 3px rgba(126,3,3,.25) !important;
}

.fc .fc-button-primary:disabled {
	background-color: var(--pwm-primary) !important;
	border-color: var(--pwm-primary) !important;
	opacity: .5;
}

.fc .fc-button-primary.fc-button-active {
	background-color: var(--pwm-primary-dark) !important;
	border-color: var(--pwm-primary-dark) !important;
}

.fc .fc-prev-button,
.fc .fc-next-button {
	padding: 6px 10px !important;
}

/* ---------- Napfejléc sor ---------- */
.fc .fc-col-header-cell {
	background: var(--pwm-primary-light) !important;
	border-color: var(--pwm-border) !important;
	padding: 8px 0 !important;
}

.fc .fc-col-header-cell-cushion {
	font-size: 11px !important;
	font-weight: 700 !important;
	text-transform: uppercase;
	letter-spacing: .5px;
	color: var(--pwm-primary) !important;
	text-decoration: none !important;
	padding: 0 !important;
}

/* ---------- Cella ---------- */
.fc .fc-daygrid-day {
	border-color: var(--pwm-border) !important;
}

.fc .fc-daygrid-day-number {
	font-size: 12px !important;
	color: var(--pwm-muted) !important;
	text-decoration: none !important;
	padding: 5px 8px !important;
	font-weight: 500;
}

.fc .fc-day-other .fc-daygrid-day-number {
	color: #ccc !important;
}

/* Ma kiemelés – piros kör a dátumszámra, világos háttér a cellára */
.fc .fc-day-today {
	background: var(--pwm-primary-light) !important;
}

.fc .fc-day-today .fc-daygrid-day-number {
	background: var(--pwm-primary) !important;
	color: #fff !important;
	border-radius: 50%;
	width: 26px;
	height: 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 700 !important;
	padding: 0 !important;
	margin: 4px 6px;
	line-height: 1;
}

/* ---------- Esemény pill ---------- */
.fc-daygrid-event {
	border-radius: 4px !important;
	padding: 2px 7px !important;
	font-size: 11px !important;
	font-weight: 600 !important;
	cursor: pointer;
	border: none !important;
	margin: 1px 2px !important;
}

.fc-daygrid-event:hover {
	filter: brightness(.88);
}

.fc-daygrid-event .fc-event-title {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.pwm-ev-full {
	opacity: .5;
}

/* ---------- Lista nézet ---------- */
.fc .fc-list-day-cushion {
	background: var(--pwm-primary-light) !important;
}

.fc .fc-list-day-text,
.fc .fc-list-day-side-text {
	color: var(--pwm-primary) !important;
	text-decoration: none !important;
	font-weight: 700 !important;
	font-size: 14px !important;
}

.fc .fc-list-event:hover td {
	background: var(--pwm-primary-light) !important;
	cursor: pointer;
}

.fc .fc-list-event-title a {
	color: var(--pwm-text) !important;
	text-decoration: none !important;
	font-weight: 600;
}

.fc .fc-list-event-time {
	color: var(--pwm-muted) !important;
	font-size: 12px !important;
}

/* ---------- Üres lista üzenet ---------- */
.fc .fc-list-empty {
	background: var(--pwm-primary-light) !important;
}

.fc .fc-list-empty-cushion {
	color: var(--pwm-muted) !important;
	font-size: 14px !important;
}

/* ==========================================================================
   Calendar legend
   ========================================================================== */
.pwm-calendar-legend {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-top: 20px;
	padding-top: 16px;
	border-top: 1px solid var(--pwm-border);
}

.pwm-legend-item {
	display: flex;
	align-items: center;
	gap: 8px;
	font-size: 13px;
	color: var(--pwm-text);
	font-weight: 500;
}

.pwm-legend-dot {
	display: inline-block;
	width: 14px;
	height: 10px;
	border-radius: 3px;
	flex-shrink: 0;
}

/* ---------- Reszponzív ---------- */
@media (max-width: 640px) {
	.pwm-calendar-wrap {
		padding: 16px 14px;
	}
	.fc .fc-toolbar.fc-header-toolbar {
		flex-direction: column;
		gap: 10px;
		align-items: flex-start !important;
	}
	.fc .fc-toolbar-title {
		font-size: 16px !important;
	}
}

/* ==========================================================================
   4 hónapos egyedi naptár
   ========================================================================== */

.pwm-4m-wrap {
	font-family: var(--pwm-font);
}

.pwm-4m-loading {
	text-align: center;
	color: var(--pwm-muted);
	padding: 40px 0;
	font-size: 14px;
}

/* Navigáció */
.pwm-4m-nav {
	display: flex;
	justify-content: flex-end;
	gap: 8px;
	margin-bottom: 16px;
}

.pwm-4m-btn {
	background: var(--pwm-primary);
	color: #fff;
	border: none;
	border-radius: 6px;
	padding: 6px 16px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	line-height: 1.5;
	transition: background .18s;
	font-family: var(--pwm-font);
}

.pwm-4m-btn:hover {
	background: var(--pwm-primary-dark);
}

/* 2×2 rács – mindig 2 oszlop, keskeny képernyőn 1 oszlop (ld. media query alul) */
.pwm-4m-grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 14px;
	margin-bottom: 20px;
}

/* Egy hónap kártya */
.pwm-4m-month {
	background: #fff;
	border: 1px solid var(--pwm-border);
	border-radius: var(--pwm-radius);
	padding: 14px 10px 12px;
	min-width: 0;   /* engedi a grid cellákat összeszűkülni */
	overflow: hidden;
}

.pwm-4m-month-title {
	font-size: 15px;
	font-weight: 700;
	color: var(--pwm-primary);
	text-align: center;
	margin-bottom: 12px;
	letter-spacing: .2px;
}

/* Napfejléc sor */
.pwm-4m-day-headers {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));
	margin-bottom: 4px;
}

.pwm-4m-day-header {
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	color: var(--pwm-primary);
	text-align: center;
	padding: 3px 0;
	letter-spacing: .3px;
}

/* Napok rácsa */
.pwm-4m-days {
	display: grid;
	grid-template-columns: repeat(7, minmax(0, 1fr));  /* minmax(0,1fr) = összeszűkülhet */
	gap: 1px;
}

.pwm-4m-day {
	min-height: 46px;
	padding: 3px 2px 2px;
	box-sizing: border-box;
	min-width: 0;
	overflow: hidden;
}

.pwm-4m-empty {
	background: transparent;
}

/* Dátumszám */
.pwm-4m-num {
	display: block;
	font-size: 11px;
	color: var(--pwm-muted);
	text-align: right;
	padding-right: 3px;
	font-weight: 500;
	margin-bottom: 1px;
	line-height: 1.4;
}

.pwm-4m-past .pwm-4m-num {
	color: #ccc;
}

/* Ma – piros kör */
.pwm-4m-today .pwm-4m-num {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--pwm-primary);
	color: #fff;
	border-radius: 50%;
	width: 20px;
	height: 20px;
	font-size: 11px;
	font-weight: 700;
	padding: 0;
	float: right;
	clear: right;
}

/* Esemény pill */
.pwm-4m-ev {
	display: block;
	font-size: 10px;
	font-weight: 600;
	color: #fff;
	border-radius: 3px;
	padding: 1px 4px;
	margin: 1px 0;
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	cursor: pointer;
	transition: filter .15s;
	line-height: 1.5;
}

.pwm-4m-ev:hover {
	filter: brightness(.88);
}

.pwm-4m-ev-full {
	opacity: .45;
}

/* ==========================================================================
   Napi nézet
   ========================================================================== */

.pwm-day-view {
	font-family: var(--pwm-font);
}

.pwm-day-header {
	font-size: 18px;
	font-weight: 700;
	color: var(--pwm-primary);
	text-align: center;
	margin-bottom: 20px;
	padding-bottom: 14px;
	border-bottom: 2px solid var(--pwm-border);
	letter-spacing: .2px;
}

.pwm-day-empty {
	text-align: center;
	color: var(--pwm-muted);
	font-size: 15px;
	padding: 48px 0;
	font-style: italic;
}

.pwm-day-events {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

.pwm-day-event {
	display: flex;
	align-items: stretch;
	background: #fff;
	border: 1px solid var(--pwm-border);
	border-radius: var(--pwm-radius);
	box-shadow: var(--pwm-shadow);
	overflow: hidden;
	cursor: pointer;
	transition: transform .18s ease, box-shadow .18s ease;
}

.pwm-day-event:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 24px rgba(0,0,0,.12);
}

.pwm-day-event-full {
	opacity: .6;
}

.pwm-day-event-color {
	width: 6px;
	flex-shrink: 0;
}

.pwm-day-event-body {
	flex: 1;
	padding: 16px 18px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	min-width: 0;
}

.pwm-day-event-title {
	font-size: 16px;
	font-weight: 700;
	color: var(--pwm-text);
	line-height: 1.3;
}

.pwm-day-event-time,
.pwm-day-event-venue {
	font-size: 13px;
	color: var(--pwm-muted);
}

.pwm-day-event-seats {
	font-size: 13px;
	font-weight: 600;
	margin-top: 4px;
}

.pwm-day-event-seats.available { color: var(--pwm-green); }
.pwm-day-event-seats.low       { color: var(--pwm-orange); }
.pwm-day-event-seats.full      { color: var(--pwm-red); }

.pwm-day-event-link {
	margin: 14px;
	align-self: center;
	white-space: nowrap;
	flex-shrink: 0;
}

/* Hónap gomb – körvonalazott, másodlagos stílus */
.pwm-4m-btn-outline {
	background: transparent;
	color: var(--pwm-primary);
	border: 2px solid var(--pwm-primary);
}

.pwm-4m-btn-outline:hover {
	background: var(--pwm-primary);
	color: #fff;
}

/* Reszponzív – 540px alatt 1 oszlop (4 hónap egymás alatt) */
@media (max-width: 540px) {
	.pwm-4m-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

@media (max-width: 480px) {
	.pwm-calendar-wrap {
		padding: 12px 10px;
	}
	.pwm-4m-month {
		padding: 10px 8px 8px;
	}
	.pwm-4m-day {
		min-height: 38px;
	}
	.pwm-4m-ev {
		font-size: 9px;
		padding: 1px 3px;
	}
}

/* ==========================================================================
   Cancel notice on order page
   ========================================================================== */
.pwm-cancel-notice {
	border-left: 4px solid var(--pwm-primary) !important;
}

/* ==========================================================================
   Dátum kiemelés a kártyán
   ========================================================================== */
.pwm-card-meta .pwm-date {
	color: var(--pwm-text);
	font-size: 14px;
}

.pwm-card-meta .pwm-date strong {
	color: var(--pwm-primary);
}

/* ==========================================================================
   Kiválasztott dátum info sáv a termék oldalon
   ========================================================================== */
.pwm-preselected-date {
	background: var(--pwm-gray-light);
	border-left: 4px solid var(--pwm-green);
	padding: 10px 16px;
	border-radius: 0 var(--pwm-radius) var(--pwm-radius) 0;
	margin-bottom: 20px;
	font-size: 15px;
	color: var(--pwm-text);
}

.pwm-preselected-date strong {
	color: var(--pwm-primary);
}

/* ==========================================================================
   "From:" prefix elrejtése WC Bookings ártól (PHP filter fallback)
   ========================================================================== */
.pwm-card-price ins,
.pwm-card-price del {
	text-decoration: none;
}

.woocommerce-bookings-booking-form-currency-from {
	display: none;
}

/* ==========================================================================
   Responsive
   ========================================================================== */
@media (max-width: 640px) {
	.pwm-grid {
		grid-template-columns: 1fr;
	}
	.pwm-card-footer {
		flex-direction: column;
	}
}

/* ==========================================================================
   Single Booking Product Page – teljes redesign
   ========================================================================== */

/* ---------- Booking kártya fejléc ---------- */
.pwm-booking-heading {
	font-size: 17px;
	font-weight: 700;
	color: var(--pwm-primary);
	margin: 0 0 14px;
	padding-bottom: 10px;
	border-bottom: 2px solid var(--pwm-border);
	letter-spacing: .2px;
}

/* ---------- Booking form kártya – a form.cart-ot styolzzuk ---------- */
.single-product form.cart {
	background: #fff;
	border: 1px solid var(--pwm-border);
	border-radius: var(--pwm-radius);
	padding: 24px;
	box-shadow: var(--pwm-shadow);
	margin-bottom: 24px !important;
}

/* Ár megjelenítés a summary-ban */
.single-product div.summary .price {
	font-size: 22px;
	font-weight: 800;
	color: var(--pwm-primary) !important;
	margin-bottom: 16px;
	display: block;
}

/* "From:" prefix – sima szöveg-node, font-size trükkel rejtjük el */
.single-product div.summary p.price {
	font-size: 0 !important;
	line-height: 0;
}
.single-product div.summary p.price .woocommerce-Price-amount {
	font-size: 22px !important;
	line-height: 1.4;
	font-weight: 800;
	color: var(--pwm-primary) !important;
}
.single-product div.summary p.price .woocommerce-Price-currencySymbol {
	font-size: 22px !important;
}

/* "Times are in UTC" elrejtése – helyi workshopnál nem releváns */
.single-product .wc-bookings-date-picker-timezone-block {
	display: none !important;
}

/* ---------- Persons mező ---------- */
.wc-bookings-booking-form .form-field label {
	font-weight: 600;
	font-size: 13px;
	color: var(--pwm-text);
	text-transform: uppercase;
	letter-spacing: .5px;
	margin-bottom: 4px;
	display: block;
}

.wc-bookings-booking-form #wc_bookings_field_persons {
	width: 80px;
	padding: 8px 12px;
	border: 1px solid var(--pwm-border);
	border-radius: 6px;
	font-size: 15px;
	color: var(--pwm-text);
}

/* ---------- Datepicker naptár ---------- */
.wc-bookings-booking-form .wc-bookings-date-picker {
	margin-top: 16px;
}

.wc-bookings-booking-form .wc-bookings-date-picker-timezone-block {
	font-size: 11px;
	color: var(--pwm-muted);
	margin-bottom: 6px;
}

/* Naptár wrapper */
.wc-bookings-booking-form .ui-datepicker-inline {
	width: 100% !important;
	border: 1px solid var(--pwm-border) !important;
	border-radius: var(--pwm-radius) !important;
	overflow: hidden;
	font-size: 13px;
}

/* Fejléc – piros sáv */
.wc-bookings-booking-form .ui-datepicker-header {
	background: var(--pwm-primary) !important;
	border: none !important;
	color: #fff !important;
	padding: 10px 0 !important;
	border-radius: 0 !important;
}

.wc-bookings-booking-form .ui-datepicker-title {
	font-weight: 700;
	font-size: 14px;
	letter-spacing: .4px;
}

/* Nyilak (prev/next) */
.wc-bookings-booking-form .ui-datepicker-prev,
.wc-bookings-booking-form .ui-datepicker-next {
	background: transparent !important;
	border: none !important;
	top: 50% !important;
	transform: translateY(-50%) !important;
	cursor: pointer;
}

.wc-bookings-booking-form .ui-datepicker-prev span,
.wc-bookings-booking-form .ui-datepicker-next span {
	background-image: none !important;
	width: auto !important;
	height: auto !important;
	margin: 0 !important;
	left: 0 !important;
	top: 0 !important;
}

.wc-bookings-booking-form .ui-datepicker-prev::after {
	content: '‹';
	font-size: 20px;
	color: #fff;
	line-height: 1;
}

.wc-bookings-booking-form .ui-datepicker-next::after {
	content: '›';
	font-size: 20px;
	color: #fff;
	line-height: 1;
}

/* Napneveksor */
.wc-bookings-booking-form .ui-datepicker-calendar thead th {
	background: var(--pwm-primary-light) !important;
	color: var(--pwm-primary) !important;
	font-weight: 700;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: .3px;
	padding: 6px 0 !important;
}

/* Cellák */
.wc-bookings-booking-form .ui-datepicker-calendar td {
	text-align: center;
	padding: 2px !important;
}

.wc-bookings-booking-form .ui-datepicker-calendar td span,
.wc-bookings-booking-form .ui-datepicker-calendar td a {
	text-align: center;
	padding: 6px !important;
	border-radius: 6px !important;
	font-size: 13px;
	display: block;
}

/* Szabad nap – hover */
.wc-bookings-booking-form .ui-datepicker-calendar td a.ui-state-default:hover,
.wc-bookings-booking-form .ui-datepicker-calendar td a.ui-state-hover {
	background: var(--pwm-primary-light) !important;
	color: var(--pwm-primary) !important;
	border-color: var(--pwm-border) !important;
}

/* Kiválasztott nap */
.wc-bookings-booking-form .ui-datepicker-calendar td a.ui-state-active,
.wc-bookings-booking-form .ui-datepicker-calendar td a.ui-state-highlight {
	background: var(--pwm-primary) !important;
	color: #fff !important;
	border-color: var(--pwm-primary) !important;
	font-weight: 700;
}

/* Nem elérhető napok */
.wc-bookings-booking-form .ui-datepicker-calendar td.ui-datepicker-unselectable span {
	color: #ccc !important;
	background: transparent !important;
}

/* Szabad helyek – foglalható napok kiemelése */
.wc-bookings-booking-form .ui-datepicker-calendar td.bookable a {
	color: var(--pwm-primary) !important;
	font-weight: 600;
}

/* "Choose a date..." szöveg */
.wc-bookings-booking-form .wc-bookings-booking-cost {
	margin-top: 14px;
	font-size: 14px;
	color: var(--pwm-muted);
	min-height: 22px;
}

/* ---------- Book Now gomb ---------- */
.single-product .wc-bookings-booking-form-button,
.single-product button.single_add_to_cart_button {
	background: var(--pwm-primary) !important;
	border-color: var(--pwm-primary) !important;
	color: #fff !important;
	width: 100%;
	padding: 14px 24px !important;
	font-size: 16px !important;
	font-weight: 700 !important;
	letter-spacing: .4px;
	border-radius: 8px !important;
	margin-top: 16px !important;
	transition: background .2s, transform .15s !important;
	cursor: pointer;
}

.single-product .wc-bookings-booking-form-button:hover:not(:disabled),
.single-product button.single_add_to_cart_button:hover:not(:disabled) {
	background: var(--pwm-primary-dark) !important;
	border-color: var(--pwm-primary-dark) !important;
	transform: translateY(-1px);
}

.single-product .wc-bookings-booking-form-button:disabled,
.single-product button.single_add_to_cart_button.disabled {
	background: #ccc !important;
	border-color: #ccc !important;
	cursor: not-allowed;
	transform: none !important;
}

/* ---------- Meglévő pwm-product-meta felülírás (ha még látszik) ---------- */
.single-product .pwm-product-meta {
	display: none; /* az új content_sections() sekciók veszik át a szerepét */
}

/* ---------- Preselected date sáv stílus javítás ---------- */
.pwm-preselected-date {
	background: var(--pwm-gray-light);
	border-left: 4px solid var(--pwm-green);
	padding: 12px 18px;
	border-radius: 0 var(--pwm-radius) var(--pwm-radius) 0;
	margin-bottom: 16px;
	font-size: 14px;
}

/* ---------- Tartalom szekciók (.pwm-product-sections) ---------- */
.pwm-product-sections {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 24px;
	margin: 32px 0;
	clear: both;
}

.pwm-section {
	background: #fff;
	border: 1px solid var(--pwm-border);
	border-radius: var(--pwm-radius);
	padding: 24px;
	box-shadow: var(--pwm-shadow);
}

.pwm-section-title {
	font-size: 16px;
	font-weight: 700;
	color: var(--pwm-primary);
	margin: 0 0 16px;
	display: flex;
	align-items: center;
	gap: 8px;
}

.pwm-section-icon {
	font-size: 18px;
}

/* "Mit tanulsz?" lista – pipa stílus */
.pwm-checklist {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 10px;
}

.pwm-checklist li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 14px;
	color: var(--pwm-text);
	line-height: 1.5;
}

.pwm-checklist li::before {
	content: '';
	display: inline-block;
	width: 18px;
	height: 18px;
	min-width: 18px;
	border-radius: 50%;
	background: var(--pwm-primary);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.5 3.5L11 1' stroke='%23fff' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
	background-size: 10px;
	background-repeat: no-repeat;
	background-position: center;
	margin-top: 2px;
}

/* Workshop részletek lista */
.pwm-info-list {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 12px;
}

.pwm-info-list li {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	font-size: 14px;
	color: var(--pwm-text);
	line-height: 1.5;
}

.pwm-info-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 22px;
	flex-shrink: 0;
}

/* ==========================================================================
   Termékoldal – 100px tér, cím, kép, rövid leírás
   ========================================================================== */

/* 100px légzési tér a sticky header alatt */
.single-product div.product {
	padding-top: 100px !important;
}

.wp-block-woocommerce-cart{
	padding-top: 200px !important;
}

/* Termékcím */
.single-product div.summary h1.product_title {
	font-size: 30px !important;
	font-weight: 800 !important;
	color: var(--pwm-text) !important;
	line-height: 1.25 !important;
	margin: 0 0 10px !important;
	letter-spacing: -.3px;
	padding-bottom: 14px;
	border-bottom: 2px solid var(--pwm-border);
}

/* Termékkép galéria – valódi kép esetén */
.single-product .woocommerce-product-gallery {
	border-radius: var(--pwm-radius) !important;
	overflow: hidden !important;
	box-shadow: var(--pwm-shadow) !important;
}

.single-product .woocommerce-product-gallery .woocommerce-product-gallery__image img {
	display: block;
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}

/* Kép nélküli állapot – pizzás placeholder */
.single-product .woocommerce-product-gallery--without-images {
	background: var(--pwm-primary-light) !important;
	border-radius: var(--pwm-radius) !important;
	border: 1px solid var(--pwm-border) !important;
	min-height: 280px !important;
	position: relative !important;
	opacity: 1 !important;
}

/* WC placeholder kép elrejtése */
.single-product .woocommerce-product-gallery--without-images img {
	opacity: 0 !important;
}

/* Pizza emoji középre */
.single-product .woocommerce-product-gallery--without-images::after {
	content: '🍕';
	font-size: 80px;
	opacity: .3;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	pointer-events: none;
}

/* Rövid leírás */
.single-product div.summary .woocommerce-product-details__short-description {
	background: var(--pwm-gray-light);
	border-left: 3px solid var(--pwm-green);
	border-radius: 0 var(--pwm-radius) var(--pwm-radius) 0;
	padding: 14px 18px;
	margin-bottom: 22px !important;
}

.single-product div.summary .woocommerce-product-details__short-description p {
	font-size: 14px !important;
	line-height: 1.75 !important;
	color: var(--pwm-text) !important;
	margin: 0 !important;
}

/* WP emoji kép (🎁) igazítás */
.single-product div.summary .woocommerce-product-details__short-description img.emoji {
	width: 15px !important;
	height: 15px !important;
	vertical-align: middle !important;
	margin: 0 1px;
	display: inline-block !important;
}

/* ==========================================================================
   Leírás / Vélemények fülek
   ========================================================================== */

/* Fül sor – egyszerű aláhúzásos stílus */
.single-product .woocommerce-tabs ul.tabs {
	display: flex;
	gap: 0;
	padding: 0;
	margin: 0 !important;
	border-bottom: 2px solid var(--pwm-border) !important;
	list-style: none;
	background: transparent !important;
	overflow: hidden;
}

.single-product .woocommerce-tabs ul.tabs::before {
	display: none !important; /* WC default pseudo elem eltávolítása */
}

.single-product .woocommerce-tabs ul.tabs li {
	background: transparent !important;
	border: none !important;
	border-radius: 0 !important;
	margin: 0 !important;
	padding: 0 !important;
}

.single-product .woocommerce-tabs ul.tabs li a {
	display: block !important;
	padding: 12px 26px !important;
	font-size: 14px !important;
	font-weight: 600;
	color: var(--pwm-muted) !important;
	text-decoration: none !important;
	border-bottom: 3px solid transparent !important;
	margin-bottom: -2px !important;
	transition: color .18s, border-color .18s;
	background: transparent !important;
}

.single-product .woocommerce-tabs ul.tabs li a:hover {
	color: var(--pwm-primary) !important;
}

.single-product .woocommerce-tabs ul.tabs li.active a {
	color: var(--pwm-primary) !important;
	border-bottom-color: var(--pwm-primary) !important;
	font-weight: 700;
	background: transparent !important;
}

/* Panel (tartalom terület) */
.single-product .woocommerce-tabs .panel {
	background: #fff;
	border: 1px solid var(--pwm-border);
	border-top: none;
	border-radius: 0 0 var(--pwm-radius) var(--pwm-radius);
	padding: 40px 52px !important;
	margin: 0;
}

/* Reviews panel belső wrapper */
.single-product .woocommerce-tabs #tab-reviews #reviews {
	padding: 0;
}

/* Panel – h2 "Leírás" fejléc */
.single-product .woocommerce-tabs .panel h2 {
	font-size: 20px;
	font-weight: 700;
	color: var(--pwm-primary);
	margin: 0 0 20px;
	padding-bottom: 14px;
	border-bottom: 1px solid var(--pwm-border);
}

/* Panel – bekezdések */
.single-product .woocommerce-tabs .panel p {
	font-size: 15px;
	line-height: 1.8;
	color: var(--pwm-text);
	margin-bottom: 16px;
}

.single-product .woocommerce-tabs .panel p:last-child {
	margin-bottom: 0;
}

/* Panel – ajándék / kiemelt sor – csak a Leírás fülön */
.single-product .woocommerce-tabs #tab-description p:last-of-type:not(:only-child) {
	background: var(--pwm-gray-light);
	border-left: 4px solid var(--pwm-green);
	padding: 12px 16px;
	border-radius: 0 var(--pwm-radius) var(--pwm-radius) 0;
	font-weight: 600;
	margin-bottom: 0;
}

/* ==========================================================================
   Kapcsolódó termékek
   ========================================================================== */

.single-product .related.products {
	margin-top: 48px;
	clear: both;
}

/* Szekciófelirat */
.single-product .related.products > h2 {
	font-size: 22px;
	font-weight: 700;
	color: var(--pwm-primary);
	margin: 0 0 24px;
	padding-bottom: 12px;
	border-bottom: 2px solid var(--pwm-border);
}

/* Grid */
.single-product .related.products ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, 1fr) !important;
	gap: 20px !important;
	list-style: none;
	padding: 0 !important;
	margin: 0 !important;
}

/* Kártya */
.single-product .related.products ul.products li.product {
	background: #fff;
	border-radius: var(--pwm-radius);
	box-shadow: var(--pwm-shadow);
	overflow: hidden;
	display: flex !important;
	flex-direction: column;
	transition: transform .2s ease, box-shadow .2s ease;
	margin: 0 !important;
	float: none !important;
	width: auto !important;
	padding: 0 !important;
}

.single-product .related.products ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 32px rgba(0,0,0,.13);
}

/* Kép terület (link wrapper) – csak természetes magasság, NEM flex: 1 */
.single-product .related.products ul.products li.product a.woocommerce-LoopProduct-link {
	display: block !important;
	flex: none !important;
	text-decoration: none;
}

.single-product .related.products ul.products li.product img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
	display: block;
	background: var(--pwm-primary-light);
	transition: transform .3s ease;
}

.single-product .related.products ul.products li.product:hover img {
	transform: scale(1.04);
}

/* Cím */
.single-product .related.products ul.products li.product h2.woocommerce-loop-product__title {
	font-size: 14px !important;
	font-weight: 700;
	color: var(--pwm-text) !important;
	margin: 0 !important;
	padding: 14px 16px 8px !important;
	line-height: 1.4;
}

/* Ár – "From:" elrejtve, szám piros */
.single-product .related.products ul.products li.product .price {
	font-size: 0 !important;
	padding: 0 16px 12px;
	display: block;
	margin: 0 !important;
}

.single-product .related.products ul.products li.product .price .woocommerce-Price-amount {
	font-size: 16px !important;
	font-weight: 700;
	color: var(--pwm-primary) !important;
}

/* Gomb – mindig a kártya alján */
.single-product .related.products ul.products li.product a.button {
	display: block !important;
	margin: auto 16px 16px !important;
	padding: 10px 16px !important;
	background: var(--pwm-primary) !important;
	color: #fff !important;
	border: 2px solid var(--pwm-primary) !important;
	border-radius: 8px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	text-align: center;
	text-decoration: none;
	transition: background .2s, border-color .2s;
	cursor: pointer;
	width: auto !important;
}

.single-product .related.products ul.products li.product a.button:hover {
	background: var(--pwm-primary-dark) !important;
	border-color: var(--pwm-primary-dark) !important;
	color: #fff !important;
}

/* Kapcsolódó termékek – reszponzív */
@media (max-width: 900px) {
	.single-product .related.products ul.products {
		grid-template-columns: repeat(2, 1fr) !important;
	}
}

@media (max-width: 480px) {
	.single-product .related.products ul.products {
		grid-template-columns: 1fr !important;
	}
	.single-product .related.products > h2 {
		font-size: 18px;
	}
}

/* ==========================================================================
   Vélemények fül (WooCommerce Reviews)
   ========================================================================== */

/* Nincs vélemény – üzenet */
.single-product .woocommerce-tabs #reviews .woocommerce-noreviews {
	color: var(--pwm-muted);
	font-size: 15px;
	margin: 0 0 24px;
}

/* Vélemény lista */
.single-product .woocommerce-tabs #reviews ol.commentlist {
	list-style: none;
	padding: 0;
	margin: 0 0 32px;
}

.single-product .woocommerce-tabs #reviews ol.commentlist li.comment {
	display: flex;
	gap: 16px;
	padding: 20px 0;
	border-bottom: 1px solid var(--pwm-border);
}

.single-product .woocommerce-tabs #reviews ol.commentlist li.comment:last-child {
	border-bottom: none;
}

/* Avatar */
.single-product .woocommerce-tabs #reviews ol.commentlist li .avatar {
	width: 48px;
	height: 48px;
	border-radius: 50%;
	flex-shrink: 0;
	border: 2px solid var(--pwm-border);
}

/* Szöveg rész */
.single-product .woocommerce-tabs #reviews ol.commentlist li .comment-text {
	flex: 1;
	margin: 0;
	padding: 0;
	border: none;
}

/* Csillag értékelés */
.single-product .woocommerce-tabs #reviews .star-rating {
	color: #f59e0b;
	font-size: 14px;
	margin-bottom: 4px;
}

/* Szerző + dátum sor */
.single-product .woocommerce-tabs #reviews .comment-text .meta {
	font-size: 13px;
	color: var(--pwm-muted);
	margin-bottom: 8px;
}

.single-product .woocommerce-tabs #reviews .comment-text .meta strong {
	color: var(--pwm-text);
	font-weight: 700;
}

/* Vélemény szöveg */
.single-product .woocommerce-tabs #reviews .comment-text .description p {
	font-size: 15px;
	line-height: 1.7;
	color: var(--pwm-text);
	margin: 0;
}

/* Értékelés form fejléc */
.single-product .woocommerce-tabs #review_form_wrapper h3#reply-title {
	font-size: 18px;
	font-weight: 700;
	color: var(--pwm-primary);
	margin: 0 0 20px;
	padding-bottom: 12px;
	border-bottom: 1px solid var(--pwm-border);
}

/* Form mezők */
.single-product .woocommerce-tabs #review_form .comment-form p {
	margin-bottom: 16px;
}

.single-product .woocommerce-tabs #review_form .comment-form label {
	display: block;
	font-size: 14px;
	font-weight: 600;
	color: var(--pwm-text);
	margin-bottom: 6px;
}

.single-product .woocommerce-tabs #review_form .comment-form input[type="text"],
.single-product .woocommerce-tabs #review_form .comment-form input[type="email"],
.single-product .woocommerce-tabs #review_form .comment-form textarea {
	width: 100%;
	padding: 10px 14px;
	border: 1px solid var(--pwm-border);
	border-radius: 6px;
	font-size: 14px;
	color: var(--pwm-text);
	transition: border-color .2s;
	box-sizing: border-box;
}

.single-product .woocommerce-tabs #review_form .comment-form input:focus,
.single-product .woocommerce-tabs #review_form .comment-form textarea:focus {
	outline: none;
	border-color: var(--pwm-primary);
}

/* Csillag értékelő widget a formban */
.single-product .woocommerce-tabs #review_form .stars a {
	color: #d1d5db;
	font-size: 20px;
	text-decoration: none;
	transition: color .15s;
}

.single-product .woocommerce-tabs #review_form .stars:hover a,
.single-product .woocommerce-tabs #review_form .stars a:hover,
.single-product .woocommerce-tabs #review_form .stars a:hover ~ a,
.single-product .woocommerce-tabs #review_form .stars.selected a {
	color: #f59e0b;
}

/* Küldés gomb */
.single-product .woocommerce-tabs #review_form .form-submit input[type="submit"] {
	background: var(--pwm-primary) !important;
	color: #fff !important;
	border: none !important;
	padding: 12px 28px !important;
	border-radius: 8px !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	cursor: pointer;
	transition: background .2s;
}

.single-product .woocommerce-tabs #review_form .form-submit input[type="submit"]:hover {
	background: var(--pwm-primary-dark) !important;
}

/* ---------- Reszponzív ---------- */
@media (max-width: 768px) {
	.pwm-product-sections {
		grid-template-columns: 1fr;
	}
	.pwm-booking-card {
		padding: 18px;
	}
	.single-product .woocommerce-tabs .panel {
		padding: 28px 24px;
	}
}

@media (max-width: 480px) {
	.pwm-booking-heading {
		font-size: 15px;
	}
	.pwm-section {
		padding: 18px;
	}
}

/* ==========================================================================
   Gift ribbon badge – AJÁNDÉKOKKAL szalag
   ========================================================================== */

/* Kártyákon: a .pwm-card már overflow:hidden – csak position:relative kell */
.pwm-card {
	position: relative;
}

.pwm-gift-ribbon {
	position: absolute;
	top: 30px;
	right: -48px;
	width: 210px;
	background: #6B0000;
	color: #D4AF37;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	text-align: center;
	padding: 8px 0 7px;
	transform: rotate(45deg);
	transform-origin: center center;
	z-index: 10;
	box-shadow: 0 2px 8px rgba(0,0,0,.4);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 5px;
	pointer-events: none;
	white-space: nowrap;
}

.pwm-gift-ribbon svg {
	width: 11px;
	height: 11px;
	flex-shrink: 0;
	stroke: #D4AF37;
}

/* Fold (hajtás) effekt – sötét háromszögek a szalag két végén */
.pwm-gift-ribbon::before,
.pwm-gift-ribbon::after {
	content: '';
	position: absolute;
	top: 100%;
	width: 0;
	height: 0;
	border-style: solid;
}

.pwm-gift-ribbon::before {
	left: 0;
	border-width: 9px 0 0 9px;
	border-color: #3B0000 transparent transparent transparent;
}

.pwm-gift-ribbon::after {
	right: 0;
	border-width: 9px 9px 0 0;
	border-color: #3B0000 transparent transparent transparent;
}

/* Termékoldal: galléria klippeli a szalagot, flexslider már position:relative-t ad */
.single-product .woocommerce-product-gallery {
	overflow: hidden;
}

.single-product .woocommerce-product-gallery .pwm-gift-ribbon {
	position: absolute;
	top: 30px;
	right: -48px;
	z-index: 20;
}
