:root {
--pink:#d81b60;
--pink-d:#ad1457;
--pink-l:#ff6fa3;
--plum:#2a1030;
--plum2:#41174a;
--blush:#fff0f6;
--gold:#f7b538;
--ink:#2b2030;
--mute:#7b6b80;
--line:#f3d9e5
}
body {
	font-family: 'Poppins', sans-serif;
	color: var(--ink);
	background: #fff;
	font-size: 15px;
	line-height: 1.7
}
h1, h2, h3, h4, h5 {
	font-family: 'Playfair Display', serif;
	font-weight: 700;
	color: var(--plum)
}
a {
	color: var(--pink);
	text-decoration: none
}
a:hover {
	color: var(--pink-d)
}
.btn-pink {
	background: linear-gradient(135deg, var(--pink), var(--pink-d));
	color: #fff;
	border: 0;
	border-radius: 50px;
	padding: 12px 30px;
	font-weight: 600;
	box-shadow: 0 8px 20px rgba(216,27,96,.3);
	transition: .25s
}
.btn-pink:hover {
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 12px 26px rgba(216,27,96,.4)
}
.btn-ghost {
	border: 2px solid #fff;
	color: #fff;
	border-radius: 50px;
	padding: 10px 28px;
	font-weight: 600
}
.btn-ghost:hover {
	background: #fff;
	color: var(--pink)
}
.btn-outline-pink {
	border: 2px solid var(--pink);
	color: var(--pink);
	border-radius: 50px;
	padding: 9px 26px;
	font-weight: 600
}
.btn-outline-pink:hover {
	background: var(--pink);
	color: #fff
}
.topbar {
	background: linear-gradient(90deg, var(--plum), var(--pink-d));
	color: #fde7f0;
	font-size: 13px;
	padding: 7px 0
}
.topbar a {
	color: #fde7f0;
	margin-left: 16px
}
.topbar a:hover {
	color: #fff
}
.navbar {
	background: #fff;
	box-shadow: 0 4px 18px rgba(42,16,48,.08);
	padding: 8px 0
}
.navbar-brand img {
	width:500px;
}
.navbar .nav-link {
	font-weight: 600;
	font-size: 13.5px;
	color: var(--plum);
	padding: 10px 14px!important;
	letter-spacing: .2px
}
.navbar .nav-link:hover, .navbar .nav-link.show {
	color: var(--pink)
}
.dropdown-menu {
	border: 0;
	border-top: 3px solid var(--pink);
	border-radius: 0 0 10px 10px;
	box-shadow: 0 14px 30px rgba(42,16,48,.15);
	padding: 8px 0
}
.dropdown-item {
	font-size: 13.5px;
	padding: 7px 20px
}
.dropdown-item:hover {
	background: var(--blush);
	color: var(--pink)
}
.scroll-menu {
	max-height: 360px;
	overflow: auto
}
@media(min-width:992px) {
.dropdown:hover>.dropdown-menu {
	display: block
}
.navbar .container-fluid {
	padding-right: 70px;
	padding-left: 70px;
}
.topbar .container-fluid {
	padding-right: 70px;
	padding-left: 70px;
}
.footer .container-fluid {
	padding-right: 100px;
	padding-left: 100px;
}
}
.hero {
	position: relative;
	min-height: 84vh;
	display: flex;
	align-items: center;
	color: #fff;
	background: var(--plum)
}
.hero .carousel-item::after {
	  content: "";
	  position: absolute;
	  top: 0;
	  left: 0;
	  width: 100%;
	  height: 100%;
	  background: rgba(0, 0, 0, 0.5); /* Yahan 0.5 opacity ko kam ya zyada kar sakte hain dark karne ke liye */
	  z-index: 1;
	}
.hero .carousel, .hero .carousel-inner, .hero .carousel-item {
	position: absolute;
	inset: 0;
	height: 100%
}

.hero .carousel-item img {
	width: 100%;
	height: 100%;
	object-fit: cover
}
.hero:after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(100deg, rgba(42,16,48,.93) 15%, rgba(173,20,87,.55) 60%, rgba(42,16,48,.35))
}
.hero .container {
	position: relative;
	z-index: 2
}
.hero h1 {
	color: #fff;
	font-size: clamp(34px, 6vw, 68px);
	line-height: 1.1
}
.hero h1 span {
	color: var(--gold)
}
.chip {
	display: inline-block;
	background: rgba(255,255,255,.15);
	border: 1px solid rgba(255,255,255,.35);
	padding: 5px 18px;
	border-radius: 50px;
	font-size: 13px;
	letter-spacing: 1px;
	text-transform: uppercase;
	margin-bottom: 18px
}
.cd {
	display: flex;
	gap: 12px;
	margin: 26px 0 30px;
	flex-wrap: wrap
}
.cd div {
	background: rgba(255,255,255,.12);
	backdrop-filter: blur(6px);
	border: 1px solid rgba(255,255,255,.25);
	border-radius: 14px;
	min-width: 84px;
	text-align: center;
	padding: 12px 8px
}
.cd b {
	display: block;
	font: 700 32px 'Playfair Display', serif;
	line-height: 1
}
.cd small {
	font-size: 11px;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	opacity: .85
}
.strip {
	height: 14px;
	background: repeating-linear-gradient(90deg, var(--plum) 0 22px, transparent 22px 30px), var(--pink)
}
.sec {
	padding: 80px 0
}
.sec-blush {
	background: var(--blush)
}
.sec-dark {
	background: var(--plum);
	color: #e9d6ee
}
.sec-dark h2, .sec-dark h3 {
	color: #fff
}
.sec-title {
	text-align: center;
	max-width: 640px;
	margin: 0 auto 48px
}
.sec-title h2 {
	font-size: 38px
}
.sec-title h2:after {
	content: "";
	display: block;
	width: 70px;
	height: 4px;
	border-radius: 4px;
	background: linear-gradient(90deg, var(--pink), var(--gold));
	margin: 14px auto 0
}
.sec-title p {
	color: var(--mute);
	margin-top: 14px
}
.stat {
	text-align: center;
	padding: 26px 10px
}
.stat b {
	font: 700 46px 'Playfair Display', serif;
	color: var(--pink);
	display: block;
	line-height: 1.1
}
.stat span {
	color: var(--mute);
	font-size: 13px;
	letter-spacing: 1px;
	text-transform: uppercase
}
.cardx {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 16px;
	overflow: hidden;
	height: 100%;
	transition: .3s;
	box-shadow: 0 6px 20px rgba(42,16,48,.05)
}
.cardx:hover {
	transform: translateY(-6px);
	box-shadow: 0 18px 38px rgba(216,27,96,.18)
}
.cardx img {
	width: 100%;
	height: 210px;
	object-fit: cover
}
.cardx .bd {
	padding: 22px
}
.cardx h5 {
	font-family: 'Poppins';
	font-weight: 600;
	font-size: 16px;
	line-height: 1.5
}
.ico {
	width: 58px;
	height: 58px;
	border-radius: 16px;
	background: linear-gradient(135deg, var(--pink), var(--pink-l));
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 26px;
	margin-bottom: 16px
}
.act {
	background: #fff;
	border-radius: 14px;
	padding: 12px;
	border: 1px solid var(--line);
	height: 100%
}
.act h6 {
	font-weight: 600;
	margin: 0
}
.ed {
	display: block;
	background: #fff;
	border-radius: 16px;
	padding: 22px;
	border: 1px solid var(--line);
	border-left: 5px solid var(--pink);
	height: 100%;
	color: var(--ink);
	transition: .25s
}
.ed:hover {
	transform: translateY(-4px);
	box-shadow: 0 14px 30px rgba(216,27,96,.16);
	color: var(--ink)
}
.ed small {
	color: var(--pink);
	font-weight: 600;
	letter-spacing: 1px
}
.ed h5 {
	font-family: 'Poppins';
	font-weight: 600;
	font-size: 16px;
	margin: 6px 0
}
.ed p {
	font-size: 13px;
	color: var(--mute);
	margin: 0
}
.ph {
	background: linear-gradient(120deg, var(--plum), var(--pink-d));
	color: #fff;
	padding: 70px 0 54px;
	position: relative;
	overflow: hidden
}
.ph:before {
	content: "";
	position: absolute;
	right: -60px;
	top: -60px;
	width: 300px;
	height: 300px;
	border-radius: 50%;
	background: rgba(255,255,255,.07)
}
.ph h1 {
	color: #fff;
	font-size: clamp(30px, 5vw, 48px)
}
.ph .breadcrumb {
	margin: 0 0 10px;
	font-size: 13px
}
.ph .breadcrumb a, .ph .breadcrumb-item.active, .breadcrumb-item+.breadcrumb-item:before {
	color: #ffd3e4
}
.info {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 16px;
	padding: 26px;
	box-shadow: 0 6px 20px rgba(42,16,48,.05)
}
.info dt {
	color: var(--pink);
	font-size: 12px;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	margin-top: 12px
}
.info dd {
	margin: 0;
	font-weight: 500
}
.gal img {
	width: 100%;
	height: 190px;
	object-fit: cover;
	border-radius: 12px;
	transition: .3s
}
.gal img:hover {
	transform: scale(1.03);
	box-shadow: 0 10px 24px rgba(42,16,48,.25)
}
.form-control, .form-select {
	border-radius: 12px;
	border: 1px solid #ecd0dd;
	padding: 11px 16px
}
.form-control:focus, .form-select:focus {
	border-color: var(--pink);
box-shadow:0 0 0 .2rem rgba(216,27,96,.15)
}
label {
	font-weight: 500;
	font-size: 13.5px;
	margin-bottom: 4px
}
.news img {
	height: 200px
}
.partner {
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 12px;
	padding: 12px;
	height: 100px;
	display: flex;
	align-items: center;
	justify-content: center
}
.partner img {
	max-width: 100%;
	max-height: 76px;
	object-fit: contain
}
.cta {
	background: linear-gradient(120deg, var(--pink-d), var(--pink), var(--plum2));
	color: #fff;
	padding: 64px 0;
	text-align: center
}
.cta h2 {
	color: #fff
}
footer {
	background: var(--plum);
	color: #cdb4d3;
	font-size: 14px;
	padding-top: 60px
}
footer h5 {
	color: #fff;
	font-family: 'Poppins';
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 18px
}
footer a {
	color: #cdb4d3
}
footer a:hover {
	color: var(--pink-l)
}
footer ul {
	list-style: none;
	padding: 0
}
footer li {
	padding: 4px 0
}
.soc a {
	display: inline-flex;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(255,255,255,.1);
	align-items: center;
	justify-content: center;
	margin-right: 8px;
	color: #fff;
	font-size: 17px
}
.soc a:hover {
	background: var(--pink);
	color: #fff
}
.fbot {
	border-top: 1px solid rgba(255,255,255,.12);
	margin-top: 40px;
	padding: 20px 0;
	font-size: 13px
}
.dl a {
	display: flex;
	align-items: center;
	gap: 12px;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 12px;
	padding: 14px 18px;
	margin-bottom: 12px;
	font-weight: 500;
	color: var(--ink)
}
.dl a:hover {
	border-color: var(--pink);
	color: var(--pink)
}
.dl i {
	font-size: 22px;
	color: var(--pink)
}
@media(max-width:991px) {
.sec {
	padding: 56px 0
}
.navbar-brand img {
	/*height: 48px*/
    width: 197px;
}
.hero {
	min-height: 74vh
}
}
.hero-cap {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 22px;
	padding: 0 12px;
	color: #ffd3e4;
	font-size: 14px;
	letter-spacing: .4px
}
.hero .container {
	position: relative
}
.chips {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	justify-content: center
}
.yc {
	border: 1px solid var(--line);
	background: #fff;
	color: var(--plum);
	border-radius: 50px;
	padding: 5px 16px;
	font-size: 13px;
	font-weight: 500
}
.yc.on, .yc:hover {
	background: var(--pink);
	border-color: var(--pink);
	color: #fff
}
.rail-wrap {
	position: relative
}
.rail {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scroll-behavior: smooth;
	padding: 6px 2px 14px;
	scrollbar-width: thin;
	scrollbar-color: var(--pink) var(--blush)
}
.rail figure {
	flex: 0 0 min(78vw, 330px);
	scroll-snap-align: start;
	margin: 0;
	position: relative
}
.rail figure.hide {
	display: none
}
.rail img {
	width: 100%;
	height: 230px;
	object-fit: cover;
	border-radius: 16px;
	box-shadow: 0 8px 22px rgba(42,16,48,.15)
}
.rail figcaption {
	position: absolute;
	left: 12px;
	bottom: 12px;
	background: linear-gradient(135deg, var(--pink), var(--pink-d));
	color: #fff;
	font-size: 12px;
	font-weight: 600;
	padding: 3px 14px;
	border-radius: 50px
}
.rb {
	position: absolute;
	top: 50%;
	transform: translateY(-60%);
	z-index: 3;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 0;
	background: #fff;
	color: var(--pink);
	box-shadow: 0 6px 18px rgba(42,16,48,.25);
	font-size: 18px
}
.rb:hover {
	background: var(--pink);
	color: #fff
}
.rb.prev {
	left: -10px
}
.rb.next {
	right: -10px
}
.vid {
	position: relative;
	aspect-ratio: 16/9;
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 12px 30px rgba(0,0,0,.35);
	border: 3px solid rgba(255,255,255,.12)
}
.vid iframe {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0
}
/* hero arrows, dots, caption */
.hero-arrow {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 4;
	width: 54px;
	height: 54px;
	border-radius: 50%;
	border: 1px solid rgba(255,255,255,.55);
	background: rgba(255,255,255,.14);
	backdrop-filter: blur(6px);
	color: #fff;
	font-size: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: .25s;
	cursor: pointer
}
.hero-arrow:hover {
	background: var(--pink);
	border-color: var(--pink)
}
.hero-arrow.prev {
	left: 22px
}
.hero-arrow.next {
	right: 22px
}
.hero-bot {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 26px;
	z-index: 4;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	flex-wrap: wrap;
	left: 50%;
	transform: translateX(-50%)
}
.hero-dots {
	display: flex;
	gap: 7px;
	flex-wrap: wrap
}
.hero-dots button {
	width: 10px;
	height: 10px;
	border-radius: 50%;
	border: 0;
	padding: 0;
	background: rgba(255,255,255,.45);
	transition: .25s
}
.hero-dots button.active {
	width: 30px;
	border-radius: 6px;
	background: var(--gold)
}
.hero-cap {
	font-size: 13px;
	color: #ffe3ee;
	letter-spacing: .4px
}
/* gallery slider + tabs */
.gtabs {
	flex-wrap: nowrap;
	overflow-x: auto;
	white-space: nowrap;
	padding-bottom: 6px
}
.gtabs .nav-link {
	color: var(--plum);
	font-weight: 600;
	font-size: 13.5px;
	border-radius: 50px;
	padding: 8px 20px;
	border: 1px solid var(--line);
	margin-right: 8px;
	background: #fff
}
.gtabs .nav-link.active {
	background: linear-gradient(135deg, var(--pink), var(--pink-d));
	color: #fff;
	border-color: transparent
}
.hslider {
	position: relative
}
.hslider .track {
	display: flex;
	gap: 16px;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	scrollbar-width: none;
	padding: 6px 2px
}
.hslider .track::-webkit-scrollbar {
display:none
}
.hslider .track a {
	flex: 0 0 calc((100% - 32px)/3);
	scroll-snap-align: start
}
.hslider .track img {
	width: 100%;
	height: 260px;
	object-fit: cover;
	border-radius: 16px;
	box-shadow: 0 8px 22px rgba(42,16,48,.15)
}
.sl-btn {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 3;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	border: 0;
	background: #fff;
	color: var(--pink);
	box-shadow: 0 6px 18px rgba(42,16,48,.25);
	font-size: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: .2s
}
.sl-btn:hover {
	background: var(--pink);
	color: #fff
}
.sl-btn.prev {
	left: -14px
}
.sl-btn.next {
	right: -14px
}
.vid {
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 14px 34px rgba(0,0,0,.4);
	background: #000
}
@media(max-width:991px) {
.hslider .track a {
	flex-basis: calc((100% - 16px)/2)
}
.hero-arrow {
	width: 42px;
	height: 42px;
	font-size: 18px
}
.hero-arrow.prev {
	left: 8px
}
.hero-arrow.next {
	right: 8px
}
}
@media(max-width:575px) {
.hslider .track a {
	flex-basis: 100%
}
.hslider .track img {
	height: 220px
}
.sl-btn.prev {
	left: 4px
}
.sl-btn.next {
	right: 4px
}
.hero-cap {
	display: none
}
}
/* simple image sliders (gallery / moments / partners) */
.hslider .track .sl-item {
	position: relative;
	display: block;
	flex: 0 0 calc((100% - 32px)/3);
	scroll-snap-align: start
}
.hslider .track .sl-item img {
	width: 100%;
	height: 260px;
	object-fit: cover;
	border-radius: 16px
}
.sl-item span {
	position: absolute;
	left: 12px;
	bottom: 12px;
	background: rgba(42,16,48,.78);
	color: #fff;
	font-size: 12px;
	padding: 3px 14px;
	border-radius: 50px
}
.hslider.p .track .sl-item.partner {
	flex: 0 0 calc((100% - 80px)/6);
	height: 110px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	border: 1px solid var(--line);
	border-radius: 14px;
	padding: 14px
}
.hslider.p .track .sl-item.partner img {
	height: auto;
	max-height: 80px;
	border-radius: 0;
	box-shadow: none;
	object-fit: contain
}
.vwrap {
	max-width: 900px;
	margin: 0 auto
}
.vind {
	position: static;
	margin: 20px 0 0;
	gap: 6px
}
.vind button {
	width: 10px!important;
	height: 10px;
	border-radius: 50%;
	border: 0!important;
	background: rgba(255,255,255,.4)!important;
	opacity: 1
}
.vind button.active {
	width: 30px!important;
	border-radius: 6px;
	background: var(--gold)!important
}
.vnav {
	display: flex;
	justify-content: center;
	gap: 16px;
	margin-top: 18px
}
.vnav .sl-btn {
	position: static;
	transform: none
}
@media(max-width:991px) {
.hslider .track .sl-item {
	flex-basis: calc((100% - 16px)/2)
}
.hslider.p .track .sl-item.partner {
	flex-basis: calc((100% - 32px)/3)
}
}
@media(max-width:575px) {
.hslider .track .sl-item {
	flex-basis: 100%
}
.hslider .track .sl-item img {
	height: 220px
}
.hslider.p .track .sl-item.partner {
	flex-basis: calc((100% - 16px)/2)
}
}






.partner-slider-footer {
	width: 100%;
	overflow: hidden;
	position: relative;
}

.partner-slider-footer .tracks {
	display: flex;
	flex-wrap: nowrap;
	gap: 15px;
	transition: transform 0.5s ease-in-out;
	will-change: transform;
}

.partner-slider-footer .sl-item {
	flex: 0 0 calc((100% - 15px) / 2);
	min-width: 0;
	box-sizing: border-box;
}

.partner-slider-footer .sl-item img {
	display: block;
	width: 100%;
	height: 80px;
	object-fit: contain;
}









/* Non-Official Selection Slider */
.non-official-slider {
    position: relative;
    width: 100%;
    overflow: hidden;
}

/* Slider Track */
.non-official-slider .non-official-track {
    display: flex;
    align-items: flex-start;
    gap: 16px;

    overflow-x: auto;
    overflow-y: hidden;

    scroll-behavior: smooth;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
    -ms-overflow-style: none;

    padding: 6px 2px;
}

/* Hide Scrollbar */
.non-official-slider .non-official-track::-webkit-scrollbar {
    display: none;
}

/* Slider Item - Original Image Size */
.non-official-slider .non-official-track .sl-item {
    flex: 0 0 auto;
    width: auto;
    height: auto;

    display: block;
    scroll-snap-align: start;

    text-decoration: none;
}

/* Images - Preserve Original Dimensions */
.non-official-slider .non-official-track .sl-item img {
    display: block;

    width: auto;
    height: auto;

    max-width: none;
    max-height: none;

    object-fit: unset;
    border-radius: 16px;
}

/* Image Caption */
.non-official-slider .non-official-track .sl-item span {
    display: block;
    margin-top: 10px;
    text-align: center;
}

/* Optional Previous / Next Buttons */
.non-official-slider .sl-btn {
    cursor: pointer;
    z-index: 2;
}

/* Mobile */
@media (max-width: 767px) {
    .non-official-slider .non-official-track {
        gap: 12px;
    }

    .non-official-slider .non-official-track .sl-item img {
        max-width: none;
    }
}











.riff-brochure-text {
        font-size: 18px;
		color:#FFF;
    }


@media (max-width: 480px) {
    .riff-brochure-section {
        padding: 20px 15px;
    }

    .riff-brochure-btn {
        width: 100%;
        min-width: 0;
        padding: 12px;
        gap: 12px;
    }
	
	.riff-brochure-text strong {
        font-size: 12px;
        letter-spacing: 0.8px;
    }

    .riff-brochure-text small {
        font-size: 10px;
    }
}







/* ===== Testimonial Section ===== */
.testi-sec {
	background: var(--blush);
	overflow: hidden;
}
.testi-media {
	position: relative;
	min-height: 320px;
}
.testi-media img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.testi-media::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(42,16,48,.55), rgba(173,20,87,.25));
}
.play-btn {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
	width: 84px;
	height: 84px;
	border-radius: 50%;
	border: 3px solid #fff;
	background: linear-gradient(135deg, var(--pink), var(--pink-d));
	color: #fff;
	font-size: 42px;
	display: flex;
	align-items: center;
	justify-content: center;
	padding-left: 5px;
	cursor: pointer;
	box-shadow: 0 0 0 0 rgba(216,27,96,.6);
	animation: playPulse 2s infinite;
	transition: transform .25s;
}
.play-btn:hover {
	transform: translate(-50%, -50%) scale(1.1);
}
@keyframes playPulse {
	0%   { box-shadow: 0 0 0 0 rgba(216,27,96,.55); }
	70%  { box-shadow: 0 0 0 22px rgba(216,27,96,0); }
	100% { box-shadow: 0 0 0 0 rgba(216,27,96,0); }
}
.testi-body {
	position: relative;
	padding: 48px 60px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
.testi-title {
	font-size: 30px;
	color: var(--pink);
	margin-bottom: 22px;
}
.testi-quote-mark {
	position: absolute;
	top: 28px;
	right: 50px;
	font-size: 110px;
	line-height: 1;
	color: rgba(216,27,96,.15);
}
.testi-avatar {
	width: 90px;
	height: 90px;
	border-radius: 50%;
	object-fit: cover;
	border: 4px solid #fff;
	box-shadow: 0 6px 18px rgba(42,16,48,.2);
	margin-bottom: 18px;
}
.testi-text {
	font-size: 17px;
	color: var(--ink);
	min-height: 54px;
	margin-bottom: 18px;
}
.testi-name {
	font-family: 'Poppins', sans-serif;
	font-weight: 600;
	font-size: 17px;
	margin: 0;
	color: var(--plum);
}
.testi-role {
	font-size: 13.5px;
	font-weight: 600;
	color: var(--gold);
}
.testi-nav {
	position: absolute;
	right: 0;
	bottom: 0;
	display: flex;
	gap: 14px;
}
.testi-nav button {
	background: none;
	border: 0;
	font-size: 24px;
	color: var(--plum);
	transition: .2s;
}
.testi-nav button:hover {
	color: var(--pink);
	transform: scale(1.15);
}
@media (max-width: 991px) {
	.testi-media { min-height: 240px; }
	.testi-body { padding: 36px 24px 50px; }
	.testi-quote-mark { right: 20px; font-size: 80px; }
}












.non-official-slider {
  position: relative;
  /* overflow: hidden; agar hata sakte hain ya visible rakh sakte hain taaki button bahar dikhein */
}

/* Slider Navigation Buttons Styling */
.sl-btn {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  background-color: rgba(255, 255, 255, 0.9);
  color: #333;
  border: none;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  z-index: 10;
  box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2);
  transition: background 0.3s, color 0.3s;
}

.sl-btn:hover {
  background-color: #e63946;
  color: #fff;
}

/* Left Button Position */
.sl-btn.prev {
  left: 10px; /* Slider ke andar thoda andar ki taraf */
}

/* Right Button Position */
.sl-btn.next {
  right: 10px; /* Slider ke andar thoda andar ki taraf */
}


.parallel-slider-wrapper {
  display: flex;
  align-items: center;
  gap: 20px;
}

.parallel-image-box {
  flex: 0 0 250px; /* Adjust image width as needed */
  max-width: 250px;
}

.parallel-image-box img {
  width: 100%;
  height: auto;
  border-radius: 8px;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
  display: block;
}

.non-official-slider {
  flex: 1; /* Takes remaining space for slider */
  position: relative;
  overflow: hidden;
}

/* Mobile Responsive Adjustments */
@media (max-width: 768px) {
  .parallel-slider-wrapper {
    flex-direction: column;
  }
  .parallel-image-box {
    max-width: 100%;
    width: 100%;
  }
}




/* ===== RIFF 2026 detail page ===== */
.navbar .btn-outline-pink.active { background: var(--pink); color: #fff; }
.facts-wrap { margin-top: -34px; position: relative; z-index: 3; }
.fact {
	background: #fff;
	border: 1px solid var(--line);
	border-top: 4px solid var(--pink);
	border-radius: 14px;
	padding: 18px 20px;
	height: 100%;
	box-shadow: 0 10px 26px rgba(42,16,48,.1);
}
.fact i { font-size: 22px; color: var(--pink); }
.fact small { display: block; color: var(--mute); font-size: 12px; margin-top: 4px; }
.fact b { display: block; font-weight: 600; color: var(--plum); line-height: 1.4; }
.award-grid a { display: block; }
.award-grid img { width: 100%; height: 220px; object-fit: cover; object-position: top; transition: .25s; }
.award-grid img:hover { transform: translateY(-4px); box-shadow: 0 14px 30px rgba(216,27,96,.2) !important; }
.day-tabs { gap: 8px; flex-wrap: wrap; }
.day-tabs .nav-link {
	color: var(--plum);
	font-weight: 600;
	border: 1px solid var(--line);
	border-radius: 14px;
	padding: 8px 22px;
	background: #fff;
	text-align: center;
	line-height: 1.3;
}
.day-tabs .nav-link small { display: block; font-weight: 400; font-size: 12px; opacity: .8; }
.day-tabs .nav-link.active { background: linear-gradient(135deg, var(--pink), var(--pink-d)); color: #fff; border-color: transparent; }
.sch-row {
	display: grid;
	grid-template-columns: 110px 1fr auto;
	gap: 16px;
	align-items: center;
	background: #fff;
	border: 1px solid var(--line);
	border-left: 5px solid var(--pink);
	border-radius: 14px;
	padding: 16px 20px;
	margin-bottom: 12px;
}
.sch-time { color: var(--pink); font-weight: 600; }
.sch-title { font-weight: 500; color: var(--plum); }
.sch-tag { background: var(--blush); color: var(--pink-d); border-radius: 50px; padding: 3px 14px; font-size: 12px; font-weight: 600; white-space: nowrap; }
@media (max-width: 575px) {
	.sch-row { grid-template-columns: 1fr; gap: 4px; }
	.sch-tag { justify-self: start; }
}

/* ===== Login / Register ===== */
.auth-sec {
	background: linear-gradient(120deg, var(--plum), var(--pink-d));
	padding: 56px 0;
	min-height: calc(100vh - 150px);
	display: flex;
	align-items: center;
}
.auth-card {
	max-width: 940px;
	background: #fff;
	border-radius: 20px;
	overflow: hidden;
	box-shadow: 0 24px 60px rgba(0,0,0,.35);
}
.auth-card.auth-wide { max-width: 1040px; }
.auth-side {
	background: linear-gradient(160deg, var(--plum2), var(--plum));
	color: #e9d6ee;
	padding: 48px 38px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	border-right: 6px solid var(--gold);
}
.auth-side h2 { color: #fff; font-size: 34px; }
.auth-side li { padding: 6px 0; }
.auth-side .bi { color: var(--gold); }
.auth-form { padding: 48px 44px; }
.auth-form h3 { font-size: 28px; color: var(--plum); }
.auth-form .input-group-text { background: var(--blush); border: 1px solid #ecd0dd; border-right: 0; border-radius: 12px 0 0 12px; color: var(--pink); }
.auth-form .input-group .form-control:not(:first-child) { border-left: 0; border-radius: 0 12px 12px 0; }
.auth-form .input-group .form-control:has(+ .pw-toggle) { border-radius: 0; }
.pw-toggle { border: 1px solid #ecd0dd; border-left: 0; border-radius: 0 12px 12px 0; color: var(--mute); background: #fff; }
.pw-toggle:hover { color: var(--pink); }
.auth-form .input-group:not(:has(.input-group-text)) .form-control { border-radius: 12px 0 0 12px; }
.auth-form .form-check-input:checked { background-color: var(--pink); border-color: var(--pink); }
.auth-form .btn-pink { padding: 12px; }
@media (max-width: 991px) {
	.auth-side { padding: 32px 26px; border-right: 0; border-bottom: 6px solid var(--gold); }
	.auth-form { padding: 34px 24px; }
}






/* Custom Styling for RIFF PDF Links */
        .riff-pdf-list-row {
            padding: 20px 0;
            /*background-color: #fcfcfc; /* Optional very light background */
        }

        .riff-pdf-btn {
            background-color: #d12e3e; /* Standard red color like image */
            color: #ffffff;
            border: none;
            border-radius: 4px; /* Slight rounding on corners */
            padding: 10px 15px;
            text-decoration: none;
            display: flex;
            align-items: center;
            justify-content: space-between; /* Icon moves to the right edge */
            font-size: 13px; /* Smaller font like image */
            text-transform: uppercase; /* Match capitalization */
            letter-spacing: 0.5px;
            height: 100%; /* Important for text alignment across lines */
            box-shadow: 0 2px 4px rgba(0,0,0,0.1);
            transition: background-color 0.3s, transform 0.2s;
        }

        .riff-pdf-btn:hover {
            background-color: #b12533; /* Darker red on hover */
            color: #ffffff;
            transform: translateY(-1px);
        }

        /* Container for the multi-line text */
        .riff-pdf-text {
            line-height: 1.3; /* Tighter line spacing for red bar style */
            text-align: left;
            padding-right: 15px; /* Space between text and icon */
        }

        /* Styling for the specific text lines */
        .pdf-line-1 { font-weight: 700; color: #f1f1f1; }
        .pdf-line-2 { font-weight: 700; color: #fff; }
        .pdf-line-3 { font-weight: 400; color: #ffcccc; font-size: 11px; }

        /* Icon styling */
        .riff-pdf-btn .bi-file-pdf {
            font-size: 24px; /* Larger icon like image */
            opacity: 0.9;
        }