/* Lanzarote Villa Choice: makes the engine's lwas-ve-* markup look like the old booking UI. Inherits the Divi body font. */
:root { --lwas-ve-primary: #e45411; --lwas-ve-accent: #e45411; --lwas-ve-free: #FEAD5B; --lwas-ve-taken: #F3F3F3; --lwas-ve-past: #eee; }

.lwas-ve-price-box, .lwas-ve-rates, .lwas-ve-amenities, .lwas-ve-search, .lwas-ve-enquiry, .lwas-ve-calendar, .lwas-ve-results, .lwas-ve-currency { font-family: inherit; }

/* Buttons */
.lwas-ve-price-box button, .lwas-ve-search button, .lwas-ve-enquiry button, .lwas-ve-button {
  border-radius: 3px; background: #e45411; color: #fff; text-transform: uppercase; letter-spacing: .04em;
}
.lwas-ve-price-box button:hover, .lwas-ve-search button:hover, .lwas-ve-enquiry button:hover, .lwas-ve-button:hover { background: #c4470d; filter: none; }
/* Divi's link colours are the same orange as the button, so link buttons need their white text forced. */
a.lwas-ve-button, a.lwas-ve-button:link, a.lwas-ve-button:visited, a.lwas-ve-button:hover { color: #fff !important; }
.lwas-ve-price-box :focus-visible, .lwas-ve-calendar :focus-visible, .lwas-ve-search :focus-visible, .lwas-ve-enquiry :focus-visible,
.lwas-ve-results :focus-visible, .lwas-ve-currency :focus-visible { outline-color: #e45411; }

/* Price box: fits the theme's side column */
.lwas-ve-price-box { width: 100%; max-width: 100%; padding: 20px; border: 1px solid #e45411; border-radius: 0; box-shadow: none; }
.side-column .lwas-ve-price-box, .et_pb_column .lwas-ve-price-box { width: 100%; margin-left: 0; margin-right: 0; }
.lwas-ve-price-box .lwas-ve-money, .lwas-ve-price-box .lwas-ve-total { color: #e45411; }
.lwas-ve-price-box input, .lwas-ve-price-box select, .lwas-ve-search input, .lwas-ve-search select { border-radius: 0; }

/* Availability calendar */
.lwas-ve-calendar td { background: #FEAD5B; border-color: #fff; color: #333; }
.lwas-ve-calendar td:empty { background: transparent; }
.lwas-ve-calendar td.is-taken { position: relative; background: #F3F3F3; color: #999; text-decoration: none; }
.lwas-ve-calendar td.is-taken::after {
  content: "\2715"; position: absolute; inset: 0; display: flex; align-items: center; justify-content: center;
  font-size: 1.1rem; color: #bbb; pointer-events: none;
}
.lwas-ve-calendar td.is-arrival { background: linear-gradient(135deg, #F3F3F3 50%, #FEAD5B 50%); }
.lwas-ve-calendar td.is-departure { background: linear-gradient(135deg, #FEAD5B 50%, #F3F3F3 50%); }
.lwas-ve-calendar td.is-past { background: #eee; color: #aaa; }
.lwas-ve-calendar td.is-unpriced { background: repeating-linear-gradient(135deg, #f7f7f7 0 4px, #e6e6e6 4px 8px); color: #888; opacity: 1; }
.lwas-ve-calendar td.is-selected { outline-color: #e45411; }
.lwas-ve-calendar-legend li::before { background: #FEAD5B; }
.lwas-ve-calendar-legend .is-taken::before { background: #F3F3F3; }
.lwas-ve-calendar-legend .is-arrival::before { background: linear-gradient(135deg, #F3F3F3 50%, #FEAD5B 50%); }
.lwas-ve-calendar-legend .is-departure::before { background: linear-gradient(135deg, #FEAD5B 50%, #F3F3F3 50%); }
.lwas-ve-calendar-legend .is-unpriced::before { background: repeating-linear-gradient(135deg, #f7f7f7 0 2px, #e6e6e6 2px 4px); }
.lwas-ve-calendar-nav button, .lwas-ve-calendar-head button { border-color: #e45411; color: #e45411; }

/* Rates table */
table.lwas-ve-rates { border: 1px solid #ddd; }
.lwas-ve-rates th { background: #e45411; color: #fff; font-weight: 700; text-transform: uppercase; font-size: .8rem; }
.lwas-ve-rates th, .lwas-ve-rates td { padding: 10px 14px; border-bottom: 1px solid #ddd; }
.lwas-ve-rates tbody tr:nth-child(even) td { background: #fafafa; }

/* Amenity groups: four columns, tick bullets */
.lwas-ve-amenities { display: flex; flex-wrap: wrap; gap: 20px 0; }
.lwas-ve-amenity-group { box-sizing: border-box; width: 25%; padding-right: 20px; }
.lwas-ve-amenity-group h3 { margin: 0 0 8px; font-size: 1rem; color: #e45411; }
.lwas-ve-amenities ul { display: block; }
.lwas-ve-amenities li { margin: 0 0 4px; font-size: .9rem; }
.lwas-ve-amenities li::before { content: "\2714"; color: #e45411; }
@media (max-width: 980px) { .lwas-ve-amenity-group { width: 50%; } }
@media (max-width: 480px) { .lwas-ve-amenity-group { width: 100%; padding-right: 0; } }

/* Result cards, like the old .bld_item */
.lwas-ve-result-list > li, .lwas-ve-card { border: 1px solid #ddd; border-radius: 0; box-shadow: 0 1px 4px rgba(0, 0, 0, .08); }
.lwas-ve-card-body h3 a { color: #e45411; text-decoration: none; }
.lwas-ve-result-price, .lwas-ve-results .lwas-ve-money { color: #e45411; font-weight: 700; }

/* Currency switch buttons and the menu item */
.lwas-ve-currency [data-lwas-ve-currency] { border-color: #e45411; color: #e45411; }
.lwas-ve-currency [data-lwas-ve-currency].is-active { background: #e45411; border-color: #e45411; color: #fff; }
.lwas-ve-currency-menu > a { cursor: pointer; }
.lwas-ve-currency-menu .sub-menu a[data-lwas-ve-currency].is-active { color: #e45411; font-weight: 700; }

/* Attractions list (ported [attractions] shortcode) */
.bld_booking_search_results .bld_item { margin: 0 0 24px; padding: 0; border: 1px solid #ddd; background: #fff; overflow: hidden; }
.bld_item.clearfix::after { content: ""; display: table; clear: both; }
.bld_item > a { float: left; width: 33%; }
.bld_item img.attachment-post-thumbnail { display: block; width: 100%; height: auto; }
.bld_item .item-content { overflow: hidden; padding: 16px 20px; }
.bld_item .item_header h3 { margin: 0 0 8px; padding: 0; font-size: 1.2rem; }
.bld_item .item_header h3 a { color: #e45411; text-decoration: none; }
.bld_item .item_footer a { color: #e45411; font-weight: 600; }
ul.bld_pagination { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 24px; padding: 0; list-style: none; }
ul.bld_pagination li { margin: 0; padding: 0; }
ul.bld_pagination a, ul.bld_pagination span { display: block; min-width: 2.2em; padding: 6px 10px; border: 1px solid #e45411; color: #e45411; text-align: center; text-decoration: none; }
ul.bld_pagination span { background: #e45411; color: #fff; }
@media (max-width: 600px) { .bld_item > a { float: none; width: 100%; } }

/* Divi layouts that used to rely on the old plugin's stylesheet */
body .villa-home .et_pb_blurb_content { display: flex; position: relative; }
body .villa-home .et_pb_blurb_content .et_pb_main_blurb_image { margin: 0; }
body .villa-home .et_pb_blurb_content .et_pb_blurb_container { position: absolute; align-self: flex-start; padding: .75rem; }
body .sidebar-link .et_pb_blurb_content { display: flex; flex-direction: column-reverse; }
