/* ============================================================
   ICW V4 skin — storefront overlay (module icwv4skin)
   Tokens mirror the V4 preview design system. Uninstall the
   module to restore the stock hotel-reservation-theme look.
   ============================================================ */

:root {
  --icw-paper: #f7f2eb;
  --icw-paper-deep: #eee5da;
  --icw-cream: #fffdf9;
  --icw-ink: #201a16;
  --icw-soft: #554b44;
  --icw-muted: #786d65;
  --icw-line: #ded3c6;
  --icw-copper: #9f572d;
  --icw-copper-dark: #7e3e1d;
  --icw-serif: "Iowan Old Style", "Palatino Linotype", "Book Antiqua", Palatino, Georgia, serif;
  --icw-sans: "Avenir Next", Avenir, "Segoe UI", Helvetica, Arial, sans-serif;
  --icw-shadow: 0 18px 50px rgba(47, 34, 24, 0.09);
}

/* ---------- global canvas & type ---------- */

body {
  background: var(--icw-paper) !important;
  color: var(--icw-ink);
  font-family: var(--icw-sans) !important;
}

h1, h2, h3, h4,
.page-heading,
.page-subheading,
.room_info_heading span,
.panel-title,
.cart_last_product-header {
  font-family: var(--icw-serif) !important;
  color: var(--icw-ink) !important;
  letter-spacing: -0.01em;
  text-transform: none;
}

.page-heading {
  padding-bottom: 10px;
  border-bottom: 1px solid var(--icw-line) !important;
  background: transparent;
  font-weight: 600;
}

a {
  color: var(--icw-copper);
}

a:hover,
a:focus {
  color: var(--icw-copper-dark);
}

/* ---------- buttons ---------- */

.btn-primary,
.button.button-small,
.button.button-medium,
.button.exclusive,
.exclusive,
#book_now_btn,
.book_now_submit,
.submit_occupancy_btn,
.qlo-btn-primary,
button[name="processAddress"],
button[name="processCarrier"],
#submitOrder {
  background: var(--icw-copper) !important;
  background-image: none !important;
  border: 1px solid var(--icw-copper) !important;
  border-radius: 3px !important;
  color: #fff !important;
  box-shadow: none !important;
  text-shadow: none !important;
  font-weight: 700;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  transition: background 160ms ease;
}

.btn-primary:hover,
.button.button-small:hover,
.button.button-medium:hover,
.button.exclusive:hover,
.exclusive:hover,
#book_now_btn:hover,
.book_now_submit:hover,
.submit_occupancy_btn:hover {
  background: var(--icw-copper-dark) !important;
  border-color: var(--icw-copper-dark) !important;
}

.btn-default,
.button.button-default {
  border-radius: 3px !important;
  box-shadow: none !important;
}

/* ---------- forms ---------- */

input.form-control,
select.form-control,
textarea.form-control,
.form-control {
  background: var(--icw-cream) !important;
  border: 1px solid var(--icw-line) !important;
  border-radius: 6px !important;
  color: var(--icw-ink) !important;
  box-shadow: none !important;
}

.form-control:focus {
  border-color: var(--icw-copper) !important;
}

label {
  color: var(--icw-soft);
  font-weight: 600;
}

/* ---------- alerts ---------- */

.alert {
  border-radius: 8px;
  box-shadow: none;
}

.alert-danger {
  background: #f3ddd6 !important;
  border-color: #dfb4a5 !important;
  color: #6d2f18 !important;
}

.alert-warning {
  background: #f4e8d2 !important;
  border-color: #e2cda0 !important;
  color: #6b4d18 !important;
}

/* ---------- cards / panels ---------- */

.box,
.panel,
.card,
.booking-form.card,
#views_block,
.cart_summary_block {
  background: var(--icw-cream) !important;
  border: 1px solid var(--icw-line) !important;
  border-radius: 12px !important;
  box-shadow: var(--icw-shadow) !important;
}

/* ---------- product / booking page ---------- */

body#product h1[itemprop="name"],
body#product .product_header h1 {
  font-size: clamp(27px, 3vw, 40px);
  font-weight: 600;
}

body#product .rte,
body#product .room_info_content {
  max-width: 78ch;
  color: var(--icw-soft);
  font-size: 15px;
  line-height: 1.75;
}

body#product .rte h3 {
  margin: 1.5em 0 0.5em;
  font-size: 1.12em;
}

body#product .rte ul {
  margin: 0.6em 0 1em;
  padding-left: 0;
  list-style: none;
  columns: 2;
  column-gap: 2.4em;
}

body#product .rte ul li {
  margin: 0 0 0.5em;
  padding-left: 1.2em;
  break-inside: avoid;
  position: relative;
}

body#product .rte ul li::before {
  content: "✓";
  position: absolute;
  left: 0;
  color: var(--icw-copper);
  font-size: 0.85em;
}

.nav-tabs {
  border-bottom: 1px solid var(--icw-line) !important;
}

.nav-tabs > li > a {
  border: 0 !important;
  background: transparent !important;
  color: var(--icw-muted) !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.nav-tabs > li.active > a,
.nav-tabs > li > a:hover {
  color: var(--icw-copper) !important;
  box-shadow: inset 0 -2px 0 var(--icw-copper);
}

/* thumbnails rail */
#thumbs_list li a,
#thumbs_list img {
  border-color: var(--icw-line) !important;
  border-radius: 8px;
}

#view_full_size img,
.product_main_image img {
  border-radius: 12px;
}

/* booking totals */
.ajax_block_cart_total,
.cart_block_total,
.total_price,
.our_price_display {
  color: var(--icw-copper-dark) !important;
  font-family: var(--icw-serif);
  font-weight: 700;
}

/* ---------- cart / one-page checkout ---------- */

body#order-opc .step-title,
body#order-opc h1,
body#order .step-title {
  font-family: var(--icw-serif) !important;
}

.table > thead > tr > th {
  background: transparent !important;
  border-bottom: 2px solid var(--icw-line) !important;
  color: var(--icw-muted) !important;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.table > tbody > tr > td,
.table > tfoot > tr > td {
  border-color: var(--icw-line) !important;
  vertical-align: middle;
}

.cart-prices,
.cart_navigation {
  background: transparent !important;
}

/* ---------- header / footer harmony ---------- */

.header-container,
#header {
  background: #242424 !important;
}

.footer-container {
  background: #29231f !important;
}

.footer-container h4,
.footer-container .footer_title {
  font-family: var(--icw-serif) !important;
  text-transform: none;
}

/* breadcrumb */
.breadcrumb {
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  color: var(--icw-muted);
}

.breadcrumb a {
  color: var(--icw-muted) !important;
}

/* pagination-ish + misc chrome */
.homeslider-description,
#index .tab-content {
  background: transparent;
}

/* full V4 nav cluster (identical-header rule) */
.icw-skin-nav {
  display: inline-flex;
  align-items: center;
  gap: 22px;
  margin-right: 16px;
  vertical-align: middle;
}

.icw-skin-nav > a {
  color: rgba(255, 255, 255, 0.84) !important;
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-decoration: none !important;
  text-transform: uppercase;
}

.icw-skin-nav > a:hover {
  color: #fff !important;
}

.icw-skin-nav .icw-skin-nav-action {
  min-height: 36px;
  padding: 0 15px;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fff !important;
  background: var(--icw-copper);
  border-radius: 3px;
  font-size: 11px;
  font-weight: 800;
}

.icw-skin-nav .icw-skin-nav-action:hover {
  background: var(--icw-copper-dark);
}

.icw-skin-nav .icw-skin-profile {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  color: rgba(255, 255, 255, 0.85) !important;
  border: 1px solid rgba(255, 255, 255, 0.28);
  border-radius: 50%;
}

.icw-skin-nav .icw-skin-profile:hover {
  color: #fff !important;
  border-color: #fff;
}

.icw-skin-nav .icw-skin-profile svg {
  width: 20px;
  height: 20px;
}

@media (max-width: 900px) {
  .icw-skin-nav > a:not(.icw-skin-nav-action):not(.icw-skin-profile) {
    display: none;
  }
}

/* header phone parity with the V4 preview */
.icw-skin-contact-stack {
  display: inline-flex !important;
  flex-direction: column;
  align-items: flex-start;
  gap: 2px;
  vertical-align: middle;
}

.icw-skin-contact-stack a {
  display: block !important;
  float: none !important;
  font-size: 12px !important;
  line-height: 1.35 !important;
}

.icw-skin-phone {
  color: rgba(255, 255, 255, 0.82) !important;
  text-decoration: none;
  white-space: nowrap;
}

.icw-skin-phone:hover {
  color: #fff !important;
}

@media (max-width: 820px) {
  .icw-skin-contact-stack {
    display: none;
  }
}

/* ---------- debris fixes (QA sweep 2026-07-24) ---------- */

/* stock blue underline on the active description tab */
.product_description_tabs > li > a,
.product_description_tabs > li.active > a,
.nav-tabs > li.active > a,
.nav-tabs > li.active > a:focus,
.nav-tabs > li.active > a:hover {
  border-bottom: 2px solid transparent !important;
}

.product_description_tabs > li.active > a,
.nav-tabs > li.active > a {
  border-bottom-color: var(--icw-copper) !important;
  box-shadow: none;
}

/* blue hamburger / nav toggle and cart badge */
.nav_toggle,
button.nav_toggle,
#header .btn-navbar,
.navbar-toggle {
  background: #3a332e !important;
  background-image: none !important;
  border: 1px solid #4a423c !important;
  border-radius: 6px !important;
  box-shadow: none !important;
}

.nav_toggle span,
.navbar-toggle .icon-bar {
  background: #f7f2eb !important;
}

.shopping_cart .badge,
.badge.badge_style,
.ajax_cart_quantity {
  background: var(--icw-copper) !important;
  color: #fff !important;
}

/* review-count and star-area links */
#product .comments_advices a,
#product .star_content a,
.comments_note a {
  color: var(--icw-copper) !important;
}

/* =====================================================================
   FULL THEME HARMONIZATION (2026-07-24) — remap the default
   hotel-reservation-theme blue palette + all layout primitives to V4.
   Theme brand blues replaced: #2F85CE #379AEF #379BF0 #428BCA #51E4FF.
   ===================================================================== */

/* ---- headings + generic accents ---- */
h1, h2, h3, h4, h5, h6,
.title_block, .block .title, .page-subheading,
.sortPagiBar .title, .product_list_header {
  color: var(--icw-ink) !important;
  font-family: var(--icw-serif) !important;
}
.link, .btn-link, .view-more, .view_more, a.color-blue, .text-primary,
.product_desc a, .rte a, .cat_desc a, .navigation_page a,
.pagination a, .footer_links a, .comments_advices a {
  color: var(--icw-copper) !important;
}
.link:hover, a:hover { color: var(--icw-copper-dark) !important; }

/* ---- left column + sidebar blocks -> V4 cards ---- */
#left_column .block, #right_column .block,
.column .block, .block_content,
#search_filters, #search_filters_wrapper,
.layered_filter, .price_filter_block {
  background: var(--icw-cream) !important;
  border: 1px solid var(--icw-line) !important;
  border-radius: 12px !important;
  box-shadow: none !important;
  color: var(--icw-ink) !important;
}
.block .title_block, .block h4, .layered_filter_heading, .filter_header,
.filters_name, .price_filter_heading {
  color: var(--icw-ink) !important;
  border-bottom: 1px solid var(--icw-line) !important;
  background: transparent !important;
  font-family: var(--icw-serif) !important;
}
.layered_filter_heading::after, .filter_header::after,
.section-heading::after { background: var(--icw-copper) !important; }

/* ---- the navy "Search Properties" block ---- */
.header-rmsearch-wrapper, #search_hotel_block_form, #search_hotel_block,
.wkroomsearchblock, .hotel_search_block, .search_hotel_block,
#htl_search_block, .htl-search-block {
  background: var(--icw-cream) !important;
  border: 1px solid var(--icw-line) !important;
  border-radius: 12px !important;
  color: var(--icw-ink) !important;
}
.header-rmsearch-wrapper .title, .header-rmsearch-wrapper h2,
.search_hotel_block .title, #search_hotel_block_form label,
.wkroomsearchblock label, .search_hotel_block label {
  color: var(--icw-soft) !important;
}

/* ---- filter controls: clear links, checkboxes, radios, slider ---- */
.clear_filter, .clearfilter, .filter a, .layered a, .filter-clear {
  color: var(--icw-copper) !important;
}
input[type="checkbox"], input[type="radio"] { accent-color: var(--icw-copper); }
.ui-slider .ui-slider-range, .price_filter .ui-slider-range,
.slider-track .slider-selection, .noUi-connect {
  background: var(--icw-copper) !important;
}
.ui-slider .ui-slider-handle, .slider-handle, .noUi-handle {
  background: var(--icw-cream) !important;
  border: 2px solid var(--icw-copper) !important;
}

/* ---- ALL buttons + UI elements ---- */
.btn, .button, input[type="submit"], input[type="button"], button.btn,
.btn-primary, .btn-info, .btn-blue, .exclusive, .book_now_submit,
.submit_occupancy_btn, .search_room_submit_block .btn, #search_room_submit,
.qlo-btn-primary, [name="submitFilter"], .pagination .active > span {
  background: var(--icw-copper) !important;
  background-image: none !important;
  border: 1px solid var(--icw-copper) !important;
  border-radius: 4px !important;
  color: #fff !important;
  box-shadow: none !important;
  text-shadow: none !important;
}
.btn:hover, .button:hover, .btn-primary:hover, .exclusive:hover,
.book_now_submit:hover, input[type="submit"]:hover {
  background: var(--icw-copper-dark) !important;
  border-color: var(--icw-copper-dark) !important;
}
.btn-default, .button-default, .btn-secondary {
  background: transparent !important;
  background-image: none !important;
  border: 1px solid var(--icw-ink) !important;
  border-radius: 4px !important;
  color: var(--icw-ink) !important;
  box-shadow: none !important;
}
.btn-default:hover, .btn-secondary:hover {
  color: var(--icw-copper) !important;
  border-color: var(--icw-copper) !important;
}

/* ---- form controls, selects, chosen, dropdowns ---- */
.form-control, input.text, textarea, select,
.chosen-container-single .chosen-single, .selector span, .niceSelect,
.header-rmsearch-input, .input-occupancy {
  background: var(--icw-cream) !important;
  border: 1px solid var(--icw-line) !important;
  border-radius: 6px !important;
  color: var(--icw-ink) !important;
  box-shadow: none !important;
}
.form-control:focus, select:focus, .chosen-container-active .chosen-single {
  border-color: var(--icw-copper) !important;
}
.chosen-container .chosen-results li.highlighted,
.dropdown-menu > li > a:hover, .dropdown-menu > .active > a {
  background: var(--icw-copper) !important;
  color: #fff !important;
}

/* ---- sort bar, pagination, breadcrumb ---- */
.sortPagiBar, .product-sort, #productsSortForm, .content_sortPagiBar {
  background: transparent !important;
  border-color: var(--icw-line) !important;
}
.pagination > li > a, .pagination > li > span {
  color: var(--icw-copper) !important;
  border-color: var(--icw-line) !important;
  background: var(--icw-cream) !important;
}
.pagination > .active > span, .pagination > .active > a {
  background: var(--icw-copper) !important;
  border-color: var(--icw-copper) !important;
  color: #fff !important;
}

/* ---- product list / miniatures ---- */
.product_list .product-container, .product_list li.ajax_block_product,
.room_type_container, .rooms_details {
  background: var(--icw-cream) !important;
  border: 1px solid var(--icw-line) !important;
  border-radius: 12px !important;
}
.product_list .price, .our_price_display, .price.product-price,
.room_price, .total_price_label {
  color: var(--icw-copper-dark) !important;
  font-family: var(--icw-serif);
}

/* ---- CMS / contact / account pages inherit the same primitives ---- */
.cms_content, #cms .rte, .contact-form-box, #account-creation_form,
.addresses .address, #history .table, .table-labeled {
  color: var(--icw-soft);
}
body#authentication .page-heading, body#my-account .page-heading,
body#category .page-heading, body#cms .page-heading,
body#contact .page-heading, body#search .page-heading {
  font-family: var(--icw-serif) !important;
}

/* ---- kill leftover blue focus/active states site-wide ---- */
*:focus { outline-color: var(--icw-copper) !important; }
::selection { background: rgba(159, 87, 45, 0.2); }

/* ---- residual blue cleanup (final pass) ---- */
hr { border-color: var(--icw-line) !important; background: var(--icw-line) !important; }
.pull-right, .pull-right a, .pull-right i, .pull-right span { color: inherit !important; }
.action, .action a, .contact-form .action, .form-group .action { color: var(--icw-copper) !important; }
/* filter/heading accent underlines (::after or ::before pseudo) */
.layered_filter_heading::after, .layered_filter_heading::before,
.filter_header::after, .filter_header::before,
.filters_name::after, .filters_name::before,
.price_filter_heading::after, .price_filter_heading::before,
.block .title_block::after, .block h4::after, .block .title::after,
.section-title::after, .heading-title::after {
  background-color: var(--icw-copper) !important;
  border-color: var(--icw-copper) !important;
}
/* any element carrying a blue bottom-border accent */
.layered_filter_heading, .filter_header, .filters_name, .price_filter_heading,
.block .title_block, .block h4, .block .title, [class*="_heading"] {
  border-bottom-color: var(--icw-line) !important;
}
/* stray blue text/icons */
i.icon-blue, .blue, .text-info, .label-info, .badge-info {
  color: var(--icw-copper) !important; background-color: transparent !important;
}
.label-info, .badge.badge_style { background-color: var(--icw-copper) !important; color:#fff !important; }

/* ---- file-upload "Choose File" button + any remaining .action/.pull-right blue ---- */
input[type="file"]::file-selector-button,
input[type="file"]::-webkit-file-upload-button,
.action, .action.pull-right, .btn-file, .fileupload .action,
.pull-right.action, span.action, div.action {
  background: var(--icw-copper) !important;
  background-image: none !important;
  border: 1px solid var(--icw-copper) !important;
  border-radius: 4px !important;
  color: #fff !important;
  box-shadow: none !important;
  cursor: pointer;
}
input[type="file"]::file-selector-button:hover,
.action:hover, .btn-file:hover {
  background: var(--icw-copper-dark) !important;
}
/* neutralize any residual blue background/border on utility floats */
.pull-right[style*="background"], .pull-right.blue, .pull-right.btn-info {
  background: var(--icw-copper) !important; color: #fff !important; border-color: var(--icw-copper) !important;
}

/* ---- last two: file "Choose File" span (theme !important) + navbar close-X ---- */
body .action, body span.action, body .fileUpload .action,
body .contact-form .action, body .contact-form-box .action,
html body span.action[style] {
  background: var(--icw-copper) !important;
  background-color: var(--icw-copper) !important;
  color: #fff !important;
  border-color: var(--icw-copper) !important;
}
.close_navbar, .pull-right.close_navbar, .navbar .close_navbar,
span.close_navbar {
  background: transparent !important;
  background-color: transparent !important;
  color: #fff !important;
}
.close_navbar i, .close_navbar .icon-close { color: #fff !important; }

/* =====================================================================
   VISUAL PARITY with V4 index/stay (2026-07-24 pass 2)
   ===================================================================== */

/* --- header: V4 header has NO cart icon and NO hamburger on desktop --- */
@media (min-width: 901px) {
  #header .shopping_cart, .header-container .shopping_cart,
  #header .nav_toggle, .header-container .nav_toggle,
  #header .cart_block, .menu_cont_right .shopping_cart {
    display: none !important;
  }
  /* pull the injected nav cluster to vertical-center of the 72px bar */
  .icw-skin-nav { margin-top: 0 !important; }
}

/* --- category/search result rows -> proper V4 card --- */
#center_column .product_list > li,
#center_column li.ajax_block_product,
#center_column .rooms_details,
#center_column .room_type_container,
#center_column .room-type-box,
#center_column .product-container {
  background: var(--icw-cream) !important;
  border: 1px solid var(--icw-line) !important;
  border-radius: 16px !important;
  padding: 22px !important;
  margin-bottom: 20px !important;
  box-shadow: none !important;
}
#center_column .product_list h2, #center_column .product_list h3,
#center_column .product_name, #center_column .room_type_name,
#center_column .product-title, #center_column .product-title a,
#center_column .s_title_block a {
  font-family: var(--icw-serif) !important;
  color: var(--icw-ink) !important;
  font-weight: 500 !important;
}
/* result price in V4 copper serif */
#center_column .rm_price_cont, #center_column .price.per_night,
#center_column .room_price, #center_column .our_price_display {
  font-family: var(--icw-serif) !important;
  color: var(--icw-copper-dark) !important;
}
/* the room_type actions row: make any link/button a V4 pill */
.room_type_list_actions a, .room_type_list_actions .btn,
#center_column .view_room, #center_column .book_room {
  display: inline-flex; align-items: center;
  padding: 9px 18px !important;
  background: var(--icw-copper) !important;
  border: 1px solid var(--icw-copper) !important;
  border-radius: 4px !important;
  color: #fff !important;
  font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase;
  text-decoration: none !important;
}
/* generous editorial spacing on category/search center column */
body#category #center_column, body#search #center_column { padding-top: 6px; }
body#category .content_sortPagiBar, body#search .content_sortPagiBar { margin-bottom: 14px; }
