/* ===========================================================================
 * Event List page — front-end styles.
 * Section 1: hero (background image + frosted bottom bar with event meta).
 * Section 2: details (left) + gallery (right).
 * Load only on the single event template (enqueued from single-event.php).
 * ========================================================================= */
.wp-singular header {
	background-color:transparent !important;
}

.single_background_event {
	background-color: #f4f2ef;
}

.np-events { max-width: 1200px; margin: 0 auto; padding: 24px 16px; }
.np-events-header { margin-bottom: 24px; }
.np-events-title,.event-page .np-selected-wine-heading, .event-page .np-featured-heading{ 
	    margin: 0;
    font-family: "Cormorant Garamond", serif;
    font-style: italic;
    font-weight: 600;
    font-size: 32px;
    color: #8f7350 !important;
}
.np-events-title {
	margin-bottom:20px;
}

.np-events-filters { display: flex; flex-wrap: wrap; gap: 8px; }
.np-events-filter {
    display: inline-block; padding: 6px 14px;
    border: 1px solid #cfcfcf; border-radius: 4px;
    font-size: 13px; line-height: 1; text-decoration: none; color: inherit;
    transition: border-color .15s, background .15s;
}
.np-events-filter:hover { border-color: #999; }
.np-events-filter.is-active { border-color: #333; background: #333; color: #fff; }

.np-events-grid {
    display: grid;
    grid-template-columns: repeat(var(--np-events-cols, 5), 1fr);
    gap: 16px; align-items: stretch;
}
.np-events-grid > .np-focus-grape-card,
.np-events-grid > .np-focus-vignette { height: 100%; }
.np-events-grid > .np-focus-vignette .np-focus-vignette-img {
    width: 100%; height: 100%; object-fit: cover; display: block;
}

.pagination { display: flex; justify-content: center; gap: 6px; margin-top: 32px; }
.pagination .page-numbers {
    display: inline-flex; align-items: center; justify-content: center;
    min-width: 32px; height: 32px; padding: 0 8px;
    border: 1px solid #cfcfcf; border-radius: 4px; text-decoration: none; color: inherit;
}
.pagination .page-numbers.current {color: #fff; }

@media (max-width: 1024px) { .np-events-grid { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 640px)  { .np-events-grid { grid-template-columns: repeat(2, 1fr); } }

.np-events-toolbar {
    display: flex; align-items: center; flex-wrap: wrap; gap: 10px;
}
.np-events-filter-group { display: flex; gap: 10px; }
.np-events-filter-group--soft { margin-left: 28px; }   /* больший разрыв как на макете */
.np-events-sort { margin-left: auto; }                 /* сортировка вправо */

.np-events-filter {
    background: none; cursor: pointer;
    padding: 9px 16px;
    border: 1px solid #cbb79b; border-radius: 4px;
    font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
    color: #8a7a63; line-height: 1;
    transition: border-color .15s, color .15s;
}
.np-events-filter:hover { border-color: #8a7a63; color: #6b5c46; }
.np-events-filter--soft { border-color: #e2ddd4; color: #b8b0a4; }
.np-events-filter--soft:hover { border-color: #cbb79b; color: #8a7a63; }

.np-events-toolbar .np-events-sort-select {
    appearance: none; -webkit-appearance: none;
    box-sizing: border-box;
    height: 33px;                 /* = высота кнопок: 9px*2 + текст + бордюр */
    line-height: 1;
    padding: 0 40px 0 16px;       /* вертикальный паддинг убран, центрируется по высоте */
    background: #fff url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8'><path d='M1 1l5 5 5-5' fill='none' stroke='%238a7a63' stroke-width='1.5'/></svg>") no-repeat right 14px center;
    border: 1px solid #cbb79b; border-radius: 4px;
    font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
    color: #8a7a63; cursor: pointer;
    margin: 0;                    /* сбрасываем возможный margin от темы */
}


.events-cat-section {
    padding: 40px 30px;
    font-family: Georgia, "Times New Roman", serif;
	max-width:1240px;
	margin:0 auto;
}

/* Serif italic headings */
.ecs-title {
    font-style: italic;
    font-weight: 400;
    color: #6d5f54;
    font-size: 26px;
    margin: 0 0 12px;
}

/* Search form */
.ecs-search-form {
    display: flex;
    align-items: center;
    gap: 6px;
    padding-bottom: 16px;
    margin-bottom: 40px;
}
.ecs-search-input {
    flex: 1;
    border: none;
    background: transparent !important;
    font-size: 48px !important;
    color: #333;
    font-family: "Work Sans", serif;
    outline: none;
    padding: 6px 0;
	font-weight:400 !important;
	border-width: 0px !important;
	border-radius:0px !important;
		border-bottom: 1px solid #d8d4cc !important;
		padding: 0px !important;
}
.ecs-search-input::placeholder {
    opacity: 1;
	    color: #d8d4cc;
        font-size: 48px !important;
}

.ecs-search-input::placeholder {
    font-weight: 100 !important;
    opacity: 1;
}


.ecs-search-input::placeholder {
    color: #bdbab3;
}
.ecs-search-btn {
    background: #007BA5;
    color: #fff;
    border: none;
    padding: 20px 34px;
    font-size: 14px;
    letter-spacing: 1.5px;
    text-transform: uppercase;
      font-family: "Work Sans", serif;
    font-weight: 600;
    cursor: pointer;
    border-radius: 4px;
}
.ecs-search-btn:hover {
    background: #176685;
}

/* Categories header */
.ecs-cat-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}
.ecs-cat-header .ecs-title {
    margin: 0;
}
.ecs-show-all {
    color: #007BA5 !important; 
    text-transform: uppercase;
    font-size: 13px;
    letter-spacing: 1px;
    font-family: "Work Sans", serif;
    font-weight: 600;
    text-decoration: none;
}

/* Cards grid */
.ecs-cat-grid {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    gap: 16px;
}
@media (max-width: 900px) {
    .ecs-cat-grid {
        grid-template-columns: repeat(4, 1fr);
    }
}

@media (max-width: 560px) {
    .ecs-cat-grid {
        grid-template-columns: repeat(2, 1fr);
    }
}
.ecs-cat-card {
    position: relative;
    display: block;
    aspect-ratio: 1 / 1;
    border-radius: 5px;
    overflow: hidden;
    box-shadow: 0 2px 3px rgba(0,0,0,.1);
    text-decoration: none;
}
.ecs-cat-card img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    display: block;
}
.ecs-cat-card::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to top, rgba(0,0,0,.6) 0%, rgba(0,0,0,0) 55%);
}
.ecs-cat-label {
    position: absolute;
    left: 12px;
    bottom: 12px;
    right: 12px;
    z-index: 2;
    color: #fff;
    font-family: "Work Sans", serif;
    font-size: 12px;
    font-weight: 600;
    letter-spacing: 2px;
    text-transform: uppercase;
    line-height: 1.3;
	text-align: center;
}

/* ===========================================================================
 * Event Single page — front-end styles.
 * Section 1: hero (background image + frosted bottom bar with event meta).
 * Section 2: details (left) + gallery (right).
 * Load only on the single event template (enqueued from single-event.php).
 * ========================================================================= */

 .event-template-default .content_wrap {
    width: 100%;
    margin: 0 auto;
    overflow: hidden;
    max-width: 1240px;
}

.event-page {
	--event-accent:      #007BA5;   /* date badge / links */
	--event-star:        #d23b32;   /* rating star */
	--event-text:        #211a15;   /* dark serif text */
	--event-bar-bg:      rgba(255, 255, 255, .62);
	--event-pill-bg:     rgba(255, 255, 255, .78);
	--event-pill-text:   #3a322c;
	--event-serif:       Georgia, "Times New Roman", serif;

	/* Section 2 */
	--event-heading:     #8f7350;   /* warm brown headings */
	--event-muted:       #5f574e;   /* body text */
	--event-rule:        #d9d2c8;   /* divider line */
}

/* ---------- Hero ---------------------------------------------------------- */

.event-hero {
	position: relative;
	display: flex;
	align-items: flex-end;         /* content bar sits at the bottom */
	min-height: 660px;
	background-size: cover;
	background-position: top center;
	background-repeat: no-repeat;
	overflow: hidden;
}

/* Dark gradient at the very top so the transparent header stays readable. */
.event-hero::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 160px;
	background: linear-gradient(180deg, rgba(0, 0, 0, .38), rgba(0, 0, 0, 0));
	pointer-events: none;
}

/* Frosted bottom bar */
.event-hero__bar {
	position: relative;
	width: 100%;
	background: var(--event-bar-bg);
	-webkit-backdrop-filter: blur(8px);
	backdrop-filter: blur(8px);
	padding: 26px 0;
}

.event-hero__wrap {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
}

/* Left column: title, meta, tags, rating */
.event-hero__main {
	min-width: 0;
}

.event-hero__name {
	margin: 0 0 6px;
	font-size: 66px;
	font-weight: 600;
	line-height: 1.05;
	color: var(--event-text);
	font-family:"Cormorant Garamond", serif;
	font-style: italic;
}

.event-hero__meta {
	margin: 0 0 14px;
	font-family: var(--event-serif);
	font-style: italic;
	font-size: 32px;
	color: var(--event-text);
	font-family:"Cormorant Garamond", serif;
	font-weight: 600;
	font-style: italic;
}

/* Tags + rating on one row */
.event-hero__extras {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 10px 14px;
}

.event-hero__tags {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.event-hero__tag {
	display: inline-block;
	padding: 5px 12px;
	background: var(--event-pill-bg);
	border-radius: 3px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: .04em;
	text-transform: uppercase;
	color: var(--event-pill-text);
	white-space: nowrap;
}

/* Rating */
.event-hero__rating {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 15px;
	color: var(--event-text);
}

.event-hero__star {
	width: 16px;
	height: 16px;
	fill: var(--event-star);
	flex: none;
}

.event-hero__rating strong { font-weight: 700; }

.event-hero__rating-count { color: #6b625b; }

/* Right column: date badge */
.event-hero__date-badge {
	flex: none;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 120px;
	height: 120px;
	background: var(--event-accent);
	color: #fff;
	border-radius: 4px;
	line-height: 1;
	box-shadow: 0 4px 14px rgba(0, 0, 0, .18);
}

.event-hero__date-day {
	font-family: "Work Sans", serif;
	font-size: 60px;
	font-weight: 600;
}

.event-hero__date-month {
	margin-top: -10px;
	font-size: 32px;
	font-weight: 700;
	letter-spacing: .08em;
}

/* ---------- Section 2: details (left) + gallery (right) ------------------- */

.event-details {
	padding: 60px 0 72px;
	background: #f4f2ef;
}

.event-details__wrap {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 160px;
	align-items: start;
}

/* ----- Left column ----- */

.event-details__heading {
	margin: 0 0 14px;
	font-family: "Cormorant Garamond", var(--event-serif);
	font-style: italic;
	font-weight: 600;
	font-size: 30px;
	color: var(--event-heading);
}

.event-details__text {
	color: var(--event-muted);
	font-size: 16px;
	line-height: 1.7;
}

.event-details__text p { margin: 0 0 1em; }
.event-details__text p:last-child { margin-bottom: 0; }

.event-details__divider {
	margin: 28px 0;
	border: 0;
	border-top: 1px solid var(--event-rule);
}

.event-details__address {
	margin: 0;
	color: var(--event-muted);
	font-size: 16px;
	line-height: 1.6;
}

/* Social buttons — icons are self-contained SVG files (already blue + round). */
.event-social {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 20px;
}

.event-social__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	transition: opacity .15s;
}

.event-social__link:hover { opacity: .75; }

.event-social__link img {
	width: 34px;
	height: 34px;
	display: block;
}

/* Placeholder icons (no URL yet): still shown, just not clickable. */
.event-social__link.is-empty { cursor: default; }

/* ----- Right column ----- */

.event-details__col--right { min-width: 0; }

.event-details__links {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 4px;
	margin-bottom: 22px;
	text-align: right;
}

.event-details__link {
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--event-accent);
}

/* ----- Followers + actions ----- */

.event-followers {
	margin-top: 6px;
}

.event-followers__label {
	margin: 0 0 12px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--event-text);
}

.event-followers__faces {
	display: flex;
}

.event-followers__face {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid #fff;
	position: relative;
}

.event-followers__face:first-child { z-index: 2; }

.event-followers__face + .event-followers__face {
	margin-left: -12px;
	z-index: 1;
}

.event-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
	margin-top: 30px;
}

.event-actions__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	background: #e6e0d7;
	border-radius: 8px;
}

.event-actions__btn img {
	width: 26px;
	height: 26px;
	display: block;
}

/* ---------- Section 3: full-width map ------------------------------------ */

.event-map-section { width: 100%; margin-top:0px; padding-top:0px;}

.event-map {
	width: 100%;
	height: 480px;
}

/* Darken the map a touch to match the layout (mockup is darker than light-v11). */
.event-map .mapboxgl-canvas {
	filter: brightness(0.85) contrast(1.30)
}

.event-map__marker {
	width: 46px;
	height: 60px;
	background-repeat: no-repeat;
	background-position: center bottom;
	background-size: contain;
	cursor: default;
}

@media (max-width: 768px) {
	.event-map { height: 320px; }
}

/* ---------- Not found ---------------------------------------------------- */

.event-notfound {
	max-width: 640px;
	margin: 80px auto;
	text-align: center;
	font-family: var(--event-serif);
	color: var(--event-text);
}

/* ---------- Responsive --------------------------------------------------- */

@media (max-width: 900px) {
	.event-details__wrap {
		grid-template-columns: 1fr;
		gap: 36px;
	}
	.event-details__links {
		align-items: flex-start;
		text-align: left;
	}
}

@media (max-width: 768px) {
	.event-hero { min-height: 56vh; }

	.event-hero__wrap {
		flex-direction: column-reverse;
		align-items: flex-start;
		gap: 16px;
	}

	.event-hero__date-badge { width: 58px; height: 58px; }
	.event-hero__date-day { font-size: 24px; }
}


.event-template-default #np-focus-banner-section {
	margin-top: 60px;
}


/* ---------- Section: Event organizer CTA -------------------------------- */

.event-organizer {
	padding: 64px 0 72px;
	background: #fbf8f5;
}

.event-organizer__title {
	margin: 0 0 40px;
	font-family:"Cormorant Garamond", serif;
	font-style: italic;
	font-weight: 600;
	font-size: 32px;
	color: #8A765C;
	letter-spacing:2px;
}

.event-organizer__grid {
	display: grid;
	grid-template-columns: 340px 1fr 1fr;
	gap: 48px;
	align-items: center;
}

.event-organizer__media img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 2px;
}

.event-organizer__col {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.event-organizer__col-title {
	margin: 0 0 12px;
	font-family:"Cormorant Garamond", serif;
	font-style: italic;
	font-weight: 600;
	font-size: 32px;
	line-height: 1.1;
	color: #B3702D;
}

.event-organizer__col-text {
	margin: 0 0 20px;
	color: var(--event-muted);
	font-size: 15px;
	line-height: 1.6;
	font-family:"Work Sans", serif;
}

.event-organizer__btn {
	display: inline-block;
	padding: 7px 20px;
	border: 1px solid #d9d2c8;
	border-radius: 5px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: #554F4F;
	text-decoration: none;
	transition: background .15s, border-color .15s;
}

.event-organizer__btn:hover {
	background: #f0ebe2;
	border-color: #c9c0b4;
}

@media (max-width: 900px) {
	.event-organizer__grid {
		grid-template-columns: 1fr;
		gap: 32px;
	}
}

.event-wines {
    width: 1240px;
    margin: 100px auto 0 auto;
    padding: 0px 0 0px;
}

/* ---------- Section: Selected by ---------------------------------------- */

.event-selected { padding: 56px 0 64px; background: #fff; }

.event-selected__label {
	margin: 0 0 22px;
	font-family: "Cormorant Garamond", var(--event-serif);
	font-style: italic;
	font-size: 22px;
	color: #9a8b78;
}

.event-selected__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;   /* фото слева, как в макете */
	gap: 56px;
	align-items: start;
}

.event-selected__media { position: relative; }

.event-selected__media img { display: block; width: 100%; height: auto; object-fit: cover; }

/* тонкий индикатор-слайдер под фото (декоративный) */
.event-selected__progress {
	display: block;
	height: 6px;
	margin-top: 4px;
	background: #e0dcd5;
	background-image: linear-gradient(90deg, var(--event-accent) 0 33%, transparent 33%);
}

.event-selected__text {
	font-family: "Cormorant Garamond", var(--event-serif);
	font-size:  clamp(20px, 2.4vw, 26px);
	line-height: 1.35;
    color: #8A765C;
    text-transform: uppercase;
    text-align: justify;
    font-weight: 500;
}
.event-selected__text p { margin: 0 0 .6em; }
.event-selected__text p:last-child { margin: 0; }

.event-selected__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	margin-top: 32px;
}

.event-selected__name {
	display: block;
	font-family: "Cormorant Garamond", var(--event-serif);
	font-style: italic;
	font-weight: 600;
	font-size: 24px;
	color: var(--event-accent);
}

.event-selected__title {
	display: block;
	margin-top: 2px;
	font-size: 11px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: #8a8079;
}

.event-selected__actions { display: flex; gap: 10px; }

.event-selected__btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	background: #e6e0d7;
	border-radius: 8px;
}
.event-selected__btn img { width: 22px; height: 22px; display: block; }

.event-selected__followers { margin-top: 26px; border-top:1px solid #AAAAAA;}

.event-selected__followers-label {
	margin: 0 0 10px;
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--event-text);
	font-family: "Work Sans", serif;
	padding-top: 10px;
}

.event-selected__faces { display: flex; }

.event-selected__face {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	object-fit: cover;
	border: 2px solid #fff;
}
.event-selected__face + .event-selected__face { margin-left: -12px; }

@media (max-width: 900px) {
	.event-selected__grid { grid-template-columns: 1fr; gap: 28px; }
	.event-selected__text { font-size: 24px; }
}


/* ---------- Section: Other events near you ------------------------------ */

.np-other-events { padding: 64px 0 72px; background: #fff; }

.np-other-events__head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 16px;
	margin-bottom: 22px;
}

.np-other-events__heading {
	margin: 0;
	font-family: "Cormorant Garamond", var(--event-serif);
	font-style: italic;
	font-weight: 600;
	font-size: 32px;
	color: var(--event-heading);
}

.np-other-events__showall {
	flex: none;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .1em;
	text-transform: uppercase;
	color: var(--event-accent);
	text-decoration: none;
}
.np-other-events__showall:hover { text-decoration: underline; }

.np-other-events__grid {
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 20px;
	align-items: stretch;   /* карточки и баннеры одной высоты */
}

/* Баннер занимает всю колонку по ширине/высоте */
.np-other-events__grid .np-vertical-banner { display: block; height: 100%; }
.np-other-events__grid .np-vertical-banner-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 2px;
}

@media (max-width: 1100px) {
	.np-other-events__grid { grid-template-columns: repeat(2, 1fr); }
	/* баннеры-«вставки» не ломают сетку при 2 колонках, просто встают в поток */
}

@media (max-width: 600px) {
	.np-other-events__grid { grid-template-columns: 1fr; }
}


