/*
Theme Name: Antorik Utsav
Theme URI: https://www.antorik.com/
Description: Utsav Heritage redesign for Antorik. Child theme of Antorik Recovered.
Author: Antorik
Author URI: https://www.antorik.com/
Template: antorik-recovered
Version: 0.6.0
Requires at least: 6.0
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: antorik-utsav
*/

:root {
	--utsav-crimson-950: #59100d;
	--utsav-crimson-900: #7f1712;
	--utsav-crimson-800: #a31f18;
	--utsav-crimson-700: #c42a1e;
	--utsav-vermilion: #e64b30;
	--utsav-marigold: #f8b72c;
	--utsav-gold: #ffd45f;
	--utsav-emerald: #155f46;
	--utsav-ivory: #fffaf0;
	--utsav-paper: #fffdf8;
	--utsav-ink: #2f1c18;
	--utsav-muted: #705d56;
	--utsav-line: #ead8ba;
	--utsav-shadow: 0 18px 45px rgba( 68, 25, 13, 0.12 );
	--utsav-radius: 18px;
	--utsav-shell: 1200px;
}

html {
	scroll-behavior: smooth;
}

body.antorik-utsav {
	background: var(--utsav-ivory);
	color: var(--utsav-ink);
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif;
	font-size: 17px;
	line-height: 1.65;
	margin: 0;
}

.antorik-utsav *,
.antorik-utsav *::before,
.antorik-utsav *::after {
	box-sizing: border-box;
}

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

.antorik-utsav a {
	color: var(--utsav-crimson-700);
	text-decoration-thickness: 1px;
	text-underline-offset: 0.18em;
}

.antorik-utsav a:hover {
	color: var(--utsav-crimson-900);
}

.antorik-utsav :focus-visible {
	outline: 3px solid var(--utsav-marigold);
	outline-offset: 3px;
}

.antorik-utsav h1,
.antorik-utsav h2,
.antorik-utsav h3,
.antorik-utsav h4 {
	color: var(--utsav-crimson-950);
	font-family: Georgia, "Times New Roman", serif;
	font-weight: 700;
	letter-spacing: -0.02em;
	line-height: 1.12;
}

.antorik-utsav h1::before,
.antorik-utsav h2::before {
	display: none;
}

.utsav-shell,
.antorik-utsav .container {
	margin-inline: auto;
	max-width: var(--utsav-shell);
	padding-inline: 24px;
	width: 100%;
}

.utsav-site {
	min-height: 100vh;
	overflow: clip;
}

.utsav-utility {
	background: linear-gradient( 90deg, #ffd45f, #f8b72c );
	color: #4b160e;
	font-size: 13px;
}

.utsav-utility__inner {
	align-items: center;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	min-height: 36px;
}

.utsav-utility a {
	color: inherit;
	text-decoration: none;
}

.utsav-utility__message {
	font-size: 14px;
	font-weight: 800;
	letter-spacing: 0.01em;
}

.utsav-social-links {
	align-items: center;
	display: flex;
	gap: 8px;
}

.utsav-social-links a {
	align-items: center;
	background: rgba( 255, 255, 255, 0.58 );
	border: 1px solid rgba( 75, 22, 14, 0.18 );
	border-radius: 50%;
	display: inline-flex;
	height: 26px;
	justify-content: center;
	transition: background 160ms ease, transform 160ms ease;
	width: 26px;
}

.utsav-social-links a:hover,
.utsav-social-links a:focus-visible {
	transform: translateY( -1px );
}

.utsav-social-link--youtube { color: #ff0000; }
.utsav-social-link--x { color: #000000; }
.utsav-social-link--facebook { color: #1877f2; }

.utsav-social-link--youtube:hover,
.utsav-social-link--youtube:focus-visible { background: #ffe9e7; }
.utsav-social-link--x:hover,
.utsav-social-link--x:focus-visible { background: #ffffff; }
.utsav-social-link--facebook:hover,
.utsav-social-link--facebook:focus-visible { background: #e6f0ff; }

.utsav-social-links svg {
	fill: currentColor;
	height: 14px;
	width: 14px;
}

.utsav-header {
	background: linear-gradient( 100deg, #a51f19 0%, #c92f20 58%, #df4a2e 100% );
	border-bottom: 1px solid rgba( 255, 239, 188, 0.62 );
	box-shadow: 0 7px 24px rgba( 102, 19, 12, 0.17 );
	position: sticky;
	top: 0;
	z-index: 1000;
}

.admin-bar .utsav-header {
	top: 32px;
}

.utsav-header__inner {
	align-items: center;
	display: flex;
	gap: 18px;
	justify-content: space-between;
	min-height: 86px;
}

.utsav-brand {
	display: inline-flex;
	flex: 0 0 auto;
}

.utsav-brand img {
	height: auto;
	width: min( 210px, 42vw );
}

.utsav-navigation {
	align-items: center;
	display: flex;
	flex: 1 1 auto;
	justify-content: flex-end;
	min-width: 0;
}

.utsav-menu {
	align-items: center;
	display: flex;
	flex-wrap: nowrap;
	gap: clamp( 7px, 0.9vw, 14px );
	justify-content: flex-end;
	list-style: none;
	margin: 0;
	padding: 0;
}

.utsav-menu li {
	flex: 0 0 auto;
	margin: 0;
	position: relative;
}

.utsav-menu > li.menu-item-has-children {
	align-items: center;
	display: flex;
}

.utsav-menu > li.menu-item-has-children > .submenu-expand {
	align-items: center;
	background: transparent;
	border: 0;
	color: #fff9ed;
	display: inline-flex;
	height: 24px;
	justify-content: center;
	margin-left: -5px;
	padding: 0;
	width: 24px;
}

.utsav-menu > li.menu-item-has-children > .submenu-expand svg {
	height: 18px;
	width: 18px;
}

.main-menu-more,
.utsav-menu .mobile-parent-nav-menu-item {
	display: none !important;
}

.utsav-menu > li > a {
	color: #fff9ed;
	display: block;
	font-size: 13px;
	font-weight: 650;
	padding: 30px 4px 28px;
	position: relative;
	text-decoration: none;
	white-space: nowrap;
}

.utsav-menu a[href*="/support/"],
.utsav-menu a[href*="member_service"] {
	align-items: center;
	background: var(--utsav-gold);
	border-radius: 8px;
	color: var(--utsav-crimson-950);
	display: inline-flex;
	height: 44px;
	justify-content: center;
	margin-inline-start: 2px;
	min-width: 112px;
	padding: 0 12px;
}

.utsav-menu > .support-menu,
.utsav-menu > .donateus {
	background: transparent !important;
	border-radius: 0 !important;
	height: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	width: auto !important;
}

.utsav-menu a[href*="/support/"]::after,
.utsav-menu a[href*="member_service"]::after {
	display: none;
}

.utsav-menu > li > a::after {
	background: var(--utsav-marigold);
	bottom: 19px;
	content: "";
	height: 2px;
	left: 0;
	position: absolute;
	transform: scaleX( 0 );
	transform-origin: left;
	transition: transform 180ms ease;
	width: 100%;
}

.utsav-menu > li.current-menu-item > a::after,
.utsav-menu > li > a:hover::after,
.utsav-menu > li > a:focus-visible::after {
	transform: scaleX( 1 );
}

.utsav-menu .sub-menu {
	background: var(--utsav-paper);
	border: 1px solid var(--utsav-line);
	border-radius: 12px;
	box-shadow: var(--utsav-shadow);
	display: none;
	left: -18px;
	list-style: none;
	min-width: 220px;
	padding: 10px;
	position: absolute;
	top: calc( 100% - 12px );
}

.utsav-menu li:hover > .sub-menu,
.utsav-menu li:focus-within > .sub-menu {
	display: block;
}

.utsav-menu .sub-menu a {
	border-radius: 8px;
	display: block;
	font-size: 14px;
	padding: 9px 11px;
	text-decoration: none;
}

.utsav-menu .sub-menu a:hover {
	background: #fff2d6;
}

.utsav-menu-toggle {
	align-items: center;
	background: transparent;
	border: 1px solid rgba( 255, 255, 255, 0.35 );
	border-radius: 10px;
	color: #fff;
	display: none;
	font-weight: 700;
	gap: 9px;
	padding: 10px 12px;
}

.utsav-menu-toggle__icon,
.utsav-menu-toggle__icon::before,
.utsav-menu-toggle__icon::after {
	background: currentColor;
	content: "";
	display: block;
	height: 2px;
	position: relative;
	width: 20px;
}

.utsav-menu-toggle__icon::before {
	position: absolute;
	top: -6px;
}

.utsav-menu-toggle__icon::after {
	position: absolute;
	top: 6px;
}

.utsav-button {
	align-items: center;
	border: 1px solid transparent;
	border-radius: 9px;
	display: inline-flex;
	font-size: 15px;
	font-weight: 750;
	justify-content: center;
	min-height: 48px;
	padding: 11px 20px;
	text-decoration: none !important;
	transition: transform 160ms ease, box-shadow 160ms ease, background 160ms ease;
}

.utsav-button:hover {
	box-shadow: 0 10px 24px rgba( 54, 14, 7, 0.22 );
	transform: translateY( -2px );
}

.utsav-button--gold {
	background: var(--utsav-gold);
	color: var(--utsav-crimson-950) !important;
}

.utsav-button--crimson {
	background: var(--utsav-crimson-700);
	border-color: rgba( 255, 255, 255, 0.15 );
	color: #fff !important;
}

.utsav-navigation__cta {
	min-height: 44px;
	padding: 8px 17px;
	white-space: nowrap;
}

.utsav-content {
	display: block;
	margin: 0;
	padding: 0;
}

.utsav-hero {
	background: #791712;
	isolation: isolate;
	min-height: clamp( 430px, 44vw, 520px );
	overflow: hidden;
	position: relative;
}

.utsav-hero__media,
.utsav-hero__media > div,
.utsav-hero__media .owl-carousel,
.utsav-hero__media .owl-stage-outer,
.utsav-hero__media .owl-stage,
.utsav-hero__media .owl-item,
.utsav-hero__media .sa_hover_container {
	height: 100% !important;
	min-height: inherit;
}

.utsav-hero__media {
	inset: 0;
	position: absolute;
	z-index: -3;
}

.utsav-hero__media--static {
	background-position: center 42%;
	background-repeat: no-repeat;
	background-size: cover;
}

.utsav-hero__media .sa_hover_container {
	background-position: center !important;
	background-size: cover !important;
}

.utsav-hero__shade {
	background: linear-gradient( 90deg, rgba( 87, 13, 9, 0.28 ) 0%, rgba( 142, 28, 17, 0.12 ) 42%, rgba( 142, 28, 17, 0 ) 82% );
	inset: 0;
	position: absolute;
	z-index: -1;
}

.utsav-hero__shade::after {
	background-image: radial-gradient( circle at 1px 1px, rgba( 255, 201, 74, 0.19 ) 1px, transparent 0 );
	background-size: 18px 18px;
	content: "";
	inset: 0 auto 0 0;
	opacity: 0.14;
	position: absolute;
	width: 46%;
}

.utsav-hero__content {
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: inherit;
	padding-block: 34px 42px;
}

.utsav-hero h1 {
	color: #fffaf0;
	font-size: clamp( 36px, 4.5vw, 58px );
	margin: 20px 0 24px;
	max-width: 720px;
	text-shadow: 0 3px 20px rgba( 0, 0, 0, 0.38 );
}

.utsav-hero__mission {
	background: rgba( 255, 250, 240, 0.92 );
	border: 1px solid rgba( 255, 212, 95, 0.85 );
	border-left: 5px solid var(--utsav-marigold);
	border-radius: 12px;
	box-shadow: 0 12px 35px rgba( 58, 9, 6, 0.2 );
	color: var(--utsav-ink);
	max-width: 760px;
	padding: 14px 18px;
}

.utsav-hero__mission .entry-content {
	margin: 0;
	max-width: none;
}

.utsav-hero__mission h1,
.utsav-hero__mission h2,
.utsav-hero__mission h3,
.utsav-hero__mission h4 {
	color: var(--utsav-crimson-900);
	font-size: 23px;
	margin: 0 0 5px;
	text-shadow: none;
}

.utsav-hero__mission p {
	font-size: 15px;
	line-height: 1.5;
	margin: 0;
}

.utsav-eyebrow,
.utsav-kicker {
	color: var(--utsav-marigold);
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.14em;
	margin: 0;
	text-transform: uppercase;
}

.utsav-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}

.utsav-announcement {
	background: linear-gradient( 135deg, var(--utsav-crimson-900), var(--utsav-crimson-700) );
	border-block: 2px solid var(--utsav-marigold);
	color: #fff7e6;
	padding: 0;
	position: relative;
}

.utsav-announcement::before,
.utsav-announcement::after {
	background: repeating-linear-gradient( 90deg, transparent 0 10px, rgba( 255, 201, 74, 0.55 ) 10px 12px );
	content: "";
	height: 3px;
	left: 0;
	position: absolute;
	right: 0;
}

.utsav-announcement::before {
	top: 6px;
}

.utsav-announcement::after {
	bottom: 6px;
}

.utsav-announcement__inner {
	display: grid;
	gap: 24px;
	grid-template-columns: 190px minmax( 0, 1fr );
	padding-block: 30px;
}

.utsav-announcement__label {
	align-items: center;
	display: flex;
	gap: 10px;
}

.utsav-announcement__label h2 {
	color: var(--utsav-gold);
	font-family: inherit;
	font-size: 15px;
	letter-spacing: 0.08em;
	margin: 0;
	text-transform: uppercase;
}

.utsav-announcement__icon {
	color: var(--utsav-gold);
	font-size: 28px;
}

.utsav-announcement__content {
	background: rgba( 255, 255, 255, 0.08 );
	border: 1px solid rgba( 255, 255, 255, 0.18 );
	border-radius: 12px;
	padding: 18px 22px;
}

.utsav-announcement__content :where( h1, h2, h3, h4, p, li, a, td, th ) {
	color: #fffaf0;
}

.utsav-announcement__content > :first-child,
.utsav-announcement__content .entry-content > :first-child {
	margin-top: 0;
}

.utsav-announcement__content > :last-child,
.utsav-announcement__content .entry-content > :last-child {
	margin-bottom: 0;
}

.utsav-section {
	padding-block: clamp( 54px, 6vw, 82px );
	position: relative;
}

.utsav-section:nth-of-type( odd ) {
	background: var(--utsav-paper);
}

.utsav-section--events::before,
.utsav-section--gallery::before {
	background-image: radial-gradient( circle, rgba( 166, 29, 23, 0.1 ) 1.4px, transparent 1.5px );
	background-size: 18px 18px;
	content: "";
	height: 150px;
	position: absolute;
	right: 0;
	top: 32px;
	width: 95px;
}

.utsav-section__header {
	align-items: end;
	display: flex;
	gap: 24px;
	justify-content: space-between;
	margin-bottom: 34px;
}

.utsav-section__header h2,
.utsav-info-intro h2 {
	font-size: clamp( 36px, 4.5vw, 56px );
	margin: 7px 0 0;
}

.utsav-section__header--center {
	justify-content: center;
	text-align: center;
}

.utsav-kicker {
	color: var(--utsav-crimson-700);
}

.utsav-text-link {
	font-size: 15px;
	font-weight: 800;
	white-space: nowrap;
}

.utsav-card,
.antorik-utsav .whitecard {
	background: var(--utsav-paper);
	border: 1px solid var(--utsav-line);
	border-radius: var(--utsav-radius);
	box-shadow: var(--utsav-shadow);
}

.utsav-card--content,
.antorik-utsav .whitecard {
	padding: clamp( 24px, 4vw, 50px );
}

.utsav-section--events .utsav-existing-content {
	display: grid;
	gap: 22px;
}

.utsav-event-post {
	background: #fffdf8;
	border: 1px solid #e5cf9c;
	border-radius: 18px;
	box-shadow: 0 10px 22px rgba( 91, 27, 17, 0.10 );
	overflow: hidden;
	padding: clamp( 18px, 2.5vw, 30px );
	transition: box-shadow 180ms ease, transform 180ms ease;
}

.utsav-event-post:hover {
	box-shadow: 0 16px 30px rgba( 91, 27, 17, 0.16 );
	transform: translateY( -2px );
}

.utsav-event-post > :first-child {
	margin-top: 0;
}

.utsav-event-post > :last-child {
	margin-bottom: 0;
}

/* Present each existing Durga Puja day as its own schedule card. */
.utsav-section--events #schedule-program > ul {
	list-style: none;
	margin: 24px 0 0;
	padding: 0;
}

.utsav-section--events #schedule-program > ul > br {
	display: none;
}

.utsav-section--events #schedule-program > ul > li {
	background: linear-gradient( 100deg, #ffe6a1, #ffd15a );
	border: 1px solid #e6b83f;
	border-bottom: 0;
	border-radius: 14px 14px 0 0;
	color: var(--utsav-crimson-950);
	font-size: 17px;
	list-style: none;
	margin: 0;
	padding: 16px 20px 10px;
}

.utsav-section--events #schedule-program > ul > ul {
	background: #fffdf8;
	border: 1px solid #e6c977;
	border-radius: 0 0 14px 14px;
	border-top: 0;
	box-shadow: 0 12px 28px rgba( 91, 27, 17, 0.09 );
	margin: 0 0 20px;
	padding: 5px 20px 18px 40px;
}

.utsav-section--events #schedule-program > ul > ul > li {
	line-height: 1.5;
	margin-block: 7px;
	padding-left: 3px;
}

.utsav-section--events #schedule-program > ul > ul > li::marker {
	color: var(--utsav-crimson-700);
}

.utsav-existing-content {
	overflow: hidden;
}

.utsav-existing-content .entry-content {
	margin: 0;
	max-width: none;
}

.utsav-existing-content table,
.antorik-utsav .entry-content table {
	border-collapse: collapse;
	display: block;
	font-size: 15px;
	overflow-x: auto;
	width: 100%;
}

.utsav-existing-content th,
.utsav-existing-content td,
.antorik-utsav .entry-content th,
.antorik-utsav .entry-content td {
	border: 1px solid var(--utsav-line);
	min-width: 130px;
	padding: 12px 14px;
	vertical-align: top;
}

.utsav-existing-content th,
.antorik-utsav .entry-content th {
	background: #f8ead0;
	color: var(--utsav-crimson-900);
	font-weight: 800;
}

.utsav-existing-content tr:nth-child( even ) td,
.antorik-utsav .entry-content tr:nth-child( even ) td {
	background: #fffaf0;
}

.utsav-gallery-frame,
.utsav-sponsor-frame {
	background: #fff;
	border: 1px solid var(--utsav-line);
	border-radius: var(--utsav-radius);
	box-shadow: var(--utsav-shadow);
	overflow: hidden;
	padding: clamp( 12px, 2vw, 22px );
}

.utsav-gallery-frame img {
	border-radius: 12px;
}

.utsav-section--sponsors {
	background: #fff7e7 !important;
}

.utsav-section--info {
	padding-block: 44px;
}

.utsav-sponsor-frame {
	box-shadow: none;
}

.utsav-info-kicker {
	margin-bottom: 14px;
}

.utsav-section--info .utsav-card--content {
	padding: clamp( 22px, 3vw, 36px );
}

.utsav-section--info .wp-block-columns {
	align-items: stretch !important;
	display: grid !important;
	gap: clamp( 18px, 2.4vw, 30px ) !important;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	margin: 0;
}

.utsav-section--info .wp-block-column {
	background: #fffdf8;
	border: 1px solid rgba( 125, 33, 25, 0.1 );
	border-radius: 12px;
	box-shadow: 0 10px 25px rgba( 79, 22, 13, 0.08 );
	padding: clamp( 18px, 2.2vw, 28px );
}

.utsav-section--info .eventcontent_small {
	background: transparent !important;
	border: 0 !important;
	box-shadow: none !important;
	display: grid;
	gap: 0 22px;
	grid-template-columns: repeat( 2, minmax( 0, 1fr ) );
	min-height: 0 !important;
	padding: 0 !important;
}

.utsav-section--info .eventcontent_small h4 {
	grid-column: 1 / -1;
	margin: 0 0 12px;
}

.utsav-section--info .eventcontent_small > span {
	float: none;
	max-width: none;
	padding: 0;
	width: auto;
}

.utsav-footer {
	background: linear-gradient( 115deg, #8d1813, #c42a1e );
	color: #fff3df;
	position: relative;
}

.utsav-footer::after {
	background-image: radial-gradient( circle at center, transparent 36%, rgba( 255, 201, 74, 0.1 ) 37% 39%, transparent 40% );
	background-size: 90px 90px;
	content: "";
	inset: 0;
	pointer-events: none;
	position: absolute;
}

.utsav-footer__grid {
	padding-block: 14px;
	position: relative;
	z-index: 1;
}

.utsav-footer__brand {
	align-items: center;
	display: flex;
	gap: 22px;
}

.utsav-footer__brand img {
	flex: 0 0 auto;
	margin: 0;
	width: 155px;
}

.utsav-footer__brand p {
	color: #fffdf7;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.35;
	margin: 0;
	max-width: none;
	opacity: 0.88;
	white-space: normal;
}

.utsav-footer a {
	color: #fff3df;
}

.utsav-footer__bottom {
	background: rgba( 0, 0, 0, 0.2 );
	border-top: 1px solid rgba( 255, 255, 255, 0.14 );
	font-size: 14px;
	position: relative;
	z-index: 1;
}

.utsav-footer__bottom p {
	margin: 0;
	padding-block: 6px;
}

/* Shared inner-page hero and content system. */
.antorik-utsav .bannerholder-inner {
	display: none !important;
}

.utsav-inner-hero {
	display: grid;
	min-height: clamp( 330px, 34vw, 430px );
	overflow: hidden;
	position: relative;
}

.utsav-inner-hero__media,
.utsav-inner-hero__shade,
.utsav-inner-hero__content {
	grid-area: 1 / 1;
}

.utsav-inner-hero__media {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	transform: scale( 1.015 );
}

.utsav-inner-hero--events .utsav-inner-hero__media {
	background-position: center top;
}

.utsav-inner-hero--school .utsav-inner-hero__media,
.utsav-inner-hero--magazine .utsav-inner-hero__media {
	background-position: center 64%;
}

.utsav-inner-hero--contact .utsav-inner-hero__media,
.utsav-inner-hero--committee .utsav-inner-hero__media {
	background-position: center 68%;
}

.utsav-inner-hero--gallery .utsav-inner-hero__media {
	background-position: center top;
}

.utsav-inner-hero__shade {
	background: linear-gradient( 90deg, rgba( 61, 8, 7, 0.30 ) 0%, rgba( 100, 18, 13, 0.14 ) 46%, rgba( 40, 5, 4, 0 ) 100% );
}

.utsav-inner-hero__content {
	align-self: center;
	color: #fff;
	position: relative;
	z-index: 2;
}

.utsav-inner-hero__tagline {
	background: rgba( 255, 250, 238, 0.92 );
	border: 1px solid rgba( 255, 205, 85, 0.7 );
	border-radius: 13px;
	box-shadow: 0 13px 34px rgba( 50, 8, 4, 0.18 );
	color: var(--utsav-ink);
	font-size: clamp( 16px, 1.6vw, 20px );
	font-weight: 650;
	line-height: 1.45;
	max-width: 720px;
	padding: 15px 20px;
}

.utsav-inner-hero h1 {
	color: #fff;
	font-size: clamp( 44px, 6vw, 72px );
	line-height: 1.02;
	margin: 20px 0 0;
	max-width: 850px;
	text-shadow: 0 4px 18px rgba( 41, 5, 3, 0.48 );
}

.utsav-inner-content {
	background: #fffaf0;
}

.utsav-inner-content > .utsav-shell > .utsav-card {
	box-shadow: 0 18px 48px rgba( 78, 23, 13, 0.12 );
}

/* Event and calendar tables share the same elevated-card treatment. */
.utsav-event-tables .event-right,
.utsav-event-tables > .entry-content > .event-right {
	background: #fffdf8;
	border: 1px solid #ecd69e;
	border-radius: 16px;
	box-shadow: 0 16px 34px rgba( 80, 23, 13, 0.13 ), 0 3px 8px rgba( 80, 23, 13, 0.08 );
	margin: 0 0 28px;
	overflow-x: auto;
	padding: clamp( 20px, 3vw, 32px );
	transition: box-shadow 180ms ease, transform 180ms ease;
}

.utsav-event-tables .event-right:hover {
	box-shadow: 0 24px 48px rgba( 80, 23, 13, 0.18 ), 0 6px 14px rgba( 80, 23, 13, 0.1 );
	transform: translateY( -3px );
}

.utsav-event-tables .event-right h2 {
	color: var(--utsav-crimson-900);
	font-size: clamp( 25px, 3vw, 34px );
	margin: 0 0 18px;
}

.utsav-event-tables table {
	border-collapse: separate;
	border-spacing: 0;
	font-size: 14px;
	margin: 0 0 14px;
	min-width: 760px;
	width: 100%;
}

.utsav-event-tables th {
	background: linear-gradient( 100deg, #ffd965, #f5b92e );
	color: var(--utsav-crimson-950);
	font-weight: 800;
}

.utsav-event-tables th,
.utsav-event-tables td {
	border-bottom: 1px solid #eadfca;
	padding: 12px 13px;
	text-align: left;
	vertical-align: top;
}

.utsav-event-tables tbody tr:nth-child( even ) td {
	background: #fff8e9;
}

/* Four-up magazine covers with consistent, uncropped image frames. */
.utsav-magazine-content .entry-content,
.utsav-magazine-content .wp-block-gallery,
.utsav-magazine-content .blocks-gallery-grid {
	display: grid !important;
	gap: 24px !important;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) ) !important;
}

.utsav-magazine-content .entry-content .wp-block-columns,
.utsav-magazine-content .entry-content .wp-block-column {
	display: contents !important;
}

.utsav-magazine-content .entry-content > :not( .wp-block-columns ),
.utsav-magazine-content .entry-content h2,
.utsav-magazine-content .entry-content p {
	grid-column: 1 / -1;
}

.utsav-magazine-content figure,
.utsav-gallery-albums figure {
	background: #fff;
	border: 1px solid #ecddbb;
	border-radius: 14px;
	box-shadow: 0 13px 28px rgba( 77, 22, 12, 0.12 );
	margin: 0 !important;
	overflow: hidden;
	padding: 11px;
	transition: background 180ms ease, box-shadow 180ms ease, transform 180ms ease;
}

.utsav-magazine-content figure:hover,
.utsav-gallery-albums figure:hover {
	background: #fff5dc;
	box-shadow: 0 22px 42px rgba( 77, 22, 12, 0.2 );
	transform: translateY( -5px );
}

.utsav-magazine-content figure img {
	background: #f8f1e5;
	height: 300px !important;
	object-fit: contain;
	width: 100% !important;
}

.utsav-magazine-content figcaption,
.utsav-gallery-albums figcaption {
	color: var(--utsav-ink);
	font-weight: 700;
	padding: 11px 5px 4px;
}

.utsav-gallery-albums figcaption {
	display: flex;
	flex-direction: column;
	font-size: 15px;
	line-height: 1.35;
	min-height: 70px;
	padding: 13px 7px 6px;
}

.utsav-gallery-albums figcaption::after {
	color: var(--utsav-crimson-700);
	content: "View album  →";
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 0.08em;
	margin-top: auto;
	padding-top: 8px;
	text-transform: uppercase;
}

/* Gallery and committee content retain a persistent right-hand archive. */
.utsav-sidebar-layout {
	align-items: start;
	display: grid;
	gap: 28px;
	grid-template-columns: minmax( 0, 1fr ) 240px;
}

.utsav-archive-card {
	background: #fffdf8;
	border: 1px solid #ecdcb8;
	border-radius: 15px;
	box-shadow: 0 15px 34px rgba( 78, 22, 13, 0.13 );
	padding: 22px;
	position: sticky;
	top: 140px;
}

.utsav-archive-card h2 {
	font-size: 23px;
	margin: 0 0 10px;
}

.utsav-archive-card ul {
	list-style: none;
	margin: 0;
	max-height: 590px;
	overflow-y: auto;
	padding: 0;
}

.utsav-archive-card li {
	border-top: 1px solid #eadfca;
	margin: 0;
}

.utsav-archive-card a {
	color: var(--utsav-crimson-800);
	display: block;
	font-weight: 700;
	padding: 10px 8px;
	text-decoration: none;
}

.utsav-archive-card a:hover,
.utsav-archive-card a:focus-visible {
	background: #fff0cd;
	color: var(--utsav-crimson-950);
}

.utsav-gallery-albums .entry-content,
.utsav-gallery-albums .wp-block-gallery,
.utsav-gallery-albums .blocks-gallery-grid {
	display: grid !important;
	gap: 20px !important;
	grid-template-columns: repeat( 3, minmax( 0, 1fr ) ) !important;
}

.utsav-gallery-albums .entry-content .wp-block-columns,
.utsav-gallery-albums .entry-content .wp-block-column {
	display: contents !important;
}

.utsav-gallery-albums .entry-content > :not( .wp-block-columns ),
.utsav-gallery-albums .entry-content h2,
.utsav-gallery-albums .entry-content h3,
.utsav-gallery-albums .entry-content h4,
.utsav-gallery-albums .entry-content p {
	grid-column: 1 / -1;
}

.utsav-gallery-albums figure img {
	aspect-ratio: 4 / 3;
	height: auto !important;
	object-fit: cover;
	width: 100% !important;
}

.utsav-committee-content .entry-content .wp-block-columns,
.utsav-committee-content .entry-content .wp-block-gallery {
	display: grid !important;
	gap: 22px !important;
	grid-template-columns: repeat( 4, minmax( 0, 1fr ) ) !important;
}

.utsav-committee-content figure,
.utsav-committee-content .wp-block-column {
	filter: drop-shadow( 0 12px 15px rgba( 71, 20, 11, 0.17 ) );
}

.utsav-committee-content img {
	background: #f7efe1;
	border-radius: 12px;
	box-shadow: 0 10px 24px rgba( 71, 20, 11, 0.15 );
	height: 260px !important;
	object-fit: cover;
	transition: box-shadow 180ms ease, filter 180ms ease, transform 180ms ease;
	width: 100% !important;
}

.utsav-committee-content img:hover {
	box-shadow: 0 20px 38px rgba( 71, 20, 11, 0.24 );
	filter: saturate( 1.06 );
	transform: translateY( -4px );
}

/* Professional two-column Contact Form 7 layout. */
.utsav-contact-content .wpcf7-form {
	align-items: start;
	display: grid;
	gap: 0 34px;
	grid-template-columns: minmax( 0, 1.15fr ) minmax( 250px, 0.85fr );
}

.utsav-contact-content .wpcf7-form > p:nth-of-type( -n + 5 ) {
	grid-column: 1;
}

.utsav-contact-content .wpcf7-form > h4,
.utsav-contact-content .wpcf7-form > h5,
.utsav-contact-content .wpcf7-form > p:nth-of-type( n + 6 ) {
	grid-column: 2;
}

.utsav-contact-content .wpcf7-form > h4 {
	grid-row: 1;
}

.utsav-contact-content input:not([type="submit"]),
.utsav-contact-content textarea {
	background: #fffdf8;
	border: 1px solid #d9c69c;
	border-radius: 9px;
	box-sizing: border-box;
	padding: 11px 12px;
	width: 100%;
}

.utsav-contact-content input[type="submit"] {
	background: var(--utsav-crimson-700);
	border: 0;
	border-radius: 9px;
	color: #fff;
	font-weight: 800;
	padding: 12px 24px;
}

.utsav-school-content img,
.utsav-about-content img {
	border-radius: 14px;
	box-shadow: 0 16px 34px rgba( 72, 21, 12, 0.15 );
}

/* Stronger dimensional treatment for the three homepage Puja-day cards. */
.utsav-section--events #schedule-program > ul > ul {
	box-shadow: 0 16px 32px rgba( 91, 27, 17, 0.16 ), 0 4px 10px rgba( 91, 27, 17, 0.08 );
	transition: box-shadow 180ms ease, transform 180ms ease;
}

.utsav-section--events #schedule-program > ul > li:hover + ul,
.utsav-section--events #schedule-program > ul > ul:hover {
	box-shadow: 0 24px 44px rgba( 91, 27, 17, 0.23 ), 0 8px 15px rgba( 91, 27, 17, 0.11 );
	transform: translateY( -3px );
}

/* Reframe the recovered inner-page templates without altering their content. */
.antorik-utsav .container-fluid {
	padding: 0;
	width: 100%;
}

.antorik-utsav .row {
	margin-inline: 0;
}

.antorik-utsav .space {
	margin-block: 0;
	padding-block: clamp( 50px, 7vw, 90px );
}

.antorik-utsav .bannerholder-inner,
.antorik-utsav .bannerholder {
	height: auto;
	min-height: 0;
}

.antorik-utsav .homebanner-inner,
.antorik-utsav .homebanner {
	height: clamp( 240px, 34vw, 460px );
	overflow: hidden;
}

.antorik-utsav .homebanner-inner .sa_hover_container,
.antorik-utsav .homebanner .sa_hover_container {
	background-position: center !important;
	background-size: cover !important;
}

.antorik-utsav .bannerholder-inner .specialnote,
.antorik-utsav .bannerholder .specialnote {
	background: var(--utsav-paper);
	border: 1px solid var(--utsav-line);
	border-radius: 14px;
	box-shadow: var(--utsav-shadow);
	height: auto;
	margin: -45px auto 0;
	max-width: calc( var(--utsav-shell) - 48px );
	padding: 22px 26px;
	position: relative;
	z-index: 5;
}

.antorik-utsav .devicespace,
.antorik-utsav .devicespace-home {
	padding-top: 50px;
}

.antorik-utsav .pagehead {
	font-size: clamp( 34px, 4vw, 50px );
	margin-bottom: 28px;
	text-align: left;
}

.antorik-utsav .pagehead span {
	color: var(--utsav-crimson-700);
	display: block;
	font-family: inherit;
	font-size: 13px;
	font-weight: 800;
	letter-spacing: 0.14em;
	text-transform: uppercase;
}

.antorik-utsav .sponsor {
	background: #fff7e7;
	padding-block: 35px;
}

@media ( max-width: 1180px ) {
	.utsav-header__inner {
		gap: 16px;
	}

	.utsav-navigation {
		gap: 14px;
	}

	.utsav-menu {
		gap: 6px;
	}

	.utsav-menu > li > a {
		font-size: 12px;
		padding-inline: 3px;
	}

	.utsav-navigation__cta {
		padding-inline: 12px;
	}
}

@media ( max-width: 1040px ) {
	.admin-bar .utsav-header {
		top: 46px;
	}

	.utsav-utility__inner > a:first-child {
		display: none;
	}

	.utsav-header__inner {
		min-height: 76px;
	}

	.utsav-menu-toggle {
		display: inline-flex;
	}

	.utsav-navigation {
		align-items: stretch;
		background: var(--utsav-paper);
		border: 1px solid var(--utsav-line);
		border-radius: 0 0 16px 16px;
		box-shadow: var(--utsav-shadow);
		display: none;
		flex-direction: column;
		gap: 12px;
		left: 0;
		padding: 18px 24px 24px;
		position: absolute;
		right: 0;
		top: 100%;
	}

	.utsav-navigation.is-open {
		display: flex;
	}

	.utsav-menu {
		align-items: stretch;
		flex-direction: column;
		gap: 0;
	}

	.utsav-menu > li > a {
		border-bottom: 1px solid var(--utsav-line);
		color: var(--utsav-ink);
		font-size: 16px;
		padding: 11px 2px;
		white-space: normal;
	}

	.utsav-menu > li > a::after {
		display: none;
	}

	.utsav-menu > li.menu-item-has-children {
		display: block;
	}

	.utsav-menu > li.menu-item-has-children > .submenu-expand {
		display: none;
	}

	.utsav-menu .sub-menu {
		border: 0;
		box-shadow: none;
		display: block;
		margin: 0;
		padding: 2px 0 8px 18px;
		position: static;
	}

	.utsav-navigation__cta {
		align-self: flex-start;
	}

	.utsav-menu a[href*="/support/"],
	.utsav-menu a[href*="member_service"] {
		display: inline-block;
		margin-block: 7px;
	}

	.utsav-announcement__inner {
		grid-template-columns: 1fr;
	}

	.utsav-announcement__inner {
		gap: 12px;
	}

	.utsav-section--info .wp-block-columns {
		grid-template-columns: 1fr;
	}

	.utsav-magazine-content .entry-content,
	.utsav-magazine-content .wp-block-gallery,
	.utsav-magazine-content .blocks-gallery-grid,
	.utsav-magazine-content .wp-block-columns,
	.utsav-gallery-albums .entry-content,
	.utsav-gallery-albums .wp-block-gallery,
	.utsav-gallery-albums .blocks-gallery-grid,
	.utsav-committee-content .entry-content .wp-block-columns,
	.utsav-committee-content .entry-content .wp-block-gallery {
		grid-template-columns: repeat( 2, minmax( 0, 1fr ) ) !important;
	}

	.utsav-sidebar-layout {
		grid-template-columns: minmax( 0, 1fr ) 210px;
	}
}

@media ( max-width: 640px ) {
	body.antorik-utsav {
		font-size: 16px;
	}

	.utsav-shell,
	.antorik-utsav .container {
		padding-inline: 18px;
	}

	.utsav-utility__inner {
		flex-wrap: wrap;
		gap: 10px;
		justify-content: center;
		padding-block: 5px;
	}

	.utsav-utility__inner > a:first-child {
		display: none;
	}

	.utsav-utility__message {
		display: block;
		flex: 1 1 100%;
		font-size: 12px;
		text-align: center;
	}

	.utsav-social-links {
		gap: 5px;
	}

	.utsav-social-links a {
		height: 24px;
		width: 24px;
	}

	.utsav-brand img {
		width: 190px;
	}

	.utsav-hero {
		min-height: 460px;
	}

	.utsav-hero__shade {
		background: linear-gradient( 90deg, rgba( 39, 3, 2, 0.92 ), rgba( 61, 9, 8, 0.52 ) );
	}

	.utsav-inner-hero {
		min-height: 360px;
	}

	.utsav-inner-hero__shade {
		background: linear-gradient( 90deg, rgba( 46, 5, 4, 0.88 ), rgba( 83, 11, 8, 0.53 ) );
	}

	.utsav-inner-hero__tagline {
		font-size: 15px;
		padding: 12px 14px;
	}

	.utsav-inner-hero h1 {
		font-size: 42px;
		margin-top: 16px;
	}

	.utsav-hero__content {
		justify-content: center;
		padding-block: 28px 34px;
	}

	.utsav-hero h1 {
		font-size: clamp( 34px, 10vw, 48px );
	}

	.utsav-hero__mission {
		padding: 12px 14px;
	}

	.utsav-hero__mission h3 {
		font-size: 20px;
	}

	.utsav-actions,
	.utsav-actions .utsav-button {
		width: 100%;
	}

	.utsav-section__header {
		align-items: flex-start;
		flex-direction: column;
	}

	.utsav-section__header h2 {
		font-size: 39px;
	}

	.utsav-section--info .utsav-card--content {
		padding: 16px;
	}

	.utsav-section--info .wp-block-column {
		padding: 18px 16px;
	}

	.utsav-section--info .eventcontent_small {
		grid-template-columns: 1fr;
	}

	.utsav-section--events #schedule-program > ul > li {
		font-size: 16px;
		padding: 14px 15px 9px;
	}

	.utsav-section--events #schedule-program > ul > ul {
		padding: 4px 14px 15px 32px;
	}

	.utsav-magazine-content .entry-content,
	.utsav-magazine-content .wp-block-gallery,
	.utsav-magazine-content .blocks-gallery-grid,
	.utsav-magazine-content .wp-block-columns,
	.utsav-gallery-albums .entry-content,
	.utsav-gallery-albums .wp-block-gallery,
	.utsav-gallery-albums .blocks-gallery-grid,
	.utsav-committee-content .entry-content .wp-block-columns,
	.utsav-committee-content .entry-content .wp-block-gallery,
	.utsav-sidebar-layout,
	.utsav-contact-content .wpcf7-form {
		grid-template-columns: 1fr !important;
	}

	.utsav-archive-card {
		position: static;
	}

	.utsav-magazine-content figure img {
		height: 340px !important;
	}

	.utsav-contact-content .wpcf7-form > * {
		grid-column: 1 !important;
		grid-row: auto !important;
	}

	.utsav-card--content,
	.antorik-utsav .whitecard {
		border-radius: 14px;
		padding: 20px 16px;
	}

	.antorik-utsav .homebanner-inner,
	.antorik-utsav .homebanner {
		height: 220px;
	}

	.antorik-utsav .bannerholder-inner .specialnote,
	.antorik-utsav .bannerholder .specialnote {
		margin-inline: 18px;
		padding: 18px;
	}

	.utsav-footer__grid {
		padding-block: 12px;
	}

	.utsav-footer__brand {
		align-items: flex-start;
		gap: 12px;
	}

	.utsav-footer__brand img {
		width: 110px;
	}

	.utsav-footer__brand p {
		font-size: 13px;
		line-height: 1.4;
		white-space: normal;
	}
}

@media ( prefers-reduced-motion: reduce ) {
	*,
	*::before,
	*::after {
		scroll-behavior: auto !important;
		transition-duration: 0.01ms !important;
	}
}
