@font-face {
font-family: 'Inter';
src: url('/assets/fonts/inter-variable.woff2') format('woff2-variations');
font-weight: 100 900;
font-style: normal;
font-display: swap;
}

:root {
--main-color: #702963;
--main-color-gradient: linear-gradient(to right, #702963, #8A347C);
--main-color-gradient-hover: linear-gradient(to right, #622456, #7A2D6E);
--main-color-light: #F0E9EF;
--background-color: #ffffff;
--text-color: #333;
--text-color-light: #fff;

--section-bg: var(--background-color);
--section-heading-color: var(--main-color);
--section-text-color: var(--text-color);
--section-box-bg: var(--main-color-light);
--section-box-title-color: var(--main-color);
--section-box-text-color: var(--text-color);

--section-bg-alt: var(--main-color-light);
--section-heading-color-alt: var(--main-color);
--section-text-color-alt: var(--text-color);
--section-box-bg-alt: var(--background-color);
--section-box-title-color-alt: var(--main-color);
--section-box-text-color-alt: var(--text-color);

--container-max-width: 800px;
--container-padding: 24px;
--content-area-width: 700px;
--single-box-width: 600px;
--section-spacing-top: 65px;
--section-spacing-bottom: 35px;

--box-border: none;
--border-radius-boxes: 12px;
--box-shadow: 0 2px 6px rgba(112, 41, 99, 0.07);

--font-size-32: 32px;
--font-size-24: 24px;
--font-size-18: 18px;
--font-size-16: 16px;
--font-size-15: 15px;
--font-size-13: 13px;
--line-height-32: 1.3;
--line-height-24: 1.3;
--line-height-18: 1.5;
--line-height-16: 1.625;
--line-height-15: 1.6;
--line-height-13: 1.38;

--chevron-animation-delay: 1s;
}

@media (max-width: 600px) {
:root {
--container-padding: 20px;
}
}

main > section:nth-of-type(even) {
--section-bg: var(--section-bg-alt);
--section-heading-color: var(--section-heading-color-alt);
--section-text-color: var(--section-text-color-alt);
--section-box-bg: var(--section-box-bg-alt);
--section-box-title-color: var(--section-box-title-color-alt);
--section-box-text-color: var(--section-box-text-color-alt);
}

* {
margin: 0;
padding: 0;
box-sizing: border-box;
}

body {
font-family: 'Inter', Arial, sans-serif;
line-height: var(--line-height-16);
color: var(--text-color);
background-color: var(--background-color);
min-height: 100vh;
display: flex;
flex-direction: column;
text-align: center;
}

.container {
max-width: var(--container-max-width);
padding-left: var(--container-padding);
padding-right: var(--container-padding);
margin: 0 auto;
}

section {
padding-top: var(--section-spacing-top);
padding-bottom: var(--section-spacing-bottom);
background-color: var(--section-bg);
}

h1 {
font-size: var(--font-size-32);
line-height: var(--line-height-32);
text-transform: uppercase;
font-weight: bold;
text-align: center;
color: var(--section-heading-color);
margin-bottom: 25px;
max-width: var(--content-area-width);
margin-left: auto;
margin-right: auto;
}

h2 {
font-size: var(--font-size-24);
line-height: var(--line-height-24);
font-weight: bold;
text-align: center;
color: var(--section-heading-color);
margin-bottom: 25px;
max-width: var(--content-area-width);
margin-left: auto;
margin-right: auto;
}

p {
font-size: var(--font-size-16);
line-height: var(--line-height-16);
text-align: center;
color: var(--section-text-color);
margin-bottom: 16px;
max-width: var(--content-area-width);
margin-left: auto;
margin-right: auto;
}

.brand-name {
text-transform: uppercase;
}

img {
max-width: 100%;
height: auto;
}

a {
text-decoration: none;
transition: opacity 0.3s ease;
color: inherit;
-webkit-tap-highlight-color: transparent;
}

a:hover {
opacity: 0.75;
}

ul {
list-style: none;
}

.chevron-wrapper {
display: flex;
justify-content: center;
align-items: center;
margin-top: 35px;
margin-bottom: 0;
color: var(--main-color);
line-height: 1;
}

.chevron-wrapper svg {
width: 30px;
height: 30px;
display: block;
animation: subtlePulse 1.25s infinite ease-in-out;
animation-delay: var(--chevron-animation-delay);
}

@keyframes subtlePulse {
0%, 100% {
transform: translateY(0);
}
50% {
transform: translateY(5px);
}
}

@media (prefers-reduced-motion: reduce) {
.chevron-wrapper svg {
animation: none;
}
}

.profile-button-dm, 
.profile-button-links,
.booking-button-dm,
.booking-button-links,
.explore-button-ffnm {
display: flex;
justify-content: center;
align-items: center;
width: 280px;
color: var(--text-color-light);
text-decoration: none;
border-radius: 50px;
font-weight: bold;
margin-left: auto;
margin-right: auto;
-webkit-tap-highlight-color: transparent;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}

.button-visual {
display: flex;
align-items: center;
justify-content: center;
width: 100%;
padding: 10px 0;
border-radius: 50px;
background: var(--main-color-gradient);
box-shadow: 0 4px 15px rgba(112, 41, 99, 0.25);
transition: background 0.3s ease, transform 0.2s ease, box-shadow 0.3s ease;
}

.profile-button-dm:hover, 
.profile-button-links:hover,
.booking-button-dm:hover,
.booking-button-links:hover,
.explore-button-ffnm:hover {
opacity: 1;
}

.profile-button-dm:hover .button-visual, 
.profile-button-links:hover .button-visual,
.booking-button-dm:hover .button-visual,
.booking-button-links:hover .button-visual,
.explore-button-ffnm:hover .button-visual {
background: var(--main-color-gradient-hover);
transform: scale(1.02);
box-shadow: 0 8px 25px rgba(112, 41, 99, 0.35);
}

.profile-button-dm:active .button-visual, 
.profile-button-links:active .button-visual,
.booking-button-dm:active .button-visual,
.booking-button-links:active .button-visual,
.explore-button-ffnm:active .button-visual {
transform: scale(0.98);
box-shadow: 0 4px 10px rgba(112, 41, 99, 0.2);
}

.profile-button-dm {
margin-bottom: 20px;
}

.booking-button-dm {
margin-bottom: 35px;
}

.booking-button-links {
margin-bottom: 55px;
}

.explore-button-ffnm {
width: 320px;
margin-bottom: 35px;
}

.button-wrapper {
display: flex;
align-items: center;
}

.button-icon {
flex: 0 0 auto;
}

.button-icon svg {
display: block;
width: 18px;
height: 18px;
}

.button-icon-left {
margin-right: 15px; /* 12 > 15 */
}

.button-icon-right {
margin-left: 15px; /* 12 > 15 */
}

.button-text {
text-align: center;
text-transform: uppercase;
}

header {
background-color: var(--main-color);
color: var(--text-color-light);
padding: 20px 0 20px 0; /* ffnm-f 15 > 20 top */
text-align: center;
font-size: var(--font-size-16);
line-height: var(--line-height-16);
display: flex;
flex-direction: column;
align-items: center;
}

header .header-main-text {
margin: 0;
padding: 0;
width: 100%;
}

header .header-main-text p {
color: var(--text-color-light);
margin: 0 auto;
max-width: var(--content-area-width);
}

header .header-main-text a {
color: var(--text-color-light);
text-decoration: underline;
}

.language-switcher {
width: 100%;
text-align: center;
margin-top: 0;
margin-bottom: 0; /* ffnm-f 8 > 0 */
padding: 0;
max-width: var(--content-area-width);
margin-left: auto;
margin-right: auto;
}

.language-switcher__list {
list-style: none;
margin: 0;
padding: 0;
display: inline-flex;
gap: 10px;
align-items: center;
}

.language-switcher__link {
display: inline-block;
text-decoration: none;
text-transform: uppercase;
font-weight: bold;
font-size: 14px;
line-height: 1;
color: var(--text-color-light);
opacity: 0.75;
transition: opacity 0.2s ease, text-decoration 0.2s ease;
padding: 5px 10px;
}

.language-switcher__link:hover,
.language-switcher__link:focus {
opacity: 1;
text-decoration: underline;
outline: none;
}

.language-switcher__link--active {
opacity: 1;
text-decoration: none;
cursor: default;
}

.language-switcher__link--active:hover {
opacity: 1;
text-decoration: none;
}

.hero {
padding-top: 60px; /*ffnm-f 40 > 60 */
}

.hero-flag {
display: inline-block;
height: 50px; /* 36 > 50 */
width: auto;
margin-bottom: 20px; /* 25 > 20 */
}

.hero-flag svg {
height: 100%;
width: auto;
filter: drop-shadow(0 0.5px 1px rgba(0, 0, 0, 0.4));
}

.subtitle {
font-size: var(--font-size-18);
line-height: var(--line-height-18);
text-align: center;
margin-bottom: 0px;
}

.chevron-wrapper--first {
margin-top: 30px;
}

.profile {
padding-top: 55px;
}

.profile-title-wrapper {
display: flex;
flex-direction: column;
gap: 4px;
margin-bottom: 10px;
}

.profile-pre-title {
font-size: 14px;
text-align: center;
font-weight: bold;
color: var(--section-heading-color);
}

.profile-image {
width: 200px;
height: 200px;
border-radius: 50%;
background: #e0e0e0;
border: 3px solid var(--main-color);
margin: 0 auto 25px;
display: block;
object-fit: cover;
box-shadow: 0 4px 15px rgba(112, 41, 99, 0.2);
}

.profile-name-block {
display: flex;
flex-direction: column;
align-items: center;
}

.crown-icon {
line-height: 1;
margin-bottom: 8px;
text-align: center;
}

.crown-icon svg {
display: inline-block;
width: 36px;
height: 36px;
filter: drop-shadow(0 1px 2px rgba(112, 41, 99, 0.2));
}

.profile-name {
font-size: var(--font-size-24);
line-height: var(--line-height-24);
font-weight: bold;
color: var(--section-heading-color);
margin-bottom: 15px;
}

.profile-details {
display: inline-block;
margin-bottom: 30px;
color: var(--section-text-color);
}

.profile-buttons-area {
display: flex;
flex-direction: column;
align-items: center;
}

.funfact-box {
background-color: var(--section-box-bg);
border: var(--box-border);
border-radius: var(--border-radius-boxes);
box-shadow: var(--box-shadow);
padding: 25px;
margin: 35px auto 8px;
max-width: var(--single-box-width);
color: var(--section-box-text-color);
}

.funfact-box-title {
font-size: var(--font-size-15);
line-height: var(--line-height-15);
color: var(--section-box-title-color);
display: block;
font-weight: bold;
margin-bottom: 15px;
}

.funfact-box p {
font-size: var(--font-size-15);
line-height: var(--line-height-15);
color: var(--section-box-text-color);
}

.funfact-box p:last-child {
margin-bottom: 0;
}

.gallery-grid {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 20px;
margin: 33px auto 35px;
max-width: var(--content-area-width);
padding: 0;
}

.gallery-grid li {
flex: 0 0 calc((100% - 2 * 20px) / 3);
max-width: calc((100% - 2 * 20px) / 3);
list-style-type: none;
}

.gallery-item {
display: block;
height: 100%;
aspect-ratio: 1/1;
border-radius: 0px;
background: #e0e0e0;
box-shadow: var(--box-shadow);
overflow: hidden;
transition: transform 0.3s ease, box-shadow 0.3s ease;
position: relative;
}

.gallery-item:hover {
transform: translateY(-1px) scale(1.005);
box-shadow: 0 6px 20px rgba(112, 41, 99, 0.12);
}

.gallery-item img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}

@media (max-width: 747px) {
.gallery-grid {
gap: 12px;
}
}

@media (max-width: 600px) {
.gallery-grid li {
flex: 0 0 calc((100% - 12px) / 2);
max-width: calc((100% - 12px) / 2);
}
}

.specialities-grid {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 20px;
margin: 35px auto 35px;
max-width: var(--content-area-width);
}

.specialities-box {
flex: 1 1 calc(50% - 20px);
max-width: calc(50% - 10px);
background-color: var(--section-box-bg);
border: var(--box-border);
border-radius: var(--border-radius-boxes);
box-shadow: var(--box-shadow);
padding: 15px;
height: 60px;
display: flex;
justify-content: center;
align-items: center;
flex-direction: row;
text-align: center;
color: var(--section-box-text-color);
font-size: var(--font-size-15);
line-height: var(--line-height-15);
}

.specialities-box span {
margin-left: 10px;
}

.specialities-icon svg {
display: block;
width: 18px;
height: 18px;
}

@media (min-width: 748px) {
.specialities-box span:first-child { 
margin-left: 0;
}

.specialities-box span:last-child {
margin-left: 10px;
}
}

@media (max-width: 747px) {
.specialities-grid {
gap: 12px;
}

.specialities-box {
flex-basis: calc(50% - 12px);
max-width: calc(50% - 6px);
justify-content: flex-start;
position: relative;
text-align: left;
padding: 10px;
font-size: var(--font-size-13);
line-height: var(--line-height-13);
}

.specialities-icon svg {
width: 16px;
height: 16px;
}

.specialities-box span:first-child {
position: absolute;
left: 18px;
top: 50%;
transform: translateY(-50%);
}

.specialities-box span:last-child {
margin-left: 45px;
margin-right: 15px;
}
}

@media (max-width: 600px) {
.specialities-box span:first-child {
left: 6px; /* 8 > 6 */
}

.specialities-box span:last-child {
margin-left: 32px; /* 30 > 32 */
margin-right: 0;
}
}

.meeting-options-grid {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 20px;
margin: 35px auto 8px;
max-width: var(--content-area-width);
}

.meeting-options-box {
flex: 1 1 calc(50% - 20px);
max-width: calc(50% - 10px);
background-color: var(--section-box-bg);
border: var(--box-border);
border-radius: var(--border-radius-boxes);
box-shadow: var(--box-shadow);
padding: 15px;
height: 60px;
display: flex;
justify-content: center;
align-items: center;
flex-direction: row;
text-align: center;
color: var(--section-box-text-color);
font-size: var(--font-size-15);
line-height: var(--line-height-15);
}

.meeting-options-box span {
margin-left: 10px;
}

.meeting-options-icon svg {
display: block;
width: 18px;
height: 18px;
}

@media (min-width: 748px) {
.meeting-options-box span:first-child { 
margin-left: 0;
}

.meeting-options-box span:last-child {
margin-left: 10px;
}
}

@media (max-width: 747px) {
.meeting-options-grid {
gap: 12px;
}

.meeting-options-box {
flex-basis: calc(50% - 12px);
max-width: calc(50% - 6px);
justify-content: flex-start;
position: relative;
text-align: left;
padding: 10px;
font-size: var(--font-size-13);
line-height: var(--line-height-13);
}

.meeting-options-icon svg {
width: 16px;
height: 16px;
}

.meeting-options-box span:first-child {
position: absolute;
left: 15px;
top: 50%;
transform: translateY(-50%);
}

.meeting-options-box span:last-child {
margin-left: 45px;
margin-right: 15px;
}
}

@media (max-width: 600px) {
.meeting-options-box span:first-child {
left: 6px; /* 5 > 6 */
}

.meeting-options-box span:last-child {
margin-left: 32px; /* 30 > 32 */
margin-right: 0;
}
}

.territory-grid {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 20px;
margin: 35px auto 35px;
max-width: var(--content-area-width);
}

.territory-box {
flex: 1 1 calc(50% - 20px);
max-width: calc(50% - 10px);
background-color: var(--section-box-bg);
border: var(--box-border);
border-radius: var(--border-radius-boxes);
box-shadow: var(--box-shadow);
padding: 15px;
height: 60px;
display: flex;
justify-content: center;
align-items: center;
flex-direction: row;
text-align: center;
color: var(--section-box-text-color);
font-size: var(--font-size-15);
line-height: var(--line-height-15);
}

.territory-box span {
margin-left: 10px;
}

.territory-icon svg {
display: block;
width: 18px;
height: 18px;
}

@media (min-width: 748px) {
.territory-box span:first-child { 
margin-left: 0;
}

.territory-box span:last-child {
margin-left: 10px;
}
}

@media (max-width: 747px) {
.territory-grid {
gap: 12px;
}

.territory-box {
flex-basis: calc(50% - 12px);
max-width: calc(50% - 6px);
justify-content: flex-start;
position: relative;
text-align: left;
padding: 10px;
font-size: var(--font-size-13);
line-height: var(--line-height-13);
}

.territory-icon svg {
width: 16px;
height: 16px;
}

.territory-box span:first-child {
position: absolute;
left: 18px;
top: 50%;
transform: translateY(-50%);
}

.territory-box span:last-child {
margin-left: 45px;
margin-right: 15px;
}
}

@media (max-width: 600px) {
.territory-box span:first-child {
left: 8px;
}

.territory-box span:last-child {
margin-left: 30px;
margin-right: 0;
}
}

.rates-grid {
display: flex;
flex-wrap: wrap;
justify-content: center;
gap: 20px;
margin: 35px auto 35px;
max-width: var(--content-area-width);
}

.rates-box {
flex: 1 1 calc(50% - 20px);
max-width: calc(50% - 10px);
background-color: var(--section-box-bg);
border: var(--box-border);
border-radius: var(--border-radius-boxes);
box-shadow: var(--box-shadow);
padding: 15px;
height: 130px;
display: flex;
justify-content: center;
align-items: center;
flex-direction: column;
text-align: center;
color: var(--section-box-text-color);
font-size: var(--font-size-15);
line-height: var(--line-height-15);
}

.rates-icon {
margin-top: 6px; /* new */
margin-bottom: 5px;
}

.rates-icon svg {
display: block;
width: 28px;
height: 28px;
}

.rates-box-title {
font-size: var(--font-size-15);
font-weight: bold;
margin-bottom: 2px;
color: var(--section-box-title-color);
}

.rates-box span:last-child {
font-size: var(--font-size-15);
}

@media (max-width: 747px) {
.rates-grid {
gap: 12px;
}

.rates-box {
flex-basis: calc(50% - 12px);
max-width: calc(50% - 6px);
}
}

@media (max-width: 600px) {
.rates-grid {
gap: 16px;
}

.rates-box {
flex-basis: 100%;
max-width: 100%;
height: auto;
}

.rates-icon {
margin-bottom: 4px;
}

.rates-icon svg {
width: 26px;
height: 26px;
}
}

.booking-buttons-area {
margin: 35px 0 0;
text-align: center;
}

.booking-buttons-area p {
margin-bottom: 10px;
}

.notice-box {
background-color: var(--section-box-bg);
border: var(--box-border);
border-radius: var(--border-radius-boxes);
box-shadow: var(--box-shadow);
padding: 25px;
margin: 15px auto 8px;
max-width: var(--single-box-width);
color: var(--section-box-text-color);
}

.notice-box-title {
font-size: var(--font-size-15);
line-height: var(--line-height-15);
color: var(--section-box-title-color);
display: block;
font-weight: bold;
margin-bottom: 15px;
}

.notice-box p {
font-size: var(--font-size-15);
line-height: var(--line-height-15);
color: var(--section-box-text-color);
}

.notice-box p:last-child {
margin-bottom: 0;
}

.flag-container {
margin: 20px 0 35px; /* 25 > 20 */
}

.flag {
display: inline-flex;
align-items: center;
height: 24px; /* 18 > 24 */
margin: 0 4px;
}

.flag svg {
display: block;
height: 100%;
width: auto;
filter: drop-shadow(0 1px 3px rgba(0, 0, 0, 0.33));
}

figcaption {
font-size: 14px;
}

.explore-button-area p {
margin-bottom: 10px;
}

footer {
background-color: var(--main-color);
color: var(--text-color-light);
text-align: center;
font-size: var(--font-size-15);
line-height: var(--line-height-15);
width: 100%;
}

footer .container {
max-width: var(--container-max-width);
padding-left: var(--container-padding);
padding-right: var(--container-padding);
padding-top: 70px;
padding-bottom: 25px;
margin: 0 auto;
}

.footer-content {
max-width: var(--content-area-width);
margin-left: auto;
margin-right: auto;
}

footer p {
font-size: var(--font-size-15);
line-height: var(--line-height-15);
color: inherit;
}

footer a {
color: var(--text-color-light);
}

.social-icons-area {
margin-bottom: 60px;
text-align: center;
}

.social-icon {
display: inline-block;
vertical-align: middle;
margin: 0 25px;
transition: opacity 0.3s ease;
}

.social-icon svg {
display: block;
width: 70px;
height: 70px;
}

.footer-text {
margin-bottom: 25px;
}

.footer-legal-links {
margin: 15px 0;
text-align: center;
display: flex;
flex-direction: column;
align-items: center;
gap: 10px;
}

.footer-legal-links a {
color: var(--text-color-light);
text-decoration: underline;
}

.footer-divider {
height: 1px;
background: rgba(255, 255, 255, 0.3);
margin: 65px auto 25px auto;
width: 100%;
border: none;
}

.copyright {
margin-bottom: 0;
}

.copyright a {
text-transform: uppercase;
}

.noscript-warning {
background-color: #ffdddd;
border: 1px solid #ff0000;
color: #D8000C;
padding: 60px 30px;
text-align: center;
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 90%;
max-width: 450px;
z-index: 10000;
border-radius: 12px;
box-shadow: 0 4px 20px rgba(0,0,0,0.3);
}

.legal-content {
padding-bottom: 80px;
}

.legal-content .legal-divider {
border: none;
height: 1px;
background-color: #ccc;
margin-top: 50px;
margin-bottom: 50px;
margin-left: auto;
margin-right: auto;
}

.legal-content h2 {
font-size: 22px;
margin-top: 40px;
margin-bottom: 15px;
}

.back-wrapper {
margin-top: 48px;
text-align: center;
}

.back-line {
display: inline-flex;
align-items: center;
gap: 6px;
margin-bottom: 0px; /* 4 > 0 */
}

.back-icon svg {
display: block;
width: 18px;
height: 18px;
}

.back-wrapper .brand-link {
display: inline-block;
font-weight: bold;
color: var(--main-color);
text-decoration: underline;
padding: 2px 0; /* 5 > 2 */
}

.address-block {
font-size: var(--font-size-15);
line-height: 1.4;
margin-bottom: 35px;
}

.legal-content p a[href^="mailto:"] {
color: var(--main-color);
text-decoration: underline;
}

.legal-content p a[href^="mailto:"]:hover {
opacity: 0.75;
}

@media (max-width: 359px) {
:root {
--container-padding: 16px;
}

.profile-name {
font-size: 22px;
}

.crown-icon {
margin-bottom: 7px;
}

.crown-icon svg {
width: 33px;
height: 33px;
}

.gallery-grid {
gap: 10px;
}

.specialities-grid,
.meeting-options-grid,
.territory-grid {
gap: 10px;
}

.specialities-box,
.meeting-options-box,
.territory-box {
flex-basis: 100%;
max-width: 100%;
height: auto;
min-height: 50px;
padding: 12px 15px;
position: relative;
display: flex;
align-items: center;
}

.specialities-box span:first-child,
.meeting-options-box span:first-child,
.territory-box span:first-child {
position: absolute;
left: 15px;
top: 50%;
transform: translateY(-50%);
}

.specialities-box span:last-child,
.meeting-options-box span:last-child,
.territory-box span:last-child {
margin-left: 35px;
}

.territory-box span:first-child {
left: 17px;
}

.rates-grid {
gap: 14px;
}

.rates-box {
padding: 10px 5px;
}

.explore-button-ffnm {
width: 100%;
}

h1 {
font-size: 28px;
hyphens: auto;
overflow-wrap: break-word;
}

h2 {
font-size: 22px;
}

.button-text {
font-size: 15px;
}
}

@media (max-width: 319px) {
:root {
--container-padding: 10px;
}

.profile-image {
width: 176px;
height: 176px;
}

.profile-name {
font-size: 20px;
}

.crown-icon {
margin-bottom: 6px;
}

.crown-icon svg {
width: 30px;
height: 30px;
}

.profile-button-dm,
.profile-button-links,
.booking-button-dm,
.booking-button-links {
width: 100%;
}

.button-icon-left {
margin-left: 20px;
margin-right: 12px; /* 8 > 12 */
}

.button-icon-right {
margin-right: 20px;
margin-left: 12px; /* 8 > 12 */
}

.rates-grid {
gap: 12px;
}

h1 {
font-size: 24px;
}

h2 {
font-size: 20px;
}

.button-text {
font-size: 14px;
}

.social-icons-area {
display: flex;
justify-content: center;
gap: 50px;
}

.social-icon {
margin: 0;
}

.social-icon svg {
width: 50px;
height: 50px;
}

.legal-content h2 {
font-size: 20px;
}
}

#terms-modal-wrapper {
position: fixed;
inset: 0;
z-index: 9999;
display: flex;
align-items: center;
justify-content: center;
transition: opacity 0.3s ease-out;
overscroll-behavior: contain;
height: 100vh;
}

@supports (height: 100dvh) {
#terms-modal-wrapper {
height: 100dvh;
}
}

#terms-overlay {
position: fixed;
inset: 0;
background-color: rgba(0,0,0,0.75);
z-index: 1;
}

#terms-modal-content {
position: relative;
z-index: 2;
background-color: var(--background-color);
color: var(--text-color);
padding: 25px 30px;
border-radius: var(--border-radius-boxes, 12px);
box-shadow: 0 5px 25px rgba(0, 0, 0, 0.2);
max-width: 400px;
width: calc(100% - 40px);
text-align: center;
}

#terms-modal-content h2 {
font-size: 20px;
text-transform: uppercase;
color: var(--main-color);
margin-top: 0;
margin-bottom: 15px;
}

#terms-modal-content p {
font-size: var(--font-size-16);
line-height: var(--line-height-16);
margin-bottom: 25px;
}

#terms-modal-content p a {
color: var(--main-color);
text-decoration: underline;
}

.terms-modal-buttons {
display: flex;
justify-content: space-around;
gap: 15px;
}

.terms-modal-button {
flex-grow: 1;
padding: 12px 15px;
border: none;
border-radius: 50px;
font-size: var(--font-size-16);
font-weight: bold;
cursor: pointer;
transition: background-color 0.2s ease, transform 0.1s ease, box-shadow 0.2s ease;
-webkit-tap-highlight-color: transparent;
min-width: 100px;
outline: none;
}

.terms-modal-button--yes {
background: var(--main-color-gradient);
color: var(--text-color-light);
}

.terms-modal-button--no {
background-color: #ccc;
color: #333;
}

.terms-modal-language-switcher {
margin-top: -7px;
margin-bottom: 13px;
text-align: center;
}

.terms-modal-language-switcher__list {
list-style: none;
padding: 0;
margin: 0;
display: inline-flex;
gap: 16px;
}

.terms-modal-language-switcher__item {
display: inline;
}

.terms-modal-language-switcher .terms-modal-language-switcher__link {
display: inline-block;
font-size: 13px;
font-weight: bold;
text-transform: uppercase;
padding: 3px 6px;
color: var(--text-color);
text-decoration: none;
transition: opacity 0.2s ease, text-decoration 0.2s ease;
}

.terms-modal-language-switcher .terms-modal-language-switcher__link--active {
opacity: 1;
cursor: default;
}

.terms-modal-language-switcher a.terms-modal-language-switcher__link:not(.terms-modal-language-switcher__link--active) {
opacity: 0.70; /* 0.65 > 0.70 */
}

.terms-modal-hr {
border: none;
border-top: 1px solid #ccc;
margin-top: 0;
margin-bottom: 20px;
}

#terms-modal-wrapper.terms-modal--visible {
visibility: visible;
opacity: 1;
}

#terms-modal-content p a:hover {
opacity: 0.8;
}

.terms-modal-button--yes:hover {
background: var(--main-color-gradient-hover);
}

.terms-modal-button--no:hover {
background-color: #bbb;
}

.terms-modal-button:active {
transform: scale(0.96);
}

#terms-modal-content:focus {
outline: none;
box-shadow: 0 5px 25px rgba(0, 0, 0, 0.2);
}

.terms-modal-button:focus-visible {
outline: 2px solid var(--main-color);
outline-offset: 2px;
}

.terms-modal-language-switcher a.terms-modal-language-switcher__link:not(.terms-modal-language-switcher__link--active):hover,
.terms-modal-language-switcher a.terms-modal-language-switcher__link:not(.terms-modal-language-switcher__link--active):focus-visible {
opacity: 1;
text-decoration: underline;
outline: none;
}

.terms-modal-language-switcher .terms-modal-language-switcher__link--active:hover,
.terms-modal-language-switcher .terms-modal-language-switcher__link--active:focus {
opacity: 1;
text-decoration: none;
cursor: default;
}

@media (prefers-reduced-motion: reduce) {
#terms-modal-wrapper {
transition-property: opacity;
}
.terms-modal-button {
transition-property: background-color, box-shadow;
}
}

@media (max-width: 319px) {
.terms-modal-buttons {
flex-direction: column;
gap: 12px;
}
.terms-modal-button {
width: 100%;
flex-grow: 0;
font-size: 14px;
}
#terms-modal-content h2 {
font-size: 18px;
}
#terms-modal-content p {
font-size: 14px;
line-height: 1.4;
}
}