/* Shared identity: home, accommodation catalogue, reservation lookup and wizard. */
:root {
    --ls-ink: #263b32;
    --ls-muted: #58645b;
    --ls-primary: #326444;
    --ls-primary-hover: #224d33;
    --ls-primary-soft: #edf3e8;
    --ls-paper: #faf8f2;
    --ls-surface: #ffffff;
    --ls-surface-warm: #fffdf7;
    --ls-sand: #f1eadb;
    --ls-border: #d9dfd4;
    --ls-input-border: #909e91;
    --ls-disabled: #a2aaa2;
    --ls-accent: #ad5539;
    --ls-danger: #ad5539;
    --ls-danger-ink: #6f3324;
    --ls-danger-soft: #fff1e8;
    --ls-warning: #a16b24;
    --ls-warning-ink: #624317;
    --ls-warning-soft: #fbf2dd;
    --ls-success-soft: #edf3e8;
    --ls-focus: #945017;
    --ls-dark: #233e32;
    --ls-on-dark: #edf1e8;
    --ls-radius: 16px;
    --ls-radius-control: 10px;
    --ls-shadow: 0 5px 24px rgba(38, 59, 50, .06);
    --ls-motion: 220ms;
    --ls-font: "Montserrat", "Segoe UI", sans-serif;
}
body { color: var(--ls-ink); background: var(--ls-paper); font-family: var(--ls-font); font-size: 16px; line-height: 1.6; }
.main-wrapper, .mainContentSection, .whiteSection, .lightSection { background-color: var(--ls-paper); }
.mainContentSection p, .whiteSection p, .lightSection p, .roomCategory p, .aboutTitle p { color: var(--ls-muted); font-size: 16px; line-height: 1.7; }
h1, h2, h3, h4, h5, h6 { font-family: var(--ls-font); line-height: 1.3; }
a { color: var(--ls-primary); }
a:hover, a:focus { color: var(--ls-primary-hover); }
/* Shared button spacing also covers alerts and standalone links. */
.btn {
    box-sizing: border-box;
    max-width: 100%;
    min-height: 44px;
    height: auto;
    padding: 10px 20px;
    line-height: 1.4;
    white-space: normal;
    overflow-wrap: anywhere;
    border-radius: var(--ls-radius-control);
    font-family: var(--ls-font);
    text-transform: none;
    transition: background-color var(--ls-motion), border-color var(--ls-motion), box-shadow var(--ls-motion);
}

.btn.buttonCustomPrimary,
.btn.buttonTransparent {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    height: auto;
    min-height: 48px;
    padding: 12px 20px;
    line-height: 1.4;
}
.btn.buttonCustomPrimary, .btn-primary, .btn.buttonCustomPrimary:focus { color: #fff; background: var(--ls-primary); border-color: var(--ls-primary); }
.btn.buttonCustomPrimary:hover, .btn-primary:hover { color: #fff; background: var(--ls-primary-hover); border-color: var(--ls-primary-hover); }
.buttonCustomPrimary, .btn-primary, form .btn { min-height: 46px; }
.form-control { min-height: 46px; border-radius: var(--ls-radius-control); border-color: var(--ls-input-border); color: var(--ls-ink); font-size: 16px; box-shadow: none; }
.form-control:focus { border-color: var(--ls-primary); box-shadow: 0 0 0 3px var(--ls-primary-soft); }
label { line-height: 1.5; }
.thumbnail, .roomCategory, .singleCartSidebar { border-radius: var(--ls-radius); }
.thumbnail { border-color: var(--ls-border); box-shadow: var(--ls-shadow); }
.thumbnail img, .roomGellary img { border-radius: 12px; }
.sectionTitleDouble h2 span, .thumbnail.deals .caption .detailsInfo h5 { color: var(--ls-primary); }
.navbar-default .navbar-nav > li > a:hover, .navbar-default .navbar-nav > .active > a { color: var(--ls-primary); }
.darkSection { background-color: var(--ls-dark); }
.darkSection p { color: var(--ls-on-dark); }
.pageTitle .pageTitleInfo h1, .pageTitle .pageTitleInfo h2 { text-shadow: 0 2px 12px rgba(0, 0, 0, .55); }
:focus-visible { outline: 3px solid var(--ls-focus); outline-offset: 3px; }
@media (prefers-reduced-motion: reduce) {
    .btn, .form-control, .thumbnail { transition: none; }
}
