/* ==========================================================================
   SARRVAMANGALI SILK — Campaign Edition (secondary kit)
   Night studio set: black-navy drape, electric-cobalt floor, crossed poles,
   collage prints with coloured mats. Scoped to .svn-* classes, so it never
   changes the Heritage Gallery pages.
   ========================================================================== */
:root {
	--svn-night: var(--e-global-color-svnnight, #0A0E1C);
	--svn-indigo: var(--e-global-color-svnindigo, #13235A);
	--svn-cobalt: var(--e-global-color-svncobalt, #1F63D8);
	--svn-parchment: var(--e-global-color-svnparchment, #F3EBDD);
	--svn-silver: var(--e-global-color-svnsilver, #A9B4C2);
	--svn-vermilion: var(--e-global-color-svnvermilion, #D7261E);
	--svn-saffron: var(--e-global-color-svnsaffron, #E58A1F);
	--svn-verdigris: var(--e-global-color-svnverdigris, #3F5C50);
	--svn-pole: #05070D;
	--svn-grain: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.85' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix values='0 0 0 0 1 0 0 0 0 1 0 0 0 0 1 0 0 0 .55 0'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");
}

/* ---------- Page canvas ---------- */
body.svn-dark-page { background: var(--svn-night); color: var(--svn-parchment); }
.svn-section { position: relative; isolation: isolate; color: var(--svn-parchment); }
.svn-section::after { /* film grain, like the printed collages */
	content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
	background-image: var(--svn-grain); opacity: .07; mix-blend-mode: overlay;
}
.svn-section > * { position: relative; z-index: 1; }

/* The studio set: drape fades into an electric-blue floor */
.svn-stage { background: linear-gradient(180deg, var(--svn-night) 0%, #0C1330 48%, var(--svn-indigo) 66%, #1A4CB0 84%, var(--svn-cobalt) 100%) !important; }
.svn-floor { background: linear-gradient(180deg, var(--svn-indigo) 0%, var(--svn-cobalt) 100%) !important; }
.svn-floor--down { background: linear-gradient(180deg, var(--svn-cobalt) 0%, var(--svn-indigo) 45%, var(--svn-night) 100%) !important; }

/* Crossed poles motif */
.svn-poles::before {
	content: ""; position: absolute; inset: 0; z-index: 0; pointer-events: none;
	background:
		linear-gradient(63deg, transparent calc(50% - 9px), var(--svn-pole) calc(50% - 9px), #141A2B calc(50% - 2px), var(--svn-pole) calc(50% + 9px), transparent calc(50% + 9px)),
		linear-gradient(-58deg, transparent calc(50% - 8px), var(--svn-pole) calc(50% - 8px), #121828 calc(50% + 1px), var(--svn-pole) calc(50% + 8px), transparent calc(50% + 8px));
	opacity: .9;
}
.svn-poles--soft::before { opacity: .45; }
@media (max-width: 767px) { .svn-poles::before { opacity: .5; } }

/* ---------- Type on dark ---------- */
.svn-section .svm-label .elementor-heading-title, .svn-label .elementor-heading-title {
	font-family: var(--svm-sans); font-size: 12px; font-weight: 500; letter-spacing: .22em; text-transform: uppercase; color: var(--svn-silver) !important;
}
.svn-label--saffron .elementor-heading-title { color: var(--svn-saffron) !important; }
.svn-caps .elementor-heading-title { text-transform: uppercase; letter-spacing: .08em; }
.svn-display .elementor-heading-title { font-style: italic; }
.svn-poles .svn-display .elementor-heading-title { max-width: 24ch; margin-inline: auto; }
.svn-section .elementor-widget-text-editor { color: var(--svn-silver); }
.svn-section .elementor-widget-text-editor a { color: var(--svn-parchment); }
.svn-plate { font: 500 11px/1.4 var(--svm-sans); letter-spacing: .22em; text-transform: uppercase; color: var(--svn-silver); }

/* ---------- Buttons on dark ---------- */
.svn-btn .elementor-button {
	background: var(--svn-parchment) !important; color: var(--svn-night) !important; border: 1px solid var(--svn-parchment) !important;
}
.svn-btn .elementor-button:hover, .svn-btn .elementor-button:focus-visible { background: var(--svn-vermilion) !important; border-color: var(--svn-vermilion) !important; color: var(--svn-parchment) !important; }
.svn-btn--ghost .elementor-button { background: transparent !important; color: var(--svn-parchment) !important; border-color: rgba(243, 235, 221, .7) !important; }
.svn-btn--ghost .elementor-button:hover, .svn-btn--ghost .elementor-button:focus-visible { background: var(--svn-parchment) !important; color: var(--svn-night) !important; border-color: var(--svn-parchment) !important; }
.svn-btn--link .elementor-button {
	background: none !important; border: 0 !important; padding: 0 0 4px !important; color: var(--svn-parchment) !important;
	background-image: linear-gradient(currentColor, currentColor) !important; background-size: 100% 1px !important; background-repeat: no-repeat !important; background-position: 0 100% !important;
}
.svn-btn--link .elementor-button:hover { color: var(--svn-saffron) !important; background-size: 0 1px !important; }

/* ---------- Framed prints (coloured mats, like the collage plates) ---------- */
.svn-frame img, .svn-frame video, .svn-frame .elementor-custom-embed-image-overlay {
	box-sizing: border-box; border: 10px solid var(--svn-frame, var(--svn-parchment)); background: var(--svn-frame, var(--svn-parchment));
	box-shadow: 0 30px 60px -30px rgba(0, 0, 0, .8);
}
.svn-frame--parchment { --svn-frame: var(--svn-parchment); }
.svn-frame--vermilion { --svn-frame: var(--svn-vermilion); }
.svn-frame--saffron { --svn-frame: var(--svn-saffron); }
.svn-frame--verdigris { --svn-frame: var(--svn-verdigris); }
.svn-frame--cobalt { --svn-frame: var(--svn-cobalt); }
.svn-frame--thin img, .svn-frame--thin video { border-width: 6px; }
@media (max-width: 767px) { .svn-frame img, .svn-frame video { border-width: 6px; } }
.svn-print img { width: 100%; height: auto; display: block; } /* collage plates keep their own printed mat */
.svn-ratio-45 img, .svn-ratio-45 video { width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; }
.svn-ratio-169 video, .svn-ratio-169 .elementor-custom-embed-image-overlay { aspect-ratio: 16 / 9; }

/* Tilted plates on the collage wall */
.svn-tilt-l { transform: rotate(-1.6deg); }
.svn-tilt-r { transform: rotate(1.4deg); }
.svn-tilt-l, .svn-tilt-r { transition: transform .6s var(--svm-ease); }
.svn-tilt-l:hover, .svn-tilt-r:hover { transform: rotate(0); }
@media (max-width: 767px) { .svn-tilt-l, .svn-tilt-r { transform: none; } }

/* ---------- Film hero ---------- */
.svn-film-hero { background-color: var(--svn-night) !important; }
.svn-film-hero::before {
	content: ""; position: absolute; inset: 0; z-index: 1; pointer-events: none;
	background: linear-gradient(180deg, rgba(10, 14, 28, .55) 0%, rgba(10, 14, 28, 0) 28%, rgba(10, 14, 28, 0) 55%, rgba(10, 14, 28, .82) 100%);
}
.svn-film-hero > .e-con-inner, .svn-film-hero > .elementor-element { position: relative; z-index: 2; }
.svn-film-hero .elementor-background-video-container { z-index: 0; }
.svn-film-hero .elementor-background-video-hosted { object-fit: cover; }

/* Film block */
.svn-film .elementor-custom-embed-play i, .svn-film .elementor-custom-embed-play svg { color: var(--svn-parchment); fill: var(--svn-parchment); opacity: .95; }
.svn-film .elementor-custom-embed-play { transition: transform .3s; }
.svn-film:hover .elementor-custom-embed-play { transform: translate(-50%, -50%) scale(1.08); }

/* Loop video (the animated collage) — no controls, behaves like an image */
.svn-loop video { pointer-events: none; width: 100%; aspect-ratio: 4 / 5; object-fit: cover; display: block; }

/* ---------- Collage wall ---------- */
.svn-wall { display: grid !important; grid-template-columns: repeat(12, 1fr); gap: 32px 28px; align-items: start; }
.svn-wall > .svn-plate-card:nth-child(1) { grid-column: 1 / span 4; }
.svn-wall > .svn-plate-card:nth-child(2) { grid-column: 5 / span 4; margin-top: 96px; }
.svn-wall > .svn-plate-card:nth-child(3) { grid-column: 9 / span 4; margin-top: 24px; }
.svn-wall > .svn-plate-card:nth-child(4) { grid-column: 2 / span 4; margin-top: -40px; }
.svn-wall > .svn-plate-card:nth-child(5) { grid-column: 6 / span 3; margin-top: 40px; }
.svn-wall > .svn-plate-card:nth-child(6) { grid-column: 9 / span 4; margin-top: -24px; }
.svn-plate-card { width: auto !important; }
.svn-plate-card .elementor-widget-image { margin-bottom: 0; }
@media (max-width: 1024px) {
	.svn-wall { grid-template-columns: repeat(2, 1fr); gap: 24px; }
	.svn-wall > .svn-plate-card { grid-column: auto !important; margin-top: 0 !important; }
	.svn-wall > .svn-plate-card:nth-child(even) { margin-top: 48px !important; }
}
@media (max-width: 767px) { .svn-wall { gap: 14px; } .svn-wall > .svn-plate-card:nth-child(even) { margin-top: 28px !important; } }

/* ---------- Looks ---------- */
.svn-look__num .elementor-heading-title { font-family: var(--svm-serif); font-style: italic; font-size: 96px !important; line-height: .9; color: transparent !important; -webkit-text-stroke: 1px rgba(243, 235, 221, .55); }
@media (max-width: 767px) { .svn-look__num .elementor-heading-title { font-size: 64px !important; } }
.svn-triptych { display: grid !important; grid-template-columns: 1fr 1.15fr 1fr; gap: 28px; align-items: center; }
@media (max-width: 767px) { .svn-triptych { grid-template-columns: 1fr 1fr; } .svn-triptych > :nth-child(2) { grid-column: 1 / -1; order: -1; } }

/* ---------- Products on dark (carousel from the Heritage kit) ---------- */
.svn-section .woocommerce ul.products li.product .woocommerce-loop-product__title { color: var(--svn-parchment) !important; }
.svn-section .woocommerce ul.products li.product .price { color: var(--svn-silver) !important; }
.svn-section .svm-tag { color: var(--svn-saffron); }
.svn-section .svm-media { background: #151B2E; }
.svn-section .svm-carousel__btn { border-color: var(--svn-parchment) !important; color: var(--svn-parchment) !important; }
.svn-section .svm-carousel__btn:hover:not(:disabled) { background: var(--svn-parchment) !important; color: var(--svn-night) !important; }
.svn-section .svm-weave { color: var(--svn-parchment); }
.svn-section .svm-weave__media { background: #151B2E; outline: 1px solid rgba(243, 235, 221, .18); outline-offset: 6px; }
.svn-section .svm-weave:hover .svm-weave__name { color: var(--svn-saffron); }
.svn-section .svm-similar { color: var(--svn-saffron); }

/* Exhibitions ticker on the floor band */
.svn-section .svm-marquee { border-color: rgba(243, 235, 221, .25); }
.svn-section .svm-marquee li { color: var(--svn-parchment); }

/* Forms on dark */
.svn-section .elementor-field-group input, .svn-section .elementor-field-group textarea {
	background: transparent !important; color: var(--svn-parchment) !important; border: 0 !important; border-bottom: 1px solid rgba(243, 235, 221, .6) !important; border-radius: 0 !important;
}
.svn-section .elementor-field-group input::placeholder { color: var(--svn-silver); }
.svn-section .elementor-form .elementor-button { background: var(--svn-parchment) !important; color: var(--svn-night) !important; }
.svn-section .elementor-form .elementor-button:hover { background: var(--svn-vermilion) !important; color: var(--svn-parchment) !important; }
.svn-section .svm-newsletter-form input[type=email] { border: 0 !important; border-bottom: 1px solid rgba(243, 235, 221, .6) !important; }

/* ---------- Header on campaign pages ---------- */
.svn-dark-page .elementor-location-header { position: fixed; left: 0; right: 0; }
.svn-dark-page:not(.svm-scrolled) .svm-mainbar { background-color: transparent !important; border-bottom-color: transparent !important; }
.svn-dark-page .svm-mainbar, .svn-dark-page.svm-scrolled .svm-mainbar { border-bottom-color: rgba(243, 235, 221, .12) !important; }
.svn-dark-page.svm-scrolled .svm-mainbar { background-color: rgba(10, 14, 28, .94) !important; backdrop-filter: blur(8px); box-shadow: none; }
.svn-dark-page .svm-mainbar .e-n-menu-title-text,
.svn-dark-page .svm-mainbar .svm-icons__btn.svm-icons__btn,
.svn-dark-page .svm-mainbar .svm-wordmark,
.svn-dark-page .svm-mainbar .svm-burger.svm-burger,
.svn-dark-page .svm-mainbar .svm-mega .e-n-menu-dropdown-icon.e-n-menu-dropdown-icon { color: var(--svn-parchment) !important; }
.svn-dark-page .svm-mainbar .e-n-menu-title:hover .e-n-menu-title-text { color: var(--svn-saffron) !important; }
/* Open mega panel keeps the light palette for legibility */
.svn-dark-page .svm-header:hover .svm-mainbar, .svn-dark-page .svm-header:focus-within .svm-mainbar { background-color: var(--svn-night) !important; }
.svn-dark-page .svm-header:hover .svm-mainbar *, .svn-dark-page .svm-header:focus-within .svm-mainbar * { color: var(--svn-parchment) !important; }
.svn-dark-page .svm-header .svm-mainbar .svm-mega-panel,
.svn-dark-page .svm-header .svm-mainbar .svm-mega-panel * { color: var(--svm-ink) !important; }
.svn-dark-page .svm-header .svm-mainbar .svm-mega-panel a:hover * { color: var(--svm-maroon) !important; }

/* Reveal on dark — slightly longer, like a slow fade-in on film */
html.svm-js .svn-section .svm-reveal { transition-duration: .7s; }

@media (prefers-reduced-motion: reduce) {
	.svn-tilt-l, .svn-tilt-r { transform: none; }
}
