* { box-sizing: border-box; }
body { margin: 0; color: #333; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; background: #fff; }
body.site-public { background: #fff; }
a { color: #0b8084; font-family: Arial, sans-serif; font-size: 12px; line-height: 12px; text-decoration: none; }
a:hover { text-decoration: underline; }
img { max-width: 100%; height: auto; display: block; }
.container { width: min(1170px, calc(100% - 32px)); margin: 0 auto; }
.sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); border: 0; }

.site-header { background: #fff; min-height: 118px; position: relative; z-index: 20; }
.brand-row { display: grid; grid-template-columns: 185px auto auto 1fr auto; align-items: center; gap: 32px; min-height: 118px; padding: 0; }
.brand-logo img { width: 150px; height: 80px; object-fit: contain; }
.header-social { display: flex; justify-content: flex-start; gap: 12px; }
.header-social a, .social-box a { width: 45px; height: 45px; border-radius: 999px; background: #000; color: #fff; display: inline-flex; align-items: center; justify-content: center; font-size: 24px; text-transform: uppercase; }
.header-phone a { color: #000; font-size: 18px; white-space: nowrap; }
.header-phone .fa { font-size: 31px; margin-right: 10px; vertical-align: middle; }
.guest-button { display: inline-block; justify-self: end; background: #337ab7; color: #fff; border-radius: 4px; padding: 8px 13px; font-size: 15px; white-space: nowrap; }
.guest-button:hover { color: #fff; text-decoration: none; background: #286090; }
.menu-toggle { justify-self: end; border: 0; background: transparent; color: #333; cursor: pointer; font-family: "Lato", Arial, sans-serif; font-size: 22px; font-weight: 700; line-height: 22px; padding: 8px 0; text-transform: uppercase; white-space: nowrap; }
.menu-toggle .fa { color: #666; font-size: 36px; margin-left: 8px; vertical-align: -6px; }
.pm_main_nav_container { height: 0; background: transparent; }

.site-overlay { display: none; position: fixed; inset: 0; background: rgba(0, 0, 0, .35); z-index: 998; }
.drop-menu { display: none; position: fixed; z-index: 999; top: 0; right: 0; width: min(330px, 92vw); height: 100%; overflow: auto; background: #169bd5; padding: 18px 26px 28px; box-shadow: -1px 1px 2px rgba(55, 116, 147, .8); pointer-events: none; transform: translateX(110%); transition: transform .2s ease, visibility .2s ease; visibility: hidden; }
.drop-container h4 { color: #fff; font-size: 16px; margin: 22px 0 8px; text-transform: uppercase; }
.drop-container hr { border: 0; border-top: 1px solid rgba(255,255,255,.35); margin: 0 0 8px; }
.drop-container ul { list-style: none; margin: 0 0 12px; padding: 0; }
.drop-container li a { color: #fff; display: block; font: 500 14px/36px "Lato", Arial, sans-serif; text-transform: uppercase; }
.drop-container li a:hover { color: #333; text-decoration: none; }
.drop-menu .social-box { display: flex; gap: 12px; margin: 18px 0 14px; }
.menu-close { border: 0; background: transparent; color: #fff; cursor: pointer; display: block; font-size: 14px; margin-left: auto; text-transform: uppercase; }
.copy-menu a { color: rgba(255,255,255,.7); font-size: 12px; }
.menu-open .drop-menu { display: block; pointer-events: auto; transform: translateX(0); visibility: visible; }
.menu-open .site-overlay { display: block; }

.content { padding: 30px 0 60px; }
.content p { color: #666; font-family: "Open Sans", Arial, sans-serif; font-size: 14px; line-height: 24px; }
.shop-page { background: #fff; padding-top: 0; }
.concierge-page { background: #fff; padding-top: 0; }
.page-title { background: #dedede; border-bottom: 8px solid #e8e8e8; min-height: 110px; padding: 48px 0 0; margin-bottom: 30px; }
.page-title h1 { display: inline-block; margin: 0; padding: 5px 18px; color: #fff; background: rgba(46,46,46,.6); font-size: 34px; font-weight: 300; line-height: 40px; text-transform: uppercase; }
.page-action-row { display: grid; grid-template-columns: 1fr auto; gap: 20px; align-items: center; }
.page-action-row h1 { color: #333; font-size: 40px; font-weight: 300; line-height: 1.25; margin: 0; }
.page-action { text-align: right; }
.section-rule { border: 0; border-top: 1px solid #ddd; margin: 12px 0 18px; }
.hero-copy { color: #666; font-family: "Open Sans", Arial, sans-serif; font-size: 14px; line-height: 24px; max-width: none; overflow-wrap: anywhere; }
.hero-copy h1 { color: #fff; font-family: "Oswald", Arial, sans-serif; font-size: 40px; font-weight: 300; line-height: 50px; margin: 10px 0; text-transform: none; }
.hero-copy h2 { color: #595959; font-family: "Lato", Arial, sans-serif; font-size: 30px; font-weight: 300; line-height: 30px; margin: 10px 0; }
.hero-copy h3 { color: #2b5d83; font-family: "Open Sans", Arial, sans-serif; font-size: 30px; font-weight: 400; line-height: 30px; margin: 10px 0; }
.hero-copy h4 { color: #00b7c2; font-family: "Poppins", "Lato", Arial, sans-serif; font-size: 24px; font-weight: 400; line-height: 30px; margin: 10px 0; }
.hero-copy h5 { color: #00b7c2; font-family: "Oswald", Arial, sans-serif; font-size: 28px; font-weight: 300; line-height: 36px; margin: 10px 0; }
.hero-copy h6 { color: #5f5f5f; font-family: "Open Sans", Arial, sans-serif; font-size: 14px; font-weight: 400; line-height: 28px; margin: 10px 0; }
.hero-copy ul, .hero-copy ol { color: #4d4d4d; font-family: Arial, sans-serif; font-size: 12px; line-height: 20px; margin: 10px 0 10px 22px; padding: 0; }
.hero-copy li { color: #4d4d4d; font-family: Arial, sans-serif; font-size: 12px; line-height: 26px; }

.blog-page, .blog-single-page { background: #fff; padding-top: 61px; }
.blog-stream { font-family: Arial, sans-serif; }
.blog-index-header { border-bottom: 1px solid #d9d9d9; margin: 0 0 30px; padding: 0 0 24px; }
.blog-index-header h1 { color: #333; font-family: "Lato", Arial, sans-serif; font-size: 40px; font-weight: 300; line-height: 48px; margin: 0 0 8px; }
.blog-index-header span { color: #666; display: block; font-family: "Open Sans", Arial, sans-serif; font-size: 15px; line-height: 24px; max-width: 720px; }
.blog-grid { display: grid; gap: 30px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.blog-card { background: #fff; border: 1px solid #ddd; border-radius: 6px; display: flex; flex-direction: column; min-width: 0; overflow: hidden; }
.blog-card-image { align-items: center; aspect-ratio: 16 / 10; background: #eef7fa; color: #fff; display: flex; justify-content: center; overflow: hidden; text-decoration: none; }
.blog-card-image:hover { text-decoration: none; }
.blog-card-image img { display: block; height: 100%; object-fit: cover; width: 100%; }
.blog-card-placeholder { background: linear-gradient(135deg, #169bd5, #0b8084); }
.blog-card-placeholder .fa { font-size: 48px; opacity: .9; }
.blog-card-body { display: flex; flex: 1; flex-direction: column; padding: 18px; }
.blog-card-meta { color: #777; font-family: "Open Sans", Arial, sans-serif; font-size: 12px; line-height: 18px; margin: 0 0 10px; text-transform: uppercase; }
.blog-card-meta .fa { color: #169bd5; margin-right: 6px; }
.blog-card h2 { color: #333; font-family: "Lato", Arial, sans-serif; font-size: 22px; font-weight: 400; line-height: 28px; margin: 0 0 10px; }
.blog-card h2 a { color: #333; font-family: inherit; font-size: inherit; line-height: inherit; text-decoration: none; }
.blog-card h2 a:hover { color: #169bd5; text-decoration: none; }
.blog-card-excerpt { color: #666; flex: 1; font-family: "Open Sans", Arial, sans-serif; font-size: 14px; line-height: 24px; margin: 0 0 16px; }
.blog-card-link { align-self: flex-start; color: #0b8084; font-family: "Open Sans", Arial, sans-serif; font-size: 13px; font-weight: 700; line-height: 20px; text-transform: uppercase; }
.blog-card-link:hover { color: #169bd5; text-decoration: none; }
.blog-single-titlebar { margin: 0 0 8px; }
.blog-single-titlebar h4 { align-items: flex-end; background: #169bd5; color: #fff; display: flex; flex-wrap: wrap; font-family: "Oswald", "Lato", Arial, sans-serif; font-size: 18px; font-weight: 300; justify-content: flex-end; line-height: 20px; margin: 0; min-height: 78px; padding: 0 8px 9px; }
.blog-single-titlebar span { color: #fff; flex: 1 0 100%; padding: 8px 0 0; text-align: center; }
.blog-single-titlebar a { color: #fff; flex: 0 0 auto; font-size: 13px; line-height: 20px; padding: 0 13px; text-align: center; text-decoration: none; }
.blog-single-titlebar a:hover { color: #fff; text-decoration: none; }
.blog-post-article { margin: 0 auto; max-width: 920px; }
.blog-post-header { border-bottom: 1px solid #d9d9d9; margin: 0 0 28px; padding: 0 0 20px; }
.blog-post-back { color: #0b8084; display: inline-block; font-family: "Open Sans", Arial, sans-serif; font-size: 13px; font-weight: 700; line-height: 20px; margin-bottom: 14px; text-transform: uppercase; }
.blog-post-back:hover { color: #169bd5; text-decoration: none; }
.blog-post-header h1 { color: #333; font-family: "Lato", Arial, sans-serif; font-size: 44px; font-weight: 300; line-height: 54px; margin: 0 0 12px; }
.blog-post-header p { color: #777; font-family: "Open Sans", Arial, sans-serif; font-size: 13px; line-height: 22px; margin: 0; text-transform: uppercase; }
.blog-post-header p .fa { color: #169bd5; margin-right: 7px; }
.blog-post-header p span { color: #777; margin-left: 5px; }
.blog-post-hero { margin: 0 0 28px; }
.blog-post-hero img { border: 1px solid #ddd; display: block; max-height: 520px; object-fit: cover; width: 100%; }
.blog-single-content { color: #555; font-family: "Open Sans", Arial, sans-serif; font-size: 16px; line-height: 30px; margin: 0 auto; max-width: 790px; }
.blog-single-content a { overflow-wrap: anywhere; word-break: break-word; }
.blog-single-content > .wp-block-image:first-child { display: none; }
.blog-single-content figure { margin: 24px 0; }
.blog-single-content p { color: #555; font-size: 16px; line-height: 30px; margin: 0 0 18px; }
.blog-single-content h1, .blog-single-content h2, .blog-single-content h3, .blog-single-content h4, .blog-single-content h5, .blog-single-content h6 { color: #333; font-family: "Lato", Arial, sans-serif; font-weight: 400; line-height: 1.25; margin: 30px 0 14px; }
.blog-single-content h1, .blog-single-content h2 { font-size: 32px; }
.blog-single-content h3 { font-size: 25px; }
.blog-single-content img { display: block; height: auto; max-width: 100%; }
.blog-single-content ul, .blog-single-content ol { color: #555; font-family: "Open Sans", Arial, sans-serif; font-size: 16px; line-height: 30px; margin: 0 0 20px 24px; padding: 0; }
.blog-single-content li { margin-bottom: 8px; }
.blog-post-footer { border-top: 1px solid #d9d9d9; margin: 34px auto 0; max-width: 790px; padding-top: 18px; }

.about-page { background: #fff; }
.about-hero { align-items: flex-start; background-position: center center; background-size: cover; display: flex; height: 225px; justify-content: center; min-height: 225px; }
.about-hero h1 { color: #fff; font-family: "Oswald", "Lato", Arial, sans-serif; font-size: 40px; font-weight: 300; line-height: 50px; margin: 95px 0 0; text-align: center; text-transform: uppercase; width: 100%; }
.about-body { padding: 0 0 30px; }
.about-copy { color: #666; font-family: "Open Sans", Arial, sans-serif; font-size: 14px; line-height: 24px; margin: 0 auto; max-width: 570px; padding-top: 95px; }
.about-copy h2 { color: #595959; font-family: "Lato", Arial, sans-serif; font-size: 36px; font-weight: 300; line-height: 30px; margin: 0 0 50px; text-align: center; }
.about-copy h2 strong { font-weight: 700; }
.about-copy p { color: #666; font-family: "Open Sans", Arial, sans-serif; font-size: 14px; line-height: 24px; margin: 0 0 10px; }
.about-awards { align-items: flex-start; display: flex; gap: 0; justify-content: center; margin-top: 163px; min-height: 150px; }
.about-awards img { display: block; flex: 0 0 auto; height: 150px; max-width: none; width: auto; }

.contact-page { background: #fff; padding: 30px 0 60px; }
.contact-inner { padding-top: 60px; }
.contact-layout { display: grid; gap: 30px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.contact-panel-title { margin: 0 0 10px; overflow: hidden; }
.contact-panel-title h4 { align-items: stretch; background: #169bd5; color: #fff; display: flex; font-family: "Oswald", "Lato", Arial, sans-serif; font-size: 18px; font-weight: 300; line-height: 20px; margin: 0; min-height: 36px; padding: 0; }
.contact-panel-title span { flex: 1 1 auto; padding: 8px 10px; }
.contact-panel-title .fa { color: #fff; flex: 0 0 48px; font-size: 20px; line-height: 20px; padding: 8px 15px; text-align: center; }
.contact-form { color: #333; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; }
.contact-form p { margin: 0 0 10px; }
.contact-form label { color: #333; display: block; font-family: Arial, sans-serif; font-size: 14px; font-weight: 400; line-height: 20px; margin: 0; }
.contact-form input[type=text], .contact-form input[type=email], .contact-form textarea { border: 1px solid #ccc; border-radius: 0; color: #555; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; margin: 0; max-width: 100%; padding: 6px; width: 100%; }
.contact-form input[type=text], .contact-form input[type=email] { height: 34px; }
.contact-form textarea { min-height: 160px; }
.contact-submit { border-radius: 4px; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; padding: 4px 12px; }
.contact-direct, .contact-address p { color: #333; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; margin: 0 0 10px; }
.contact-direct img { display: inline-block; height: 16px; margin-left: 4px; vertical-align: -3px; width: auto; }

.nashville-page { background: #fff; padding: 20px 0 50px; }
.nashville-title-row { align-items: start; border-bottom: 1px solid #ccc; color: #333; display: grid; grid-template-columns: 1fr 1fr; padding-bottom: 30px; }
.nashville-title-row h1 { color: #222; font-family: Arial, sans-serif; font-size: 45px; font-weight: 700; line-height: 39px; margin: 0; }
.nashville-title-row h1 span { display: inline; }
.nashville-title-main::after { content: " "; }
.nashville-title-sub { margin-top: 0; }
.nashville-title-row p { color: #00b7c2; font-size: 24px; font-weight: 400; line-height: 30px; margin: 8px 0 0; text-align: right; }
.nashville-video-heading { color: #555; font-size: 24px; font-weight: 700; line-height: 1.2; margin: 15px 0 30px; text-align: center; }
.nashville-property-grid { align-items: start; display: grid; gap: 30px; grid-template-columns: repeat(2, 370px); justify-content: center; }
.nashville-property-card { min-width: 0; text-align: center; }
.nashville-tour-wrap { text-align: center; }
.nashville-virtual-tour { background: #fff; border: 1px solid #dfe1e5; border-radius: 29px; box-sizing: border-box; color: #3c4043; cursor: pointer; display: inline-block; font-size: 14px; font-weight: 400; height: 58px; line-height: 56px; padding: 0 20px 0 0; position: relative; white-space: nowrap; }
.nashville-virtual-tour:hover { text-decoration: none; }
.nashville-tour-image { background-position: center; background-size: cover; border-radius: 25px; cursor: pointer; display: inline-block; height: 50px; line-height: 56px; margin: 3px 12px 3px 3px; overflow: hidden; position: relative; vertical-align: top; width: 50px; }
.nashville-tour-image img { border: 0; cursor: pointer; display: block; height: 50px; object-fit: cover; width: 50px; }
.nashville-tour-layer { background: rgba(0,0,0,.03); border-radius: 50px; cursor: pointer; display: inline-block; height: 50px; left: 3px; line-height: 56px; pointer-events: none; position: absolute; top: 3px; width: 50px; }
.nashville-tour-text { color: #169bd5; cursor: pointer; display: inline-block; font-size: 18px; font-weight: 400; line-height: 56px; white-space: nowrap; }
.nashville-listing { box-shadow: 0 1px 2px 1px #ccc; margin-top: 20px; text-align: center; }
.nashville-house-preview { color: #333; display: block; text-decoration: none; }
.nashville-house-preview:hover { color: #333; text-decoration: none; }
.nashville-card-image { display: block; }
.nashville-card-image img { aspect-ratio: 768 / 439; display: block; object-fit: cover; width: 100%; }
.nashville-card-title { color: #333; display: block; font-size: 16px; font-weight: 400; line-height: 20px; padding: 10px 8px 8px; }
.nashville-card-features { display: flex; flex-wrap: wrap; justify-content: center; list-style: none; margin: 0; padding: 0; }
.nashville-card-features > span { color: #333; display: inline-block; font-size: 16px; font-weight: 400; padding: 2px 12px; }
.nashville-card-features .fa { color: #838383; }
.nashville-card-features .nashville-stars .fa { color: #00b240; }
.nashville-card-features img { display: inline-block; margin-top: -3px; vertical-align: middle; width: 18px; }
.nashville-floor-area { color: #333; display: block; font-size: 15px; font-weight: 700; padding: 20px 0 30px; }
.nashville-floor-area em { color: #999; font-size: 15px; font-style: normal; font-weight: 400; }
.nashville-book-now { margin: 20px 0 30px; text-align: center; }
.nashville-page .btn-info { background-color: #49afcd; background-image: linear-gradient(to bottom, #5bc0de, #2f96b4); background-repeat: repeat-x; border: 1px solid #2f96b4; border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25); box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); color: #fff; font-size: 16px; line-height: 20px; padding: 11px 30px; text-shadow: 0 -1px 0 rgba(0,0,0,.25); }
.nashville-page .btn-info:hover { background-color: #2f96b4; background-position: 0 -15px; color: #fff; text-decoration: none; }
.nashville-copy { color: #333; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; margin: 0 auto; max-width: 970px; }
.nashville-copy h2 { color: #555; font-family: "Lato", Arial, sans-serif; font-size: 24px; font-weight: 700; line-height: 30px; margin: 30px 0; text-align: center; }
.nashville-copy h3 { color: #333; font-family: "Lato", Arial, sans-serif; font-size: 24px; font-weight: 400; line-height: 30px; margin: 0 0 10px; }
.nashville-copy h4 { color: #555; font-family: "Lato", Arial, sans-serif; font-size: 18px; font-weight: 400; line-height: 20px; margin: 20px 0 10px; }
.nashville-copy h5 { color: #555; font-family: "Lato", Arial, sans-serif; font-size: 14px; font-weight: 700; line-height: 20px; margin: 10px 0; }
.nashville-copy p { margin: 0 0 10px; }
.nashville-copy ul { font-size: 13px; margin: 0 0 10px 25px; padding: 0; }
.nashville-copy li { margin: 0; }
.nashville-direct-box { background: #eee; border: 1px solid #e3e3e3; border-radius: 6px; margin: 30px 0; padding: 20px; text-align: center; }
.nashville-direct-box .btn { margin-bottom: 6px; }
.nashville-history-row { display: grid; gap: 30px; grid-template-columns: 670px 270px; }
.nashville-history-row img { max-width: 284px; width: 100%; }
.nashville-history-action { margin-top: 20px !important; text-align: center; }
.nashville-copy hr { border: 0; border-top: 1px solid #eee; margin: 20px 0; }
.nashville-copy strong { font-weight: 700; }

.legal-page { background: #fff; padding: 1px 0 0; }
.legal-copy { color: #666; font-family: "Open Sans", Arial, sans-serif; font-size: 14px; line-height: 24px; max-width: none; width: 100%; }
.legal-copy p { color: #666; font-family: "Open Sans", Arial, sans-serif; font-size: 14px; line-height: 24px; margin: 0 0 10px; }
.legal-copy p[style] { line-height: 24px; }
.legal-copy b, .legal-copy strong { font-weight: 700; }
.legal-copy a { font-size: 14px; }

.homeowner-login-page { background: #fff; padding: 21px 0 46px; }
.homeowner-login-frame-wrap { display: block; }
.homeowner-login-frame { background: #ddd; border: 0; display: block; height: 100vh; width: 100%; }

.grid { display: grid; gap: 24px; }
.grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.products-grid, .service-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px 28px; }
.product-card, .service-card, .card { border: 1px solid #ccc; background: #fff; border-radius: 0; overflow: hidden; text-align: center; }
.product-card { min-height: 270px; padding: 0; }
.product-image img, .product-card img { width: 100%; aspect-ratio: 299 / 217; object-fit: cover; }
.product-card h2 { min-height: 52px; margin: 12px 12px 7px; line-height: 20px; }
.product-card h2 a { color: #606060; font-family: "Roboto", "Lato", Arial, sans-serif; font-size: 18px; font-weight: 300; line-height: 20px; }
.product-meta { padding: 0 12px 12px; }
.product-meta p { margin: 0; }
.product-divider { background: #ddd; height: 1px; margin: 8px auto 12px; }
.shop-card-actions { align-items: center; display: flex; gap: 32px; justify-content: center; }
.shop-card-actions form { margin: 0; }
.card-body { padding: 6px 12px 16px; text-align: left; }
.card h2, .card h3, .service-card h2 { color: #595959; font-size: 28px; font-weight: 300; line-height: 30px; margin: 8px 0 12px; }
.service-card img { width: 100%; aspect-ratio: 363 / 244; object-fit: cover; }
.service-card hr { border: 0; border-top: 1px solid #ddd; margin: 10px 0; }
.service-card ul { font-size: 13px; margin: 12px 0; padding-left: 0; list-style-position: inside; }
.concierge-page .page-action-row h1 { font-family: Georgia, "Times New Roman", serif; font-size: 38px; font-weight: 400; line-height: 42px; }
.concierge-page .section-rule { margin: 12px 0 18px; }
.concierge-page .alert { margin-bottom: 4px; }
.concierge-page .service-card { display: flex; flex-direction: column; }
.concierge-page .service-card img { margin: 1px auto 0; width: calc(100% - 8px); }
.concierge-page .service-card .card-body { display: flex; flex: 1; flex-direction: column; padding-bottom: 18px; }
.concierge-page .service-card h2 { color: #555; font-family: Georgia, "Times New Roman", serif; font-size: 27px; font-weight: 400; line-height: 30px; margin: 14px 0 12px; }
.concierge-page .service-card ul { list-style: none; padding-left: 0; }
.concierge-page .service-card li::before { color: #999; content: "\2192"; margin-right: 5px; }
.concierge-page .service-card li[style*="list-style:none"]::before { content: none; margin-right: 0; }
.concierge-page .service-card .card-body > p:last-child { margin-top: auto; margin-bottom: 0; }
.concierge-page .service-card .btn { background-color: #49afcd; background-image: linear-gradient(to bottom, #5bc0de, #2f96b4); background-repeat: repeat-x; border: 1px solid #2f96b4; border-color: rgba(0, 0, 0, .1) rgba(0, 0, 0, .1) rgba(0, 0, 0, .25); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 1px 2px rgba(0, 0, 0, .05); color: #fff; font-size: 14px; line-height: 20px; padding-left: 0; padding-right: 0; text-shadow: 0 -1px 0 rgba(0, 0, 0, .25); }
.concierge-page .service-card .btn:hover { background-color: #2f96b4; background-position: 0 -15px; color: #fff; text-decoration: none; }
.label-row { text-align: center; margin: 8px 0 10px; }
.price { display: block; color: #606060; font-family: "Roboto", "Lato", Arial, sans-serif; font-size: 17px; font-weight: 300; line-height: 24px; }
.label { display: inline-block; color: #fff; background: #3a87ad; border-radius: 3px; padding: 6px 12px; font-size: 20px; font-weight: 700; line-height: 1.2; margin: 0 4px 6px; }
.btn { display: inline-block; border: 0; border-radius: 4px; background: #2f96b4; color: #fff; padding: 10px 18px; font-weight: 400; cursor: pointer; text-align: center; font-size: 15px; line-height: 20px; }
.btn:hover { color: #fff; text-decoration: none; background: #24748c; }
.btn-primary { background: #337ab7; }
.btn-info { background: #2f96b4; }
.btn-danger { background: #b94a48; }
.btn-block { display: block; width: 100%; padding: 10px 30px; font-size: 16px; }
.alert { padding: 4px 8px; border-radius: 4px; margin: 0 0 8px; font-size: 13px; }
.alert-info { color: #2d6987; background: #d9edf7; border: 1px solid #bce8f1; }
.alert-success { color: #468847; background: #dff0d8; border: 1px solid #d6e9c6; }
.alert-error { color: #b94a48; background: #f2dede; border: 1px solid #eed3d7; }

.welcome-books-page { background: #fff; margin-top: -16px; padding: 0 0 10px; position: relative; z-index: 21; }
.welcome-promo-stack { display: grid; gap: 5px; padding-top: 4px; }
.welcome-promo { background: linear-gradient(#0088cc, #0044cc); border: 1px solid #0044cc; border-radius: 4px; box-shadow: inset 0 1px 0 rgba(255,255,255,.22); color: #fff; display: block; font-size: 15px; font-weight: 400; line-height: 20px; padding: 5px 14px; text-align: center; }
.welcome-promo:hover { color: #fff; text-decoration: none; background: linear-gradient(#0077b3, #003fbd); }
.welcome-promo strong { font-size: 16px; }
.welcome-location-row { align-items: flex-end; border-bottom: 1px solid #ccc; color: #333; display: flex; justify-content: space-between; margin-top: 3px; padding: 0 18px 2px 0; }
.welcome-location-row h1 { color: #333; font-family: Georgia, "Times New Roman", serif; font-size: 45px; font-weight: 700; line-height: 1.1; margin: 0 0 5px; }
.welcome-location-row p { color: #16a0a0; font-family: Georgia, "Times New Roman", serif; font-size: 24px; line-height: 1.1; margin: 0 0 12px; }
.welcome-books-heading { color: #555; font-family: Georgia, "Times New Roman", serif; font-size: 24px; font-weight: 700; line-height: 1.2; margin: 10px 0 10px; text-align: center; }
.welcome-book-tabs { display: flex; gap: 8px; justify-content: center; list-style: none; margin: 0 0 14px; padding: 0; }
.welcome-book-tabs .btn { color: #fff; font-size: 13px; font-weight: 400; line-height: 18px; padding: 2px 6px; }
.welcome-property-grid { align-items: start; display: grid; grid-template-columns: minmax(260px, 370px) minmax(260px, 370px); justify-content: space-around; gap: 36px 120px; margin: 0 auto; max-width: 1010px; min-height: 0; padding-top: 1px; }
.welcome-property-card { text-align: center; }
.welcome-property-card h3 { color: #333; font-family: Georgia, "Times New Roman", serif; font-size: 18px; font-weight: 400; line-height: 1.25; margin: 0 0 12px; white-space: nowrap; }
.welcome-property-card p { margin: 0 0 20px; }
.welcome-property-card .btn { background: linear-gradient(#0088cc, #0044cc); border: 1px solid #0044cc; color: #fff; font-size: 16px; font-weight: 700; line-height: 20px; padding: 11px 30px; }
.welcome-property-card .btn:hover { background: linear-gradient(#0077b3, #003fbd); color: #fff; text-decoration: none; }
.welcome-property-card img { aspect-ratio: 768 / 439; object-fit: cover; width: 100%; }
.welcome-promo-bottom { padding-top: 8px; }

.welcome-detail-page { background: #fff; }
#bedspage { background: #fff; padding-bottom: 50px; padding-top: 20px; }
#bedspage .row { display: flex; flex-wrap: wrap; margin-left: -15px; margin-right: -15px; }
#bedspage [class*="span"] { min-height: 1px; padding-left: 15px; padding-right: 15px; }
#bedspage .span1 { width: 8.333333%; }
#bedspage .span5 { width: 41.666667%; }
#bedspage .span6 { width: 50%; }
#bedspage .span7 { width: 58.333333%; }
#bedspage .span10 { width: 83.333333%; }
#bedspage .span12 { width: 100%; }
#bedspage .text-center { text-align: center; }
#bedspage hr { border: 0; border-top: 1px solid #eee; margin: 8px 0 18px; }
#bedspage h1 { color: #333; font-family: "Oswald"; font-size: 40px; font-weight: 300; line-height: 50px; margin: 0; }
#bedspage h2 { color: #595959; font-family: "Lato"; font-weight: 300; margin: 10px 0; }
#bedspage .span5 h2.text-center { color: #595959; font-family: "Lato"; font-size: 20px; font-weight: 300; line-height: 24px; margin: 10px 0; }
#bedspage h4 { color: #00b7c2; font-family: "Poppins"; font-size: 24px; font-weight: 400; line-height: 30px; margin: 10px 0; padding-top: 0; }
#bedspage p { color: #666; font-family: "Open Sans"; font-size: 14px; font-weight: 400; line-height: 24px; margin: 0 0 10px; }
#bedspage p strong { font-weight: 700; }
#bedspage ul, #bedspage ol { color: #4d4d4d; font-family: Arial; font-size: 12px; line-height: 20px; margin: 10px 0 20px 25px; padding: 0; }
#bedspage li { color: #4d4d4d; font-size: 12px; line-height: 30px; margin: 0; }
#bedspage a { color: #0b8084; font-family: Arial; font-size: 14px; line-height: 12px; overflow-wrap: anywhere; }
#bedspage img { display: inline-block; height: auto; max-width: 100%; }
#bedspage .btn { border-radius: 4px; cursor: pointer; display: inline-block; font-family: Arial; text-align: center; text-decoration: none; text-shadow: 0 -1px 0 rgba(0,0,0,.25); }
#bedspage .btn-primary { background-color: #006dcc; background-image: linear-gradient(to bottom, #0088cc, #0044cc); background-repeat: repeat-x; border: 1px solid #0044cc; color: #fff; }
#bedspage .btn-primary:hover { background: #0044cc; color: #fff; text-decoration: none; }
#bedspage .btn-info { background-color: #49afcd; background-image: linear-gradient(to bottom, #5bc0de, #2f96b4); background-repeat: repeat-x; border: 1px solid #2f96b4; color: #fff; }
#bedspage .btn-info:hover { background: #2f96b4; color: #fff; text-decoration: none; }
#bedspage .btn-block { display: block; line-height: 20px; padding: 5px 14px; width: 100%; }
#bedspage .btn-small { border-radius: 3px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 13px; font-weight: 400; line-height: 20px; padding: 2px 6px; }
#bedspage #info-block ul.inline { list-style: none; margin: 10px 0 30px; padding: 0; }
#bedspage #info-block ul.inline li { display: inline-block; line-height: 30px; margin: 0 6px 0 0; }
#bedspage .virtualtour { background-color: #fff; border: 1px solid #dfe1e5; border-radius: 29px; box-sizing: border-box; color: #3c4043; cursor: pointer; display: inline-block; font-size: 14px; font-weight: 400; height: 58px; line-height: 56px; margin-top: 0; padding: 0 20px 0 0; position: relative; white-space: nowrap; }
#bedspage .virtualtour .divimg { background-position: center; background-size: cover; border-radius: 25px; cursor: pointer; display: inline-block; height: 50px; line-height: 56px; margin: 3px 12px 3px 3px; overflow: hidden; position: relative; vertical-align: top; width: 50px; }
#bedspage .virtualtour .divimg img { border: 0; cursor: pointer; display: block; height: 50px; object-fit: cover; width: 50px; }
#bedspage .virtualtour .layer { background-color: rgba(0,0,0,.03); border-radius: 50px; cursor: pointer; display: inline-block; height: 50px; left: 3px; line-height: 56px; pointer-events: none; position: absolute; top: 3px; width: 50px; }
#bedspage .virtualtour .texts { color: #169bd5; cursor: pointer; display: inline-block; font-size: 18px; font-weight: 400; line-height: 56px; white-space: nowrap; }
#bedspage .facet-result-block { box-shadow: 0 1px 2px 1px #ccc; margin-top: 20px; text-align: center; }
#bedspage .house-preview { color: #333; display: block; text-decoration: none; }
#bedspage .facet-result-block .text-container { background: #fff; padding: 14px 8px; }
#bedspage .facet-result-block h4 { color: #333; font-family: "Poppins"; font-weight: 400; line-height: 30px; margin: 10px 0; padding: 0; }
#bedspage .display-info { clear: both; }
#bedspage .display-info > div { clear: both; }
#bedspage .paddingt20 { padding-top: 20px; }
#bedspage .paddingb20 { padding-bottom: 20px; }
#bedspage .notmargin { margin-top: 0; }
#bedspage .button-top { cursor: pointer; vertical-align: middle; }
#bedspage .virtualtour, #bedspage .virtualtour .texts { font-family: Arial; }
#bedspage .label { background: #999; border-radius: 3px; color: #fff; display: inline-block; font-family: "Poppins"; font-size: 11.844px; font-weight: 700; line-height: 14px; margin: 0 0 5px 4px; padding: 2px 4px; }
.welcome-detail-2bed #bedspage h1, .welcome-detail-4bed #bedspage h1 { font-family: "Oswald"; font-size: 40px; font-weight: 300; line-height: 50px; margin: 0; }
.welcome-detail-2bed #bedspage #info-block ul.inline li { margin-right: 8px; }

.brenda-page { background: #fff; padding: 20px 0 50px; }
.brenda-intro { text-align: center; }
.brenda-intro h1 { color: #333; font-size: 28px; font-weight: 400; line-height: 1.2; margin: 0 0 25px; }
.brenda-intro h2 { color: #555; font-size: 22px; font-weight: 400; line-height: 1.2; margin: 0 0 10px; }
.brenda-rule { border: 0; border-top: 1px solid #eee; margin: 20px 0; }
.brenda-hero-image { text-align: center; }
.brenda-hero-image img { display: inline-block; margin: 0 auto; }
.brenda-story-grid { display: grid; gap: 30px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.brenda-copy h3, .brenda-faq h3 { color: #555; font-size: 20px; font-weight: 400; line-height: 1.2; margin: 30px 0 10px; }
.brenda-copy h3:first-child { margin-top: 20px; }
.brenda-copy p, .brenda-faq p { color: #333; font-size: 14px; line-height: 20px; margin: 0 0 10px; }
.brenda-copy ul { color: #333; font-size: 13px; line-height: 20px; margin: 0 0 10px 25px; padding: 0; }
.brenda-last-copy { margin-bottom: 30px !important; }
.brenda-room-image { text-align: right; }
.brenda-room-image img { display: inline-block; margin: 30px 0 20px auto; }
.brenda-actions { display: grid; gap: 30px; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0 0 10px; text-align: center; }
.brenda-actions .btn { color: #fff; font-size: 15px; font-weight: 400; line-height: 20px; margin-bottom: 5px; padding: 4px 12px; }
.brenda-faq { margin-top: 0; }
.brenda-faq h3 { margin-top: 20px; }
.brenda-faq strong { color: #333; display: block; font-weight: 700; line-height: 20px; }

.home-hero { height: 348px; min-height: 348px; background-position: center; background-size: cover; display: flex; align-items: center; border-bottom: 0; }
.home-search-panel { width: 100%; text-align: center; padding-top: 2px; }
.home-search-panel h1 { color: #fff; font-family: "Lato", Arial, sans-serif; font-size: 48px; font-weight: 300; line-height: 48px; margin: 0 0 56px; text-transform: uppercase; }
.home-search { display: grid; grid-template-columns: 562px 85px; gap: 5px; justify-content: center; align-items: center; }
.home-search select { width: 100%; height: 38px; border: 0; border-radius: 3px; color: #555; font-size: 14px; padding: 8px 14px; background: #fff; }
.home-search button { width: 85px; height: 39px; border: 0; border-radius: 4px; background: #43b647; color: #fff; cursor: pointer; font-size: 30px; line-height: 39px; text-align: center; }
.home-content { background: #fff; padding-top: 42px; padding-bottom: 0; }
.awards-row { display: flex; justify-content: center; align-items: center; gap: 34px; flex-wrap: wrap; margin: 0 0 90px; }
.awards-row img { max-height: 98px; width: auto; }
.awards-row img:first-child { max-height: 96px; }
.awards-row img:last-child { max-height: 94px; }
.home-intro-heading { color: #595959; font-size: 32px; font-weight: 300; line-height: 1.25; margin: 0 0 28px; text-align: center; }
.home-copy { max-width: 1120px; margin: 0 auto; color: #555; font-size: 14px; line-height: 1.72; }
.home-copy h2 { color: #595959; font-size: 28px; font-weight: 300; line-height: 1.3; margin: 35px 0 20px; text-align: center; }
.home-copy h2:first-child { margin-top: 0; }
.home-copy h4 { color: #00b8bf; font-size: 18px; font-weight: 400; line-height: 1.35; margin: 17px 0 7px; }
.home-copy p { margin: 0 0 18px; }
.home-copy p:last-child { margin-bottom: 0; padding-bottom: 30px; }
.home-copy ul { list-style: none; margin: 0 0 22px 24px; padding: 0; }
.home-copy li { margin: 4px 0; position: relative; }
.home-copy li::before { color: #999; content: "\2192"; left: -17px; position: absolute; top: 0; }
.home-copy h2 .fa { color: #ffc247; font-size: 24px; margin-right: 8px; vertical-align: 3px; }
.home-copy .review-stars { color: #efc524; font-size: 14px; font-style: normal; letter-spacing: 2px; margin: 17px 0 9px; }
.home-copy .review-stars .fa { margin-right: 2px; text-shadow: 0 1px 0 rgba(0,0,0,.08); }
.home-copy h4.review-quote { color: #00b8bf; font-size: 26px; font-weight: 400; line-height: 1.25; margin: 0 0 9px; }
.home-copy .review-author { color: #666; font-size: 14px; margin: 0 0 17px; }
.home-copy .review-link { color: #0a7477; font-size: 16px; }
.home-copy .review-link .fa { color: #f2b533; margin-right: 5px; }

.list-home-page { background: #fff; color: #333; font-family: "Open Sans", Arial, sans-serif; overflow-wrap: anywhere; }
.list-home-nav { background: #f1f1f1; border-bottom: 1px solid #d8d8d8; border-top: 1px solid #eee; }
.list-home-nav .container { align-items: center; display: flex; gap: 24px; justify-content: space-between; min-height: 70px; }
.list-home-nav-links { align-items: center; display: flex; flex: 1 1 auto; justify-content: space-around; }
.list-home-nav-links a { color: #111; font-family: "Oswald", "Lato", Arial, sans-serif; font-size: 19px; font-weight: 400; letter-spacing: 2px; line-height: 20px; text-transform: uppercase; }
.list-home-nav-links a:hover { color: #008c00; text-decoration: none; }
.list-home-mobile-jump { display: none; }
.list-home-cta { align-items: center; background: #008b00; border-radius: 0 20px 20px 12px; color: #fff !important; display: inline-flex; font-family: Georgia, "Times New Roman", serif; font-size: 17px; font-weight: 700; justify-content: space-between; line-height: 20px; min-height: 42px; min-width: 205px; padding: 0 0 0 30px; text-transform: uppercase; }
.list-home-cta:hover { background: #007300; text-decoration: none; }
.list-home-cta .fa { align-items: center; border-left: 1px solid rgba(255,255,255,.28); display: inline-flex; font-size: 25px; height: 42px; justify-content: center; margin-left: 18px; width: 50px; }
.list-home-nav-cta { flex: 0 0 auto; min-width: 205px; }
.list-home-hero { background-position: center center; background-size: cover; color: #fff; min-height: 466px; padding: 52px 0 58px; text-align: center; }
.list-home-hero h1 { color: #fff; font-family: "Lato", "Open Sans", Arial, sans-serif; font-size: 38px; font-weight: 700; line-height: 44px; margin: 0 auto 58px; max-width: 1020px; text-shadow: 0 1px 2px rgba(0,0,0,.45); text-transform: uppercase; }
.list-home-hero p { color: #fff; font-family: "Open Sans", Arial, sans-serif; font-size: 19px; font-weight: 700; line-height: 26px; margin: 0 auto 60px; max-width: 900px; text-shadow: 0 1px 2px rgba(0,0,0,.55); }
.list-home-hero-cta { margin-bottom: 30px; min-width: 224px; }
.list-home-wide-cta { display: flex; margin: 0 auto; max-width: 760px; min-width: 0; white-space: nowrap; width: 58%; }
.list-home-wide-cta span { flex: 1 1 auto; }
.list-home-feature-row { padding: 58px 0 34px; }
.list-home-feature-row .container { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.list-home-feature-row article { border-right: 1px solid #333; min-height: 164px; padding: 20px 32px 10px; text-align: center; }
.list-home-feature-row article:last-child { border-right: 0; }
.list-home-feature-row .fa { color: #22a8d6; font-size: 31px; margin-bottom: 24px; }
.list-home-feature-row h2 { color: #555; font-family: "Lato", Arial, sans-serif; font-size: 26px; font-weight: 300; line-height: 31px; margin: 0 0 16px; text-transform: uppercase; }
.list-home-feature-row p { color: #666; font-family: "Open Sans", Arial, sans-serif; font-size: 12px; line-height: 17px; margin: 0 auto; max-width: 265px; }
.list-home-partners { padding: 0 0 34px; text-align: center; }
.list-home-partners img { display: inline-block; max-width: 100%; width: 1110px; }
.list-home-benefits { padding: 12px 0 34px; }
.list-home-benefits .container { display: grid; gap: 26px 76px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.list-home-benefits article { display: grid; gap: 18px; grid-template-columns: 38px 1fr; }
.list-home-benefits .fa { color: #22a8d6; font-size: 33px; line-height: 36px; text-align: center; }
.list-home-benefits h2 { color: #555; font-family: "Lato", Arial, sans-serif; font-size: 18px; font-weight: 300; line-height: 23px; margin: 0 0 5px; text-transform: uppercase; }
.list-home-benefits p { color: #666; font-family: "Open Sans", Arial, sans-serif; font-size: 12px; line-height: 17px; margin: 0; }
.list-home-faq { background: #159bd5; color: #fff; margin-top: 10px; overflow: hidden; }
.list-home-faq .container { display: grid; grid-template-columns: 310px 1fr; min-height: 260px; padding: 0; }
.list-home-faq img { height: 260px; object-fit: cover; object-position: top center; width: 310px; }
.list-home-faq div div { background: rgba(13,149,214,.88); padding: 28px 42px 22px; }
.list-home-faq h2 { color: #fff; font-family: Georgia, "Times New Roman", serif; font-size: 24px; font-weight: 400; line-height: 30px; margin: 0 0 12px; text-align: center; text-transform: uppercase; }
.list-home-faq p { color: #fff; font-family: Georgia, "Times New Roman", serif; font-size: 13px; line-height: 20px; margin: 0 0 10px; }
.list-home-faq-cta { border: 1px solid rgba(255,255,255,.65); border-radius: 4px; font-size: 12px; justify-content: center; min-height: 30px; min-width: 0; padding: 0 14px; }
.list-home-faq-cta .fa { display: none; }
.list-home-steps { padding: 45px 0 34px; text-align: center; }
.list-home-steps h2, .list-home-pricing h2 { color: #555; font-family: Georgia, "Times New Roman", serif; font-size: 26px; font-weight: 700; line-height: 34px; margin: 0 0 34px; }
.list-home-step-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.list-home-step-grid .fa { color: #22a8d6; font-size: 39px; margin-bottom: 16px; }
.list-home-step-grid p { color: #666; font-family: Georgia, "Times New Roman", serif; font-size: 12px; line-height: 17px; margin: 0; }
.list-home-pricing { padding: 0 0 54px; text-align: center; }
.list-home-plan-grid { display: grid; gap: 18px; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 26px; text-align: left; }
.list-home-plan-grid article { border: 1px solid #ddd; min-height: 220px; padding: 18px; }
.list-home-plan-grid h3 { color: #555; font-family: Georgia, "Times New Roman", serif; font-size: 18px; line-height: 24px; margin: 0 0 10px; text-transform: uppercase; }
.list-home-plan-price { color: #008080; font-family: Georgia, "Times New Roman", serif; font-size: 15px; font-weight: 700; line-height: 20px; margin: 0 0 12px; }
.list-home-plan-grid ul { margin: 0 0 0 18px; padding: 0; }
.list-home-plan-grid li { color: #555; font-family: Georgia, "Times New Roman", serif; font-size: 12px; line-height: 20px; }
.list-home-downloads { display: flex; flex-wrap: wrap; gap: 18px 54px; justify-content: center; margin: 0 0 18px; }
.list-home-downloads a { color: #139cc7; font-family: Arial, sans-serif; font-size: 12px; line-height: 18px; max-width: 190px; }
.list-home-compare { margin: 0; }
.list-home-compare a { color: #00a6ad; font-family: Arial, sans-serif; font-size: 28px; line-height: 36px; }
.feature-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 18px 26px; }
.feature-grid article { background: #fff; border: 1px solid #ddd; padding: 18px; min-height: 150px; }
.feature-grid h2 { color: #595959; font-size: 24px; font-weight: 300; line-height: 30px; margin: 0 0 8px; text-transform: uppercase; }

.product-detail, .booking-grid { display: grid; grid-template-columns: minmax(260px, 1fr) minmax(300px, 1fr); gap: 30px; align-items: start; }
.product-detail-image, .product-detail-copy, .booking-copy, .booking-form { background: #fff; border: 1px solid #ddd; padding: 18px; }
.product-detail-image img { width: 100%; }
.booking-grid { grid-template-columns: 1fr 1.2fr 1fr; }
.booking-calendar-page { background: #fff; padding: 0; }
.booking-calendar-page .booking-heading { border-bottom: 1px solid #ddd; margin: 0 0 22px; padding: 0 0 19px; }
.booking-calendar-page .booking-heading h1 { color: #333; font-family: "Oswald", Arial, sans-serif; font-size: 40px; font-weight: 300; line-height: 50px; margin: 0; text-align: center; }
.booking-calendar-page .booking-grid { grid-template-columns: repeat(3, 370px); gap: 30px; }
.booking-calendar-page .service-card img { margin: 1px auto 0; width: calc(100% - 6px); }
.booking-calendar-page .service-card .card-body { padding: 0 12px 35px; text-align: left; }
.booking-calendar-page .service-card h2 { color: #595959; font-family: "Lato", Arial, sans-serif; font-size: 30px; font-weight: 300; line-height: 30px; margin: 18px 0 16px; }
.booking-calendar-page .booking-card-price { color: #595959; font-family: "Lato", Arial, sans-serif; font-size: 24px; font-weight: 300; line-height: 30px; margin: 20px 0 0; }
.booking-calendar-page .booking-copy, .booking-calendar-page .booking-form { background: transparent; border: 0; padding: 0; }
.booking-calendar-page .booking-copy { color: #4d4d4d; font-family: Arial, sans-serif; font-size: 14px; line-height: 24px; }
.booking-calendar-page .booking-copy h2 { color: #595959; font-family: "Lato", Arial, sans-serif; font-size: 30px; font-weight: 300; line-height: 30px; margin: 0; padding: 0; }
.booking-calendar-page .booking-copy hr { border: 0; border-top: 1px solid #eee; margin: 20px 0; }
.booking-calendar-page .booking-form h3 { color: #2b5d83; font-family: "Open Sans", Arial, sans-serif; font-size: 30px; font-weight: 400; line-height: 30px; margin: 0 0 10px; padding: 0; }
.booking-calendar-page .booking-copy p { color: #666; font-family: "Open Sans", Arial, sans-serif; font-size: 14px; line-height: 24px; margin: 0 0 10px; }
.booking-calendar-page .booking-copy h3, .booking-calendar-page .booking-copy h4 { color: #00a6ad; font-family: "Open Sans", Arial, sans-serif; font-size: 18px !important; font-weight: 400; line-height: 30px; margin: 10px 0 10px; }
.booking-calendar-page .booking-preference-row ~ h4 + p + p { min-height: 96px; }
.booking-calendar-page .booking-copy ul { font-size: 12px; line-height: 20px; list-style: disc; margin: 20px 20px 20px 20px; padding: 0 20px 0 20px; }
.booking-calendar-page .booking-copy li { line-height: 24px; margin: 0; position: relative; }
.booking-calendar-page .booking-copy li::before { content: none; }
.booking-calendar-page .booking-copy label { font-family: Georgia, "Times New Roman", serif; font-size: 14px; margin: 0 0 12px; }
.booking-calendar-page .booking-copy select { font-family: Arial, sans-serif; height: 36px; padding: 7px 10px; width: 240px; }
.booking-calendar-page .booking-preference-row { margin-bottom: 20px; }
.booking-calendar-page .booking-theme-row.is-hidden { display: none; }
.booking-calendar-page .booking-option-output { margin: 0 0 10px; }
.booking-calendar-page .booking-option-output:empty { display: none; }
.booking-calendar-page .booking-option-output ul { list-style: disc; margin-left: 20px; }
.booking-calendar-page .booking-datetime-row { margin: 0; position: relative; }
.booking-calendar-page #datetimepicker { border: 0; height: 0; opacity: 0; padding: 0; position: absolute; width: 0; }
.booking-calendar-page .xdsoft_datetimepicker, .booking-calendar-page .xdsoft_datetimepicker * { box-sizing: border-box; }
.booking-calendar-page .xdsoft_datetimepicker { border: 0; box-shadow: none; margin: 0; padding-right: 8px; width: 366px; }
.booking-calendar-page .xdsoft_datetimepicker .xdsoft_datepicker { width: 280px; }
.booking-calendar-page .xdsoft_datetimepicker .xdsoft_datepicker.active + .xdsoft_timepicker { margin-top: 8px; }
.booking-calendar-page .xdsoft_datetimepicker .xdsoft_timepicker { width: 62px; }
.booking-calendar-page .xdsoft_datetimepicker .xdsoft_calendar th,
.booking-calendar-page .xdsoft_datetimepicker .xdsoft_calendar td { height: 50px; }
.booking-calendar-page .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box { height: 301px; }
.booking-calendar-page .xdsoft_datetimepicker .xdsoft_timepicker .xdsoft_time_box > div > div { height: 50px; line-height: 50px; }
.booking-calendar-page .booking-form .btn { background-color: #49afcd; background-image: linear-gradient(to bottom, #5bc0de, #2f96b4); background-repeat: repeat-x; border: 1px solid #2f96b4; border-color: rgba(0, 0, 0, .1) rgba(0, 0, 0, .1) rgba(0, 0, 0, .25); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 1px 2px rgba(0, 0, 0, .05); color: #fff; font-size: 16px; line-height: 20px; padding: 10px 0; text-shadow: 0 -1px 0 rgba(0, 0, 0, .25); }
.booking-calendar-page .booking-form .btn:hover { background-color: #2f96b4; background-position: 0 -15px; text-decoration: none; }
.booking-calendar-page .booking-form .alert { line-height: 20px; margin-bottom: 4px; margin-top: 20px; }
.booking-details-page { background: #fff; padding: 0 0 60px; }
.booking-details-page .booking-heading { border-bottom: 1px solid #ddd; margin: 0 0 22px; padding: 0 0 19px; }
.booking-details-page .booking-heading h1 { color: #333; font-family: "Oswald", Arial, sans-serif; font-size: 40px; font-weight: 300; line-height: 50px; margin: 0; text-align: center; }
.booking-details-form-wrap { margin: 0 auto; max-width: 770px; }
.booking-details-form { color: #333; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; margin: 0; }
.booking-details-row, .booking-details-form p { margin: 0 0 10px; }
.booking-details-form label { color: #333; display: block; font-family: Arial, sans-serif; font-size: 14px; font-weight: 400; line-height: 20px; margin: 0; }
.booking-details-form input[type=text], .booking-details-form input[type=email], .booking-details-form input[type=tel], .booking-details-form textarea {
  border: 1px solid #ccc; border-radius: 0; color: #555; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; margin: 0; padding: 6px; width: 100%;
}
.booking-details-form input[type=text], .booking-details-form input[type=email], .booking-details-form input[type=tel] { height: 34px; }
.booking-details-form input[readonly] { background: #eee; cursor: not-allowed; }
.booking-details-form textarea { min-height: 74px; resize: vertical; }
.booking-details-check label { display: block; font-weight: 400; padding-left: 0; }
.booking-details-check input[type=checkbox] { display: inline-block; margin: 0 6px 2px 0; width: auto; vertical-align: middle; }
.booking-details-submit { background-color: #49afcd; background-image: linear-gradient(to bottom, #5bc0de, #2f96b4); background-repeat: repeat-x; border: 1px solid #2f96b4; border-color: rgba(0,0,0,.1) rgba(0,0,0,.1) rgba(0,0,0,.25); border-radius: 4px; box-shadow: inset 0 1px 0 rgba(255,255,255,.2), 0 1px 2px rgba(0,0,0,.05); color: #fff; cursor: pointer; display: inline-block; font-family: Arial, sans-serif; font-size: 14px; font-weight: 400; line-height: 20px; padding: 4px 12px; text-align: center; text-shadow: 0 -1px 0 rgba(0,0,0,.25); }
.booking-details-submit:hover { background-color: #2f96b4; background-position: 0 -15px; color: #fff; text-decoration: none; }
.booking-confirmation { background: #f7fff4; border: 1px solid #d6e9c6; border-left: 6px solid #468847; margin: 0 auto 22px; max-width: 820px; padding: 30px 34px; }
.booking-confirmation h1 { color: #468847; font-family: "Lato", Arial, sans-serif; font-size: 34px; font-weight: 300; line-height: 42px; margin: 0 0 12px; }
.booking-confirmation p { color: #555; font-family: "Open Sans", Arial, sans-serif; font-size: 16px; line-height: 28px; margin: 0 0 14px; }
.booking-confirmation-btn { margin-top: 4px; }
.product-page { background: #fff; padding: 1px 0 8px; }
.product-page .product-detail { grid-template-columns: 470px 1fr; gap: 30px; }
.product-page .product-detail-image, .product-page .product-detail-copy { background: transparent; border: 0; padding: 0; }
.product-page .product-detail-image img { width: 470px; max-width: 100%; }
.product-page .product-detail-copy { color: #666; font-family: "Open Sans", Arial, sans-serif; font-size: 14px; line-height: 24px; }
.product-page .product-detail-copy h1 { color: #606060; font-family: "Roboto", "Lato", Arial, sans-serif; font-size: 28px; font-weight: 300; line-height: 28px; margin: 7px 0 12px; }
.product-page .product-price-row { margin: 0 0 16px; }
.product-page .price { color: #666; font-family: "Open Sans", Arial, sans-serif; font-size: 22px; font-weight: 400; line-height: 28px; }
.product-page .product-description { margin-bottom: 16px; }
.product-page .product-description p { margin: 0 0 12px; }
.product-page .product-description strong { font-weight: 700; }
.product-page .product-description ul { color: #4d4d4d; font-family: Arial, sans-serif; font-size: 12px; line-height: 26px; list-style: none; margin: 4px 0 18px 24px; padding: 0; }
.product-page .product-description ol { margin: 4px 0 18px 36px; padding: 0; }
.product-page .product-description li { color: #4d4d4d; font-family: Arial, sans-serif; font-size: 12px; line-height: 26px; margin: 0 0 4px; position: relative; }
.product-page .product-description li::before { color: #555; content: "\2192"; font-size: 12px; left: -17px; position: absolute; top: 1px; }
.product-page .product-cart-form { margin-top: 12px; }
.product-page .product-quantity-row { margin-bottom: 14px; }
.product-page .product-quantity-row label { color: #333; font-family: Arial, sans-serif; font-size: 14px; font-weight: 400; line-height: 20px; }
.product-page .product-quantity-row input[type=number] { border: 1px solid #aaa; border-radius: 0; color: #333; font-family: "Helvetica Neue", Arial, sans-serif; font-size: 14px; line-height: 20px; padding: 8px; width: 80px; }
.product-page .product-options { border-top: 1px solid #ddd; margin: 14px 0 28px; }
.product-page .product-option-row { align-items: center; border-bottom: 1px solid #ddd; display: grid; grid-template-columns: 24px 1fr auto; gap: 28px; margin: 0; padding: 10px 4px; }
.product-page .product-option-row input { margin: 0; }
.product-page .product-option-row strong { font-weight: 400; }
.product-page .product-add-btn { border-radius: 0; font-family: "Open Sans", Arial, sans-serif; font-size: 16px; font-weight: 700; line-height: 24px; padding: 12px 30px; text-transform: uppercase; }

.cart-page { background: #fff; color: #222; font-family: Georgia, "Times New Roman", serif; padding: 0 0 28px; }
.cart-empty-notice { margin: 0; padding-top: 5px; }
.cart-empty-text { margin: 17px 0 0; }
.cart-return-link { color: #008080; display: inline-block; margin-top: 17px; }
.cart-notice { align-items: center; border-bottom: 1px solid #ddd; border-top: 1px solid #ddd; display: flex; justify-content: space-between; margin: 0 0 29px; min-height: 56px; }
.cart-notice .alert { background: transparent; border: 0; color: #222; font-size: 14px; margin: 0; padding: 0; }
.cart-notice a { color: #008080; font-family: Arial, sans-serif; font-size: 12px; }
.cart-heading { border-bottom: 1px solid #ddd; color: #555; font-size: 24px; font-weight: 400; line-height: 1.25; margin: 0 0 36px; padding: 0 0 18px; }
.cart-layout { align-items: start; display: grid; gap: 30px; grid-template-columns: minmax(0, 770px) 370px; }
.cart-items-panel h2, .cart-totals-panel h2 { color: #555; font-size: 25px; font-weight: 400; line-height: 1.2; margin: 0 0 12px; }
.cart-items-list { border-top: 1px solid #ddd; }
.cart-item-row { align-items: start; border-bottom: 1px solid #ddd; display: grid; gap: 10px; grid-template-columns: 300px 80px 210px 90px 30px; padding: 7px 5px; }
.cart-item-product { align-items: start; display: grid; gap: 14px; grid-template-columns: 116px 1fr; }
.cart-item-product img { height: 86px; object-fit: cover; width: 116px; }
.cart-item-product a { color: #006a68; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; }
.cart-item-price, .cart-item-total { font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; }
.cart-item-qty label { display: block; font-family: Arial, sans-serif; font-size: 14px; font-weight: 400; line-height: 20px; margin: 0 0 7px; }
.cart-item-qty input[type=number] { border: 1px solid #aaa; border-radius: 0; height: 35px; padding: 6px 8px; width: 80px; }
.cart-remove { align-items: center; background: #3aa2bf; border: 0; color: #fff; cursor: pointer; display: inline-flex; font-size: 18px; height: 22px; justify-content: center; line-height: 1; padding: 0; width: 30px; }
.cart-update-btn, .cart-checkout-btn { border-radius: 4px; font-family: Arial, sans-serif; font-size: 14px; font-weight: 700; padding: 10px 20px; text-transform: uppercase; }
.cart-update-btn { margin-top: 16px; }
.cart-totals-panel table { border-collapse: collapse; font-family: Arial, sans-serif; margin-bottom: 22px; width: 100%; }
.cart-totals-panel th, .cart-totals-panel td { border-top: 1px solid #ddd; padding: 10px 5px; text-align: left; }
.cart-totals-panel td { text-align: right; }
.cart-totals-panel tr:last-child th, .cart-totals-panel tr:last-child td { border-bottom: 1px solid #ddd; font-weight: 700; }
.cart-checkout-btn { color: #fff; display: inline-block; padding: 12px 18px; }

.checkout-page { background: #fff; color: #666; font-family: "Open Sans", Arial, sans-serif; padding: 30px 0 38px; }
.checkout-title { background: #2f2f2f; }
.checkout-empty { color: #666; font-size: 14px; line-height: 24px; }
.checkout-confirmation { background: #f7fff4; border: 1px solid #d6e9c6; border-left: 6px solid #468847; margin: 0 0 22px; padding: 30px 34px; }
.checkout-confirmation h1 { color: #468847; font-family: "Lato", Arial, sans-serif; font-size: 34px; font-weight: 300; line-height: 42px; margin: 0 0 12px; }
.checkout-confirmation p { color: #555; font-family: "Open Sans", Arial, sans-serif; font-size: 16px; line-height: 28px; margin: 0 0 14px; }
.checkout-confirmation-btn { margin-top: 4px; }
.checkout-form { margin: 0; }
.checkout-grid { align-items: start; display: grid; gap: 30px; grid-template-columns: minmax(0, 770px) minmax(0, 370px); }
.checkout-billing, .checkout-review { min-width: 0; }
.checkout-billing h3, .checkout-notes h3, .checkout-review h3 { color: #00b7c2; font-family: "Roboto", "Lato", Arial, sans-serif; font-size: 26px; font-weight: 300; line-height: 26px; margin: 10px 0; }
.checkout-notes { margin-top: 22px; }
.checkout-field-row { display: grid; gap: 20px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.checkout-page .form-row { margin: 0 0 10px; }
.checkout-page .hide { display: none !important; }
.checkout-page label { color: #666; font-family: "Open Sans", Arial, sans-serif; font-size: 14px; font-weight: 400; line-height: 20px; margin: 0 0 5px; }
.checkout-page .required { border: 0; color: #e2401c; text-decoration: none; }
.checkout-page .optional { color: #777; font-size: 13px; }
.checkout-page .woocommerce-input-wrapper { display: block; }
.checkout-delivery-note { font-family: "Open Sans", Arial, sans-serif; font-size: 14px; line-height: 24px; margin: 0 0 10px; }
.checkout-page input[type=text], .checkout-page input[type=email], .checkout-page input[type=tel], .checkout-page textarea {
  border: 1px solid #e5e5e5; border-radius: 0; box-sizing: border-box; color: #333; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; line-height: 20px; margin: 0 0 10px; min-height: 38px; padding: 10px; width: 100%;
}
.checkout-page textarea { min-height: 50px; padding: 4px; resize: vertical; }
.checkout-page .checkout-agreement-row label { display: block; line-height: 20px; margin: 0 0 5px; padding-left: 20px; }
.checkout-page .checkout-agreement-row input[type=checkbox] { display: block; float: left; height: 13px; margin: 4px 0 0 -20px; padding: 0; vertical-align: middle; width: 13px; }
.checkout-page .checkout-agreement-row span { display: inline; }
.checkout-review-table { border-collapse: collapse; color: #333; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; margin: 30px 0 0; width: 100%; }
.checkout-review-table th, .checkout-review-table td { border: 0; padding: 4px 0; text-align: left; vertical-align: top; }
.checkout-review-table thead th { color: #333; font-weight: 700; padding: 0 1px 1px; }
.checkout-review-table td:last-child, .checkout-review-table th:last-child { text-align: left; }
.checkout-review-table tfoot th, .checkout-review-table tfoot td { padding: 15px 0; }
.checkout-review-table tfoot th, .checkout-review-table .product-quantity, .checkout-review-table tbody td { font-weight: 700; }
.checkout-review-table .product-quantity { color: #333; white-space: nowrap; }
.checkout-request-note { background: #f7f7f7; border-top: 3px solid #00b7c2; color: #666; font-family: "Open Sans", Arial, sans-serif; font-size: 14px; line-height: 24px; margin: 0 0 18px; padding: 12px 14px; }
.checkout-payment { color: #333; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; margin: 0; }
.checkout-payment ul { list-style: none; margin: 0; padding: 0; }
.checkout-payment li { margin: 0; padding: 0; }
.checkout-payment label { color: #333; font-family: Arial, sans-serif; font-size: 14px; font-weight: 700; line-height: 20px; margin: 0; }
.checkout-payment p { color: #333; font-family: Arial, sans-serif; font-size: 14px; line-height: 20px; margin: 0; }
.checkout-payment .place-order { margin: 0; }
.checkout-submit-btn { background: #169bd5; border: 0; border-radius: 4px; color: #fff; cursor: pointer; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; font-weight: 400; line-height: 20px; margin: 10px 0; padding: 5px 15px; text-transform: uppercase; }
.checkout-submit-btn:hover { background: #0f85b8; color: #fff; }

.form-row { margin-bottom: 14px; }
label { display: block; margin-bottom: 5px; font-weight: 700; }
input[type=text], input[type=email], input[type=password], input[type=number], input[type=tel], input[type=url], textarea, select {
  width: 100%; border: 1px solid #ccc; border-radius: 2px; padding: 9px 10px; font: inherit; background: #fff;
}
textarea { min-height: 120px; }
.table { width: 100%; border-collapse: collapse; background: #fff; }
.table th, .table td { padding: 10px; border-bottom: 1px solid #e5e5e5; text-align: left; vertical-align: top; }
.table th { background: #f8f8f8; }
.actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.muted { color: #777; }
.text-right { text-align: right; }

.site-footer { background: #ededed; border-top: 8px solid #dedede; margin-top: 0; padding: 20px 0 0; color: #333; font-size: 14px; }
.site-footer a { color: #006a68; }
.footer-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px; padding-bottom: 54px; }
.footer-grid > div { min-width: 0; }
.footer-grid h4 { border-bottom: 1px solid #21aab1; color: #111; font-family: "Oswald", Arial, sans-serif; font-size: 18px; font-weight: 300; line-height: 20px; margin: 0 0 15px; padding: 0 0 12px; text-transform: none; }
.footer-grid ul { list-style: none; margin: 0; padding: 0; }
.footer-grid li { margin: 0; padding-left: 22px; position: relative; }
.footer-grid li::before { color: #aaa; content: "\2192"; font-size: 12px; left: 5px; position: absolute; top: 1px; }
.footer-grid a { color: #055b5e; font-family: Arial, sans-serif; font-size: 14px; line-height: 28px; }
.footer-cta-stack { display: grid; gap: 10px; margin-bottom: 20px; }
.footer-cta { background: linear-gradient(#0e93db, #0068c9); border-radius: 0 18px 18px 12px; box-shadow: inset 0 -1px 0 rgba(255,255,255,.2); color: #fff !important; display: flex; align-items: center; justify-content: space-between; font-family: "Open Sans", Arial, sans-serif; font-size: 16px; font-weight: 700; line-height: 24px; min-height: 31px; min-width: 0; padding: 0 13px 0 32px; text-transform: uppercase; white-space: nowrap; }
.footer-cta .fa { border-left: 1px solid rgba(255,255,255,.28); font-size: 21px; margin-left: 10px; padding-left: 12px; }
.footer-social { display: flex; gap: 12px; margin: 0 0 22px; }
.footer-social a { align-items: center; background: #000; border-radius: 50%; color: #fff !important; display: flex; font-size: 22px; height: 39px; justify-content: center; width: 39px; }
.footer-map { background: transparent; height: 150px; margin: 0 0 18px; max-width: 100%; overflow: visible; position: relative; width: 300px; }
.footer-map iframe { display: block; height: 150px; max-width: 100%; width: 300px; }
.footer-address { color: #000; font-family: "Open Sans", Arial, sans-serif; font-style: normal; font-size: 16px; line-height: 26px; margin: 0 0 10px; }
.footer-address strong { font-weight: 400; }
.footer-phone { margin: 0; }
.footer-phone a { color: #000; font-family: "Open Sans", Arial, sans-serif; font-size: 16px; line-height: 26px; }
.footer-phone .fa { color: #111; font-size: 19px; margin-right: 10px; }
.footer-info { background: #169bd5; color: #fff; padding: 19px 0; }
.footer-info .container { align-items: center; display: flex; gap: 18px; justify-content: space-between; }
.footer-info span { color: #fff; font-family: "Open Sans", Arial, sans-serif; font-size: 13px; line-height: 26px; }
.footer-info nav { display: flex; flex-wrap: wrap; gap: 23px; justify-content: flex-end; }
.footer-info a { color: #fff; font-family: "Oswald", Arial, sans-serif; font-size: 13px; font-weight: 300; line-height: 20px; }

.admin-panel { background: #fff; border: 1px solid #ddd; padding: 18px; margin-bottom: 18px; }
body.admin-body { background: #f3f6f8; color: #26323b; font-family: "Lato", Arial, sans-serif; font-size: 14px; line-height: 1.5; min-height: 100vh; }
body.admin-body a { font-family: inherit; font-size: inherit; line-height: inherit; }
.admin-shell { background: #f3f6f8; display: grid; grid-template-columns: 282px minmax(0, 1fr); min-height: 100vh; }
.admin-side { background: #172228; color: #fff; display: flex; flex-direction: column; gap: 14px; height: 100vh; overflow: auto; padding: 16px 18px; position: sticky; top: 0; }
.admin-brand { align-items: center; color: #fff; display: flex; gap: 12px; padding: 3px 6px 8px; text-decoration: none; }
.admin-brand:hover { color: #fff; text-decoration: none; }
.admin-brand-mark { align-items: center; background: #169bd5; border-radius: 8px; display: inline-flex; flex: 0 0 38px; height: 38px; justify-content: center; width: 38px; }
.admin-brand-mark .fa { font-size: 19px; }
.admin-brand strong { color: #fff; display: block; font-size: 19px; font-weight: 700; line-height: 22px; }
.admin-brand small { color: #b9c8d1; display: block; font-size: 12px; line-height: 18px; }
.admin-nav { display: grid; gap: 9px; }
.admin-nav-group { display: grid; gap: 4px; }
.admin-nav-label { color: #7f98a6; font-size: 11px; font-weight: 700; line-height: 14px; padding: 0 12px 1px; text-transform: uppercase; }
.admin-nav-link { align-items: center; border-radius: 7px; color: #dbe6ec; display: flex; gap: 11px; min-height: 32px; padding: 6px 10px; text-decoration: none; transition: background .15s ease, color .15s ease; }
.admin-nav-link .fa { color: #8fb4c7; flex: 0 0 18px; font-size: 16px; text-align: center; }
.admin-nav-link:hover { background: rgba(255, 255, 255, .08); color: #fff; text-decoration: none; }
.admin-nav-link:hover .fa, .admin-nav-link.is-active .fa { color: #fff; }
.admin-nav-link.is-active { background: #169bd5; color: #fff; box-shadow: inset 3px 0 0 rgba(255, 255, 255, .45); }
.admin-side-footer { border-top: 1px solid rgba(255, 255, 255, .1); display: grid; gap: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: auto; padding-top: 10px; }
.admin-side-footer .admin-nav-link { justify-content: center; }
.admin-main { min-width: 0; }
.admin-topbar { align-items: center; background: #fff; border-bottom: 1px solid #dde6ec; display: flex; gap: 18px; justify-content: space-between; min-height: 86px; padding: 20px 30px; position: sticky; top: 0; z-index: 5; }
.admin-title-block { min-width: 0; }
.admin-eyebrow { color: #169bd5; display: block; font-size: 12px; font-weight: 700; line-height: 18px; text-transform: uppercase; }
.admin-title-block h1 { color: #1d2a33; font-size: 30px; font-weight: 700; line-height: 36px; margin: 0; overflow-wrap: anywhere; }
.admin-top-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 10px; justify-content: flex-end; }
.admin-user, .admin-top-link { align-items: center; border: 1px solid #d9e4eb; border-radius: 999px; color: #44535f; display: inline-flex; gap: 8px; min-height: 38px; padding: 8px 13px; text-decoration: none; white-space: nowrap; }
.admin-top-link { background: #f8fbfd; color: #0b8084; font-weight: 700; }
.admin-top-link:hover { background: #eef8fb; color: #066d70; text-decoration: none; }
.admin-content { padding: 28px 30px 44px; }
body.admin-body .admin-panel { background: #fff; border: 1px solid #dfe7ed; border-radius: 8px; box-shadow: 0 12px 28px rgba(31, 45, 55, .06); margin-bottom: 22px; padding: 22px; }
body.admin-body .admin-panel h2, body.admin-body .admin-panel h3 { color: #1d2a33; font-family: "Lato", Arial, sans-serif; font-weight: 700; margin: 0 0 14px; }
body.admin-body .form-row { margin-bottom: 18px; }
body.admin-body label { color: #30404b; font-size: 13px; font-weight: 700; line-height: 19px; margin-bottom: 7px; }
body.admin-body input:not([type]), body.admin-body input[type=text], body.admin-body input[type=email], body.admin-body input[type=password], body.admin-body input[type=number], body.admin-body input[type=tel], body.admin-body input[type=url], body.admin-body textarea, body.admin-body select {
  background: #fbfdff; border: 1px solid #cddae2; border-radius: 6px; color: #26323b; font: 14px/20px "Roboto", Arial, sans-serif; min-height: 42px; padding: 10px 12px; transition: border-color .15s ease, box-shadow .15s ease; width: 100%;
}
body.admin-body input[type=file] { background: #fbfdff; border: 1px dashed #b8c9d4; border-radius: 6px; color: #42515c; display: block; padding: 10px; width: 100%; }
body.admin-body input:focus, body.admin-body textarea:focus, body.admin-body select:focus { border-color: #169bd5; box-shadow: 0 0 0 3px rgba(22, 155, 213, .14); outline: 0; }
body.admin-body textarea { min-height: 150px; resize: vertical; }
body.admin-body input[type=checkbox] { margin-right: 8px; vertical-align: -2px; width: auto; }
body.admin-body .btn { background: #169bd5; border-radius: 6px; box-shadow: 0 6px 12px rgba(22, 155, 213, .16); color: #fff; font-size: 13px; font-weight: 700; line-height: 18px; padding: 9px 15px; }
body.admin-body .btn:hover { background: #0f85b8; color: #fff; text-decoration: none; }
body.admin-body .btn-primary { background: #0b8084; box-shadow: 0 6px 12px rgba(11, 128, 132, .16); }
body.admin-body .btn-primary:hover { background: #076b6f; }
body.admin-body .btn-danger { background: #b84444; box-shadow: 0 6px 12px rgba(184, 68, 68, .14); }
body.admin-body .btn-danger:hover { background: #9d3434; }
body.admin-body .btn-block { display: block; width: 100%; }
body.admin-body .alert { border-radius: 8px; font-size: 14px; line-height: 21px; margin: 0 0 18px; padding: 12px 14px; }
.admin-stat-grid { display: grid; gap: 18px; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.admin-stat-card { align-items: center; background: #fff; border: 1px solid #dfe7ed; border-radius: 8px; box-shadow: 0 12px 28px rgba(31, 45, 55, .06); color: #26323b; display: flex; gap: 15px; min-height: 116px; padding: 20px; text-decoration: none; }
.admin-stat-card:hover { border-color: #b9dce9; box-shadow: 0 14px 30px rgba(22, 155, 213, .1); color: #26323b; text-decoration: none; }
.admin-stat-icon { align-items: center; background: #eaf7fb; border-radius: 8px; color: #169bd5; display: inline-flex; flex: 0 0 46px; height: 46px; justify-content: center; width: 46px; }
.admin-stat-icon .fa { font-size: 20px; }
.admin-stat-copy strong { color: #1d2a33; display: block; font-size: 31px; font-weight: 700; line-height: 36px; }
.admin-stat-copy span { color: #63737f; display: block; font-size: 13px; line-height: 19px; }
.admin-table-panel { overflow: hidden; padding: 0 !important; }
.admin-table-wrap { overflow: auto; width: 100%; }
.admin-table { border-collapse: separate; border-spacing: 0; min-width: 760px; }
.admin-table th { background: #f7fafc; border-bottom: 1px solid #dfe7ed; color: #536572; font-size: 12px; font-weight: 700; line-height: 18px; padding: 13px 16px; text-transform: uppercase; white-space: nowrap; }
.admin-table td { border-bottom: 1px solid #eef2f5; color: #30404b; font-size: 13px; line-height: 20px; max-width: 280px; overflow: hidden; padding: 14px 16px; text-overflow: ellipsis; white-space: nowrap; }
.admin-table tr:last-child td { border-bottom: 0; }
.admin-table tr:hover td { background: #fbfdff; }
.admin-table .actions { min-width: 160px; overflow: visible; white-space: normal; }
.admin-table .actions form { margin: 0; }
.admin-pagination { align-items: center; background: #fff; border: 1px solid #dfe7ed; border-radius: 8px; box-shadow: 0 12px 28px rgba(31, 45, 55, .06); color: #63737f; display: flex; flex-wrap: wrap; gap: 12px; justify-content: space-between; margin: 14px 0 22px; padding: 12px 14px; }
.admin-pagination span { font-size: 13px; line-height: 20px; }
.admin-pagination nav { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }
.admin-pagination a, .admin-pagination strong { align-items: center; border: 1px solid #d9e4eb; border-radius: 6px; display: inline-flex; font-size: 13px; font-weight: 700; justify-content: center; line-height: 18px; min-height: 32px; min-width: 32px; padding: 6px 10px; text-decoration: none; }
.admin-pagination a { background: #f8fbfd; color: #0b8084; }
.admin-pagination a:hover { background: #eef8fb; color: #066d70; text-decoration: none; }
.admin-pagination strong { background: #169bd5; border-color: #169bd5; color: #fff; }
.admin-orders-table { min-width: 1080px; }
.admin-orders-table th, .admin-orders-table td { vertical-align: top; }
.admin-orders-table td { max-width: none; overflow: visible; text-overflow: clip; white-space: normal; }
.admin-order-id { min-width: 145px; }
.admin-order-id strong, .admin-order-id small, .admin-order-status { display: block; }
.admin-order-id small { color: #63737f; font-size: 12px; line-height: 18px; margin-top: 5px; }
.admin-order-status { background: #eaf7fb; border-radius: 999px; color: #0b8084; display: inline-block; font-size: 12px; font-weight: 700; line-height: 17px; margin-top: 6px; padding: 3px 8px; width: fit-content; }
.admin-order-status-form { display: grid; gap: 6px; margin: 8px 0 0; max-width: 155px; }
.admin-order-status-form label { margin: 0; }
.admin-order-status-form label span { color: #63737f; display: block; font-size: 11px; font-weight: 700; line-height: 14px; margin-bottom: 3px; text-transform: uppercase; }
.admin-order-status-form select { min-height: 34px !important; padding: 6px 28px 6px 8px !important; }
.admin-order-status-btn { border-radius: 5px !important; font-size: 12px !important; line-height: 16px !important; padding: 6px 10px !important; width: fit-content; }
.admin-order-customer { min-width: 210px; }
.admin-order-customer strong, .admin-order-customer a, .admin-order-customer span { display: block; line-height: 20px; overflow-wrap: anywhere; }
.admin-order-customer a { color: #0b8084; font-size: 13px; margin-top: 4px; }
.admin-order-items { min-width: 260px; }
.admin-order-item-list { display: grid; gap: 10px; list-style: none; margin: 0; padding: 0; }
.admin-order-item-list li { margin: 0; }
.admin-order-item-list strong { color: #1d2a33; display: block; line-height: 20px; }
.admin-order-item-list span { color: #63737f; display: block; font-size: 12px; line-height: 18px; margin-top: 2px; }
.admin-order-billing { min-width: 260px; }
.admin-order-details { display: grid; gap: 3px 10px; grid-template-columns: 88px minmax(0, 1fr); margin: 0; }
.admin-order-details dt { color: #63737f; font-size: 12px; font-weight: 700; line-height: 18px; }
.admin-order-details dd { color: #30404b; line-height: 18px; margin: 0; overflow-wrap: anywhere; }
.admin-order-message { border-top: 1px solid #eef2f5; margin-top: 10px; padding-top: 10px; }
.admin-order-message strong { color: #63737f; display: block; font-size: 12px; line-height: 18px; margin-bottom: 2px; }
.admin-order-message p { color: #30404b; font-size: 13px; line-height: 20px; margin: 0; overflow-wrap: anywhere; }
.admin-order-total { min-width: 95px; white-space: nowrap !important; }
.admin-order-muted { color: #8a98a3; font-style: italic; }
.admin-media-grid { display: grid; gap: 18px; grid-template-columns: repeat(auto-fill, minmax(210px, 1fr)); }
.admin-media-card { background: #fff; border: 1px solid #dfe7ed; border-radius: 8px; box-shadow: 0 12px 28px rgba(31, 45, 55, .06); margin: 0; min-width: 0; overflow: hidden; }
.admin-media-card img { aspect-ratio: 4 / 3; background: #eaf1f5; object-fit: cover; width: 100%; }
.admin-media-card figcaption { padding: 13px 14px 15px; }
.admin-media-card strong { color: #1d2a33; display: block; font-size: 14px; line-height: 20px; overflow-wrap: anywhere; }
.admin-media-card span { color: #63737f; display: block; font-size: 12px; line-height: 18px; margin-top: 4px; overflow-wrap: anywhere; }
.admin-login-body { background: #edf4f7; }
.admin-login-page { align-items: center; display: grid; min-height: 100vh; padding: 32px 16px; }
.admin-login-card { background: #fff; border: 1px solid #dfe7ed; border-radius: 8px; box-shadow: 0 18px 45px rgba(23, 34, 40, .12); margin: 0 auto; max-width: 440px; padding: 30px; width: 100%; }
.admin-login-brand { align-items: center; display: flex; gap: 14px; margin-bottom: 20px; }
.admin-login-brand img { height: 56px; object-fit: contain; width: 105px; }
.admin-login-brand span { color: #63737f; font-size: 13px; font-weight: 700; line-height: 18px; text-transform: uppercase; }
.admin-login-card h1 { color: #1d2a33; font-size: 31px; line-height: 37px; margin: 0 0 8px; }
.admin-login-card p { color: #5c6b76; font-family: "Roboto", Arial, sans-serif; font-size: 14px; line-height: 22px; margin: 0 0 22px; }

@media (max-width: 980px) {
  .admin-shell { grid-template-columns: 1fr; }
  .admin-side { height: auto; min-height: 0; position: relative; }
  .admin-nav { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-side-footer { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-topbar { position: relative; }
  .admin-stat-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .brand-row { grid-template-columns: 160px 1fr auto; gap: 14px; padding: 8px 0; }
  .header-social, .header-phone { display: none; }
  .guest-button { justify-self: end; }
  .products-grid, .service-grid, .feature-grid, .booking-grid, .blog-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .product-detail { grid-template-columns: 1fr; }
  .product-page .product-detail { grid-template-columns: 1fr; }
  .cart-layout { grid-template-columns: 1fr; }
  .cart-item-row { grid-template-columns: 1fr 80px 180px 110px 30px; }
  .booking-box form { grid-template-columns: 1fr 1fr; }
  .list-home-nav .container { display: block; min-height: 150px; padding-bottom: 24px; padding-top: 28px; }
  .list-home-nav-links, .list-home-nav > .container > .list-home-nav-cta { display: none; }
  .list-home-mobile-jump { display: grid; gap: 28px; grid-template-columns: minmax(0, 1fr) 230px; margin: 0 auto; max-width: 760px; }
  .list-home-mobile-jump select { border: 1px solid #ccc; border-radius: 3px; color: #555; font-size: 14px; height: 38px; padding: 6px 10px; width: 100%; }
  .list-home-plan-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .container { width: min(100% - 24px, 1170px); }
  .site-header { min-height: 266px; }
  .brand-row { grid-template-columns: minmax(112px, auto) auto; justify-content: center; gap: 0 12px; min-height: 266px; padding: 16px 0 20px; position: relative; }
  .brand-logo { grid-column: 1 / -1; grid-row: 1; justify-self: center; }
  .brand-logo img { width: 150px; }
  .menu-toggle { grid-column: auto; grid-row: auto; margin-top: 0; position: absolute; right: -12px; top: 42px; }
  .header-social { display: flex; grid-column: 1; grid-row: 2; flex-wrap: wrap; gap: 10px; justify-content: center; justify-self: end; margin-top: 12px; width: 100px; }
  .header-phone { display: block; grid-column: 2; grid-row: 2; justify-self: start; margin-top: 18px; }
  .header-phone a { font-size: 18px; line-height: 45px; }
  .header-phone .fa { font-size: 31px; margin-right: 10px; }
  .guest-button { font-size: 14px; grid-column: 1 / -1; grid-row: 3; justify-self: center; line-height: 20px; margin-top: 12px; max-width: 350px; padding: 6px 13px; text-align: center; white-space: normal; width: calc(100vw - 40px); }
  .page-action-row, .products-grid, .service-grid, .grid-3, .grid-2, .feature-grid, .footer-grid, .booking-grid, .blog-grid, .booking-box form, .brenda-story-grid, .brenda-actions, .contact-layout, .nashville-title-row, .nashville-property-grid, .nashville-history-row, .checkout-grid, .checkout-field-row { grid-template-columns: 1fr; }
  .page-title { padding-top: 42px; }
  .page-title h1 { font-size: 30px; line-height: 36px; max-width: 100%; overflow-wrap: anywhere; }
  .page-action { text-align: left; }
  .page-action-row h1 { font-size: 30px; }
  .shop-page .page-action-row { align-items: center; gap: 14px; grid-template-columns: minmax(76px, 1fr) minmax(0, 62%); }
  .shop-page .page-action-row h1 { font-size: 40px; line-height: 50px; }
  .shop-page .page-action { text-align: right; }
  .shop-page .page-action .btn { align-items: center; display: inline-flex; justify-content: center; min-height: 58px; white-space: normal; width: 100%; }
  .concierge-page .page-action-row { align-items: center; gap: 14px; grid-template-columns: minmax(0, 1fr) 138px; }
  .concierge-page .page-action-row h1 { font-size: 24px; line-height: 22px; }
  .concierge-page .page-action { text-align: right; }
  .concierge-page .page-action .btn { align-items: center; display: inline-flex; justify-content: center; min-height: 58px; width: 138px; }
  .hero-copy h1 { font-size: 34px; line-height: 42px; overflow-wrap: anywhere; }
  .hero-copy h2, .hero-copy h3 { font-size: 26px; line-height: 32px; }
  .hero-copy h4, .hero-copy h5 { overflow-wrap: anywhere; }
  .nashville-title-row h1 { font-size: 39px; line-height: 34px; margin-left: 8px; }
  .nashville-title-row h1 span { display: block; }
  .nashville-title-row .nashville-title-sub { margin-top: -8px; white-space: nowrap; }
  .nashville-title-row p { font-size: 24px; line-height: 30px; margin: 2px 33px 0 0; text-align: right; }
  .nashville-property-grid { gap: 20px; }
  .nashville-history-row img { max-width: 100%; }
  .about-hero h1 { font-size: 34px; line-height: 42px; }
  .about-copy { padding-top: 60px; }
  .about-awards { flex-wrap: wrap; }
  .contact-inner { padding-top: 30px; }
  .cart-notice { align-items: flex-start; flex-direction: column; gap: 8px; padding: 12px 0; }
  .cart-item-row { grid-template-columns: 1fr; }
  .cart-item-product { grid-template-columns: 92px 1fr; }
  .cart-item-product img { height: 68px; width: 92px; }
  .cart-remove { width: 38px; }
  .home-hero { min-height: 520px; }
  .home-search { grid-template-columns: 1fr; gap: 0; }
  .home-search button { justify-self: center; margin-top: 0; width: 85px; }
  .home-search-panel h1 { font-size: 38px; line-height: 42px; }
  .home-copy h2 { font-size: 24px; }
  .home-copy h4.review-quote { font-size: 22px; }
  .list-home-nav .container { min-height: 150px; }
  .list-home-mobile-jump { gap: 28px; grid-template-columns: 1fr; }
  .list-home-mobile-jump .list-home-cta { justify-self: center; min-width: 195px; }
  .list-home-hero { background-position: center center; min-height: 456px; padding: 82px 0 48px; }
  .list-home-hero h1 { font-size: 35px; line-height: 43px; margin-bottom: 44px; }
  .list-home-hero p { font-size: 20px; line-height: 25px; margin-bottom: 34px; }
  .list-home-wide-cta { white-space: normal; width: 100%; }
  .list-home-feature-row { padding: 38px 0 18px; }
  .list-home-feature-row .container, .list-home-benefits .container, .list-home-faq .container, .list-home-step-grid, .list-home-plan-grid { grid-template-columns: 1fr; }
  .list-home-feature-row article { border-bottom: 1px solid #ddd; border-right: 0; min-height: 0; padding: 24px 10px; }
  .list-home-feature-row article:last-child { border-bottom: 0; }
  .list-home-partners { padding-bottom: 24px; }
  .list-home-benefits .container { gap: 24px; }
  .list-home-benefits article { grid-template-columns: 36px 1fr; }
  .list-home-faq img { display: none; }
  .list-home-faq div div { padding: 28px 20px 22px; }
  .list-home-steps { padding-top: 36px; }
  .list-home-step-grid { gap: 28px; }
  .list-home-pricing h2, .list-home-steps h2 { font-size: 24px; line-height: 30px; }
  .list-home-downloads { gap: 12px; }
  .welcome-location-row { padding-right: 0; }
  .welcome-location-row h1 { font-size: 38px; }
  .welcome-location-row p { font-size: 20px; }
  .welcome-property-grid { grid-template-columns: 1fr; min-height: 0; }
  .welcome-property-card h3 { white-space: normal; }
  #bedspage h1 { font-family: "Oswald", "Lato", Arial, sans-serif; font-size: 28px; line-height: 36px; }
  .welcome-detail-2bed #bedspage { padding-top: 0; }
  .welcome-detail-2bed #bedspage h1 { font-family: "Oswald", "Lato", Arial, sans-serif; font-size: 28px; line-height: 32px; margin-bottom: 0; white-space: normal; }
  .welcome-detail-4bed #bedspage h1 { font-family: "Oswald", "Lato", Arial, sans-serif; font-size: 28px; line-height: 32px; margin-bottom: 0; }
  .welcome-detail-2bed #bedspage hr { margin: 0; }
  #bedspage .row { margin-left: 0; margin-right: 0; }
  #bedspage [class*="span"] { padding-left: 0; padding-right: 0; width: 100%; }
  #bedspage .span1 { display: none; }
  #bedspage .span5 { margin-bottom: 20px; }
  #bedspage .span7 iframe { height: 330px; }
  .booking-calendar-page .booking-grid { grid-template-columns: 1fr; gap: 24px; }
  .booking-calendar-page .booking-heading h1 { font-size: 40px; line-height: 50px; }
  .booking-calendar-page .booking-copy select { max-width: 100%; width: 240px; }
  .booking-calendar-page .xdsoft_datetimepicker { max-width: 100%; padding-right: 0; width: 100%; }
  .booking-calendar-page .xdsoft_datetimepicker .xdsoft_datepicker { max-width: calc(100% - 70px); width: 280px; }
  .booking-calendar-page .xdsoft_datetimepicker .xdsoft_timepicker { width: 62px; }
  .product-page .product-option-row { grid-template-columns: 24px 1fr; gap: 8px 14px; }
  .product-page .product-option-row strong { grid-column: 2; }
  .footer-cta { gap: 8px; padding-left: 18px; white-space: normal; }
  .brenda-room-image { text-align: left; }
  .footer-info .container { align-items: flex-start; flex-direction: column; }
  .footer-info nav { gap: 12px 18px; justify-content: flex-start; }
  .home-panel { padding: 20px; }
  .blog-page { padding-top: 34px; }
  .blog-index-header { margin-bottom: 24px; padding-bottom: 18px; }
  .blog-index-header h1 { font-size: 30px; line-height: 36px; }
  .blog-index-header span { font-size: 14px; line-height: 22px; }
  .blog-grid { gap: 20px; }
  .blog-card-body { padding: 16px; }
  .blog-card h2 { font-size: 21px; line-height: 27px; }
  .blog-single-page { padding-top: 34px; }
  .blog-post-header { margin-bottom: 22px; padding-bottom: 18px; }
  .blog-post-header h1 { font-size: 31px; line-height: 38px; }
  .blog-post-header p { font-size: 12px; line-height: 20px; }
  .blog-post-hero { margin-bottom: 22px; }
  .blog-post-hero img { max-height: none; }
  .blog-single-content, .blog-single-content p, .blog-single-content ul, .blog-single-content ol { font-size: 15px; line-height: 28px; }
  .blog-single-content h1, .blog-single-content h2 { font-size: 27px; }
  .blog-single-content h3 { font-size: 23px; }
  .admin-shell { grid-template-columns: 1fr; }
  .admin-side { gap: 16px; padding: 18px 14px; }
  .admin-brand { padding-bottom: 10px; }
  .admin-nav, .admin-side-footer { grid-template-columns: 1fr; }
  .admin-topbar { align-items: flex-start; flex-direction: column; min-height: 0; padding: 18px 16px; }
  .admin-top-actions { justify-content: flex-start; width: 100%; }
  .admin-title-block h1 { font-size: 25px; line-height: 31px; }
  .admin-content { padding: 18px 14px 30px; }
  body.admin-body .admin-panel { padding: 18px; }
  .admin-stat-grid { grid-template-columns: 1fr; gap: 14px; }
  .admin-stat-card { min-height: 94px; padding: 16px; }
  .admin-media-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .admin-login-card { padding: 24px 20px; }
}
