/*
Theme Name:     r5-bf
Description:    Silversea Black Friday 2026
Author:         Raven5
Template:       r5-base
*/

/* ==========================
SangBleu Kingdom
========================== */

@font-face {
	font-family: "SangBleu Kingdom";
	src:
		url("/wp-content/themes/r5-child/assets/fonts/sangbleu-kingdom-light.woff2") format("woff2"),
		url("/wp-content/themes/r5-child/assets/fonts/sangbleu-kingdom-light.woff") format("woff");
	font-weight: 300;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "SangBleu Kingdom";
	src:
		url("/wp-content/themes/r5-child/assets/fonts/sangbleu-kingdom-regular.woff2") format("woff2"),
		url("/wp-content/themes/r5-child/assets/fonts/sangbleu-kingdom-regular.woff") format("woff");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}

@font-face {
	font-family: "SangBleu Kingdom";
	src:
		url("/wp-content/themes/r5-child/assets/fonts/sangbleu-kingdom-medium.woff2") format("woff2"),
		url("/wp-content/themes/r5-child/assets/fonts/sangbleu-kingdom-medium.woff") format("woff");
	font-weight: 500;
	font-style: normal;
	font-display: swap;
}

/* ==========================
SangBleu Sans
========================== */

@font-face {
	font-family: "SangBleu Sans";
	src:
		url("/wp-content/themes/r5-child/assets/fonts/sangbleu-sans-regular.woff2") format("woff2"),
		url("/wp-content/themes/r5-child/assets/fonts/sangbleu-sans-regular.woff") format("woff");
	font-weight: 400;
	font-style: normal;
	font-display: swap;
}


:root {
	--font-display: "SangBleu Sans", sans-serif;
	--font-body: "SangBleu Kingdom", serif;

	/* Brand */
	--bs-primary: #000000;
	--bs-primary-rgb: 0,0,0;

	/* Your palette */
	--bg-primary: #fefefe;
	--bg-secondary: #eeeeee;
	--teal: #4FB5C7;
	--ink-dark: #24272B;
	--ink-darker: #1B1E21;
	--white: #FFFFFF;

}
body {
	font-family: var(--font-body);
	font-weight: 400; /* Regular */
}

li,
label,
input,
textarea,
select {
	font-family: var(--font-body);
	font-weight: 400;
}

/* Use Medium where you need emphasis */
strong,
.hero-copy,
.lead {
	font-weight: 500;
}

/* Use Light for elegant, large copy */
p,
.editorial,
.hero-tagline {
	font-weight: 300;
}

/* Interface headings */
h1,
h2,
h3,
h4,
h6,
.nav-link,
button {
	font-family: var(--font-display);
	font-weight: 500;
	text-transform: uppercase;
}

body {


	background-color: var(--bg-primary);
	color: var(--bs-primary);

	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

a {
	color: var(--bs-primary);
	text-decoration: none;
}
section a { text-decoration: underline; }


a:hover {
	color: #000;
}

h1, h2, h3, h4, h5, h6 {
	color: var(--bs-primary);
}

p { font-size: 1.2rem; }
.btn {

	font-weight: 500;
	padding: 14px 24px;
	border-radius: 8px;
	border-width: 2px;

	transition: 
		background-color .2s ease,
		border-color .2s ease,
		transform .08s ease,
		box-shadow .08s ease;
}

.small { font-size: 0.65rem; font-family: "SangBleu Sans", sans-serif; }

/* micro interaction */
.btn:hover {
	transform: translateY(-1px);
}

/* click feel */
.btn:active {
	transform: translateY(0);
}

.btn-cta {

	background-color: var(--ink-dark);
	border-color: var(--ink-dark);
	color: var(--white);
}

.btn-cta:hover {

	background-color: var(--ink-darker);
	border-color: var(--ink-darker);
	color: var(--white);
}

.btn-cta:focus {
	box-shadow: 0 0 0 .25rem rgba(36,39,43,.35);
}

.btn-primary {

	color: #fff;
}

.btn-primary:hover {

	background-color: var(--pink-secondary);
	border-color: var(--pink-secondary);
}

.btn-outline-light {

	border-width: 2px;
}

.btn-outline-light:hover {

	background-color: rgba(255,255,255,.15);
	color: #fff;
}

.btn-lg {

	padding: 18px 32px;
	font-size: 1.1rem;
}

.navbar {
	background-color: transparent;
	margin-bottom: -76px;
	z-index: 99;
}

.offcanvas {
	max-width:350px;
	color: var( --bs-primary: #003B56);
	border-left: none;
}
.navbar-toggler-icon {
	filter: invert(1);
}

.bg-grey { background-color:#eee; }

/* NAV LIST RESET */
.offcanvas .navbar-nav {

	width: 100%;
}


/* LINKS */
.offcanvas .nav-link {

	display: block;
	width: 100%;

	font-size: 1.35rem;
	font-weight: 600;
	letter-spacing: .3px;

	padding: 18px 0;

	color: var( --bs-primary: #003B56);

	transition: 
		padding-left .18s ease,
		color .18s ease;
}


/* DIVIDERS (cleaner than HR) */
.offcanvas .nav-item:not(:last-child) {

	border-bottom: 1px solid rgba(255,255,255,.08);
}


/* HOVER */
.offcanvas .nav-link:hover {

	opacity: .85;
	padding-left: 6px; /* subtle slide */
}
.btn-close {
	top: 20px;
	position: absolute;
	right: 20px;
	opacity: .9;
}


.navbar-toggler {
	border: none;
	background: transparent;
	padding: 5px 0 25px;
}

.navbar-toggler:focus,
.navbar-toggler:active {

	box-shadow: none;
	outline: none;
}
.navbar-toggler-icon {

	filter: invert(1);
	opacity: 1;
	transition: opacity .18s ease;
}
.navbar-toggler:hover .navbar-toggler-icon {

	opacity: .85;
}
.offcanvas-header {

	display: flex;
	align-items: center;
	justify-content: space-between;
}

.content {overflow: hidden;	}

/* logo wrapper */
.offcanvas-brand {

	display: flex;
	align-items: center;
	gap: 18px;
}


/* control logo size */
.offcanvas-brand img {

	height: 38px;
	width: auto;
}
.offcanvas-header {

	position: relative;
	border-bottom: none; /* remove divider if you added one */

}

.offcanvas-body { 
	background-color: var(--pink-secondary);
	padding-top:0px;
}




/* hero elements */


.hero {
    position: relative;
    overflow: hidden;
	max-height:90vh;
}

.hero-bg {
    display: block;
    width: 100%;
    height: auto;
}


.hero-overlay {
	position: absolute;
	inset: 0;

	display: flex;
	flex-direction: column;
	align-items: center;

	pointer-events: none;
}



.hero-headline {
	margin-top: auto;
	width: min(520px, 60%);
}

.hero-tagline {
	color: #fff;
	font-family: "SangBleu Kingdom", serif;
	font-size: clamp(1.6rem, 2vw, 3rem);
	margin: 1.5rem 0 2rem;
	text-align: center;
	line-height: 1.2em;
	font-weight:500;
}



p.gform_required_legend {display:none;}
/* Desktop: force it open forever */


.form-side{
	position: relative;
	z-index: 1;
}


.form-card{
	position:relative;
}



.form-card h1,
.form-card h3,
.form-card p{
	position:relative;
	z-index:2;
}



/* LARGE monitors */
@media (min-width:1800px){


}
.nav-inner{
	display:flex;
	align-items:center;
	justify-content:space-between;
}
.nav-left{
	display:flex;
	align-items:center;
	gap:16px;
}
.nav-left img{
	height:60px;
	width:auto;
}

.nav-campaign{
	height:80px;
	width:auto;
}
.hero-wrap {
    background: #fff;
}

.hero {
    position: relative;
    overflow: hidden;
}

.hero-bg {
    display: block;
    width: 100%;
    height: auto;
}

.hero-overlay {
    position: absolute;
    inset: 0;
    display: flex;
    flex-direction: column;
    align-items: center;
    pointer-events: none;
}

.hero-logo {
    margin-top: 5%;
    width: clamp(260px, 28vw, 460px);
}

.hero-headline {
    margin-top: auto;
    width: clamp(280px, 32vw, 520px);
}

.hero-tagline {
    margin: 1.25rem 0 3.5rem;
    color: #fff;
    text-align: center;
    font-family: "SangBleu Kingdom", serif;
    font-weight: 400;
}
@media(min-width:991px) {
	.hero-logo {
		margin-top: 6%;
		width: min(420px, 50%);
	}
	.prize-collapse {
		display:block !important;
		height:auto !important;
		visibility:visible !important;
	}

}
@media(max-width:991px){
	.hero-logo {
		margin-top: 15%;
		width: min(420px, 50%);
	}

	.hero-headline {
		margin-top: auto;
		width: min(520px, 60%);
	}


	.form-side::before{
		left:-50vw;
		width:200vw;
	}
	.hero-side::after{
		left:0;
		transform:translate(-30% , 30%);
		width:150px;
		height:150px;
	}
	.nav-left img{
		height:34px;
	}
	.nav-campaign{
		height:50px;
	}
}
#gform_wrapper_1 .gfield_label,
#gform_wrapper_1 legend,
#gform_wrapper_2 .gfield_label,
#gform_wrapper_2 legend{
	color:var(--bs-primary) !important;
	font-weight:400;
}
#gform_wrapper_1 input,
#gform_wrapper_1 select,
#gform_wrapper_1 textarea,
#gform_wrapper_2 input,
#gform_wrapper_2 select,
#gform_wrapper_2 textarea{
	border:none; 
}
#gform_wrapper_1 ::placeholder,
#gform_wrapper_2 ::placeholder{
	color:#8a8a8a;
}
#gform_wrapper_1 .gform_button,
#gform_wrapper_2 .gform_button{
	width:100%;
	background:#F0BC75; !important;
	color:#000; !important;
	border:none;
	border-radius:5px;
	padding:18px;
	font-weight:700;
	letter-spacing:.04em;
	text-transform:uppercase;
	transition:.2s ease;
	font-family: "SangBleu Sans", sans-serif;
}
#gform_wrapper_1 .gform_button:hover,
#gform_wrapper_2 .gform_button:hover{
	background:#9E9996;
	transform:translateY(-2px);
}
#field_1_8,
#field_1_11{
	background:rgba(0,0,0,0.1);
	padding:18px;
	border-radius:5px;
	font-size:12px;
}
#field_1_8 .gfield_consent_label,
#field_1_11 .gfield_consent_label{
	font-size:1.15rem;
	color:var(--bs-primary) !important;
}
#field_1_8 .gfield_consent_label a,
#field_1_11 .gfield_consent_label a{
	text-decoration:underline;
	color:var(--bs-primary) !important;
}

#gform_wrapper_1 .gfield_label,
#gform_wrapper_2 .gfield_label{
	font-size:.95rem;
}
#gform_wrapper_1 .gfield_consent_label,
#gform_wrapper_2 .gfield_consent_label{
	color:var(--bs-primary) !important;
}
#gform_wrapper_1 .ginput_complex label,
#gform_wrapper_2 .ginput_complex label{
	color:var(--bs-primary) !important;
	font-size:.85rem;
}
#gform_wrapper_1 .charleft {display:none;}

#gform_wrapper_1 .validation_message,
#gform_wrapper_1 .gform_validation_errors,
#gform_wrapper_1 .gform_validation_errors h2{
	color:#24272B !important;
}
#gform_wrapper_1 .gfield_error input,
#gform_wrapper_1 .gfield_error select,
#gform_wrapper_1 .gfield_error textarea{
	border:2px solid #24272B !important;
}
.gform-theme .gform_validation_errors{
	border:2px solid #24272B !important;
	color:#24272B !important;
}
.gform-theme .gform_validation_errors{
	border:2px solid #24272B !important;
	box-shadow:none !important;
	outline:none !important;
}
.gform-theme .gform_validation_errors > div{
	border:none !important;
	box-shadow:none !important;
}
.gform-icon--circle-error::before{
	color:#24272B !important;
}
#gform_wrapper_2.gform-theme,
#gform_wrapper_1.gform-theme{
	--gf-form-gap-y:15px !important;
	--gf-form-validation-heading-icon-border-color:#24272B !important;
}

.gform-theme .gfield_description{
	color:var(--bs-primary) !important;
}
#gform_wrapper_2 
.ginput_container_radio .gfield_radio,
#gform_wrapper_2 
.ginput_container_checkbox .gfield_checkbox{

	display:grid;
	gap:14px 28px;

}
fieldset#field_2_3,fieldset#field_2_3,fieldset#field_2_5 { margin-bottom: 20px; } 

.btn-ghost{
	display:flex;
	align-items:center;
	justify-content:center;

	width:100%;
font-family: "SangBleu Sans", sans-serif;


	border:4px solid #000;




	color:#000;


	font-weight:700;

	text-decoration:none;

	transition:.25s ease;
}

.btn-ghost:hover{
	background:#000;
	color:#fff;
}


.bonus-btn{
	text-transform:none !important;
	display:flex;
	align-items:center;

	width:100%;

	padding:0;
	border:1px solid #CFCFCF;

	border-radius:10px;

	background:#DADADA;

	color:#000;

	overflow:hidden;

	transition:.25s ease;
}


/* hover */

.bonus-btn:hover{

	transform:translateY(-2px);
	filter:brightness(.97);

}


/* left icon area */

.bonus-btn .icon{

	width:90px;
	min-width:90px;
	height:100%;

	background:#fff;

	display:flex;
	align-items:center;
	justify-content:center;

	padding:26px;

}


/* icon */

.bonus-btn .icon svg{

	width:44px;
	height:44px;

	color:#000;

}


/* text */

.bonus-btn > span:not(.icon):not(.ms-auto){

	flex:1;

	text-align:left;

	padding:0 26px;

	font-family:"SangBleu Kingdom", serif;
	font-size:1.05rem;
	font-weight:500;

}


/* arrow */

.bonus-btn::after{

	content:"";

	width:26px;
	height:26px;
	margin-right:28px;

	flex:none;

	background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 12h18M14 5l7 7-7 7'/%3E%3C/svg%3E") center/contain no-repeat;

}


/* completed */

.bonus-btn.is-complete{

	background:#9E9996;

}


/* completed */

.bonus-btn.is-complete{

	background:#9E9996;

}


/* hide arrow on completed */

.bonus-btn.is-complete::after{

	display:none;

}


/* existing check icon */

.bonus-btn .check{

	margin-left:auto;
	margin-right:28px;

	display:flex;
	align-items:center;
	justify-content:center;

}


/* check icon */

.bonus-btn .check svg{

	width:30px;
	height:30px;

	color:#fff;

}


/* completed check: heavier stroke, same right spacing as the arrow */

.bonus-btn .ms-auto{

	padding-right:28px;
	display:flex;
	align-items:center;

}

.bonus-btn .ms-auto svg{

	width:26px;
	height:26px;

}

.bonus-btn .ms-auto svg path{

	stroke:currentColor;
	stroke-width:1.1;

}


/* disabled */

.bonus-btn:disabled{

	opacity:1;
	cursor:default;

}


/* existing check icon hide */

.check{

	display:none;

}


.bonus-alert{

	background:#DDEFF2;
	color:#083D63;

	border-left:6px solid #58BDD0;

	padding:18px 22px;
	border-radius:16px;

	font-weight:700;
	font-size: 20px;
}

.bonus-alert-social{

	background:#DDEFF2;
	color:#083D63;

	border-left:6px solid #58BDD0;

	box-shadow:none;

}

/* ==========================
Black Friday hero
========================== */
.hero-overlay > picture { display: contents; }
.hero-tagline--tight { margin-bottom: .75rem; }
.hero-overlay .hero-tagline { font-size: clamp(1.4rem, 2.57vw, 2.3125rem) !important; }
.hero-notice {
	color: #fff;
	text-align: center;
	font-family: "SangBleu Sans", sans-serif;
	font-size: clamp(.625rem, 1.53vw, 1.375rem);
	line-height: 1.4;
	max-width: min(1376px, 92%);
	margin: 0 auto 2.5rem;
}
@media (max-width: 991px) {
	.hero-notice { max-width: 340px; margin-bottom: 1.5rem; }
	.hero-headline { width: min(520px, 64%); }
	.hero-overlay .hero-tagline { font-size: 1rem !important; margin-top: 1rem; margin-bottom: .75rem; }
}

/* Hero: never taller than 90vh. The photo is cropped (not squashed) to fit, the logo stays high and fixed,
   and the lockup scales with the screen height so it never sits on the ship. */
.hero { max-height: 90vh; }
.hero-bg { max-height: 90vh; object-fit: cover; object-position: center 44%; }
.hero-overlay { padding: clamp(24px, 4.5vh, 52px) 0; }
.hero-overlay .hero-logo { margin-top: 0; }
.hero-headline { width: min(520px, 60%); }
@media (min-width: 992px) {
	.hero-bg { object-position: center 22%; }
	.hero-overlay .hero-tagline { font-size: clamp(1.1rem, 3.3vh, 2.3125rem) !important; }
}

/* Darken the lower part of the photo so the lockup and tagline stay legible */
.hero::before {
	content: "";
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background: linear-gradient(to bottom, rgba(5,14,35,0) 45%, rgba(5,14,35,.38) 72%, rgba(5,14,35,.55) 100%);
}
.hero-overlay { z-index: 2; }

/* Menu button: a see-through button with a black outline */
.nav-left .navbar-toggler {
	width: 44px;
	height: 44px;
	padding: 0;
	margin-top: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 2px solid #000;
	border-radius: 10px;
}

/* No bottom margin under the tagline: the hero overlay padding handles the spacing */
.hero-overlay .hero-tagline { margin-bottom: 0 !important; }

/* Lockup is the same width as the Silversea logo (tablet and up) */
@media (min-width: 576px) {
	.hero-overlay .hero-headline { width: min(420px, 50%) !important; }
}

/* Pages without a hero (Rules etc.): the page title sits on the same line as the menu button, to its right */
.legal-main.py-5 { padding-top: 24px !important; }
.legal-main h1 { margin-left: 64px; }

/* Rules page: readable measure, looser leading, room between rules */
.legal-main h2 { margin-top: 8px; margin-bottom: 4px; }
.legal-main h3 { margin-bottom: 32px; }
.legal-main p { line-height: 1.7; margin-bottom: 1.5rem; }
.legal-main p.rules-sub { margin-bottom: 1.1rem; }
.legal-main p a { overflow-wrap: anywhere; }
.legal-main { padding-bottom: 72px; }
@media (max-width: 767.98px) {
	.legal-main p { font-size: 1rem; line-height: 1.65; margin-bottom: 1.25rem; }
	.legal-main h2 { font-size: 1.5rem; }
	.legal-main h3 { font-size: 1.25rem; margin-bottom: 24px; }
}

/* Rules page lists (bonus entries, release items): same rhythm as paragraphs */
.legal-main ul, .legal-main ol { margin-bottom: 1.5rem; padding-left: 1.75rem; }
.legal-main li { line-height: 1.7; margin-bottom: .6rem; }
.legal-main li:last-child { margin-bottom: 0; }
@media (max-width: 767.98px) {
	.legal-main ul, .legal-main ol { margin-bottom: 1.25rem; }
	.legal-main li { line-height: 1.65; margin-bottom: .5rem; }
}
