:root {
    --ls-bg: #100b08;
    --ls-bg-2: #1d1009;
    --ls-panel: #24150d;
    --ls-panel-2: #321c10;
    --ls-line: rgba(255, 174, 94, .22);
    --ls-text: #f9efe4;
    --ls-muted: #d4b99c;
    --ls-orange: #ff8a31;
    --ls-gold: #f2c078;
    --ls-brown: #6b3b22;
    --ls-shadow: 0 22px 60px rgba(0, 0, 0, .34);
}

body {
    background: var(--ls-bg) !important;
    color: var(--ls-text) !important;
    font-family: Inter, Arial, Helvetica, sans-serif !important;
    letter-spacing: 0 !important;
}

body.admin-bar .ls-custom-header { top: 32px !important; }
@media (max-width: 782px) { body.admin-bar .ls-custom-header { top: 46px !important; } }

.site, .site-content, .content-area, .site-main, #page, .entry-content {
    background: var(--ls-bg) !important;
    color: var(--ls-text) !important;
}

.entry-content > * { max-width: none !important; }
.entry-content { margin: 0 !important; padding: 0 !important; }
.page .entry-content { margin-top: 0 !important; }

h1, h2, h3, h4, h5, h6 { color: #fff4e8 !important; letter-spacing: 0 !important; }
p, li, label, .mphb_sc_search-label, .mphb-room-type-adults-capacity, .mphb-room-type-children-capacity { color: var(--ls-muted) !important; }
a { color: var(--ls-orange); }
a:hover { color: var(--ls-gold); }

.ls-page, .ls-section, .ls-legal, .ls-login-wrap, .ls-account-wrap {
    background: var(--ls-bg);
    color: var(--ls-text);
}

.ls-hero {
    min-height: calc(100vh - 76px);
    display: grid;
    align-items: end;
    position: relative;
    isolation: isolate;
    background-size: cover;
    background-position: center;
    padding: clamp(96px, 14vw, 160px) clamp(20px, 5vw, 70px) clamp(48px, 8vw, 90px);
}
.ls-hero::before {
    content: "";
    position: absolute;
    inset: 0;
    z-index: -1;
    background: linear-gradient(90deg, rgba(12, 7, 5, .94) 0%, rgba(15, 8, 4, .78) 43%, rgba(18, 10, 6, .28) 100%), linear-gradient(180deg, rgba(16, 11, 8, .16), rgba(16, 11, 8, .86));
}
.ls-hero-inner { max-width: 1180px; width: 100%; margin: 0 auto; }
.ls-kicker { color: var(--ls-orange) !important; font-weight: 900; text-transform: uppercase; font-size: 13px; letter-spacing: 0 !important; margin: 0 0 14px; }
.ls-hero h1 { max-width: 820px; margin: 0 0 20px; font-size: clamp(38px, 6vw, 78px); line-height: .98; font-weight: 950; }
.ls-hero p { max-width: 680px; margin: 0 0 28px; font-size: clamp(17px, 2vw, 22px); line-height: 1.6; color: #f0d8c1 !important; }
.ls-hero-actions { display: flex; gap: 14px; flex-wrap: wrap; align-items: center; }
.ls-btn, .ls-btn-outline, .entry-content .wp-block-button__link, button, input[type="submit"] {
    border-radius: 6px !important;
    min-height: 44px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    padding: 12px 20px !important;
    font-weight: 900 !important;
    text-decoration: none !important;
    border: 1px solid var(--ls-orange) !important;
    cursor: pointer;
}
.ls-btn, .entry-content .wp-block-button__link, button, input[type="submit"] { background: var(--ls-orange) !important; color: #1a0c05 !important; }
.ls-btn-outline { background: rgba(255,255,255,.04) !important; color: #fff4e8 !important; }
.ls-btn:hover, .ls-btn-outline:hover, button:hover, input[type="submit"]:hover { background: var(--ls-gold) !important; color: #160a05 !important; border-color: var(--ls-gold) !important; }

.ls-section { padding: clamp(48px, 7vw, 92px) clamp(20px, 5vw, 70px); }
.ls-section:nth-of-type(even) { background: #160d09; }
.ls-inner { width: min(1180px, 100%); margin: 0 auto; }
.ls-section-head { max-width: 760px; margin-bottom: 30px; }
.ls-section-head h2, .ls-legal h1, .ls-login-wrap h1, .ls-account-wrap h1 { margin: 0 0 14px; font-size: clamp(30px, 4vw, 50px); line-height: 1.05; }
.ls-section-head p { font-size: 17px; line-height: 1.65; margin: 0; }

.ls-grid { display: grid; gap: 18px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.ls-card, .ls-room-card, .mphb-room-type, .mphb_sc_rooms-wrapper .mphb-room-type, .mphb_sc_checkout-wrapper, .mphb_sc_search-wrapper, .mphb_sc_booking_form-wrapper, .ls-login-panel, .ls-account-panel {
    background: linear-gradient(180deg, rgba(50,28,16,.96), rgba(31,18,11,.96)) !important;
    border: 1px solid var(--ls-line) !important;
    border-radius: 8px !important;
    box-shadow: var(--ls-shadow) !important;
    overflow: hidden;
}
.ls-card { padding: 24px; }
.ls-card h3 { margin: 0 0 10px; font-size: 22px; }
.ls-card p { margin: 0; line-height: 1.62; }

.ls-gallery { display: grid; gap: 14px; grid-template-columns: repeat(12, 1fr); }
.ls-gallery figure { margin: 0; border-radius: 8px; overflow: hidden; border: 1px solid var(--ls-line); background: var(--ls-panel); min-height: 220px; }
.ls-gallery figure:nth-child(1), .ls-gallery figure:nth-child(4) { grid-column: span 7; }
.ls-gallery figure:nth-child(2), .ls-gallery figure:nth-child(3) { grid-column: span 5; }
.ls-gallery img, .ls-room-card img, .mphb-room-type img, .wp-block-image img { width: 100%; height: 100%; object-fit: cover; display: block; }

.ls-room-list { display: grid; gap: 22px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ls-room-card img { aspect-ratio: 16 / 10; }
.ls-room-content { padding: 22px; }
.ls-room-content h3 { margin: 0 0 10px; font-size: 26px; }
.ls-room-meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 16px 0 0; }
.ls-pill { border: 1px solid rgba(255,138,49,.38); color: #ffd1a4; border-radius: 999px; padding: 6px 10px; font-weight: 800; font-size: 13px; }

.ls-booking-band { background: linear-gradient(135deg, #25140b, #6b3b22) !important; border-top: 1px solid var(--ls-line); border-bottom: 1px solid var(--ls-line); }
.ls-booking-box { width: min(1040px, 100%); margin: 0 auto; }
.mphb_sc_search-wrapper, .mphb_sc_booking_form-wrapper, .mphb_sc_checkout-wrapper { padding: clamp(18px, 4vw, 34px) !important; }
.mphb_sc_search-form, .mphb-booking-form { display: grid; gap: 16px; }
.mphb_sc_search-form p, .mphb-booking-form p { margin: 0 !important; }
input, select, textarea, .mphb-datepick { background: #140b07 !important; color: #fff5ea !important; border: 1px solid rgba(255, 174, 94, .38) !important; border-radius: 6px !important; min-height: 44px; padding: 10px 12px !important; }
input::placeholder, textarea::placeholder { color: #b99a7c !important; }

.ls-legal, .ls-login-wrap, .ls-account-wrap { padding: clamp(46px, 7vw, 88px) clamp(20px, 5vw, 70px); }
.ls-legal-inner, .ls-login-inner, .ls-account-inner { width: min(980px, 100%); margin: 0 auto; }
.ls-legal h2, .ls-legal h3 { margin-top: 32px; }
.ls-legal p, .ls-legal li { line-height: 1.7; }
.ls-login-panel, .ls-account-panel { padding: clamp(20px, 4vw, 34px); }
.ls-login-panel form p, .ls-account-panel form p { margin-bottom: 14px; }

.mphb-room-type { margin-bottom: 24px !important; }
.mphb-loop-room-thumbnail, .mphb-room-type-images { border-radius: 8px 8px 0 0; overflow: hidden; }
.mphb-room-type-title { padding: 20px 22px 0 !important; margin: 0 !important; font-size: 26px !important; }
.mphb-room-type-details-title, .mphb-calendar-title, .mphb-reserve-room-section .mphb-room-number { color: #fff4e8 !important; }
.mphb-room-type .mphb-loop-room-type-attributes, .mphb-room-type .mphb-room-type-description, .mphb-room-type .mphb-view-details-button-wrapper, .mphb-room-type .mphb-to-book-btn-wrapper { padding-left: 22px !important; padding-right: 22px !important; }
.mphb-price, .mphb-regular-price strong { color: #ffd1a4 !important; }

.footer, .site-footer { background: #0b0705 !important; color: #cdb296 !important; border-top: 1px solid var(--ls-line) !important; }
.footer a, .site-footer a { color: #ffd1a4 !important; }

@media (max-width: 900px) {
    .ls-hero { min-height: auto; padding-top: 96px; }
    .ls-grid, .ls-room-list { grid-template-columns: 1fr; }
    .ls-gallery { grid-template-columns: 1fr; }
    .ls-gallery figure, .ls-gallery figure:nth-child(1), .ls-gallery figure:nth-child(2), .ls-gallery figure:nth-child(3), .ls-gallery figure:nth-child(4) { grid-column: auto; min-height: 230px; }
}

@media (max-width: 520px) {
    .ls-hero h1 { font-size: 36px; }
    .ls-hero-actions { align-items: stretch; }
    .ls-btn, .ls-btn-outline { width: 100%; }
    .ls-section, .ls-legal, .ls-login-wrap, .ls-account-wrap { padding-left: 16px; padding-right: 16px; }
}

/* Remove Albatross visual page cover so LIMOSTAY content starts immediately. */
.skip-link, .screen-reader-text.skip-link,
.page-header-wrapper,
.entry-header,
.page-header-animation,
.scroll-to-content-button,
.page-has-thumbnail .entry-header,
.single .entry-header,
.page .entry-header {
    display: none !important;
}

.home #primary,
.page #primary {
    padding-top: 0 !important;
    margin-top: 0 !important;
}

.home article,
.page article {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

.ls-hero-pro {
    min-height: calc(100vh - 76px);
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 380px);
    align-items: end;
    gap: clamp(24px, 5vw, 70px);
    position: relative;
    isolation: isolate;
    background-image: linear-gradient(90deg, rgba(12, 7, 5, .94) 0%, rgba(15, 8, 4, .80) 45%, rgba(18, 10, 6, .28) 100%), linear-gradient(180deg, rgba(16, 11, 8, .08), rgba(16, 11, 8, .90)), var(--hero);
    background-size: cover;
    background-position: center;
    padding: clamp(76px, 10vw, 130px) clamp(20px, 5vw, 70px) clamp(44px, 7vw, 82px);
}
.ls-hero-pro__content {
    max-width: 820px;
}
.ls-hero-pro .ls-kicker {
    display: block;
    margin-bottom: 16px;
}
.ls-hero-pro h1 {
    max-width: 860px !important;
    margin: 0 0 22px !important;
    font-family: Inter, Arial, Helvetica, sans-serif !important;
    font-size: clamp(42px, 6.2vw, 82px) !important;
    line-height: .98 !important;
    font-weight: 950 !important;
    letter-spacing: 0 !important;
    color: #fff4e8 !important;
}
.ls-hero-pro p:not(.ls-kicker) {
    max-width: 720px;
    margin: 0 0 28px !important;
    color: #f0d8c1 !important;
    font-size: clamp(17px, 1.6vw, 22px) !important;
    line-height: 1.62 !important;
}
.ls-actions {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 14px;
    margin-top: 4px;
}
.ls-actions a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    padding: 13px 20px;
    border-radius: 6px;
    border: 1px solid var(--ls-orange);
    background: var(--ls-orange);
    color: #180b05 !important;
    font-weight: 900;
    text-decoration: none !important;
    box-shadow: 0 14px 30px rgba(255, 138, 49, .18);
}
.ls-actions a + a {
    background: rgba(255,255,255,.06);
    color: #fff4e8 !important;
}
.ls-actions a:hover {
    background: var(--ls-gold);
    border-color: var(--ls-gold);
    color: #140905 !important;
}
.ls-hero-card {
    align-self: end;
    display: grid;
    gap: 10px;
    padding: 24px;
    border: 1px solid rgba(255, 174, 94, .30);
    border-radius: 8px;
    background: rgba(31, 18, 11, .86);
    box-shadow: var(--ls-shadow);
    backdrop-filter: blur(14px);
}
.ls-hero-card strong {
    color: #fff4e8;
    font-size: 24px;
    line-height: 1.15;
}
.ls-hero-card span {
    color: #ffd1a4;
    line-height: 1.45;
}
.ls-booking-strip {
    padding: clamp(42px, 6vw, 80px) clamp(20px, 5vw, 70px);
    background: linear-gradient(135deg, #160d09, #28170d 55%, #4a2918);
    border-top: 1px solid rgba(255, 174, 94, .20);
    border-bottom: 1px solid rgba(255, 174, 94, .20);
}
.ls-booking-strip > h2 {
    width: min(1180px, 100%);
    margin: 0 auto 22px !important;
    font-family: Inter, Arial, Helvetica, sans-serif !important;
    font-size: clamp(30px, 4vw, 48px) !important;
    font-weight: 900 !important;
    line-height: 1.08 !important;
}
.ls-booking-strip > .mphb_sc_search-wrapper,
.ls-booking-strip > p + .mphb_sc_search-wrapper {
    width: min(1180px, 100%);
    margin: 0 auto !important;
}
.ls-booking-strip .mphb_sc_search-form {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: end;
}
.ls-booking-strip .mphb_sc_search-form .mphb-required-fields-tip {
    grid-column: 1 / -1;
}
.ls-booking-strip .mphb_sc_search-form .mphb_sc_search-submit-button-wrapper {
    align-self: end;
}
.ls-booking-strip select,
.ls-booking-strip input {
    width: 100% !important;
}

@media (max-width: 980px) {
    .ls-hero-pro { grid-template-columns: 1fr; min-height: auto; padding-top: 70px; }
    .ls-hero-card { max-width: 520px; }
    .ls-booking-strip .mphb_sc_search-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
    .ls-hero-pro { padding: 44px 16px 42px; }
    .ls-hero-pro h1 { font-size: 38px !important; }
    .ls-actions { align-items: stretch; }
    .ls-actions a { width: 100%; }
    .ls-booking-strip { padding-left: 16px; padding-right: 16px; }
    .ls-booking-strip .mphb_sc_search-form { grid-template-columns: 1fr; }
}

.ls-split {
    width: min(1180px, 100%);
    margin: 0 auto;
    display: grid;
    grid-template-columns: minmax(0, .9fr) minmax(360px, 1.1fr);
    gap: clamp(24px, 5vw, 58px);
    align-items: center;
}
.ls-location-section { background: #120b08; }
.ls-check-list {
    display: grid;
    gap: 10px;
    margin: 22px 0 0;
    padding: 0;
    list-style: none;
}
.ls-check-list li {
    position: relative;
    padding-left: 26px;
    color: #f0d8c1 !important;
    line-height: 1.55;
}
.ls-check-list li::before {
    content: "";
    position: absolute;
    left: 0;
    top: .65em;
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: #ff8a31;
    box-shadow: 0 0 0 5px rgba(255,138,49,.14);
}
.ls-map-embed {
    min-height: 420px;
    border: 1px solid rgba(255,174,94,.30);
    border-radius: 8px;
    overflow: hidden;
    box-shadow: var(--ls-shadow);
    background: #1d1009;
}
.ls-map-embed iframe {
    display: block;
    width: 100%;
    height: 420px;
    border: 0;
    filter: saturate(.9) contrast(1.04);
}
.ls-map-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 14px;
}
.ls-map-actions a,
.ls-tech-callout a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 12px 16px;
    border-radius: 6px;
    border: 1px solid rgba(255,138,49,.70);
    background: rgba(255,138,49,.10);
    color: #ffd1a4 !important;
    text-decoration: none !important;
    font-weight: 900;
}
.ls-map-actions a:hover,
.ls-tech-callout a:hover {
    background: #ff8a31;
    color: #180b05 !important;
}
.ls-development-section {
    background: linear-gradient(135deg, #1a0e09 0%, #28170d 54%, #3b2114 100%);
}
.ls-feature-grid,
.ls-card-grid {
    width: min(1180px, 100%);
    margin: 26px auto 0;
    display: grid;
    gap: 18px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.ls-feature-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.ls-feature-grid > div,
.ls-card-grid article {
    background: linear-gradient(180deg, rgba(50,28,16,.96), rgba(31,18,11,.96));
    border: 1px solid rgba(255,174,94,.22);
    border-radius: 8px;
    box-shadow: var(--ls-shadow);
    padding: 24px;
}
.ls-feature-grid strong {
    display: block;
    color: #fff4e8;
    font-size: 20px;
    line-height: 1.25;
    margin-bottom: 10px;
}
.ls-feature-grid p { margin: 0 !important; line-height: 1.62 !important; }
.ls-tech-callout {
    width: min(1180px, 100%);
    margin: 22px auto 0;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 22px;
    padding: 24px;
    border: 1px solid rgba(255,138,49,.36);
    border-radius: 8px;
    background: rgba(12,7,5,.52);
}
.ls-tech-callout strong {
    display: block;
    color: #fff4e8;
    font-size: 22px;
    margin-bottom: 8px;
}
.ls-tech-callout p { margin: 0 !important; max-width: 780px; }
.ls-card-grid article { padding: 0; overflow: hidden; }
.ls-card-grid img { width: 100%; aspect-ratio: 16 / 10; object-fit: cover; display: block; }
.ls-card-grid h3, .ls-card-grid p { padding-left: 22px; padding-right: 22px; }
.ls-card-grid h3 { margin-top: 20px; }
.ls-card-grid p { padding-bottom: 22px; }
.ls-photo-grid {
    width: min(1180px, 100%);
    margin: 26px auto 0;
    display: grid;
    gap: 14px;
    grid-template-columns: repeat(3, minmax(0, 1fr));
}
.ls-photo-grid img {
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
    border-radius: 8px;
    border: 1px solid rgba(255,174,94,.22);
}
.ls-contact-band {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    background: #120b08;
}
.ls-contact-band > div { max-width: 760px; }
.ls-contact-band > a {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 48px;
    padding: 13px 20px;
    border-radius: 6px;
    background: #ff8a31;
    color: #180b05 !important;
    text-decoration: none !important;
    font-weight: 900;
    white-space: nowrap;
}
@media (max-width: 1050px) {
    .ls-feature-grid-4 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
    .ls-split { grid-template-columns: 1fr; }
    .ls-feature-grid, .ls-card-grid, .ls-photo-grid { grid-template-columns: 1fr; }
    .ls-tech-callout, .ls-contact-band { flex-direction: column; align-items: flex-start; }
}
@media (max-width: 620px) {
    .ls-map-embed, .ls-map-embed iframe { min-height: 340px; height: 340px; }
    .ls-feature-grid-4 { grid-template-columns: 1fr; }
}
