::selection {
    background: #fff;
    color: #212121
}

body {
    background: url(../graphics/capodanno-bg.webp) var(--primary-bg);
    text-rendering: optimizeLegibility;
}

#headtitle,
#siteheader-title {
    display: inline-block;
}

.offer-desc-tabmenuitem,
.offer-packets-list-item-offertitle {
    text-transform: uppercase
}

#testmodealertbox {
    background: red;
    color: #fff;
    font-size: 1.2em;
    font-weight: 700;
    margin: 0;
    padding: .5em;
    text-align: left
}

#testmodealertbox a {
    color: inherit;
    text-decoration: none
}

#container {
    height: auto;
    margin: 0 auto;
    text-align: start;
}

#page-wrapper,
#rfq-wrapper,
#errorpage-wrapper {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
}

#home-content,
#offer-content,
#page-content,
#errorpage-content,
#search-container,
#sitefooter-wrapper,
#siteheader-wrapper {
    display: block;
    height: auto;
    margin: 0 auto;
    max-width: 100%
}

#siteheader-wrapper {
    position: relative;
    z-index: 1000;
}


.mainmenu-list-item {
    color: var(--accent-color);
    display: inline;
    font-family: var(--title-font);
    font-weight: 300;
    font-size: 1.4em;
    margin: 0;
    padding: 0;
    vertical-align: super
}

.mainmenu-list-item--offers {
    position: static;
}

.mainmenu-link--toggle {
    appearance: none;
    border: 0;
    background: transparent;
    cursor: pointer;
    font: inherit;
    color: inherit;
    padding: 0 .5em;
    text-decoration: none;
    transition: var(--hover-transition);
}

.mainmenu-link--toggle:hover,
.mainmenu-link--toggle:focus-visible {
    background: var(--hover-bg);
    color: #000;
    outline: none;
}

#offers-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.65);
    backdrop-filter: blur(2px);
    z-index: 1500;
    opacity: 0;
    transition: opacity 0.25s ease;
}

#offers-overlay.is-visible {
    opacity: 1;
}


/* mobile toggle header */
#mainmenu-mobile-toggle {
    display: none;
    flex-direction: column;
    justify-content: center;
    gap: 5px;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

#mainmenu-mobile-toggle span:not(.visually-hidden) {
    display: block;
    width: 24px;
    height: 2px;
    background: #c89235;
}

/* mega menu desktop */

#offers-megamenu {
    position: absolute;
    top: calc(100% + 1px);
    left: 0;
    right: 0;
    z-index: 2000;

    width: 100%;
    max-width: 100%;
    min-width: 0;

    background: rgba(33, 33, 33, 0.98);
    color: var(--primary-color);
    border: 1px solid rgba(212, 175, 55, 0.25);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);

    opacity: 0;
    transform: translateY(-10px);
    pointer-events: none;
    transition: opacity 0.25s ease, transform 0.25s ease;
}

#offers-megamenu.is-open {
    opacity: 1;
    transform: translateY(0);
    pointer-events: auto;
}

.offers-megamenu__inner {
    display: flex;
    align-items: stretch;
    min-height: 420px;
}

.offers-megamenu__sidebar {
    width: 320px;
    flex: 0 0 320px;
    padding: 1.5em;
    box-sizing: border-box;
    background: #555;
    border-right: 1px solid rgba(212, 175, 55, 0.18);
    text-align: left;
}

.offers-megamenu__label {
    margin: 0 0 1em;
    color: rgba(242, 243, 244, 0.7);
    font-family: var(--main-font);
    font-size: 1em;
}

.offers-megamenu__section-list {
    display: flex;
    flex-direction: column;
    gap: .4em;
}

.offers-megamenu__section-button {
    color: var(--accent-color);
    display: block;
    width: 100%;
    padding: 0.6em 0.8em;
    border: 0;
    border-radius: 10px;
    background: transparent;
    text-align: left;
    font: inherit;
    font-size: 1.05rem;
    cursor: pointer;
    transition: var(--hover-transition);
}

.offers-megamenu__section-button:hover,
.offers-megamenu__section-button:focus-visible {
    background: rgba(212, 175, 55, 0.12);
    color: #ffdf00;
    outline: none;
}

.offers-megamenu__section-button.is-active {
    background: var(--accent-color);
    color: #212121;
    font-weight: 700;
}

.offers-megamenu__all-link {
    display: inline-block;
    font-family: var(--title-font);
    font-size: 1.2em;
    font-weight: 300;
    transition: var(--hover-transition);
    margin-top: 1.4em;
    color: var(--accent-color);
    text-decoration: none;
    font-weight: 700;
}

.offers-megamenu__all-link:hover,
.offers-megamenu__all-link:focus-visible {
    color: #ffdf00;
    text-decoration: underline;
    outline: none;
}

.offers-megamenu__content {
    flex: 1 1 auto;
    padding: 32px 34px;
    background: var(--primary-bg);
    text-align: left;
}

.offers-megamenu__panel {
    display: none;
}

.offers-megamenu__panel.is-active {
    display: block;
}

.offers-megamenu__links {
    column-count: 3;
    column-gap: 40px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.offers-megamenu__links li {
    break-inside: avoid;
    margin: 0 0 5px;
}

.offers-megamenu__links a {
    color: #fff;
    text-decoration: none;
    font-family: var(--main-font);
    font-size: 1em;
    line-height: 1.3;
    transition: var(--hover-transition);
}

.offers-megamenu__links a.is-current {
    color: #ffdf00;
    font-weight: 700;
}

.offers-megamenu__links a:hover,
.offers-megamenu__links a:focus-visible,
.offers-megamenu__all-link:hover,
.offers-megamenu__all-link:focus-visible {
    color: var(--hover-bg);
    text-decoration: underline;
    outline: none;
}

#mainmenu-mobile-panel {
    position: absolute;
    top: calc(100% + 1px);
    left: 0;
    right: 0;
    z-index: 2100;

    display: block;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transform: translateY(-14px);
    transition:
        opacity 0.25s ease,
        transform 0.25s ease,
        visibility 0s linear 0.25s;
}

#mainmenu-mobile-panel.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
    transform: translateY(0);
    transition:
        opacity 0.25s ease,
        transform 0.25s ease,
        visibility 0s linear 0s;
}

.mainmenu-mobile-panel__dialog {
    background: rgba(33, 33, 33, 0.98);
    border-top: 1px solid rgba(212, 175, 55, 0.25);
    border-bottom: 1px solid rgba(212, 175, 55, 0.25);
    box-shadow: 0 18px 40px rgba(0, 0, 0, 0.35);
}

.mainmenu-mobile-panel__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 1em;
    padding: .9em 1em;
    border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.mainmenu-mobile-panel__title {
    color: var(--accent-color);
    font-family: var(--title-font);
    font-size: 1.5em;
    font-weight: 300;
}

.mainmenu-mobile-panel__close {
    position: relative;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 0;
    background: transparent;
    cursor: pointer;
}

.mainmenu-mobile-panel__close span {
    position: absolute;
    top: 20px;
    left: 9px;
    width: 24px;
    height: 2px;
    background: var(--accent-color);
}

.mainmenu-mobile-panel__close span:first-child {
    transform: rotate(45deg);
}

.mainmenu-mobile-panel__close span:last-child {
    transform: rotate(-45deg);
}

.mainmenu-mobile-panel__nav {
    max-height: calc(100vh - 110px);
    overflow-y: auto;
}

.mainmenu-mobile-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.mainmenu-mobile-item {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.mainmenu-mobile-link,
.mainmenu-mobile-link--toggle {
    display: block;
    width: 100%;
    padding: .8em 1em;
    border: 0;
    background: transparent;
    color: var(--accent-color);
    text-align: left;
    text-decoration: none;
    font-family: var(--title-font);
    font-size: 1.4em;
    font-weight: 300;
    cursor: pointer;
    transition: var(--hover-transition);
}

.mainmenu-mobile-link:hover,
.mainmenu-mobile-link:focus-visible,
.mainmenu-mobile-link--toggle:hover,
.mainmenu-mobile-link--toggle:focus-visible {
    background: var(--hover-bg);
    color: #000;
    outline: none;
}

#mobile-offers-panel {
    padding: 0 1em 1.2em;
    text-align: left;
}

.mobile-offers-panel__label {
    margin: .3em 0 1em;
    color: rgba(242, 243, 244, 0.7);
    font-family: var(--main-font);
    font-size: 1em;
}

.mobile-offers-panel__section-list {
    display: flex;
    gap: .5em;
    margin-bottom: 1em;
    overflow-x: auto;
    padding-bottom: .2em;
}

.mobile-offers-panel__section-button {
    flex: 0 0 auto;
    padding: .55em .9em;
    border: 1px solid rgba(212, 175, 55, 0.35);
    border-radius: 999px;
    background: transparent;
    color: var(--accent-color);
    font-family: var(--main-font);
    font-size: 1em;
    cursor: pointer;
    transition: var(--hover-transition);
}

.mobile-offers-panel__section-button:hover,
.mobile-offers-panel__section-button:focus-visible {
    background: rgba(212, 175, 55, 0.12);
    color: #ffdf00;
    outline: none;
}

.mobile-offers-panel__section-button.is-active {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: #212121;
    font-weight: 700;
}

.mobile-offers-panel__links {
    margin: 0;
    padding: 0;
    list-style: none;
}

.mobile-offers-panel__links li {
    border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.mobile-offers-panel__links a {
    display: block;
    padding: .3em 0;
    color: var(--primary-color);
    text-decoration: none;
    font-family: var(--main-font);
    font-size: 1.05em;
    transition: var(--hover-transition);
}

.mobile-offers-panel__links a:hover,
.mobile-offers-panel__links a:focus-visible {
    color: #ffdf00;
    text-decoration: underline;
    outline: none;
}

.mobile-offers-panel__links a.is-current {
    color: #ffdf00;
    font-weight: 700;
}

.mobile-offers-panel__all-link {
    display: inline-block;
    margin-top: 1em;
    color: var(--accent-color);
    text-decoration: none;
    font-family: var(--title-font);
    font-size: 1.2em;
    font-weight: 300;
    transition: var(--hover-transition);
}

.mobile-offers-panel__all-link:hover,
.mobile-offers-panel__all-link:focus-visible {
    color: #ffdf00;
    text-decoration: underline;
    outline: none;
}


/* responsive desktop stretto */
@media (max-width: 1200px) {
    .offers-megamenu__sidebar {
        width: 280px;
        flex: 0 0 280px;
    }

    .offers-megamenu__links {
        column-count: 2;
    }
}

/* mobile */
@media (max-width: 900px) {
    #mainmenu {
        display: none;
    }

    #mainmenu-mobile-toggle {
        display: inline-flex;
    }

    #offers-megamenu {
        display: none !important;
    }

    #siteheader {
        justify-content: space-between;
        gap: 24px;
    }

    #sitelogo {
        max-width: 220px;
        height: auto;
    }
}

@media (max-width: 600px) {
    #sitelogo {
        max-width: 180px;
    }
}


.hero-video__button {
  transition: all 0.25s ease;
}

.hero-video__button:hover {
  transform: translateY(-2px);
}

.hero-video__button--primary:hover {
  background: #af8543;
}

.hero-video__button--secondary:hover {
  background: rgba(255,255,255,0.2);
}


.hero-video__control {
  position: absolute;
  right: 24px;
  bottom: 24px;
  z-index: 3;
  padding: 10px 14px;
  border: 1px solid rgba(255,255,255,0.35);
  border-radius: 999px;
  background: rgba(0,0,0,0.25);
  color: #fff;
  cursor: pointer;
}

.hero-video__scroll {
  position: absolute;
  left: 1.5em;
  bottom: 0;
  font-size: 0.8rem;
  text-transform: uppercase;
}

#sitefooter {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

#sitefooter-header {
    display: none;
}

#home-content,
#mainmenu,
#offer-content,
#rfq-wrapper,
#page-wrapper,
#errorpage-wrapper,
#search-container,
#sitefooter,
#siteheader {
    margin: 0 auto;
    max-width: 1600px;
}

#rfq-wrapper {
    padding-bottom: 10em;
}

#page-content,
#errorpage-content,
#rfq-content,
#search-container {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    padding: 1em 2em;
    min-height: 100vh;
}

#headtitle {
    margin: 0 auto;
    padding: 0
}

#search-title,
#siteheader-title,
.contactspage-contacts,
.locandina-link,
.search-result-title,
#rfq-title {
    font-family: var(--title-font);
    font-weight: 300
}

#siteheader-title {
    font-size: clamp(1.2em, 3vw, 1.8em);
    margin: 0;
    padding: 0
}

#offer-content {
    padding: 0
}

#mainmenu {
    margin: 0 0 0 3em;
    vertical-align: super
}


.search-navlist-link:hover {
    background: var(--hover-bg);
    color: #000;
    transition: var(--hover-transition);
}

#home-content-header {
    display: block;
    margin: 0;
    padding: 0;
    width: 100%;
}

.home-slider-item-lastminute {
    color: #f30
}

.home-slider-item-link {
    color: var(--accent-color);
    display: block;
    text-decoration: none;
    transition: var(--hover-transition);
}

.rfq-form-label,
.search-navlist-link {
    display: block
}

.contactspage-contacts,
.locandina-link {
    background: rgba(33, 33, 33, .6);
    color: var(--accent-color)
}

.contactspage-contacts:hover,
.locandina-link:hover {
    color: #ffdf00
}

.offer-taglist-link,
.search-result-link {
    color: var(--accent-color);
    text-decoration: none
}

.search-result-sub-link {
    color: #ffdf00;
    text-decoration: none
}

.search-result-sub-link {
    display: flex;
    flex-wrap: wrap;
}

#page-content a:hover,
#page-secondarycontent a:hover,
#rfq-content a:hover,
#rfq-secondarycontent a:hover,
#errorpage-content a:hover,
#errorpagesecondaryconten a:hover,
.locandina-link:hover,
.offer-taglist-link:hover,
.page-content-link:link,
.errorpage-content-link:link,
.search-result-link:hover,
.sitefooter-link:hover {
    text-decoration: underline
}

#offer-desc,
#offer-desc-accom {
    font-size: clamp(.9em, 3vw, 1em);
    font-weight: 400;
}

#sitefooter-wrapper {
    background: var(--primary-bg);
    border-top: .2em solid #af8543;
    color: #fff;
    padding: 0 0 10em;
    width: 100%
}

.sitefooter-box {
    display: block;
    flex: 1 1 200px;
    font-size: clamp(.8em, 2vw, 1em);
    margin: clamp(.5em, 2vw, 1em);
}

.sitefooter-link {
    color: #fff;
    text-decoration: none;
    white-space: nowrap;
}

.sitefooter-box-title {
    border-bottom: 1px dashed #fff;
    margin: 0 0 .5em;
    opacity: .7
}

.sitefooter-list {
    list-style-type: square;
    margin: 0;
    padding: 0 1em
}

.sitefooter-list-item {
    margin: .3em 0;
}

.sitefooter-socialicon {
    border: 0;
    vertical-align: text-top
}

.sitefooter-contactlist {
    font-size: 1.6em;
    list-style-type: none;
    margin: 0;
    padding: 0
}

.sitefooter-contactlist-item {
    margin: 0;
    padding: .5em 0
}

#sitefooter-colophon {
    font-size: .8em
}

#offer-mainbox {
    display: flex;
    flex-wrap: wrap;
    gap: 1em;
    margin: 0 auto;
    padding: 1em 0;
    width: 100%;
}

#offer-mainbox-head {
    background: rgba(255, 255, 255, .1);
    border: 1px solid #ffdf00;
    flex: 1 1 100%;
    display: block;
    margin: 0;
    padding: .2em
}

#offer-mainbox-title,
#rfq-title {
    font-family: var(--title-font);
    font-size: clamp(1.4em, 3vw, 2.5em);
    font-weight: 300;
    margin: 0;
    padding: 0
}

#offer-mainbox-packtitle {
    font-size: clamp(.6em, 3vw, .8em);
    opacity: .8
}

#offer-subtitle {
    font-size: 1.3em
}

#offer-slider {
    background: rgba(255, 255, 255, .1);
    padding: 0;
    display: block
}

.offer-slider-item {
    display: block;
    height: auto;
    line-height: 0;
    margin: 0 auto;
    max-width: 100%;
    padding: 0;
    position: relative;
    text-align: center
}

.offer-slider-item-desc {
    background: var(--primary-bg);
    bottom: 0;
    color: #fff;
    font-size: 1em;
    line-height: 1;
    padding: .5em;
    position: absolute
}

.offer-slider-item-img {
    height: auto;
    max-width: 100%;
    margin: 0 auto;
    position: relative
}

#offer-desc-container,
#offer-details-wrapper {
    box-sizing: border-box;
}

#offer-details-wrapper {
    order: 1;
    flex: 1 1 25%;
    margin: 0;
}

#offer-desc-container {
    order: 2;
    flex: 1 1 72%;
    margin: 0;
}

#offer-desc,
#offer-desc-accom,
#offer-desc-evedinner,
#offer-details,
#offer-quotationbox,
#search-title {
    background: var(--primary-bg);
    box-shadow: 0 0 3px rgba(0, 0, 0, .3);
    color: #fff;
    padding: .5em 1em 1em
}

#offer-notes-title,
#offer-packets-box {
    margin: 0 0 1em
}

#offer-packets-title {
    font-size: 1.1em;
    margin: 0
}

#offer-packets-list {
    font-size: .9em;
    list-style-type: none;
    margin: 0;
    padding: 0
}

.offer-packets-list-item,
.offer-packets-list-itemactive {
    border-bottom: 1px solid #555;
    display: flex;
    margin: 0;
    padding: .5em
}

.offer-packets-list-item:hover {
    border-bottom: 1px solid #fff
}

#offer-quotationbox,
.offer-packets-list-itemactive {
    border: 1px solid #ffdf00
}

.offer-packets-list-item-titlebox {
    flex: 1 1 72%;
}

.offer-packets-list-item-price {
    color: #ffdf00;
    font-size: clamp(1.2em, 3vw, 1.3em);
    text-align: right;
    white-space: nowrap;
}

#offer-summary-list {
    display: grid;
    grid-template-columns: 8em auto;
    row-gap: 0.5em;
    column-gap: 1em;
    font-size: clamp(.9em, 3vw, 1em);
}

.offer-summary-list-term {
    opacity: .6;
}

.offer-summary-list-value,
.offer-summary-list-term {
    margin: 0;
    padding: 0;
}

#offer-summary-price {
    font-family: var(--title-font);
    font-size: clamp(1.2em, 3vw, 2em);
    font-weight: 700;
}

#offer-taglist {
    color: var(--accent-color);
    font-size: .8em
}

.offer-desc-accom-servicestop-item,
.rfq-desc-accom-servicestop-item {
    display: inline-block;
    margin: .5em;
    text-align: center;
    white-space: nowrap
}

#rfq-form {
    font-size: 1em;
}

.rfq-form-section-title {
    margin: clamp(.2em, 3vw, .5em);
}

#rfq-msgbox {
    border: 2px dashed;
    font-family: var(--title-font);
    font-size: clamp(1.2em, 3vw, 1.5em);
    margin: 1em 0;
    padding: .5em;
}

.msg-good {
    background: #afe9af;
    color: #000;
}

.msg-alert {
    background: #ffcc99;
    color: #000;
}

.msg-error {
    background: #ffd5d5;
    color: #000;
}

.offer-desc-accom-servicestop-item-icon,
.rfq-desc-accom-servicestop-item-icon {
    font-size: 1.2em
}

#rfq-button,
.rfq-form-button,
#rfq-form-sendbutton,
#rfq-tel-link,
.offer-packets-list-item-price,
.rfq-form-roombutton {
    font-family: var(--title-font);
    font-weight: 300
}

#rfq-button,
.rfq-form-button,
#rfq-form-sendbutton,
.rfq-form-roombutton
#rfq-tel-link,
.offer-packets-list-item-link {
    text-decoration: none;
    transition: var(--hover-transition);
}

#rfq-button,
#rfq-form-sendbutton,
.rfq-form-roombutton,
#rfq-tel-link {
    display: block;
    padding: .2em 1em;
    text-align: center
}

#rfq-button,
#rfq-form-sendbutton,
#rfq-tel {
    font-size: clamp(1.2em, 3vw, 1.5em);
    margin: 1em 0;
}

.rfq-form-button {
    border: 0;
    font-size: 1em;
    margin: 1em;
}

.rfq-form-roombutton {
    border: 0;
    font-size: 1em;
    margin: .5em auto;
}

#rfq-button,
.rfq-form-button,
#rfq-form-sendbutton,
.rfq-form-roombutton,
.offer-packets-list-item-link {
    background: var(--button-bg);
    color: #644e00
}

.rfq-form-btnminus,
.rfq-form-btnplus {
    font-weight: bold;
  padding: 0em 1em;
  font-size: 1.1em;
  vertical-align: sub;
  border-radius: 3px;
}

#rfq-button:hover,
.rfq-form-button,
#rfq-form-sendbutton:hover,
.rfq-form-roombutton:hover,
.offer-packets-list-item-link:hover {
    box-shadow: none;
    color: #000;
    transition: var(--hover-transition);
}

#rfq-form-sendbutton {
    border: none;
    display: inline-block;
    margin: 1em
}

#rfq-tel-link {
    background: #000;
    color: var(--button-bg);
    text-decoration: none
}

#rfq-quote-table {
    border: 1px solid #afe9af;
    border-collapse: collapse;
    text-align: right;
    width:100%;
}
/*
#rfq-quote-table th {
    background: #fff;
}

#rfq-quote-table tr:nth-child(even) {
    background: #fff;
}*/

#rfq-quote-table th,
#rfq-quote-table td {
    padding: .5em;
    vertical-align: top;
}

#rfq-quote-totals {
    background: #afe9af;
    color: #212121;
    font-size: 1.5em;
    font-weight: bold;
    padding: .5em;
    text-align: right;
}

#offer-excl,
#offer-incl,
#offer-opt,
#offer-notes {
    display: block;
    font-size: .9em;
    margin: 1em 0;
    padding: 0
}

#offer-notes ul,
#offer-excl-list,
#offer-incl-list,
#offer-opt-list {
    list-style-type: none;
    margin: 0 2em;
    padding: 0
}

#offer-excl-list,
#offer-opt-list,
#offer-notes ul {
    list-style-type: circle
}

#offer-rfq-wrapper {
    background: var(--primary-bg);
    margin: 1em 0
}

#offer-incl-list {
    list-style-type: disc
}

.offer-excl-list-item:after,
.offer-incl-list-item:after,
.offer-opt-list-item:after {
    content: ";"
}

.offer-excl-list-item,
.offer-incl-list-item,
.offer-opt-list-item {
    border-bottom: 1px dotted #d1c4e9;
    margin: .2em 0
}

.offer-incl-list-item-desc {
    font-size: .9em
}

.offer-incl-list-item-desc ul {
    list-style-type: square;
    padding: 0 .8em
}

#offer-desc-tabmenu {
    margin: 1em 0 0
}

.offer-desc-tabmenuitem {
    cursor: pointer;
    color: #000;
    background: gold;
    border-radius: 5px 5px 0 0;
    border: none;
    display: inline-block;
    font-weight: 700;
    margin: 0 .1em;
    padding: .5em 1em
}

.offer-desc-box,
.rfq-desc-box {
    margin: 0 0 1em;
    position: relative;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.rfq-desc-box,
#rfq-incl,
#rfq-excl,
#rfq-opt {
    font-size: .9em;
}

.rfq-desc-box p {
    margin: .2em 0;
}

#offer-desc-accom,
#offer-desc-evedinner,
.search-result-data-list-subtitle-desc {
    display: none
}

#offer-desc-evedinner {
    font-size: 1em;
    font-family: cursive;
    line-height: 1.5;
    text-align: center
}

#offer-desc a,
#offer-desc-accom a,
#rfq-desc a,
#rfq-desc-accom a {
    color: inherit;
    font-weight: 700;
    text-decoration: underline
}

#offer-desc a:hover,
#offer-desc-accom a:hover,
#rfq-desc a:hover,
#rfq-desc-accom a:hover {
    text-decoration: none
}

#offer-desc h3,
#offer-desc h4,
#offer-desc h5,
#offer-desc-accom h3,
#offer-desc-accom h4,
#offer-desc-accom h5,
#offer-desc-evedinner h3,
#offer-desc-evedinner h4,
#offer-desc-evedinner h5,
#rfq-desc h3,
#rfq-desc h4,
#rfq-desc h5,
#rfq-desc-accom h3,
#rfq-desc-accom h4,
#rfq-desc-accom h5,
#rfq-desc-evedinner h3,
#rfq-desc-evedinner h4,
#rfq-desc-evedinner h5 {
    font-family: var(--title-font);
    font-weight: 300;
    margin: .5em 0
}

#offer-desc h3,
#offer-desc-accom h3,
#offer-desc-evedinner h3 {
    font-size: clamp(1.5em, 3vw, 1.8em);
}

#offer-desc h4,
#offer-desc-accom h4,
#offer-desc-evedinner h4,
#rfq-desc h4,
#rfq-desc-accom h4,
#rfq-desc-evedinner h4 {
    font-size: clamp(1.2em, 3vw, 1.6em);
    margin-bottom: 0
}

#offer-desc h5,
#offer-desc-accom h5,
#offer-desc-evedinner h5,
#rfq-desc h5,
#rfq-desc-accom h5,
#rfq-desc-evedinner h5 {
    font-size: clamp(1.1em, 3vw, 1.3em);
    margin-bottom: 0
}

#offer-desc-evedinner p {
    border-top: 1px dotted #555;
    font-family: cursive;
    margin: 0 0 .5em
}

#rfq-desc-evedinner p {
    border-top: 1px dotted #555;
    font-family: cursive;
    margin: 0;
}

#offer-desc-accom-title,
#offer-desc-evedinner-title,
#offer-excl-title,
#offer-incl-title,
#offer-opt-title,
#offer-notes-title,
#rfq-desc-accom-title,
#rfq-desc-evedinner-title,
#rfq-excl-title,
#rfq-incl-title,
#rfq-opt-title,
#rfq-notes-title {
    font-family: var(--title-font);
    font-weight: 300;
    margin: 0;
    letter-spacing: .05em;
    text-align: left
}

#offer-desc-accom-title,
#offer-desc-evedinner-title,
#offer-excl-title,
#offer-incl-title,
#offer-opt-title,
#offer-notes-title,
#rfq-desc-accom-title,
#rfq-desc-evedinner-title,
#rfq-excl-title,
#rfq-incl-title,
#rfq-opt-title,
#rfq-notes-title {
    font-size: clamp(1.5em, 3vw, 1.8em);
}

#rfq-desc-accom-title,
#rfq-desc-evedinner-title,
#rfq-excl-title,
#rfq-incl-title,
#rfq-opt-title,
#rfq-notes-title {
    background: #333;
    margin: 0.5em 0;
}

.offer-desc-accom-gallery-img,
.rfq-desc-accom-gallery-img {
    border: 0;
    margin: .2em;
    padding: 0
}

#rfq-button-wrapper {
    background: #000;
    border-top: 2px solid var(--button-bg);
    bottom: 0;
    left: 0;
    margin: 0;
    position: fixed;
    right: 0;
    width: 100%;
    z-index: 999999;
}

#offer-notes ul {
    margin: 0;
    padding: 0 .5em
}

#search-header {
    display: block;
    width: 100%;
}

#search-resultscontainer {
    display: flex;
    gap: 1em;
    margin: .5em 0;
    min-height: 30em;
}

#search-results {
    display: block;
    margin: 0;
    position: relative;
    flex: 1 1 75%;
}

#search-title,
#search-description {
    background: var(--primary-bg);
    box-shadow: 0 10px 30px rgba(0, 0, 0, .30);
    box-sizing: border-box;
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 1rem;
    display: flex;
    flex-wrap: wrap;
    height: auto;
    margin: 0 0 1em 0;
    padding: .5em;
    vertical-align: top;
    width: 100%;
}

#search-title {
    font-size: clamp(1.2em, 3vw, 2em);
    margin: .1em 0;
    text-align: center;
}

.search-result,
.search-result-notavailable {
    background: var(--primary-bg);
    border: 1px solid rgba(255, 255, 255, .12);
    border-radius: 18px;
    box-shadow: 0 10px 30px rgba(0, 0, 0, .30);
    box-sizing: border-box;
    display: flex;
    flex-wrap: wrap;
    font-size: clamp(.8em, 3vw, 1em);
    margin: 0 0 1.5em;
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
    width: 100%;
}

.search-result:hover {
    border-color: rgba(212, 175, 55, .30);
    box-shadow: 0 18px 45px rgba(0, 0, 0, .42);
    transform: translateY(-4px);
}

.search-result-notavailable {
    opacity: .58;
}

/* area principale cliccabile */
.search-result-main {
    cursor: pointer;
    display: flex;
    flex-wrap: wrap;
    position: relative;
    width: 100%;
}

.search-result-main::after {
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    box-shadow: inset 0 0 0 1px rgba(212, 175, 55, 0);
    transition: box-shadow .25s ease;
}

.search-result-main:hover::after {
    box-shadow: inset 0 0 0 1px rgba(212, 175, 55, .10);
}

.search-result-main:focus-visible {
    outline: 2px solid var(--accent-color);
    outline-offset: -2px;
}

.search-result-data,
.search-result-imgbox,
.search-result-price {
    box-sizing: border-box;
    display: block;
}

/* link */
.search-result-link {
    text-decoration: none;
    transition: color .2s ease;
}

.search-result-link:hover {
    color: var(--hover-bg);
}

.search-result-link:focus-visible,
.search-result-linkbotton:focus-visible,
.search-result-sub-button:focus-visible,
.search-result-sub-link:focus-visible {
    outline: 2px solid var(--accent-color);
    outline-offset: 3px;
}

/* immagine */
.search-result-link--image {
    display: block;
    flex: 0 0 26%;
    min-width: 250px;
}

.search-result-imgbox {
    background: #111;
    height: 100%;
    margin: 0;
    overflow: hidden;
    padding: 0;
    position: relative;
}

.search-result-imgbox::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 60%, rgba(0,0,0,.12) 100%);
    pointer-events: none;
}

.search-result-img {
    display: block;
    height: 100%;
    max-width: 100%;
    object-fit: cover;
    transition: transform .4s ease;
    width: 100%;
    will-change: transform;
}

.search-result-main:hover .search-result-img {
    transform: scale(1.04);
}

/* badge */
.offer-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    background: linear-gradient(135deg, #d4af37, #f5d67a);
    border-radius: 999px;
    box-shadow: 0 4px 10px rgba(0,0,0,.4);
    color: #111;
    font-size: .8em;
    font-weight: 700;
    padding: .4em .75em;
}

/* contenuto */
.search-result-data {
    flex: 1 1 52%;
    padding: 1.35em 1.35em 1.15em;
}

.search-result-title {
    font-size: clamp(1.6em, 3vw, 1.95em);
    line-height: 1.08;
    margin: 0 0 .4em;
    padding: 0;
}

.search-result-title a {
    color: var(--accent-color);
    text-decoration: none;
}

.search-result-main:hover .search-result-title a {
    color: var(--hover-bg);
}

.search-result-data-list {
    line-height: 1.45;
    margin: 0;
    padding: 0;
}

.search-result-data-list-subtitle,
.search-result-data-list-item {
    display: inline;
}

.search-result-data-list-subtitle {
    opacity: .55;
}

.search-result-data-list-subtitle i {
    margin-right: .15em;
    min-width: 1em;
    text-align: center;
}

.search-result-data-list-subtitle-desc {
    position: absolute;
    left: -9999px;
}

.search-result-data-list-item {
    font-weight: 700;
    margin: 0 1em 0 0;
    opacity: .88;
    padding: 0;
}

.search-result-shortdesc {
    line-height: 1.55;
    margin: .9em 0 0;
    opacity: .92;
}

/* prezzo */
.search-result-price {
    border-left: 1px solid rgba(255,255,255,.08);
    display: flex;
    flex: 0 0 22%;
    flex-direction: column;
    justify-content: center;
    padding: 1.1em;
    text-align: center;
}

.search-result-price-top {
    display: flex;
    flex-direction: column;
    gap: .1em;
}

.price-label {
    font-size: .8em;
    opacity: .7;
    letter-spacing: .06em;
}

.search-result-price-euro {
    color: #fff;
    font-family: var(--title-font);
    font-size: 2em;
    font-weight: 700;
    letter-spacing: -.02em;
    line-height: 1;
}

.price-per,
.search-result-linkbotton-note {
    font-size: .85em;
    opacity: .75;
}

.search-result-linkbotton {
    background: rgba(212,175,55,0.15);
    border: 1px solid rgba(212,175,55,0.40);
    border-radius: 999px;
    color: #f5d67a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45em;
    font-weight: 700;
    margin-top: .9em;
    min-height: 3em;
    padding: 0 1.2em;
    text-align: center;
    text-decoration: none;
    transition: background-color .25s ease, border-color .25s ease, color .25s ease, transform .25s ease;
}

.search-result-linkbotton:hover {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: #111;
    transform: translateY(-1px);
}

.search-result-main:hover .search-result-linkbotton {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: #111;
}

/* toggle pacchetti */
.search-result-sub-button {
    width: 100%;
    align-items: center;
    background: linear-gradient(180deg, #d4af37, #c8a632);
    border: none;
    color: #111;
    cursor: pointer;
    display: grid;
    gap: .35em .8em;
    grid-template-columns: 1fr auto auto;
    margin: 0;
    padding: .75em 1em;
    text-align: left;
    transition: filter .2s ease;
}

.search-result-sub-button:hover {
    filter: brightness(1.03);
}

.search-result-sub-button-text {
    font-family: var(--title-font);
    font-size: 1.05em;
    font-weight: 400;
}

.search-result-sub-button-count {
    font-size: .92em;
    opacity: .85;
}

.search-result-sub-button i {
    align-self: center;
    transition: transform .25s ease;
}

.search-result-sub-button[aria-expanded="true"] i {
    transform: rotate(180deg);
}

/* contenitore pacchetti */
.search-result-subcontainer-hide {
    display: none !important;
}

.search-result-subcontainer-show {
    display: block !important;
    width: 100%;
    background: rgba(255, 255, 255, .015);
    padding: .75em;
}

/* righe pacchetti */
.search-result-sub-row {
    background: #2a2a2a;
    border: 1px solid rgba(255,255,255,.05);
    border-radius: 12px;
    margin: 0 0 .65em;
    transition: background .2s ease, border-color .2s ease, transform .2s ease;
}

.search-result-sub-row:last-child {
    margin-bottom: 0;
}

.search-result-sub-row:hover {
    background: #313131;
    border-color: rgba(212,175,55,.18);
}

.search-result-sub-link {
    color: #fff;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1em;
    padding: 1em;
    text-decoration: none;
}

.search-result-sub-link--disabled {
    align-items: flex-start;
}

.search-result-sub-title {
    font-size: 1em;
    line-height: 1.35;
}

.search-result-sub-row-actions {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    gap: .35em;
}

.search-result-sub-row-price {
    align-items: center;
    background: var(--accent-color);
    border-radius: 999px;
    color: #111;
    display: inline-flex;
    font-weight: 700;
    gap: .45em;
    justify-content: center;
    padding: .5em 1em;
    transition: transform .2s ease, filter .2s ease;
    white-space: nowrap;
}

.search-result-sub-link:hover .search-result-sub-row-price:not(.search-result-sub-row-price--disabled) {
    filter: brightness(1.03);
    transform: translateY(-1px);
}

.search-result-sub-row-price--disabled,
.search-result-linkbotton--disabled {
    background: #555;
    color: #ddd;
}

.search-result-sub-row-note {
    color: rgba(255,255,255,.72);
    font-size: .84em;
    line-height: 1.35;
    max-width: 26ch;
    text-align: right;
}

/* responsive */
@media only screen and (max-width: 1000px) {
    .search-result-link--image {
        flex: 0 0 30%;
        min-width: 220px;
    }

    .search-result-data {
        flex: 1 1 46%;
    }

    .search-result-price {
        flex: 0 0 24%;
    }
}

@media only screen and (max-width: 800px) {
    .search-result-link--image,
    .search-result-data,
    .search-result-price {
        flex: 1 1 100%;
    }

    .search-result-link--image {
        min-width: 0;
    }

    .search-result-img {
        aspect-ratio: 16 / 9;
        height: auto;
    }

    .search-result-price {
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.08);
    }

    .search-result-sub-link {
        flex-direction: column;
        align-items: flex-start;
    }

    .search-result-sub-row-actions {
        align-items: flex-start;
        width: 100%;
    }

    .search-result-sub-row-note {
        max-width: none;
        text-align: left;
    }
}

@media only screen and (max-width: 600px) {
    .search-result,
    .search-result-notavailable {
        border-radius: 16px;
        max-width: 100%;
    }

    .search-result-data {
        padding: 1.05em 1em .95em;
    }

    .search-result-title {
        font-size: clamp(1.35em, 6vw, 1.7em);
    }

    .search-result-shortdesc {
        font-size: .98em;
    }

    .search-result-price {
        padding: 1em;
    }

    .search-result-price-euro {
        font-size: 1.8em;
    }

    .search-result-sub-button {
        grid-template-columns: 1fr auto;
        padding: .8em .95em;
    }

    .search-result-sub-button-count {
        grid-column: 1 / 2;
    }

    .search-result-sub-button i {
        grid-column: 2 / 3;
        grid-row: 1 / 3;
        justify-self: end;
    }

    .search-result-subcontainer-show {
        padding: .65em;
    }

    .search-result-sub-row {
        border-radius: 10px;
    }

    .search-result-sub-link {
        padding: .9em;
    }

    .search-result-sub-row-price {
        white-space: normal;
    }
}

/* =========================
   OFFERCARD BASE
========================= */

.offercard {
    --offercard-radius: 18px;
    --offercard-border: rgba(255, 255, 255, .12);
    --offercard-border-hover: rgba(212, 175, 55, .30);
    --offercard-shadow: 0 10px 30px rgba(0, 0, 0, .30);
    --offercard-shadow-hover: 0 18px 45px rgba(0, 0, 0, .42);

    background: var(--primary-bg);
    border: 1px solid var(--offercard-border);
    border-radius: var(--offercard-radius);
    box-shadow: var(--offercard-shadow);
    box-sizing: border-box;
    overflow: hidden;
    transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease;
}

.offercard:hover {
    border-color: var(--offercard-border-hover);
    box-shadow: var(--offercard-shadow-hover);
    transform: translateY(-4px);
}

.offercard__main {
    cursor: pointer;
    display: flex;
    flex-wrap: wrap;
    position: relative;
    width: 100%;
}

.offercard__main::after {
    content: "";
    inset: 0;
    pointer-events: none;
    position: absolute;
    box-shadow: inset 0 0 0 1px rgba(212, 175, 55, 0);
    transition: box-shadow .25s ease;
}

.offercard__main:hover::after {
    box-shadow: inset 0 0 0 1px rgba(212, 175, 55, .10);
}

.offercard__main:focus-visible {
    outline: 2px solid var(--accent-color);
    outline-offset: -2px;
}

.offercard__link {
    text-decoration: none;
    transition: color .2s ease;
}

.offercard__link:hover {
    color: var(--hover-bg);
}

.offercard__link:focus-visible,
.offercard__button:focus-visible {
    outline: 2px solid var(--accent-color);
    outline-offset: 3px;
}

.offercard__link--image {
    display: block;
}

.offercard__imgbox {
    background: #111;
    height: 100%;
    margin: 0;
    overflow: hidden;
    padding: 0;
    position: relative;
}

.offercard__imgbox::after {
    content: "";
    position: absolute;
    inset: 0;
    background: linear-gradient(to bottom, rgba(0,0,0,0) 60%, rgba(0,0,0,.12) 100%);
    pointer-events: none;
}

.offercard__img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .4s ease;
    will-change: transform;
}

.offercard__main:hover .offercard__img {
    transform: scale(1.04);
}

.offer-badge {
    position: absolute;
    top: 12px;
    left: 12px;
    z-index: 2;
    background: linear-gradient(135deg, #d4af37, #f5d67a);
    border-radius: 999px;
    box-shadow: 0 4px 10px rgba(0,0,0,.4);
    color: #111;
    font-size: .8em;
    font-weight: 700;
    padding: .4em .75em;
}

.offercard__title {
    margin: 0;
    padding: 0;
    line-height: 1.08;
}

.offercard__title a {
    color: var(--accent-color);
    text-decoration: none;
}

.offercard__main:hover .offercard__title a {
    color: var(--hover-bg);
}

.offercard__meta {
    display: flex;
    flex-wrap: wrap;
    gap: .35em .75em;
    line-height: 1.4;
}

.offercard__meta-item {
    opacity: .86;
    font-weight: 700;
}

.offercard__meta-item i {
    margin-right: .15em;
    opacity: .7;
}

.offercard__price-top {
    display: flex;
    flex-direction: column;
    gap: .1em;
}

.offercard__price-value {
    color: #fff;
    font-family: var(--title-font);
    font-weight: 700;
    line-height: 1;
}

.offercard__price-note {
    font-size: .85em;
    opacity: .75;
}

.offercard__price-note--unavailable {
    background: rgba(255, 255, 255, 0.06);
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 999px;
    color: rgba(255, 255, 255, 0.82);
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: .9em;
    font-weight: 600;
    line-height: 1.2;
    margin: 0 auto;
    min-height: 2.4em;
    padding: .45em .9em;
    text-align: center;
}

.offercard__button {
    background: rgba(212,175,55,0.15);
    border: 1px solid rgba(212,175,55,0.40);
    border-radius: 999px;
    color: #f5d67a;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: .45em;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    transition: background-color .25s ease, border-color .25s ease, color .25s ease, transform .25s ease;
}

.offercard__button:hover,
.offercard__main:hover .offercard__button {
    background: var(--accent-color);
    border-color: var(--accent-color);
    color: #111;
}

.offercard__button:hover {
    transform: translateY(-1px);
}

/* =========================
   OFFERCARD LIST
========================= */

.offercard--list {
    display: flex;
    flex-wrap: wrap;
    font-size: clamp(.8em, 3vw, 1em);
    margin: 0 0 1.5em;
    width: 100%;
}

.offercard--list .offercard__link--image {
    flex: 0 0 26%;
    min-width: 250px;
}

.offercard--list .offercard__data {
    flex: 1 1 52%;
    padding: 1.35em 1.35em 1.15em;
}

.offercard--list .offercard__title {
    font-size: clamp(1.6em, 3vw, 1.95em);
}

.offercard--list .offercard__price {
    border-left: 1px solid rgba(255,255,255,.08);
    display: flex;
    flex: 0 0 22%;
    flex-direction: column;
    justify-content: center;
    padding: 1.1em;
    text-align: center;
}

.offercard--list .offercard__price-value {
    font-size: 2em;
}

.offercard--list .offercard__button {
    margin-top: .9em;
    min-height: 3em;
    padding: 0 1.2em;
}

@media only screen and (max-width: 1000px) {
    .offercard--list .offercard__link--image {
        flex: 0 0 30%;
        min-width: 220px;
    }

    .offercard--list .offercard__data {
        flex: 1 1 46%;
    }

    .offercard--list .offercard__price {
        flex: 0 0 24%;
    }
}

@media only screen and (max-width: 800px) {
    .offercard--list .offercard__link--image,
    .offercard--list .offercard__data,
    .offercard--list .offercard__price {
        flex: 1 1 100%;
    }

    .offercard--list .offercard__link--image {
        min-width: 0;
    }

    .offercard--list .offercard__img {
        aspect-ratio: 16 / 9;
        height: auto;
    }

    .offercard--list .offercard__price {
        border-left: 0;
        border-top: 1px solid rgba(255,255,255,.08);
    }
}

@media only screen and (max-width: 600px) {
    .offercard--list {
        border-radius: 16px;
        max-width: 100%;
    }

    .offercard--list .offercard__data {
        padding: 1.05em 1em .95em;
    }

    .offercard--list .offercard__title {
        font-size: clamp(1.35em, 6vw, 1.7em);
    }

    .offercard--list .offercard__price {
        padding: 1em;
    }

    .offercard--list .offercard__price-value {
        font-size: 1.8em;
    }
}

/* =========================
   OFFERCARD COMPACT
========================= */

.offercard--compact {
    display: flex;
    flex-direction: column;
    width: 100%;
    min-width: 0;
    height: 100%;
    font-size: .95rem;
}

.offercard--compact .offercard__main {
    display: flex;
    flex-direction: column;
    min-height: 100%;
}

.offercard--compact .offercard__link--image {
    flex: 0 0 auto;
    min-width: 0;
}

.offercard--compact .offercard__img {
    aspect-ratio: 16 / 10;
    height: auto;
}

.offercard--compact .offercard__data {
    display: flex;
    flex-direction: column;
    gap: .65em;
    padding: .95em .95em .8em;
    flex: 1 1 auto;
}

.offercard--compact .offercard__title {
    font-size: 1.15em;
    min-height: 2.8em;
}

.offercard--compact .offercard__meta {
    font-size: .82em;
    gap: .25em .5em;
}

.offercard--compact .offercard__price {
    display: flex;
    flex-direction: column;
    gap: .75em;
    margin-top: auto;
    padding: 0 .95em .95em;
    text-align: center;
}

.offercard--compact .offercard__price-value {
    font-size: 1.8em;
}

.offercard--compact .offercard__button {
    min-height: 2.8em;
    padding: 0 1em;
    width: 100%;
}

.offercard--compact .offer-badge {
    top: 10px;
    left: 10px;
    font-size: .72em;
    padding: .35em .6em;
}

@media (max-width: 600px) {
    .offercard--compact {
        width: calc(100vw - 2rem);
        min-width: calc(100vw - 2rem);
    }
}

@media (hover: hover) {
    .offercard--compact {
        transition: transform .25s ease, box-shadow .25s ease;
    }

    .offercard--compact:hover {
        transform: translateY(-4px);
        box-shadow: 0 10px 30px rgba(0,0,0,.25);
    }
}

/* =========================
   CAROUSEL OFFERS
========================= */

.special-offers__carousel,
#new-offers-carousel {
    --carousel-slide-width: 300px;
    --carousel-slide-gap: 1rem;
}

.special-offers__carousel .f-carousel__viewport,
#new-offers-carousel .f-carousel__viewport {
    overflow: hidden;
    padding: 0 var(--carousel-slide-gap);
}

.special-offers__carousel .f-carousel__slide,
#new-offers-carousel .f-carousel__slide {
    width: var(--carousel-slide-width);
    min-width: var(--carousel-slide-width);
    display: flex;
    box-sizing: border-box;
    padding: 0 calc(var(--carousel-slide-gap) / 2);
}

.special-offers__carousel .f-carousel__slide > *,
#new-offers-carousel .f-carousel__slide > * {
    width: 100%;
    min-width: 0;
}

@media (max-width: 900px) {
    .special-offers__carousel,
    #new-offers-carousel {
        --carousel-slide-width: 280px;
        --carousel-slide-gap: 0.875rem;
    }
}

@media (max-width: 600px) {
    .special-offers__carousel,
    #new-offers-carousel {
        --carousel-slide-width: calc(100vw - 4.5rem);
        --carousel-slide-gap: 0.75rem;
    }

    .special-offers__carousel .f-carousel__viewport,
    #new-offers-carousel .f-carousel__viewport {
        overflow: visible;
        padding: 0 calc(var(--carousel-slide-gap) / 2);
    }
}

/* =========================
   RESPONSIVE
========================= */

/* tablet */
@media (max-width: 900px) {
    .special-offers__carousel {
        --f-carousel-spacing: 1rem;
        --f-carousel-slide-width: 280px;
    }
}

/* mobile */
@media (max-width: 600px) {
    .special-offers__carousel {
        --f-carousel-spacing: .875rem;
        --f-carousel-slide-width: calc(100vw - 4.5rem);
    }

    /* piccolo effetto "peek" laterale */
    .special-offers__carousel .f-carousel__viewport {
        overflow: visible;
        padding: 0 .25rem;
    }
}

.home-experiences__filters {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    margin: 0 0 28px;
}

.home-experiences__filter {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 0 15px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 999px;
    background: rgba(255,255,255,0.03);
    color: #d8d8d8;
    font-size: 0.88rem;
    font-weight: 600;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    transition:
        border-color 0.25s ease,
        background-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease;
}

.home-experiences__filter:hover,
.home-experiences__filter:focus-visible,
.home-experiences__filter.is-active {
    border-color: var(--accent-color);
    background: rgba(212, 175, 55, 0.10);
    color: #fff;
    transform: translateY(-1px);
}

/* GRID */
.home-experiences__grid {
    display: grid;
    grid-template-columns: 1.35fr 1fr 1fr;
    gap: 18px;
}

.home-experiences__card {
    position: relative;
    display: block;
    min-height: 270px;
    border-radius: 18px;
    overflow: hidden;
    text-decoration: none;
    background: #111;
    isolation: isolate;
    border: 1px solid rgba(255,255,255,0.06);
    transition:
        transform 0.28s ease,
        border-color 0.28s ease,
        box-shadow 0.28s ease;
}

.home-experiences__card--featured {
    grid-row: span 2;
    min-height: 558px;
}

.home-experiences__card:hover,
.home-experiences__card:focus-visible {
    transform: translateY(-4px);
    border-color: rgba(212, 175, 55, 0.55);
    box-shadow: 0 16px 34px rgba(0,0,0,0.35);
}

.home-experiences__media {
    position: absolute;
    inset: 0;
    display: block;
    z-index: 0;
}

.home-experiences__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.home-experiences__card:hover .home-experiences__media img,
.home-experiences__card:focus-visible .home-experiences__media img {
    transform: scale(1.05);
}

.home-experiences__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(
        to top,
        rgba(0,0,0,0.55) 0%,
        rgba(0,0,0,0.25) 45%,
        rgba(0,0,0,0.00) 100%
    );
    transition: background 0.4s ease;
}

.home-experiences__content {
    position: absolute;
    inset: auto 0 0;
    z-index: 2;
    padding: 22px 22px 20px;
}

.home-experiences__badge {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    margin-bottom: 10px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(212, 175, 55, 0.92);
    color: #111;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.home-experiences__card-title {
    margin: 0 0 8px;
    color: #fff;
    font-size: 1.45rem;
    line-height: 1.08;
    font-weight: 800;
}

.home-experiences__card--featured .home-experiences__card-title {
    font-size: 2rem;
}

.home-experiences__card-text {
    margin: 0;
    color: #dddddd;
    font-size: 0.96rem;
    line-height: 1.5;
    max-width: 34ch;
    text-shadow: 0 2px 8px rgba(0,0,0,0.6);
}

.home-experiences__card-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
    color: var(--accent-color);
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.2;
}

.home-experiences__card-cta::after {
    content: "→";
    transition: transform 0.25s ease;
}

.home-experiences__card:hover .home-experiences__card-cta::after,
.home-experiences__card:focus-visible .home-experiences__card-cta::after {
    transform: translateX(3px);
}

/* FOOTER */
.home-experiences__footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin-top: 28px;
}

.home-experiences__main-cta {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 24px;
    border: 1px solid rgba(212, 175, 55, 0.55);
    border-radius: 999px;
    background: linear-gradient(180deg, rgba(212,175,55,0.20) 0%, rgba(212,175,55,0.10) 100%);
    color: #fff;
    font-size: 0.96rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        background-color 0.25s ease,
        box-shadow 0.25s ease;
}

.home-experiences__main-cta:hover,
.home-experiences__main-cta:focus-visible {
    transform: translateY(-2px);
    border-color: var(--accent-color);
    box-shadow: 0 10px 24px rgba(0,0,0,0.22);
}

.home-experiences__more {
    margin-top: 18px;
    text-align: center;
    color: #9d9d9d;
    font-size: 0.88rem;
    line-height: 1.8;
}

.home-experiences__more-label {
    margin-right: 8px;
    color: #8d8d8d;
}

.home-experiences__more a {
    color: #d2d2d2;
    text-decoration: none;
    margin: 0 6px;
    transition: color 0.25s ease;
}

.home-experiences__more a:hover,
.home-experiences__more a:focus-visible {
    color: var(--accent-color);
}

/* RESPONSIVE */
@media (max-width: 1180px) {
    .home-experiences__grid {
        grid-template-columns: 1fr 1fr;
    }

    .home-experiences__card--featured {
        grid-row: auto;
        min-height: 340px;
    }
}

@media (max-width: 767px) {
    .home-experiences {
        margin-bottom: 22px;
    }

    .home-experiences__inner {
        padding: 24px 16px 22px;
    }

    .home-experiences__header {
        margin-bottom: 18px;
    }

    .home-experiences__intro {
        font-size: 0.95rem;
        line-height: 1.55;
    }

    .home-experiences__filters {
        justify-content: flex-start;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 6px;
        margin-bottom: 18px;
        scrollbar-width: thin;
    }

    .home-experiences__grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .home-experiences__card,
    .home-experiences__card--featured {
        min-height: 250px;
    }

    .home-experiences__card--featured .home-experiences__card-title {
        font-size: 1.7rem;
    }

    .home-experiences__content {
        padding: 18px 16px 16px;
    }

    .home-experiences__card-text {
        display: none;
    }

    .home-experiences__main-cta {
        padding: 14px 18px;
        min-height: 0;
    }
}

/* =========================
   HOME GENERIC SECTION WRAPPER
========================= */

.home-section {
    width: 100%;
    margin: 0 0 28px;
    box-sizing: border-box;
}

.home-section::after {
    content: "";
    display: block;
    height: 1px;
    background: linear-gradient(to right, transparent, rgba(212,175,55,0.4), transparent);
    margin-top: 24px;
}

.home-section__inner {
    width: 100%;
    margin: 0 auto;
    padding: 34px 26px 30px;
    background: linear-gradient(180deg, rgba(10,10,10,0.96) 0%, rgba(20,20,20,0.94) 100%);
    border: 1px solid rgba(212, 175, 55, 0.28);
    box-shadow: 0 10px 30px rgba(0,0,0,0.28);
    box-sizing: border-box;
}

.home-section__inner--alt {
    background:
        radial-gradient(circle at top center, rgba(212,175,55,0.08), transparent 60%),
        linear-gradient(180deg, rgba(18,18,18,0.96), rgba(28,28,28,0.94));
}

.home-section__header {
    max-width: 980px;
    margin: 0 auto 22px;
    text-align: center;
}

.home-section__eyebrow {
    margin: 0 0 8px;
    color: var(--accent-color);
    font-size: 0.82rem;
    line-height: 1.2;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.home-section__title {
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 2.2vw, 2.8rem);
    line-height: 1.05;
    font-weight: 800;
    text-wrap: balance;
}

.home-section__intro {
    max-width: 860px;
    margin: 14px auto 0;
    color: #c9c9c9;
    font-size: 1rem;
    line-height: 1.6;
}

.home-top-destinations__list {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
    max-width: 1100px;
    margin: 0 auto;
}

.home-top-destinations__link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 0 16px;
    border: 1px solid rgba(255,255,255,0.12);
    border-radius: 999px;
    background: rgba(255,255,255,0.03);
    color: #d8d8d8;
    font-size: 0.92rem;
    font-weight: 700;
    line-height: 1;
    text-decoration: none;
    white-space: nowrap;
    transition:
        border-color 0.25s ease,
        background-color 0.25s ease,
        color 0.25s ease,
        transform 0.25s ease,
        box-shadow 0.25s ease;
}

.home-top-destinations__link:hover,
.home-top-destinations__link:focus-visible {
    border-color: var(--accent-color);
    background: rgba(212, 175, 55, 0.10);
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 8px 20px rgba(0,0,0,0.20);
    outline: none;
}

.home-seasonal__grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 18px;
}

.home-seasonal__card {
    position: relative;
    display: block;
    min-height: 280px;
    border-radius: 18px;
    overflow: hidden;
    text-decoration: none;
    background: #111;
    isolation: isolate;
    border: 1px solid rgba(255,255,255,0.06);
    transition:
        transform 0.28s ease,
        border-color 0.28s ease,
        box-shadow 0.28s ease;
}

.home-seasonal__card:hover,
.home-seasonal__card:focus-visible {
    transform: translateY(-4px);
    border-color: rgba(212, 175, 55, 0.55);
    box-shadow: 0 16px 34px rgba(0,0,0,0.35);
    outline: none;
}

.home-seasonal__media {
    position: absolute;
    inset: 0;
    display: block;
    z-index: 0;
}

.home-seasonal__media img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform 0.6s ease;
}

.home-seasonal__card:hover .home-seasonal__media img,
.home-seasonal__card:focus-visible .home-seasonal__media img {
    transform: scale(1.05);
}

.home-seasonal__overlay {
    position: absolute;
    inset: 0;
    z-index: 1;
    background:
        linear-gradient(
            to top,
            rgba(0,0,0,0.68) 0%,
            rgba(0,0,0,0.34) 48%,
            rgba(0,0,0,0.06) 100%
        );
}

.home-seasonal__content {
    position: absolute;
    inset: auto 0 0;
    z-index: 2;
    padding: 22px 20px 18px;
}

.home-seasonal__badge {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    margin-bottom: 10px;
    padding: 0 10px;
    border-radius: 999px;
    background: rgba(212, 175, 55, 0.92);
    color: #111;
    font-size: 0.72rem;
    font-weight: 800;
    line-height: 1;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.home-seasonal__card-title {
    margin: 0 0 8px;
    color: #fff;
    font-size: 1.4rem;
    line-height: 1.08;
    font-weight: 800;
    text-shadow: 0 2px 8px rgba(0,0,0,0.45);
}

.home-seasonal__card-text {
    margin: 0;
    color: #dddddd;
    font-size: 0.95rem;
    line-height: 1.5;
    text-shadow: 0 2px 8px rgba(0,0,0,0.55);
}

.home-seasonal__card-cta {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-top: 14px;
    color: var(--accent-color);
    font-size: 0.88rem;
    font-weight: 700;
    line-height: 1.2;
}

.home-seasonal__card-cta::after {
    content: "→";
    transition: transform 0.25s ease;
}

.home-seasonal__card:hover .home-seasonal__card-cta::after,
.home-seasonal__card:focus-visible .home-seasonal__card-cta::after {
    transform: translateX(3px);
}

/* =========================
   SEO INTRO ARTICLE
========================= */

.home-seo-intro {
    width: 100%;
    margin: 0 0 28px;
    box-sizing: border-box;
}

.home-seo-intro__inner {
    width: 100%;
    margin: 0 auto;
    padding: 30px 26px 28px;
    background: linear-gradient(180deg, rgba(12,12,12,0.96) 0%, rgba(24,24,24,0.94) 100%);
    border: 1px solid rgba(255,255,255,0.08);
    box-shadow: 0 10px 30px rgba(0,0,0,0.24);
    box-sizing: border-box;
}

.home-seo-intro__title {
    margin: 0 0 16px;
    color: #fff;
    font-family: var(--title-font);
    font-size: clamp(1.6rem, 2vw, 2.25rem);
    line-height: 1.08;
    font-weight: 700;
    text-align: left;
}

.home-seo-intro__content {
    max-width: 1100px;
    margin: 0;
    color: #d2d2d2;
    font-size: 1rem;
    line-height: 1.75;
}

.home-seo-intro__content p {
    margin: 0 0 1em;
}

.home-seo-intro__content p:last-child {
    margin-bottom: 0;
}

.home-seo-intro__content strong {
    color: #fff;
    font-weight: 700;
}

.home-seo-intro__content a {
    color: var(--accent-color);
    text-decoration: none;
}

.home-seo-intro__content a:hover,
.home-seo-intro__content a:focus-visible {
    color: #ffdf00;
    text-decoration: underline;
}

/* opzionale: se vuoi aggiungere mini bullet sotto il testo */
.home-seo-intro__highlights {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin: 18px 0 0;
    padding: 0;
    list-style: none;
}

.home-seo-intro__highlights li {
    display: inline-flex;
    align-items: center;
    min-height: 38px;
    padding: 0 14px;
    border: 1px solid rgba(212,175,55,0.20);
    border-radius: 999px;
    background: rgba(212,175,55,0.06);
    color: #ececec;
    font-size: 0.9rem;
    font-weight: 600;
    line-height: 1;
}

/* =========================
   AGENCY AREA
========================= */

.home-agencies {
    width: 100%;
    margin: 0 0 28px;
    box-sizing: border-box;
}

.home-agencies__inner {
    display: grid;
    grid-template-columns: minmax(320px, 420px) minmax(0, 1fr);
    gap: 28px;
    width: 100%;
    margin: 0 auto;
    padding: 30px 26px;
    background: linear-gradient(180deg, rgba(10,10,10,0.96) 0%, rgba(20,20,20,0.94) 100%);
    border: 1px solid rgba(212, 175, 55, 0.28);
    box-shadow: 0 10px 30px rgba(0,0,0,0.28);
    box-sizing: border-box;
    align-items: center;
}

.home-agencies__media {
    position: relative;
    min-height: 420px;
    border-radius: 20px;
    overflow: hidden;
    background: #111;
    border: 1px solid rgba(255,255,255,0.08);
}

.home-agencies__media img {
    display: block;
    width: 100%;
    height: 100%;
    min-height: 420px;
    object-fit: cover;
}

.home-agencies__media::after {
    content: "";
    position: absolute;
    inset: 0;
    background:
        linear-gradient(
            to top,
            rgba(0,0,0,0.18) 0%,
            rgba(0,0,0,0.04) 100%
        );
    pointer-events: none;
}

.home-agencies__content {
    max-width: 780px;
    text-align: left;
}

.home-agencies__eyebrow {
    margin: 0 0 8px;
    color: var(--accent-color);
    font-size: 0.82rem;
    line-height: 1.2;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.home-agencies__title {
    margin: 0;
    color: #fff;
    font-size: clamp(2rem, 2.2vw, 2.8rem);
    line-height: 1.05;
    font-weight: 800;
    text-wrap: balance;
}

.home-agencies__intro {
    margin: 14px 0 0;
    color: #d2d2d2;
    font-size: 1rem;
    line-height: 1.7;
    max-width: 62ch;
}

.home-agencies__list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px 18px;
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}

.home-agencies__list li {
    position: relative;
    padding-left: 22px;
    color: #ececec;
    font-size: 0.98rem;
    line-height: 1.55;
}

.home-agencies__list li::before {
    content: "";
    position: absolute;
    top: 0.58em;
    left: 0;
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--accent-color);
    box-shadow: 0 0 0 4px rgba(212,175,55,0.12);
}

.home-agencies__actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 26px;
}

.home-agencies__cta,
.home-agencies__cta-secondary {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 50px;
    padding: 0 22px;
    border-radius: 999px;
    font-size: 0.96rem;
    font-weight: 700;
    text-align: center;
    text-decoration: none;
    transition:
        transform 0.25s ease,
        border-color 0.25s ease,
        background-color 0.25s ease,
        color 0.25s ease,
        box-shadow 0.25s ease;
}

.home-agencies__cta {
    border: 1px solid rgba(212,175,55,0.55);
    background: linear-gradient(180deg, rgba(212,175,55,0.20) 0%, rgba(212,175,55,0.10) 100%);
    color: #fff;
}

.home-agencies__cta:hover,
.home-agencies__cta:focus-visible {
    transform: translateY(-2px);
    border-color: var(--accent-color);
    box-shadow: 0 10px 24px rgba(0,0,0,0.22);
    outline: none;
}

.home-agencies__cta-secondary {
    border: 1px solid rgba(255,255,255,0.12);
    background: rgba(255,255,255,0.03);
    color: #dcdcdc;
}

.home-agencies__cta-secondary:hover,
.home-agencies__cta-secondary:focus-visible {
    transform: translateY(-2px);
    border-color: rgba(212,175,55,0.45);
    color: #fff;
    outline: none;
}

/* =========================
   RESPONSIVE
========================= */

@media (max-width: 1180px) {
    .home-seasonal__grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .home-agencies__inner {
        grid-template-columns: 1fr;
    }

    .home-agencies__media {
        min-height: 340px;
    }

    .home-agencies__media img {
        min-height: 340px;
    }
}

@media (max-width: 767px) {
    .home-section,
    .home-top-destinations,
    .home-seasonal,
    .home-seo-intro,
    .home-agencies {
        margin-bottom: 22px;
    }

    .home-section__inner,
    .home-top-destinations__inner,
    .home-seasonal__inner,
    .home-seo-intro__inner,
    .home-agencies__inner {
        padding: 24px 16px 22px;
    }

    .home-top-destinations__list {
        justify-content: flex-start;
        overflow-x: auto;
        flex-wrap: nowrap;
        padding-bottom: 6px;
        scrollbar-width: thin;
    }

    .home-seasonal__grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }

    .home-seasonal__card {
        min-height: 250px;
    }

    .home-seasonal__content {
        padding: 18px 16px 16px;
    }

    .home-seasonal__card-text {
        display: none;
    }

    .home-seo-intro__title {
        font-size: clamp(1.45rem, 6vw, 1.9rem);
    }

    .home-seo-intro__content {
        font-size: 0.98rem;
        line-height: 1.7;
    }

    .home-agencies__media,
    .home-agencies__media img {
        min-height: 280px;
    }

    .home-agencies__list {
        grid-template-columns: 1fr;
        gap: 10px;
    }

    .home-agencies__actions {
        flex-direction: column;
        align-items: stretch;
    }
}

#page-content,
#page-secondarycontent,
#rfq-secondarycontent,
#rfq-content,
#errorpage-content,
#errorpage-secondarycontent {
    box-shadow: 0 1px 5px rgba(0, 0, 0, .2);
    box-sizing: border-box;
    background: var(--primary-bg);
    display: block;
    padding: 0 1em 1em;
    position: relative
}

#page-content,
#rfq-content,
#errorpage-content {
    line-height: 1.5;
    flex: 1 1 62%
}

#errorpage-content {
    background-image: linear-gradient(rgba(0,0,0,0.70),
        rgba(0,0,0,0.70)),
        url(../graphics/capodanno-404.png);
    background-color: #000;
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    font-size: 1.5em;
}

@supports (background-image: url(../graphics/capodanno-404.webp)) {
    #errorpage-content {
        background-image: linear-gradient(rgba(0,0,0,0.70),
            rgba(0,0,0,0.70)),
            url(../graphics/capodanno-404.webp);
    }
}

#page-content a,
#page-secondarycontent a,
#rfq-content a,
#rfq-secondarycontent a,
.page-content-link,
#errorpage-content a {
    color: #af8543;
    text-decoration: none
}

#page-secondarycontent,
#rfq-secondarycontent,
#errorpage-secondarycontent {
    margin-top: 2em;
    flex: 1 1 25%;
}

.page-secondarycontent-subtitle,
.rfq-secondarycontent-subtitle,
.errorpage-secondarycontent-subtitle {
    border-bottom: 2px solid;
    font-family: var(--title-font);
    font-size: 1.5em;
    margin: .5em 0
}

.locandina {
    display: inline-block;
    font-size: 1em;
    margin: .5em;
    position: relative;
    text-align: center;
    vertical-align: top;
    width: 12em
}

.locandina-link {
    font-size: 1.2em;
    text-decoration: none
}

.locandina-img {
    border: 1px solid #ccc;
    border-radius: 6px
}

.contactspage-contacts {
    font-size: 1.5em;
    font-weight: 800;
    text-decoration: none
}

.rfq-subsection-title {
    font-size: 1.2em;
    margin: -2em 0 0 0
}

#rfq-formbox {
    background: #000;
    position: relative
}

.rfq-form-room {
    border: 1px dashed #ccc;
    margin: 2em 1em;
    padding: 1em;
}

#rfq-form input,
#rfq-form select,
#rfq-form-notes,
.rfq-form-boxes .ss-main {
    background: rgba(255, 255, 255, .7);
    border: none;
    border-radius: 3px;
    box-sizing: border-box;
    font-family: "Roboto Condensed", sans-serif;
    font-size: 1em;
    margin: .2em;
    padding: .3em .6em;
    width: 90%
}

.rfq-form-inputnumber {
    -moz-appearance: textfield;
    appearance: textfield;
    width: 20%;
}

#rfq-form input[type=checkbox] {
    height: auto;
    margin: .5em;
    padding: 0;
    transform: scale(1.5);
    width: auto
}

#rfq-form input:focus,
#rfq-form select:focus,
#rfq-form-notes:focus {
    background: #fff
}

.rfq-form-fieldset {
    border: 2px solid #af8543;
    margin: .5em 0
}

.rfq-form-legend {
    color: #fff;
    display: block
}

.rfq-form-labelradio {
    display: inline
}

.rfq-form-boxes {
    margin: 0 1em 0 0
}

.rfq-form-required {
    border: none;
    color: #e34234
}

#rfq-form-notes {
    height: 5em
}

#rfq-form-childageboxes {
    margin-left: 2em
}

.owl-controls {
    display: none;
    margin: 0 auto
}

#iubenda_policy {
    background: #fff;
}

@media only screen and (max-width:1200px) {

    #home-content {
        flex-direction: column;
    }

    #offer-details-wrapper {
        flex: 1 1 23%;
    }

    #offer-mainbox-packtitle {
        display: block;
    }

    #sitefooter {
        flex-wrap: wrap;
    }

    #offer-desc-container,
    #offer-details-wrapper,
    #page-content,
    #page-secondarycontent,
    #rfq-secondarycontent,
    #rfq-content,
    #errorpage-content {
        margin: 0 .2em;
        padding: .2em
    }

}

@media only screen and (max-width:800px) {

    #sitelogo {
        display: block;
        margin: 0 auto;
        text-align: center
    }

    #offer-packets-list,
    .home-content-categories-title {
        margin: 1em 0;
    }

    #home-content,
    #page-content,
    #rfq-content,
    #search-container,
    #errorpage-content {
        padding: 1em
    }

    #offer-mainbox,
    #page-wrapper,
    #rfq-wrapper,
    #errorpage-wrapper {
        flex-direction: column;
    }

    #offer-details-wrapper,
    #offer-desc-container {
        flex: 1 1 100%;
    }

    #offer-desc-container,
    #offer-details-wrapper,
    #page-content,
    #page-secondarycontent,
    #rfq-secondarycontent,
    #rfq-content,
    #errorpage-content,
    #errorpage-secondarycontent,
    .offer-packets-list-item-titlebox {
        position: relative;
        width: 100%
    }

    #offer-rfq-wrapper {
        bottom: 0;
        left: 0;
        margin: 0;
        padding: 0;
        position: fixed;
        right: 0;
        width: 100%;
        z-index: 9999999
    }
}

@media only screen and (max-width:600px) {
    #search-description {
        display: none;
    }

    #rfq-button,
    #rfq-form-sendbutton,
    #rfq-tel {
        margin: .5em 0
    }

    .rfq-form-button {
        border: 0;
        margin: 1em .5em .5em 0;
    }

    .rfq-form-room {
        border: 1px dashed #ccc;
        margin: 1.2em .5em;
        padding: .5em;
    }

    #offer-desc-accom,
    #offer-desc-evedinner {
        width: 100%
    }

    .offer-desc-accom-gallery-img,
    .rfq-desc-accom-gallery-img {
        height: auto;
        max-height: 80px;
        max-width: 100%;
        width: 120px
    }

}

@media print and (color) {
    body {
        font-size: 12px
    }

    #offer-details-wrapper {
        font-size: .8em;
        flex: 1 1 25%
    }

    #rfq-button,
    #rfq-tel {
        font-size: 1.2em
    }

    #offer-desc-container {
        flex: 1 1 73%;
        font-size: .9em
    }

    #mainmenu {
        display: none
    }

    #rfq-button:after {
        content: "info@capodanno.com";
        text-transform: lowercase
    }

    .sitefooter-link:after {
        content: " <www.capodanno.com/" attr(href) ">";
        font-size: .8em;
        font-weight: 400
    }
}
