/* ============================================================
   INVOLVED HOLIDAYS — /offers/competiton/
   seventy9-child/blocks/css/competiton.css
   Paired with seventy9-child/pages/competiton.php

   Tokens live on the page wrapper, never :root, so the palette
   and type scale can't leak sitewide. Everything is prefixed,
   following the pattern set by destinations.css.
   ============================================================ */

.ihh-competition{
	--ihc-navy:#0e478a;
	--ihc-navy-deep:#0d2d50;
	--ihc-heading-blue:#0e478a;
	--ihc-blue-btn:#2f6cb5;
	--ihc-blue-btn-dark:#255a99;
	--ihc-gold:#c69a3f;
	--ihc-gold-dark:#a97f2f;
	--ihc-ink:#1c2b3a;
	--ihc-muted:#646a72;
	--ihc-border:#e5e8eb;
	--ihc-subtle:#f5f7f9;
	--ihc-sand:#f7f2e7;
}

.ihh-competition{
	font-family:Lato, sans-serif;
}

/* ============================================================
   HERO — full-bleed photo, navy scrim
   ============================================================ */

.ihh-competition .ihh-c-hero{
	position:relative;
	background:var(--ihc-navy-deep);
	overflow:hidden;
	isolation:isolate;
}
.ihh-competition .ihh-c-hero__figure{
	position:absolute;
	inset:0;
	z-index:0;
	margin:0;
	padding:0;
	overflow:hidden;
}
.ihh-competition .ihh-c-hero__img{
	width:100%;
	height:100%;
	object-fit:cover;
	display:block;
}
.ihh-competition .ihh-c-hero__scrim{
	position:absolute;
	inset:0;
	z-index:1;
	pointer-events:none;
	background:linear-gradient(180deg, rgba(9,28,50,.55) 0%, rgba(9,28,50,.62) 45%, rgba(9,28,50,.86) 100%);
}
.ihh-competition .ihh-c-hero__inner{
	position:relative;
	z-index:2;
	width:100%;
	max-width:1320px;
	margin:0 auto;
	min-height:clamp(440px, 58vw, 600px);
	display:flex;
	flex-direction:column;
	justify-content:flex-end;
	gap:1.5rem;
	padding:clamp(2.5rem, 6vw, 4.5rem) clamp(1.5rem, 6vw, 3.5rem) clamp(2.25rem, 5vw, 3.5rem);
}
.ihh-competition .ihh-c-hero__row{
	display:flex;
	align-items:flex-end;
	justify-content:space-between;
	gap:2.5rem;
}
.ihh-competition .ihh-c-hero__copy{ max-width:640px; }

.ihh-competition .ihh-c-hero__crumbs{
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	gap:.4rem;
	font-family:Lato, sans-serif;
	font-size:.82rem;
	color:rgba(255,255,255,.72);
	margin:0 0 1.1rem;
}
.ihh-competition .ihh-c-hero__crumbs a{
	color:rgba(255,255,255,.72) !important;
	text-decoration:none;
}
.ihh-competition .ihh-c-hero__crumbs a:hover{ color:#fff !important; text-decoration:underline; }
.ihh-competition .ihh-c-hero__crumbs span[aria-current]{ color:#fff; }

.ihh-competition .ihh-c-hero__eyebrow{
	display:inline-block;
	font-family:Lato, sans-serif;
	font-size:.8rem;
	font-weight:700;
	letter-spacing:.06em;
	color:var(--ihc-gold) !important;
	margin:0 0 1rem;
}

.ihh-competition .ihh-c-hero__title{
	font-family:Lato, sans-serif;
	color:#fff !important;
	font-size:clamp(2.1rem, 5vw, 3.4rem);
	font-weight:700;
	line-height:1.08;
	letter-spacing:.01em;
	margin:0 0 1.1rem;
	padding:0;
}

.ihh-competition .ihh-c-hero__lede{
	font-family:Lato, sans-serif;
	max-width:34rem;
	font-size:clamp(1rem, 1.4vw, 1.15rem);
	line-height:1.6;
	color:rgba(255,255,255,.92) !important;
	margin:0 0 1.75rem;
}

.ihh-competition .ihh-c-hero__actions{
	display:flex;
	flex-wrap:wrap;
	gap:.85rem;
}

.ihh-competition .ihh-c-hero__seal{
	width:clamp(110px, 13vw, 170px);
	height:auto;
	flex:0 0 auto;
	margin-left:auto;
	filter:drop-shadow(0 8px 24px rgba(12,20,32,.45));
}

/* Buttons — shared pill style, two treatments */
.ihh-competition .ihh-btn{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	gap:.5rem;
	font-family:Lato, sans-serif;
	font-weight:700;
	letter-spacing:.01em;
	text-decoration:none !important;
	border-radius:999px;
	border:2px solid transparent;
	cursor:pointer;
	transition:background .25s ease, border-color .25s ease, color .25s ease, transform .25s ease;
}
.ihh-competition .ihh-btn:focus-visible{ outline:3px solid #fff; outline-offset:3px; }
.ihh-competition .ihh-btn--lg{ font-size:1rem; padding:.95rem 2rem; }
.ihh-competition .ihh-btn--sm{ font-size:.92rem; padding:.75rem 1.5rem; }

.ihh-competition .ihh-btn--gold{
	background:var(--ihc-gold);
	color:#fff !important;
}
.ihh-competition .ihh-btn--gold:hover{ background:var(--ihc-gold-dark); color:#fff !important; transform:translateY(-2px); }

.ihh-competition .ihh-btn--ghost-light{
	background:transparent;
	border-color:rgba(255,255,255,.85);
	color:#fff !important;
}
.ihh-competition .ihh-btn--ghost-light:hover{ background:#fff; border-color:#fff; color:var(--ihc-navy) !important; transform:translateY(-2px); }

.ihh-competition .ihh-btn--blue{
	background:var(--ihc-blue-btn);
	color:#fff !important;
}
.ihh-competition .ihh-btn--blue:hover{ background:var(--ihc-blue-btn-dark); color:#fff !important; transform:translateY(-2px); }

.ihh-competition .ihh-btn--ghost-blue{
	background:transparent;
	border-color:var(--ihc-blue-btn);
	color:var(--ihc-blue-btn) !important;
}
.ihh-competition .ihh-btn--ghost-blue:hover{ background:var(--ihc-blue-btn); color:#fff !important; transform:translateY(-2px); }

.ihh-competition .ihh-btn--full{ width:100%; }

/* ============================================================
   STATS STRIP
   ============================================================ */

.ihh-competition .ihh-c-stats{
	background:var(--ihc-subtle);
	border-bottom:1px solid var(--ihc-border);
}
.ihh-competition .ihh-c-stats__inner{
	max-width:1320px;
	margin:0 auto;
	padding:2.75rem 1.5rem;
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(230px, 1fr));
	gap:2rem;
}
.ihh-competition .ihh-c-stat{
	display:flex;
	gap:.85rem;
}
.ihh-competition .ihh-c-stat__icon{
	flex:0 0 auto;
	width:22px; height:22px;
	margin-top:2px;
	border-radius:50%;
	background:rgba(198,154,63,.14);
	display:inline-flex;
	align-items:center;
	justify-content:center;
}
.ihh-competition .ihh-c-stat__icon svg{ width:13px; height:13px; fill:var(--ihc-gold); }
.ihh-competition .ihh-c-stat__title{
	display:block;
	font-family:Lato, sans-serif;
	font-weight:700;
	font-size:1rem;
	color:var(--ihc-ink);
	margin-bottom:.2rem;
}
.ihh-competition .ihh-c-stat__text{
	font-family:Lato, sans-serif;
	font-size:.9rem;
	color:var(--ihc-muted);
}

/* ============================================================
   THIS QUARTER — featured entry, image + copy
   ============================================================ */

.ihh-competition .ihh-c-feature{
	max-width:1320px;
	margin:0 auto;
	padding:clamp(3rem, 6vw, 5rem) 1.5rem 0;
	display:grid;
	grid-template-columns:1fr;
	gap:clamp(2rem, 4vw, 3.5rem);
	align-items:center;
}
@media (min-width:900px){
	.ihh-competition .ihh-c-feature{ grid-template-columns:minmax(0,1fr) minmax(0,1fr); }
}

.ihh-competition .ihh-c-feature__media{
	position:relative;
	border-radius:18px;
	overflow:hidden;
	box-shadow:0 18px 40px rgba(12,30,52,.14);
	margin:0;
}
.ihh-competition .ihh-c-feature__media img{
	width:100%;
	aspect-ratio:4 / 3;
	object-fit:cover;
	display:block;
}
.ihh-competition .ihh-c-feature__badge{
	position:absolute;
	top:1rem; left:1rem;
	display:inline-flex;
	align-items:center;
	background:rgba(255,255,255,.94);
	color:var(--ihc-heading-blue);
	font-family:Lato, sans-serif;
	font-weight:700;
	font-size:.78rem;
	padding:.4rem .9rem;
	border-radius:999px;
	letter-spacing:.02em;
	white-space:nowrap;
}

.ihh-competition .ihh-c-eyebrow{
	display:inline-block;
	font-family:Lato, sans-serif;
	font-weight:700;
	font-size:.8rem;
	letter-spacing:.05em;
	color:var(--ihc-gold);
	margin:0 0 .75rem;
}
.ihh-competition .ihh-c-rule{
	width:44px; height:3px;
	background:var(--ihc-gold);
	border-radius:2px;
	margin:0 0 1.1rem;
}
.ihh-competition .ihh-c-title-lg{
	font-family:Lato, sans-serif;
	font-weight:700;
	font-size:clamp(1.6rem, 3.4vw, 2.1rem);
	line-height:1.2;
	color:var(--ihc-heading-blue);
	text-transform: capitalize !important;
	margin:0 0 1rem;
	padding:0;
}
.ihh-competition .ihh-c-text{
	font-family:Lato, sans-serif;
	font-size:1rem;
	line-height:1.7;
	color:var(--ihc-muted);
	margin:0 0 1.5rem;
}
.ihh-competition .ihh-c-feature__actions{
	display:flex;
	flex-wrap:wrap;
	gap:.85rem;
}

/* ============================================================
   HOW TO ENTER — three numbered steps
   ============================================================ */

.ihh-competition .ihh-c-steps{
	max-width:1320px;
	margin:0 auto;
	padding:clamp(3rem, 6vw, 5rem) 1.5rem 0;
}
.ihh-competition .ihh-c-steps__intro{
	max-width:60ch;
	margin:0 auto 2.75rem;
	text-align:center;
}
.ihh-competition .ihh-c-steps__intro .ihh-c-rule{ margin-inline:auto; }
.ihh-competition .ihh-c-steps__grid{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(260px, 1fr));
	gap:1.5rem;
}
.ihh-competition .ihh-c-step{
	background:#fff;
	border:1px solid var(--ihc-border);
	border-radius:16px;
	padding:1.75rem;
}
.ihh-competition .ihh-c-step__num{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	width:44px; height:44px;
	border-radius:999px;
	background:linear-gradient(135deg, var(--ihc-gold), var(--ihc-gold-dark));
	color:#fff;
	font-family:Lato, sans-serif;
	font-weight:700;
	font-size:1.15rem;
	margin-bottom:1rem;
}
.ihh-competition .ihh-c-step__title{
	font-family:Lato, sans-serif;
	font-weight:700;
	font-size:1.1rem;
	color:var(--ihc-ink);
	margin:0 0 .4rem;
}
.ihh-competition .ihh-c-step__text{
	font-family:Lato, sans-serif;
	font-size:.92rem;
	line-height:1.6;
	color:var(--ihc-muted);
	margin:0;
}
.ihh-competition .ihh-c-step__text a{ color:var(--ihc-blue-btn); }

/* ============================================================
   FOUR THEMES — quarterly grid
   ============================================================ */

.ihh-competition .ihh-c-themes{
	max-width:1320px;
	margin:0 auto;
	padding:clamp(3rem, 6vw, 5rem) 1.5rem 0;
}
.ihh-competition .ihh-c-themes__intro{
	max-width:66ch;
	margin:0 0 2.75rem;
}
.ihh-competition .ihh-c-themes__grid{
	display:grid;
	grid-template-columns:repeat(auto-fit, minmax(250px, 1fr));
	gap:1.5rem;
}

.ihh-competition .ihh-c-card{
	background:#fff;
	border-radius:16px;
	box-shadow:0 10px 28px rgba(12,30,52,.08);
	overflow:hidden;
	display:flex;
	flex-direction:column;
}
.ihh-competition .ihh-c-card--active{
	box-shadow:0 14px 36px rgba(18,40,63,.14);
	outline:2px solid var(--ihc-gold);
	outline-offset:-2px;
}
.ihh-competition .ihh-c-card__media{
	position:relative;
	margin:0;
}
.ihh-competition .ihh-c-card__media img{
	width:100%;
	aspect-ratio:4 / 3;
	object-fit:cover;
	display:block;
	transition:transform .6s cubic-bezier(.22,1,.36,1);
}
.ihh-competition .ihh-c-card:hover .ihh-c-card__media img{ transform:scale(1.05); }
.ihh-competition .ihh-c-card__badge{
	position:absolute;
	top:.75rem; left:.75rem;
	display:inline-flex;
	align-items:center;
	background:rgba(255,255,255,.94);
	color:var(--ihc-heading-blue);
	font-family:Lato, sans-serif;
	font-weight:700;
	font-size:.7rem;
	padding:.3rem .7rem;
	border-radius:999px;
	letter-spacing:.02em;
	white-space:nowrap;
}
.ihh-competition .ihh-c-card__body{
	padding:1.5rem;
	display:flex;
	flex-direction:column;
	gap:.4rem;
	flex:1 1 0%;
}
.ihh-competition .ihh-c-card__eyebrow{
	font-family:Lato, sans-serif;
	font-weight:700;
	font-size:.72rem;
	letter-spacing:.03em;
	color:var(--ihc-muted);
}
.ihh-competition .ihh-c-card--active .ihh-c-card__eyebrow{ color:var(--ihc-gold); }
.ihh-competition .ihh-c-card__title{
	font-family:Lato, sans-serif;
	font-weight:700;
	font-size:1.1rem;
	color:var(--ihc-ink);
	margin:0;
}
.ihh-competition .ihh-c-card__text{
	font-family:Lato, sans-serif;
	font-size:.88rem;
	line-height:1.55;
	color:var(--ihc-muted);
	margin:0 0 .25rem;
}
.ihh-competition .ihh-c-card__actions{
	margin-top:auto;
	display:flex;
	flex-wrap:wrap;
	gap:.9rem;
	font-family:Lato, sans-serif;
	font-weight:700;
	font-size:.85rem;
}
.ihh-competition .ihh-c-card__actions a{ color:var(--ihc-blue-btn); }
.ihh-competition .ihh-c-card__actions a:hover{ color:var(--ihc-blue-btn-dark); }

/* ============================================================
   THE PRIZES — copy + dark prize panel
   ============================================================ */

.ihh-competition .ihh-c-prizes{
	background:var(--ihc-sand);
	margin-top:clamp(3rem, 6vw, 5rem);
}
.ihh-competition .ihh-c-prizes__inner{
	max-width:1320px;
	margin:0 auto;
	padding:clamp(3rem, 6vw, 5rem) 1.5rem;
	display:grid;
	grid-template-columns:1fr;
	gap:clamp(2rem, 4vw, 3.5rem);
	align-items:center;
}
@media (min-width:900px){
	.ihh-competition .ihh-c-prizes__inner{ grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr); }
}
.ihh-competition .ihh-c-prizes__note{
	font-family:Lato, sans-serif;
	font-size:.88rem;
	line-height:1.6;
	color:var(--ihc-muted);
	margin:0;
}

.ihh-competition .ihh-c-panel{
	background:var(--ihc-navy);
	border-radius:16px;
	padding:clamp(1.75rem, 4vw, 2.5rem);
	color:#fff;
}
.ihh-competition .ihh-c-panel__eyebrow{ color:var(--ihc-gold) !important; }
.ihh-competition .ihh-c-panel__amount{
	display:flex;
	align-items:baseline;
	gap:.4rem;
	margin-top:1rem;
}
.ihh-competition .ihh-c-panel__amount strong{
	font-family:Lato, sans-serif;
	font-weight:700;
	font-size:clamp(2.4rem, 6vw, 3.4rem);
	color:#fff;
}
.ihh-competition .ihh-c-panel__amount span{
	font-family:Lato, sans-serif;
	font-size:1rem;
	color:rgba(255,255,255,.85);
}
.ihh-competition .ihh-c-panel__divider{
	height:1px;
	background:rgba(255,255,255,.18);
	margin:1.5rem 0;
}
.ihh-competition .ihh-c-panel__list{
	all:unset;
	display:flex;
	flex-direction:column;
	gap:.75rem;
	font-family:Lato, sans-serif;
	font-size:.92rem;
	color:rgba(255,255,255,.88);
}
.ihh-competition .ihh-c-panel__list li{
	display:flex;
	align-items:flex-start;
	gap:.7rem;
}
.ihh-competition .ihh-c-panel__list svg{
	flex:0 0 auto;
	width:14px; height:14px;
	margin-top:.3rem;
	fill:var(--ihc-gold);
}
.ihh-competition .ihh-c-panel__cta{ margin-top:1.5rem; }

/* ============================================================
   TERMS & CONDITIONS — native <details> accordion
   ============================================================ */

.ihh-competition .ihh-c-terms{
	max-width:1320px;
	margin:0 auto;
	padding:clamp(3rem, 6vw, 5rem) 1.5rem;
}
.ihh-competition .ihh-c-terms__box{
	border:1px solid var(--ihc-border);
	border-radius:16px;
	overflow:hidden;
	background:#fff;
}
.ihh-competition .ihh-c-terms__summary{
	list-style:none;
	display:flex;
	align-items:center;
	gap:1rem;
	padding:1.5rem;
	cursor:pointer;
}
.ihh-competition .ihh-c-terms__summary::-webkit-details-marker{ display:none; }
.ihh-competition .ihh-c-terms__summary-text{ flex:1 1 0%; }
.ihh-competition .ihh-c-terms__title{
	display:block;
	font-family:Lato, sans-serif;
	font-weight:700;
	font-size:1.1rem;
	color:var(--ihc-ink);
}
.ihh-competition .ihh-c-terms__sub{
	font-family:Lato, sans-serif;
	font-size:.88rem;
	color:var(--ihc-muted);
}
.ihh-competition .ihh-c-terms__toggle{
	font-family:Lato, sans-serif;
	font-weight:700;
	font-size:.85rem;
	color:var(--ihc-blue-btn);
	white-space:nowrap;
}
.ihh-competition .ihh-c-terms__toggle::before{ content:"Read the terms"; }
.ihh-competition .ihh-c-terms__box[open] .ihh-c-terms__toggle::before{ content:"Hide"; }

.ihh-competition .ihh-c-terms__body{
	padding:0 1.5rem 1.5rem;
	border-top:1px solid var(--ihc-border);
}
.ihh-competition .ihh-c-terms__body-inner{
	columns:34ch;
	column-gap:2.5rem;
	font-family:Lato, sans-serif;
	font-size:.88rem;
	line-height:1.65;
	color:var(--ihc-muted);
	padding-top:1.25rem;
}
.ihh-competition .ihh-c-terms__body-inner p{ margin:0 0 1em; break-inside:avoid; }

/* ============================================================
   SMALL SCREENS + MOTION
   ============================================================ */

@media (max-width:860px){
	.ihh-competition .ihh-c-hero__seal{ display:none !important; }
}
@media (max-width:575.98px){
	.ihh-competition .ihh-c-hero__row{ flex-direction:column; align-items:flex-start; }
	.ihh-competition .ihh-btn--lg,
	.ihh-competition .ihh-btn--sm{ width:100%; }
	.ihh-competition .ihh-c-hero__actions,
	.ihh-competition .ihh-c-feature__actions{ width:100%; max-width:340px; }
}

@media (prefers-reduced-motion: reduce){
	.ihh-competition .ihh-btn:hover,
	.ihh-competition .ihh-c-card:hover .ihh-c-card__media img{ transform:none; }
}