@font-face {
    font-family: 'PP Eiko';
    font-weight: 400;
    src: url('../fonts/PPEiko-Regular.woff2') format('woff2');
    font-style: normal;
    font-display: swap;
}
  
@font-face {
    font-family: 'PP Eiko';
    font-weight: 500;
    src: url('../fonts/PPEiko-Medium.woff2') format('woff2');
    font-style: normal;
    font-display: swap;
}

@font-face {
    font-family: 'PP Eiko';
    font-weight: 700;
    src: url('../fonts/PPEiko-Black.woff2') format('woff2');
    font-style: normal;
    font-display: swap;
}


@media (min-width: 1400px) {
    .container {
        max-width: 1190px;
    }
}

@media (max-width: 768px) {
    .container {
        padding-right: 20px;
        padding-left: 20px;;
    }
}

* {
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body{
    margin: 0;
    padding:0;
    font-family: "PP Eiko";
    font-weight: normal;
    font-style: normal;
    font-size: 16px;
    overflow-x: hidden !important;
}

:root {
    --color-primary: #B5043C;
    --color-secondary: #4D000C;
    --color-accent: #7A001D;
    --color-cream: #EEE9CC;
}

a:focus-visible,
button:focus-visible,
input:not(.royal-form-privacy__input):focus-visible {
    outline: 1px solid rgba(122, 0, 29, 0.55);
    outline-offset: 0px;
}

/* Lang Switcher */

.lang-switcher {
    position: absolute;
    top: 50px;
    right: 250px;
    z-index: 1000;
    font-size: 34px;
    color: #FFFFDE;
}

.lang-switcher a {
    color: #FFFFDE;
    opacity: 0.2;
    text-decoration: none;
    transition: opacity 0.3s ease;
}

.lang-switcher a:hover {
    opacity: 1;
}

.lang-switcher span {
    margin: 0 4px;
}

.lang-switcher strong {
    font-weight: 500;
}

@media (max-width: 1200px) {
    .lang-switcher {
        right: auto;
        left: 50%;
        transform: translateX(-50%);
        text-align: center;
    }
}

@media (max-width: 768px) {
    .lang-switcher {
        font-size: 24px;
    }
}

/* Lang Switcher */

/* Section Header */

.native-royal-header {
    position: relative;
    min-height: 845px;
    display:flex;
    align-items:center;
    justify-content:center;
    overflow: hidden;
}

.native-royal-header__media,
.native-royal-header__media img {
    position: absolute;
    inset: 0;
    width: 100%;
    height: 100%;
}

.native-royal-header__media {
    z-index: 0;
}

.native-royal-header__media img {
    object-fit: cover;
    object-position: center center;
}

.royal-header-logo {
    position: relative;
    z-index: 1;
}

@media (max-width: 768px) {
    .native-royal-header .container {
        transform: translateY(-100px);
    }

    .native-royal-header {
        min-height: 700px;
    }
}

/* End Section Header */

/* Section Intro */

.royal-intro{
    padding: 100px 0px;
    background-color: #FFFFDE;
    display:flex;
    flex-direction:column;
    gap: 90px;
}

.royal-primary-title{
    color: var(--color-primary);
    font-size: 89px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.2em;
}

.royal-content-text{
    color: var(--color-secondary);
    font-size: 34px;
    font-style: normal;
    font-weight: 500;
    line-height: 130%;
}

.royal-line {
    color: var(--color-primary);
    margin: 80px 0px;
    opacity:1;
}

.royal-intro-button {
    color: #EEE9CC;
    font-size: 24px;
    font-style: normal;
    font-weight: 700;
    line-height: 1.15;
    letter-spacing: 1.2px;
    border-radius: 100px;
    background: #7A001D;
    width: 100%;
    max-width: 1170px;
    min-height: 60px;
    padding: 18px 32px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    text-decoration: none;
}

.royal-intro-button:hover {
    background: #4D000C;
}

@media (max-width: 1550px) {
    .royal-intro {
        padding: 85px 0;
        gap: 70px;
    }

    .royal-primary-title {
        font-size: 64px;
    }

    .royal-content-text {
        font-size: 32px;
    }

    .royal-line {
        margin: 64px 0;
    }

    .royal-intro-button {
        font-size: 21px;
        min-height: 56px;
        padding: 16px 28px;
    }
}

@media (max-width: 991px) {
    .royal-intro {
        padding: 70px 0;
        gap: 46px;
    }

    .royal-primary-title {
        font-size: 52px;
        line-height: 1.15;
    }

    .royal-content-text {
        font-size: 24px;
        line-height: 1.3;
    }

    .royal-line {
        margin: 44px 0;
    }

    .royal-intro-button {
        font-size: 17px;
        letter-spacing: 0.8px;
        min-height: 54px;
        padding: 14px 24px;
    }
}

@media (max-width: 768px) {
    .royal-intro {
        padding: 54px 0px;
        gap: 34px;
    }

    .royal-primary-title {
        font-size: 40px;
        line-height: 1.12;
    }

    .royal-content-text {
        font-size: 20px;
        line-height: 1.32;
    }

    .royal-line {
        margin: 32px 0;
    }

    .royal-intro__text .py-4 {
        padding-top: 18px !important;
        padding-bottom: 18px !important;
    }

    .royal-intro__text .pb-4 {
        padding-bottom: 20px !important;
    }

    .royal-intro-button {
        font-size: 14px;
        letter-spacing: 0.4px;
        line-height: 1.25;
        min-height: 50px;
        padding: 13px 18px;
    }
}

/* End Section Intro */

/* Section Legacy */

.royal-legacy {
    background-color: #FFFFDE;
    overflow: hidden;
    padding-bottom:100px;
}

.royal-legacy__wrapper {
    display: grid;
    grid-template-columns: 50% 50%;
    align-items: center;
}

.royal-legacy__image img {
    width: 100%;
    height: 100%;
    max-height: 945px;
    object-fit: cover;
    display: block;
}

.royal-legacy__content {
    padding: 100px;
}

.royal-legacy__content-inner {
    max-width: 500px;
}

.royal-legacy__text {
    font-size: 34px;
    line-height: 1.15;
    margin-bottom: 50px;
}

.royal-legacy__button {
    min-height: 90px;
    font-size: 24px;
    line-height: 1.3em;
    letter-spacing: 1.2px;
    padding: 18px 28px;
}

@media (max-width: 1550px) {
    .royal-legacy {
        padding-bottom: 85px;
    }

    .royal-legacy__image img {
        min-height: 650px;
    }

    .royal-legacy__content {
        padding: 80px;
    }

    .royal-legacy__content-inner {
        max-width: 460px;
    }

    .royal-legacy__text {
        font-size: 30px;
        margin-bottom: 38px;
    }

    .royal-legacy__button {
        min-height: 80px;
        font-size: 21px;
        padding: 16px 26px;
    }
}

@media (max-width: 991px) {

    .royal-legacy {
        padding-bottom: 70px;
    }

    .royal-legacy__wrapper {
        grid-template-columns: 1fr;
    }

    .royal-legacy__image img {
        min-height: auto;
        height: 520px;
    }

    .royal-legacy__content {
        padding: 58px 24px 0;
    }

    .royal-legacy__content-inner {
        max-width: 720px;
        margin: 0 auto;
    }

    .royal-legacy__text {
        font-size: 24px;
        line-height: 1.3;
        margin-bottom: 32px;
    }

    .royal-legacy__button {
        max-width: 100%;
        min-height: 54px;
        font-size: 17px;
        letter-spacing: 0.8px;
        line-height: 1.25;
        padding: 14px 24px;
    }
}

@media (max-width: 768px) {
    .royal-legacy {
        padding-bottom: 54px;
    }

    .royal-legacy__image img {
        height: 390px;
    }

    .royal-legacy__content {
        padding: 42px 20px 0;
        max-width: 540px;
        margin:0 auto;
    }

    .royal-legacy__text {
        font-size: 20px;
        line-height: 1.32;
        margin-bottom: 30px;
    }

    .royal-legacy__button {
        font-size: 14px;
        letter-spacing: 0.4px;
        line-height: 1.25;
        min-height: 50px;
        padding: 13px 18px;
    }
}

@media (max-width: 576px) {
    .royal-legacy__content {
        padding: 42px 20px 0;
    }
}

/* End Section Legacy */

/* Section Landscape*/

.royal-landscape {
    width: 100%;
    height: min(40vw, 768px);
    background: url('/img/Native_Royal_2.webp') no-repeat center center;
    background-size: cover;
}

@media (max-width: 1200px) {
    .royal-landscape {
        height: 550px;
    }
}

@media (max-width: 768px) {
    .royal-landscape {
        height: 375px;
    }
}

/* End Section Landscape*/

/* Section Form */

.royal-form-section {
    background-color: #FFFFDE;
    padding-top: 90px;
}

.royal-form-title {
    color: var(--color-primary);
    font-size: 48px;
    font-weight: 700;
    line-height: 1.2em;
    letter-spacing: 4.8px;
    margin-bottom: 28px;
    text-align: center;
}

.royal-form-subtitle {
    color: var(--color-secondary);
    font-family: "Inter", sans-serif;
    font-size: 16px;
    font-weight: 500;
    letter-spacing: 1.6px;
    margin-bottom: 48px;
    text-align: center;
}

.royal-form-group {
    margin-bottom: 26px;
}

.royal-form-group input {
    width: 100%;
    height: 52px;
    border: 0;
    outline: none;
    background-color: #ECE7CD;
    padding: 0 14px;
    color: var(--color-secondary);
    font-family: "Inter", sans-serif;
    font-size: 18px;
    font-weight: 500;
}

.royal-form-group input::placeholder {
    color: var(--color-secondary);
    opacity: 1;
}

.royal-form-group input:focus-visible {
    background-color: var(--color-cream);
    box-shadow: inset 0 0 0 2px var(--color-accent);
}

.royal-form-privacy {
    margin: 8px 0px;
    min-height: 30px;
    text-align: left;
    color: var(--color-secondary);
    font-family: "Inter", sans-serif;
    font-size: 16px;
    display: flex;
    gap: 20px;
    flex-direction: column-reverse;
}

.royal-form-privacy__input {
    position: absolute;
    opacity: 0;
    pointer-events: none;
}

.royal-form-privacy__check {
    width: 30px;
    height: 30px;
    flex: 0 0 30px;
    margin-top: -4px;
    border-radius: 50%;
    background-color: var(--color-cream);
    cursor: pointer;
    position: relative;
    transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.royal-form-privacy__input:checked ~ .royal-form-privacy__label .royal-form-privacy__check {
    border-color: var(--color-accent);
}

.royal-form-privacy__input:checked ~ .royal-form-privacy__label .royal-form-privacy__check::after {
    content: "";
    position: absolute;
    border-radius: 50%;
    background-color: var(--color-accent);
    inset: 0px;
}

.royal-form-privacy__input:focus-visible ~ .royal-form-privacy__label .royal-form-privacy__check {
    box-shadow: 0 0 0 4px rgba(122, 0, 29, 0.25);
}

.royal-form-privacy__label {
    display: flex;
    align-items: flex-start;
    gap: 14px;
    margin: 0;
    cursor: pointer;
    line-height: 1.35;
}

.royal-form-privacy__label a {
    color: var(--color-secondary);
}

.royal-form-button {
    border: 0;
    max-width: 100%;
    font-size: 24px;
    min-height: 52px;
    padding: 15px 30px;
}

.royal-form-honeypot {
    position: absolute;
    left: -9999px;
    top: -9999px;
    opacity: 0;
    pointer-events: none;
}

.royal-form-privacy > label.error,
.royal-form-privacy > span.error,
.royal-form-privacy + label.error,
.royal-form-privacy + span.error {
    display: block;
    color: #7A001D;
    font-size: 14px;
    line-height: 1.25;
    position: static;
}

.error{
    color: #7A001D;
    font-size: 14px;
    line-height: 1.25;
    font-family: "Inter", sans-serif;
}

@media (max-width: 768px) {
    .royal-form-section {
        padding-top: 50px;
    }

    .royal-form-title {
        font-size: 24px;
        letter-spacing: 2px;
    }

    .royal-form-subtitle {
        font-size: 14px;
        letter-spacing: 1px;
        margin-bottom: 36px;
    }

    .royal-form-group {
        margin-bottom: 18px;
    }

    .royal-form-privacy {
        font-size: 14px;
        margin: 8px 0px;
    }

    .royal-form-privacy__label {
        align-items: flex-start;
    }

    .royal-form-button {
        font-size: 14px;
        letter-spacing: 0.4px;
        line-height: 1.25;
        min-height: 50px;
        padding: 13px 18px;
    }

    .royal-form-group input {
        font-size: 16px;
    }
}

/* End Section Form */

/* Thanks Page */

body:has(.royal-thanks-page) .lang-switcher,
body:has(.royal-thanks-page) #warning_EU_cookiemsg {
    display: none;
}

.royal-thanks-page {
    background-color: #FFFFDE;
    padding: 100px 0 0;
}

.royal-thanks-page__container {
    width: 100%;
    max-width: 1920px;
    margin: 0 auto;
    display: grid;
    grid-template-columns: 400px 1fr;
    padding: 0px 90px;
    gap: 100px;
}

.royal-thanks-page__aside {
    padding-top: 22px;
}

.royal-thanks-page__logo-link {
    display: block;
}

.royal-thanks-page__logo {
    width: 100%;
    height: auto;
    display: block;
}

.royal-thanks-page__line {
    color: var(--color-primary);
    margin: 56px 0 56px;
    opacity: 1;
}

.royal-thanks-page__lang {
    color: var(--color-primary);
    font-size: 34px;
    font-weight: 500;
    text-align: center;
}

.royal-thanks-page__lang a {
    color: var(--color-primary);
    opacity: 0.35;
    text-decoration: none;
}

.royal-thanks-page__lang span {
    margin: 0 10px;
}

.royal-thanks-page__content {
    min-width: 0;
}

.royal-thanks-page__image {
    width: 100%;
    object-fit: cover;
    object-position: center;
    display: block;
}

.royal-thanks-page__copy {
    padding-top: 100px;
}

.royal-thanks-page__title {
    color: var(--color-primary);
    font-size: 89px;
    font-weight: 500;
    line-height: 1.2;
    text-transform: uppercase;
    margin: 0 0 50px;
}

.royal-thanks-page__text,
.royal-thanks-page__signoff {
    color: var(--color-secondary);
    font-size: 34px;
    font-weight: 500;
    line-height: 1.2;
    text-transform: uppercase;
    margin: 0;
}

.royal-thanks-page__text {
    max-width: 100%;
}

.royal-thanks-page__signoff {
    margin-top: 50px;
}

@media (max-width: 1550px) {
    .royal-thanks-page {
        padding-top: 80px;
    }

    .royal-thanks-page__container {
        grid-template-columns: 310px 1fr;
        padding: 0 70px;
        gap: 70px;
    }

    .royal-thanks-page__line {
        margin: 44px 0;
    }

    .royal-thanks-page__lang {
        font-size: 28px;
    }

    .royal-thanks-page__copy {
        padding-top: 72px;
    }

    .royal-thanks-page__title {
        font-size: 64px;
        margin-bottom: 38px;
    }

    .royal-thanks-page__text,
    .royal-thanks-page__signoff {
        font-size: 28px;
    }

    .royal-thanks-page__signoff {
        margin-top: 38px;
    }
}

@media (max-width: 1200px) {
    .royal-thanks-page {
        padding-top: 60px;
    }

    .royal-thanks-page__container {
        grid-template-columns: 250px 1fr;
        padding: 0 40px;
        gap: 45px;
    }

    .royal-thanks-page__aside {
        padding-top: 0;
    }

    .royal-thanks-page__line {
        margin: 34px 0;
    }

    .royal-thanks-page__lang {
        font-size: 24px;
    }

    .royal-thanks-page__copy {
        padding-top: 52px;
    }

    .royal-thanks-page__title {
        font-size: 55px;
        margin-bottom: 30px;
    }

    .royal-thanks-page__text,
    .royal-thanks-page__signoff {
        font-size: 23px;
    }

    .royal-thanks-page__signoff {
        margin-top: 30px;
    }
}

@media (max-width: 991px) {
    .royal-thanks-page {
        padding-top: 44px;
    }

    .royal-thanks-page__container {
        width: min(100% - 40px, 720px);
        padding: 0;
        grid-template-columns: 1fr;
        gap: 36px;
    }

    .royal-thanks-page__aside {
        text-align: center;
    }

    .royal-thanks-page__logo {
        max-width: 280px;
        margin: 0 auto;
    }

    .royal-thanks-page__line {
        margin: 30px 0 26px;
    }

    .royal-thanks-page__title {
        font-size: 44px;
        margin-bottom: 26px;
    }

    .royal-thanks-page__text,
    .royal-thanks-page__signoff {
        font-size: 20px;
    }

    .royal-thanks-page__image {
        height: 500px;
    }

    .royal-thanks-page__signoff {
        margin-top: 24px;
    }
}

@media (max-width: 576px) {
    .royal-thanks-page {
        padding-top: 32px;
    }

    .royal-thanks-page__container {
        width: calc(100% - 32px);
        gap: 28px;
    }

    .royal-thanks-page__logo {
        max-width: 220px;
    }

    .royal-thanks-page__line {
        margin: 24px 0 22px;
    }

    .royal-thanks-page__lang {
        font-size: 20px;
    }

    .royal-thanks-page__copy {
        padding-top: 30px;
    }

    .royal-thanks-page__title {
        font-size: 48px;
        margin-bottom: 22px;
    }

    .royal-thanks-page__text,
    .royal-thanks-page__signoff {
        font-size: 17px;
    }

    .royal-thanks-page__signoff {
        margin-top: 22px;
    }

    .royal-thanks-page__image {
        height: 200px;
    }
}

/* End Thanks Page */

/* Footer */

.royal-footer {
    background-color: #FFFFDE;
    padding: 90px 0;
}

.royal-footer .container {
    max-width: 1720px;
    padding: 0px 40px;
}

.royal-footer__line {
    color: var(--color-primary);
    margin: 0 0 80px;
    opacity: 1;
}

.royal-footer__brand img {
    max-width: 140px;
    width: 100%;
    display: block;
}

.royal-footer__copyright {
    color: var(--color-secondary);
    font-size: 20px;
    font-family: "Inter", sans-serif;
    font-weight: 500;
    margin: 0;
    text-align: left;
}

.royal-footer__email {
    color: var(--color-secondary);
    font-size: 34px;
    font-weight: 500;
    text-decoration: none;
    display: inline-block;
}

.royal-footer__email:hover {
    color: var(--color-primary);
}

@media (max-width: 1200px) {

    .royal-footer__brand img {
        margin: 0 auto;
        max-width: 140px;
    }

    .royal-footer .container {
        padding: 15px;
    }

    .royal-footer__email {
        text-align: center;
    }

    .royal-footer__copyright {
        text-align: center;
    }
}

@media (max-width: 768px){

    .royal-footer {
        padding: 60px 0px 30px 0px;
    }

    .royal-footer__line {
        margin-bottom: 50px;
    }

    .royal-footer__brand img {
        margin: 0 auto;
        max-width: 100px;
    }

    .royal-footer__email {
        font-size: 20px;
        text-align: center;
    }

    .royal-footer__copyright {
        font-size: 14px;
        text-align: center;
    }
}
/* End Footer */

/* Cookie bot*/

    div#CybotCookiebotDialog div#CybotCookiebotDialogHeader{
        display: none;
    }
    
  div#CybotCookiebotDialog button#CybotCookiebotDialogBodyButtonDecline{
        display: none;
    }
    
    #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyButtonAccept,
    #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonAccept,
    #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowAll{
        
        background-color: #7A001D !important;
        border-color: #7A001D !important;
    }
    
    #CybotCookiebotDialogFooter .CybotCookiebotDialogBodyButton{
        
        border: 2px solid #7A001D;
    }
    
    #CybotCookiebotDialogNav .CybotCookiebotDialogNavItemLink.CybotCookiebotDialogActive{
        
        border-bottom: 1px solid #7A001D !important;
        color: #7A001D !important;
    }
    
    #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonCustomize,
    #CybotCookiebotDialogFooter #CybotCookiebotDialogBodyLevelButtonLevelOptinAllowallSelection{
        background-color: #7A001D !important;
        border-color: #7A001D !important;
    }
    
    #CybotCookiebotDialog div:not(:first-of-type) input:checked + .CybotCookiebotDialogBodyLevelButtonSlider {
        background-color: #7A001D !important;
    }

    
    #CybotCookiebotDialogNav .CybotCookiebotDialogNavItemLink:hover{
        
        color: #7A001D !important;
    }
    
    #CybotCookiebotDialog .CookieCard .CybotCookiebotDialogDetailBodyContentCookieContainerButton:hover{
        
        color: #7A001D !important;
    }
    
    #CookiebotWidget #CookiebotWidget-buttons #CookiebotWidget-btn-change{
        background-color: #7A001D !important;
        border-color: #7A001D !important;
    }

    #CookiebotWidget #CookiebotWidget-buttons #CookiebotWidget-btn-withdraw{
        border-color: #7A001D !important;
    }
    
    #CookiebotWidget .CookiebotWidget-body .CookiebotWidget-main-logo a{
        display: none;
    }
    
    #CookiebotWidget .CookiebotWidget-consent-details button{
        
        color: #7A001D !important;
    }
    
    #CookiebotWidget .CookiebotWidget-body .CookiebotWidget-consents-list li.CookiebotWidget-approved svg{
        fill: #7A001D !important
    }