/*
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;

	padding: 50px 10px;
}

.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 */
	padding-bottom: 60px; /* make room for wave */
}

.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:#F7DDBA;
	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{

}
#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:none;

	border-radius:18px;

	background:#F0BC75;

	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:#000;

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

	padding:26px;

}


/* icon */

.bonus-btn .icon svg{

	width:48px;
	height:48px;

	color:#fff;

}


/* text */

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

	flex:1;

	text-align:left;

	padding:0 26px;

	font-size:1.2rem;
	font-weight:600;

}


/* arrow */

.bonus-btn::after{

	content:"→";

	padding-right:28px;

	font-size:30px;
	font-weight:300;

	line-height:1;

	color:#000;

}


/* completed */

.bonus-btn.is-complete{

	background:#A8D2D5;

}


/* completed */

.bonus-btn.is-complete{

	background:#F7DDBA;

}


/* hide arrow on completed */

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

	content:'';

}


/* 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;

}


/* 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 last line of the hero: the overlay padding handles the spacing */
.hero-overlay .hero-tagline:not(.hero-tagline--tight) { margin-bottom: 0 !important; }
.hero-notice { 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; }
}
