.booking-widget-component{background:var(--color-white);border-radius:var(--border-radius-lg);box-shadow:var(--shadow-lg);overflow:hidden}.booking-widget-component__header{background:var(--color-primary);color:var(--color-white);padding:var(--spacing-lg);text-align:center}.booking-widget-component__title{font-size:20px;margin:0 0 var(--spacing-xs);color:var(--color-white)}.booking-widget-component__subtitle{font-size:14px;opacity:.9;margin:0}.booking-widget-component__body{padding:var(--spacing-lg)}.booking-widget-component__footer{padding:var(--spacing-md) var(--spacing-lg);background:var(--color-background);text-align:center;font-size:14px}.booking-widget-component__footer p{margin:0;color:var(--color-text-light)}.booking-widget-component__footer a{font-weight:600}.booking-form{display:flex;flex-wrap:wrap;gap:var(--spacing-md)}.booking-form__field{flex:1 1 100%}.booking-form__field--half{flex:1 1 calc(50% - var(--spacing-sm))}.booking-form__field label{display:block;font-size:13px;font-weight:600;color:var(--color-text);margin-bottom:var(--spacing-xs)}.booking-form__field input,.booking-form__field select{width:100%;padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--border-radius-md);font-size:15px;transition:border-color var(--transition-fast)}.booking-form__field input:focus,.booking-form__field select:focus{outline:none;border-color:var(--color-primary)}.booking-form button{margin-top:var(--spacing-sm)}.booking-widget-component--compact .booking-widget-component__body{padding:var(--spacing-md)}.booking-widget-component--compact .booking-form{flex-direction:row;align-items:flex-end}.booking-widget-component--compact .booking-form__field{flex:1}.booking-widget-component--compact .booking-form button{margin-top:0;flex:0 0 auto}.faq-component__title{font-size:var(--font-size-h3);margin-bottom:var(--spacing-xl);text-align:center}.faq-component--boxed .faq-item{border:1px solid var(--color-border)}.faq-component--boxed .faq-item+.faq-item{border-top:none}.faq-component--boxed .faq-item:first-child{border-radius:var(--border-radius-md) var(--border-radius-md) 0 0}.faq-component--boxed .faq-item:last-child{border-radius:0 0 var(--border-radius-md) var(--border-radius-md)}.faq-component--minimal .faq-item{background:transparent;box-shadow:none;border-bottom:1px solid var(--color-border);border-radius:0}.hotels-nearby__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.hotels-nearby__title{font-size:var(--font-size-h3);margin:0}.hotels-nearby__link{display:inline-flex;align-items:center;gap:var(--spacing-xs);font-weight:600;font-size:14px}.hotels-nearby__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-xl)}.hotels-nearby--list .hotels-nearby__grid{display:flex;flex-direction:column;gap:var(--spacing-md)}.hotel-list-item{display:flex;align-items:center;gap:var(--spacing-lg);padding:var(--spacing-md);background:var(--color-white);border-radius:var(--border-radius-md);text-decoration:none;transition:all var(--transition-fast)}.hotel-list-item:hover{background:var(--color-background)}.hotel-list-item__image{width:80px;height:60px;border-radius:var(--border-radius-sm);overflow:hidden;flex-shrink:0}.hotel-list-item__image img{width:100%;height:100%;object-fit:cover}.hotel-list-item__content{flex:1}.hotel-list-item__title{font-size:16px;color:var(--color-text);margin:0 0 var(--spacing-xs)}.hotel-list-item__address{font-size:13px;color:var(--color-text-light);margin:0}.hotel-list-item__arrow{color:var(--color-text-muted);transition:transform var(--transition-fast)}.hotel-list-item:hover .hotel-list-item__arrow{transform:translateX(4px);color:var(--color-primary)}.amenities-component__title{font-size:var(--font-size-h4);margin-bottom:var(--spacing-lg)}.amenities-component__list{display:grid;gap:var(--spacing-md);list-style:none;padding:0;margin:0}.amenities-component__list--cols-2{grid-template-columns:repeat(2,1fr)}.amenities-component__list--cols-3{grid-template-columns:repeat(3,1fr)}.amenities-component__list--cols-4{grid-template-columns:repeat(4,1fr)}.amenity-item{display:flex;align-items:flex-start;gap:var(--spacing-md)}.amenity-item__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-background);border-radius:var(--border-radius-md);color:var(--color-primary);flex-shrink:0}.amenity-item__title{display:block;font-size:15px;color:var(--color-text)}.amenity-item__description{display:block;font-size:13px;color:var(--color-text-light);margin-top:2px}.amenities-component--inline .amenities-component__list{display:flex;flex-wrap:wrap;gap:var(--spacing-lg)}.amenities-component--inline .amenity-item{flex-direction:column;align-items:center;text-align:center}.amenities-component--icons-only .amenity-item__description{display:none}.cta-banner{position:relative;padding:var(--spacing-3xl) 0;text-align:center}.cta-banner--primary{background:var(--color-primary);color:var(--color-white)}.cta-banner--dark{background:var(--color-text);color:var(--color-white)}.cta-banner--image{background-size:cover;background-position:center;color:var(--color-white)}.cta-banner__overlay{position:absolute;inset:0;background:rgba(0,0,0,.6)}.cta-banner__content{position:relative;z-index:1;max-width:600px;margin:0 auto}.cta-banner__title{font-size:var(--font-size-h2);margin-bottom:var(--spacing-md);color:inherit}.cta-banner__subtitle{font-size:18px;opacity:.9;margin-bottom:var(--spacing-xl)}.btn--white{background:var(--color-white);color:var(--color-primary)}.btn--white:hover{background:var(--color-background);color:var(--color-primary-dark)}.gallery-component__title{font-size:var(--font-size-h4);margin-bottom:var(--spacing-lg)}.gallery-component__grid{display:grid;gap:var(--spacing-md)}.gallery-component__grid--cols-2{grid-template-columns:repeat(2,1fr)}.gallery-component__grid--cols-3{grid-template-columns:repeat(3,1fr)}.gallery-component__grid--cols-4{grid-template-columns:repeat(4,1fr)}.gallery-component__item{position:relative;aspect-ratio:4/3;border-radius:var(--border-radius-md);overflow:hidden;cursor:pointer}.gallery-component__item img{width:100%;height:100%;object-fit:cover;transition:transform var(--transition-slow)}.gallery-component__item:hover img{transform:scale(1.05)}.gallery-component__overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:rgba(0,0,0,.4);color:var(--color-white);opacity:0;transition:opacity var(--transition-fast)}.gallery-component__item:hover .gallery-component__overlay{opacity:1}.attractions-component__title{font-size:var(--font-size-h4);margin-bottom:var(--spacing-lg)}.attractions-component__list{list-style:none;padding:0;margin:0}.attraction-item{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) 0;border-bottom:1px solid var(--color-border-light)}.attraction-item:last-child{border-bottom:none}.attraction-item__icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:var(--color-primary);border-radius:50%;color:var(--color-white);flex-shrink:0}.attraction-item__content{flex:1;display:flex;justify-content:space-between;align-items:center}.attraction-item__name{font-size:15px;color:var(--color-text)}.attraction-item__distance{font-size:13px;color:var(--color-text-muted)}.attractions-component--cards .attractions-component__list{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--spacing-md)}.attractions-component--cards .attraction-item{flex-direction:column;text-align:center;padding:var(--spacing-lg);background:var(--color-white);border-radius:var(--border-radius-md);border-bottom:none;box-shadow:var(--shadow-sm)}.attractions-component--cards .attraction-item__content{flex-direction:column;gap:var(--spacing-xs)}@media (max-width:1024px){.hotels-nearby__grid{grid-template-columns:repeat(2,1fr)}.amenities-component__list--cols-4{grid-template-columns:repeat(2,1fr)}.attractions-component--cards .attractions-component__list{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.booking-widget-component--compact .booking-form{flex-direction:column}.hotels-nearby__header{flex-direction:column;align-items:flex-start;gap:var(--spacing-md)}.hotels-nearby__grid{grid-template-columns:1fr}.amenities-component__list--cols-2,.amenities-component__list--cols-3,.amenities-component__list--cols-4{grid-template-columns:1fr}.gallery-component__grid--cols-3,.gallery-component__grid--cols-4{grid-template-columns:repeat(2,1fr)}.attractions-component--cards .attractions-component__list{grid-template-columns:1fr}.cta-banner{padding:var(--spacing-2xl) 0}.cta-banner__title{font-size:var(--font-size-h3)}}