/* CSS Document */


/******************************* Base *******************************/

:root {
	--fontfam : "DM Serif Display";
	
	--slider-width: 50vw;
}

body {
	margin: 0;
	font-family: "Roboto", sans-serif;
	font-size: var(--fsize1);
	font-weight: 300;
	color: var(--coul-brown);
	background-image: linear-gradient(rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.95)), url(/westotel/assets/img/background-noise.png);
	background-size: 50%;
	animation: fading 2s forwards;
}

@keyframes fading {
	from {opacity: 0;}
	to {opacity: 1;}
}

a {
	transition: color var(--transitionA);
}

input:not([type="submit"], [type="radio"]), textarea {
	resize: none;
	border: solid 1px var(--coul-brown);
}

form {
	margin: 0;
}

ul {
	margin: 0;
	padding: 0 var(--gap2);
}

.center {
	text-align: center;
}

.bold {
	font-weight: bold;
}

.form-required {
	position: relative;
}

.form-required::after {
	content: "*";
	position: absolute;
	right: calc(-1 * var(--gap));
	color: red;
}

.form-required * {
	width: 100%;
}

.input-missing-value {
	border: 1px solid red !important;
}

/* Booking widget */

#booking-widget {
	display: flex;
	flex-direction: column;
	grid-gap: var(--gap);
	margin-top: auto;
	margin-bottom: var(--gap4);
	background: rgba(60,47,33,0.2);
	backdrop-filter: blur(10px);
	justify-content: center;
	align-items: center;
	padding:  var(--gap2) var(--gap8);
	border-radius: 200px;
	overflow: hidden;
	border: solid 1px var(--coul-white);
	color: var(--coul-white);
	font-weight: normal;
}

#booking-widget-title {
	font-size: var(--fsize3);
	font-family: var(--fontfam);
	text-align: center;
}

.booking-widget-filters {
	display: flex;
	align-items: center;
	justify-content: center;
	grid-gap: var(--gap2) var(--gap8);
	margin-top: auto;
	flex-wrap: wrap;
}

.booking-widget-filters select, .booking-widget-filters input[type="date"], .booking-widget-filters input[type="text"] {
	background-color: transparent;
	color: inherit;
	border: none;
	outline: none;
	cursor: pointer;
}

.booking-widget-filters select option {
	background-color: var(--coul-brown);
	color: var(--coul-white);
}

#booking-widget-dates, .booking-widget-date-container {
	display: flex;
	cursor: pointer;
	align-items: center;
}

.booking-widget-details {
	display: flex;
	align-items: center;
}

.booking-widget-details-text {
	display: flex;
	width: 100px;
	justify-content: center;
}

#booking-widget-dates {
	color: var(--coul-sand);
}

.booking-widget-date {
	display: flex;
	color: var(--coul-white);
}

.booking-widget-number-selector {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 30px;
	width: 30px;
	font-size: var(--fsize2);
	background-color: var(--coul-golden);
	border-radius: 50%;
	cursor: pointer;
	user-select: none;
	transition: var(--transitionA);
}

.booking-widget-number-selector:hover {
	background-color: var(--coul-white);
	color: var(--coul-golden);
}

/* Loading */

#loading {
	background-color: var(--coul-brown);
	color: var(--coul-white);
}

.loader {
  color: var(--coul-white);
}

#loading p {
	color: var(--coul-white);
	font-family: var(--fontfam);
}

/* Alerts */

.alerts-container {
	position: fixed;
	bottom: var(--gap2);
	left: 50%;
	transform: translateX(-50%);
	z-index: 11;
	pointer-events: none;
	animation: disappear 5s forwards;
	animation-delay: 5s;
}

@keyframes disappear {
	0% { opacity: 1;}
	10% { opacity: 0;}
	100% { opacity: 0; display: none;}
}

.success {
	padding: var(--gap4);
	background-color: var(--coul-golden);
	color: var(--coul-brown);
}

.error {
	padding: var(--gap4);
	background-color: var(--coul-brown);
	color: var(--coul-white );
}

/* Header */

#header-banner {
	padding: var(--gap);
	font-weight: bold;
	background: var(--coul-brown);
	backdrop-filter: blur(10px);
	width: 100%;
	text-align: center;
	color: var(--coul-white);
	display: flex;
	justify-content: center;
	align-items: center;
}

header {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: var(--gap2);
	position: relative;
	min-height: 100vh;
	grid-gap: var(--gap8);
	background-color: var(--coul-blue);
	z-index: 10;
	user-select: none;
	transition: var(--transitionA);
}

#header-img {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -1;
	opacity: 0.8;
	pointer-events: none;
}

#header-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Content */

main {
	display: flex;
	flex-direction: column;
	align-items: center;
	grid-gap: var(--gap16);
	padding: var(--gap16) 0;
	background-image: url("/westotel/assets/img/background-palms.png");
	background-size: 100% auto;
}

.homepage-logo {
	width: 400px;
	max-width: 100%;
}

.text-img {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	grid-gap: var(--gap8);
	padding: 0 var(--gap2);
}

.text-img:nth-of-type(even) {
	flex-direction: row-reverse;
}

.text-img img {
	height: 850px;
	max-width: 100%;
	object-fit: cover;
	aspect-ratio: 4 / 5;
}

.text-img .text-container {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	grid-gap: var(--gap4);
	max-width: 640px;
	text-align: justify;
}

.text-img .text-head {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	text-align: left;
}

.subtitle {
	background-color: var(--coul-golden);
	font-size: var(--fsize3);
	font-weight: 200;
}

.title1 {
	font-family: var(--fontfam);
	font-size: var(--fsize6);
}

.title, .title2 {
	font-family: var(--fontfam);
	font-size: var(--fsize4);
}

.banner {
	height: 600px;
	display: flex;
	flex-direction: column;
	padding: var(--gap8);
	padding-bottom: 0;
	position: relative;
	z-index: 1;
	width: 100%;
}

.banner-start {
	justify-content: flex-end;
	align-items: flex-start;
}

.banner-end {
	justify-content: flex-end;
	align-items: flex-end;
}

.banner .banner-image {
	background-attachment: fixed;
	background-size: cover;
	background-position: center;
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 80%;
	z-index: -1;
}

.banner .banner-text {
	padding: var(--gap8);
	background-color: var(--coul-egg);
	max-width: 850px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	grid-gap: var(--gap2);
	text-align: justify;
}

.banner .banner-text h2 {
	font-family: var(--fontfam);
	font-size: var(--fsize3);
	font-weight: normal;
}

strong {
	font-family: var(--fontfam);
	font-size: var(--fsize2);
	font-weight: normal;
}

.tiles-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: flex-start;
	max-width: calc(1200px + var(--gap8));
	grid-gap: var(--gap4) var(--gap8);
	padding: 0 var(--gap2);
	margin: auto;
}

.tiles-container .tile {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	grid-gap: var(--gap2);
	max-width: 480px;
	transition: var(--transitionA);
}

.tiles-container a.tile:hover {
	background-color: var(--coul-sand);
}

.tiles-container .tile:nth-child(odd) {
	margin-top: var(--gap8);
}

.tiles-container .tile:nth-child(even) {
	margin-bottom: var(--gap8);
}

.tiles-container .tile img {
	width: 100%;
	aspect-ratio: 2/calc(2 * 1.33);
	object-fit: cover;
}

.tiles-container .tile-head{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.tiles-container .tile p {
	text-align: justify;
}

#intro {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	padding: 0 var(--gap2);
	grid-gap: var(--gap2);
	text-align: center;
}

.intro-text {
	max-width: 720px;
	text-align: center;
	display: flex;
	flex-direction: column;
	grid-gap: var(--gap2);
}

.golden {
	color: var(--coul-golden);
}

.strong-points-banner {
	display: flex;
	padding: var(--gap2);
	justify-content: center;
	align-items: center;
	gap: var(--gap4);
	flex-wrap: wrap;
	background-color: var(--coul-brown);
	color: var(--coul-white);
	font-weight: bold;
	font-size: var(--fsize2);
	text-align: center;
}

/* Destinations */

#hotels-container {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	grid-gap: var(--gap2);
	max-width: 1200px;
	margin: auto;
	padding: 0 var(--gap2);
}

.hotel {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	align-items: center;
	text-align: center;
	color: var(--coul-white);
	padding: var(--gap2);
	overflow: hidden;
	max-width: 100%;
	width: 360px;
	height: 480px;
	background-color: var(--coul-blue);
}

.hotel img {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	object-fit: cover;
	z-index: -1;
	transform-origin: center;
	transition: var(--transitionB);
	opacity: 0.8;
}

.hotel:hover img {
	transform: scale(1.1);
}

.hotel-gradient-westotel {
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	background: linear-gradient(to top right, rgb(25 37 90 / 80%) 0%, rgb(25 37 90 / 0%) 80%, rgb(25 37 90 / 0%) 100%);
	z-index: -1;
}

#stays-texts {
	padding: 0 var(--gap2);
}

/* FAQ */

#faq {
	display: flex;
	flex-direction: column;
	grid-gap: var(--gap2);
	max-width: 1200px;
	width: 100%;
}

#faq h3 {
	font-family: var(--fontfam);
	font-size: var(--fsize4);
	text-align: center;
	color: var(--coul-golden);
}

.accordions-container {
	display: flex;
	flex-direction: column;
	max-width: 1200px;
}

.accordion {
	border-bottom: solid 1px var(--coul-sand);
}

.accordion input[type="radio"] {
	display: none;
}

.accordion-title {
	padding: var(--gap);
	color: var(--coul-brown);
	cursor: pointer;
	font-weight: bold;
	font-size: var(--fsize2);
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	grid-gap: var(--gap);
}

.accordion-status {
	display: flex;
	justify-content: center;
	align-items: center;
	height: 20px;
	width: 20px;
	background-color: var(--coul-brown);
	color: var(--coul-white);
	border-radius: 50%;
	cursor: pointer;
	user-select: none;
	position: relative;
	flex-shrink: 0;
}

.accordion-status::before {
	content: "";
	height: 2px;
	width: 40%;
	background-color: var(--coul-white);
}

.accordion-status::after {
	position: absolute;
	content: "";
	width: 2px;
	height: 40%;
	background-color: var(--coul-white);
	transition: var(--transitionA);
}

.accordion-content {
	transition: var(--transitionA) linear;
	overflow: hidden;
}

.accordion input[type="radio"]:not(:checked) ~ .accordion-content {
	max-height: 0px;
}

.accordion input[type="radio"]:checked ~ .accordion-content{
	max-height: 800px;
}

.accordion input[type="radio"]:checked ~ .accordion-title .accordion-status::after{
	transform: rotate(-90deg);
}

.accordion-content-padding {
	padding: var(--gap);
	padding-top: 0;
	display: flex;
	flex-direction: column;
	grid-gap: var(--gap);
}

/* Filters */

.filters-container {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	grid-gap: var(--gap2);
	margin-bottom: var(--gap4);
}

.filter {
	padding: var(--gap2);
	cursor: pointer;
	border-radius: 50px;
	transition: var(--transitionA);
}

.filter:hover {
	background-color: var(--coul-golden);
	color: var(--coul-white);
}

.filter-selected {
	background-color: var(--coul-brown);
	color: var(--coul-white);
}

/* Rooms */

#rooms-and-suites {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}

.rooms-list {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	grid-gap: var(--gap16);
	transition: var(--transitionA);
}

.filtered-hidden {
	opacity: 0;
	pointer-events: none;
	height: 0;
	overflow: hidden;
}

.room {
	display: flex;
	justify-content: center;
	align-items: stretch;
}

.room:nth-of-type(even) {
	flex-direction: row-reverse;
}

.room-details {
	padding: var(--gap2);
	width: 540px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	grid-gap: var(--gap2);
}

.room-title {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.room-tags {
	display: flex;
	flex-wrap: wrap;
	grid-gap: var(--gap);
}

.room-tags div {
	padding: var(--gap);
	background-color: var(--coul-white);
	border-radius: 50px;
	border: solid 1px var(--coul-brown);
}

.room-photos {
	flex: 1 0;
}

.room .slider {
	width: var(--slider-width);
	max-width: 720px;
	max-height: 720px;
	aspect-ratio: 1/0.8;
}

.room .slider-images img {
	max-width: 720px;
	width: var(--slider-width);
}

/* Slider */

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

.slider-images {
	display: flex;
	align-items: stretch;
	height: 100%;
	transition: var(--transitionA);
}

.slider-images img {
	height: 100%;
	object-fit: cover;
}

.slider-controls {
	position: absolute;
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
	top: 50%;
	transform: translateY(-50%);
	color: var(--coul-white);
	font-size: var(--fsize3);
	pointer-events: none;
}

.slider-controls > * {
	cursor: pointer;
	padding: var(--gap2);
	background-color: rgb(190 175 138 / 40%);
	backdrop-filter: blur(5px);
	pointer-events: auto;
}

/* Services */

#access-map {
	display: flex;
	align-items: stretch;
	grid-gap: var(--gap2);
	padding: 0 var(--gap2);
	flex-wrap: wrap;
	max-width: 1200px;
	width: 100%;
}

#map-container {
	display: flex;
	width: 400px;
	max-width: 100%;
	flex-grow: 1;
	position: relative;
}

#map-container p {
	padding: var(--gap2);
}

#hotel-map-notice {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	text-align: center;
	grid-gap: var(--gap2);
	background-color: var(--coul-sand);
	padding: var(--gap2);
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
}

#hotel-map {
	border: none;
	width: 100%;
	flex-grow: 1;
	min-height: 350px;
}

#hotel-map-notice.dispnone {
	display: none;
	pointer-events: none;
}

.contact-details {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	grid-gap: var(--gap4);
	flex-grow: 1;
}

#services {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	padding: 0 var(--gap2);
	grid-gap: var(--gap4);
	max-width: 1200px;
	width: 100%;
}

.services {
	display: flex;
	flex-direction: column;
	grid-gap: var(--gap2);
	max-width: 1200px;
	width: 100%;
}

.services h3 {
	font-family: var(--fontfam);
	font-size: var(--fsize4);
	text-align: center;
}

#services-container {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(360px, 1fr));
	align-items: center;
	width: 1200px;
	max-width: calc(100% - var(--gap2));
	margin: auto;
	grid-gap: var(--gap2);
}

.service {
	width: 100%;
	position: relative;
	overflow: hidden;
	background-color: var(--coul-white);
}

.service img {
	width: 100%;
	aspect-ratio: 1/1;
	object-fit: cover;
}

.service input[type="radio"] {
	display: none;
}

.service-title {
	text-align: center;
	font-size: var(--fsize2);
	font-weight: bold;
}

.service-summary {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	grid-gap: var(--gap);
	padding: var(--gap2);
	height: 180px;
}

.service-details {
	height: 100%;
	position: absolute;
	top: 100%;
	width: 100%;
	overflow-y: auto;
	transition: var(--transitionA);
	background-color: rgba(255, 255, 255, 0.8);
	backdrop-filter: blur(7px);
	padding: var(--gap2);
	padding-bottom: var(--gap8);
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	grid-gap: var(--gap2);
}

.service-description {
	display: flex;
	flex-direction: column;
	grid-gap: var(--gap);
}

.service-details a {
	color: var(--coul-golden);
	text-decoration: underline;
}

.check-service:checked ~ .service-details {
	top: 0;
}

.no-datas {
	background-color: var(--coul-sand);
	font-size: var(--fsize2);
	padding: 50px;
}

/* Contact */

#contact {
	display: flex;
	flex-direction: column;
	grid-gap: var(--gap2);
}

.contact-form-container {
	display: flex;
	flex-direction: column;
	grid-gap: var(--gap2);
}

#contact-form {
	display: flex;
	flex-direction: column;
	grid-gap: var(--gap);
	max-width: 600px;
}

#contact-form input, #contact-form textarea {
	border: none;
	background: var(--coul-sand);
	padding: var(--gap);
	resize: none;
}

#contact-form button {
	border: none;
	align-self: center;
}

input[name="middle_name"] {
	height: 0 !important;
	font-size: 0 !important;
	padding: 0 !important;
	border: none !important;
	margin: 0 !important;
	width: 0;
}

/* Hotel video */

#hotel-video-container {
	position: fixed;
	height: 100%;
	width: 100%;
	top: 0;
	left: 0;
	z-index: 1000;
	animation: fading 0.5s;
	display: none;
	background-color: #000000;
}

.hotel-video-visible {
	display: flex !important;
}

#hotel-video-closer {
	display: flex;
	justify-content: center;
	align-items: center;
	align-self: flex-start;
	flex-shrink: 0;
	position: relative;
	cursor: pointer;
	width: 40px;
	height: 40px;
	margin-left: var(--gap4);
	margin-top: var(--gap4);
}

#hotel-video-closer span {
	height: 3px;
	width: 60px;
	background-color: var(--coul-white);
	display: block;
	transition: var(--transitionA);
}

#hotel-video-closer:hover span {
	background-color: var(--coul-golden);
}

#hotel-video-closer span:nth-of-type(1) {
	position: absolute;
	transform-origin: center;
	transform: rotate(45deg);
}

#hotel-video-closer span:nth-of-type(2) {
	position: absolute;
	transform-origin: center;
	transform: rotate(-45deg);
}

#hotel-video {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

/* Photo filter */

.filtered-img {
	position: relative;
	filter: sepia(0.1) saturate(1.4) invert(0.05) brightness(1.05) contrast(1.1);
}

.filtered-img:after {
	content: "";
	position: absolute;
	left: 0;
	top: 0;
	height: 100%;
	width: 100%;
	background: url(/westotel/assets/img/background-noise.png);
	opacity: 0.02;
	mix-blend-mode: hard-light;
	pointer-events: none;
}

/* Gifts cards */

#gifts-cards-page {
	display: flex;
	flex-direction: column;
	grid-gap: var(--gap4);
}

#gifts-cards {
	padding: 0 var(--gap2);
}

.gifts-cards-widget {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	grid-gap: var(--gap2);
	max-width: 1200px;
}

.gift-card {
	max-width: 400px;
	position: relative;
	overflow: hidden;
	width: 100%;
}

.gift-card strong {
	font-family: inherit;
	font-size: inherit;
	font-weight: inherit;
}

.gift-card label {
	cursor: pointer;
}

.gift-card-bot img {
	width: 100%;
	height: 340px;
	object-fit: cover;
}

.gift-card-top {
	text-align: center;
	padding: var(--gap);
	background-color: var(--coul-brown);
	color: var(--coul-white);
	display: flex;
	flex-direction: column;
	margin-bottom: var(--gap);
}

.gift-card-title {
	font-family: var(--fontfam);
	font-size: var(--fsize2);
	text-align: center;
}


.gift-card-top .gift-card-title {
	height: 54px;
	text-overflow: ellipsis;
	white-space: nowrap;
	overflow: hidden;
}

.gift-card-baseline {
	height: 54px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.gift-card-price {
	font-family: var(--fontfam);
	color: var(--coul-golden);
	font-size: var(--fsize2);
}

#cartes-cadeaux-widget-container {
	max-width: 1200px;
	margin: auto;
}

.gift-card-details {
	position: absolute;
	top: 100%;
	width: 100%;
	height: 100%;
	overflow: auto;
	transition: var(--transitionA);
	padding: var(--gap);
	padding-bottom: 0; ;
	background-color: var(--coul-white);
	display: flex;
	align-items: center;
	flex-direction: column;
	grid-gap: var(--gap);
}

.gift-card-details * {
	flex-shrink: 0;
}

.gift-card-details .gift-card-button-container {
	padding: var(--gap2);
	backdrop-filter: blur(3px);
	position: sticky;
	bottom: 0;
	width: 100%;
	background-color: #ffffff8a;
}

.gift-card-close-details {
	font-size: var(--fsize2);
	display: flex;
	justify-content: center;
	align-items: center;
	height: 40px;
	width: 40px;
	border-radius: 50%;
	background-color: var(--coul-brown);
	color: var(--coul-white);
	align-self: flex-end;
	text-align: center;
}

.gift-card-details-text {
	width: 100%;
}

.gift-card-details .clear-button {
	margin-top: auto;
} 

.gift-card input[type="checkbox"] {
	display: none;
}

.gift-card input[type="checkbox"]:checked ~ .gift-card-details {
	top: 0%;
}

/* Offers*/

#offers-container {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	align-items: center;
	width: min(1200px, calc(100% - var(--gap2)));
	margin: auto;
	grid-gap: var(--gap2);
	padding: 0 var(--gap2);
}

.offer {
	width: 100%;
	position: relative;
	overflow: hidden;
	background-color: var(--coul-white);
}

.offer * {
	flex-shrink: 0;
}

.offer img {
	width: 100%;
	aspect-ratio: 2 / 1;
	object-fit: cover;
}

.offer input[type="checkbox"] {
	display: none;
}

.offer-summary {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	grid-gap: var(--gap);
	padding: var(--gap2);
	height: 200px;
}

.offer-summary .button {
	align-self: flex-start;
}

.offer-details {
	height: 100%;
	position: absolute;
	top: 100%;
	width: 100%;
	overflow-y: auto;
	transition: var(--transitionA);
	background-color: var(--coul-white);
	padding: var(--gap2);
	padding-bottom: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	align-items: stretch;
	grid-gap: var(--gap2);
}

.offer-details .offer-button-container {
	padding: var(--gap2);
	backdrop-filter: blur(3px);
	position: sticky;
	bottom: 0;
	width: 100%;
	background-color: #ffffff8a;
}

.offer-close-details {
	font-size: var(--fsize2);
	display: flex;
	justify-content: center;
	align-items: center;
	height: 40px;
	width: 40px;
	border-radius: 50%;
	background-color: var(--coul-brown);
	color: var(--coul-white);
	align-self: flex-end;
	text-align: center;
	cursor: pointer;
}

.offer-summary .offer-title {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.offer-title {
	font-family: var(--fontfam);
	flex-shrink: 0;
	font-size: var(--fsize2);
	height: 56px;
}

.offer-details .button {
	align-self: center;
}

.offer-details .offer-title {
	height: auto;
	text-align: center;
	align-self: center;
}

.check-offer:checked ~ .offer-details {
	top: 0;
}

.partners-offer {
	width: 100%;
}

.partners-offer img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#offers-cta {
	position: fixed;
	left: 0;
	top: 50%;
	transform: rotate(-180deg);
	min-height: 140px;
	width: var(--gap4);
	writing-mode: tb-rl;
	font-size: var(--fsize2);
	text-align: center;
	cursor: pointer;
	user-select: none;
	background-color: var(--coul-golden);
	color: var(--coul-brown);
	transition: var(--transitionA);
	z-index: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: var(--gap2) 0;
}

#offers-cta:hover {
	background-color: var(--coul-white);
}

#newsletter-container {
	background-color: var(--coul-sand);
	padding: var(--gap4);
	display: flex;
	flex-direction: column;
	grid-gap: var(--gap2);
	justify-content: center;
	align-items: center;
}