/* Shorewood additions on top of the shared Smartland property design system (theme.css). */

/* ---------- Hero photo slideshow (stands in for the video hero) ---------- */
.sw-hero-slides { position: absolute; inset: 0; overflow: hidden; z-index: 0; }
.sw-hero-slide { position: absolute; inset: 0; background-size: cover; background-position: center; opacity: 0; transition: opacity 1.4s ease; transform: scale(1.04); }
.sw-hero-slide.is-active { opacity: 1; animation: swKen 9s ease-out forwards; }
@keyframes swKen { from { transform: scale(1.04); } to { transform: scale(1.12); } }
@media (prefers-reduced-motion: reduce) { .sw-hero-slide.is-active { animation: none; } }

/* ---------- Smartland Alerts plugin banner, restyled like the design-system alert ---------- */
#smartland-alert-container .alert-banner { background: var(--accent) !important; color: #fff !important; padding: .55rem 2.5rem .55rem 1rem !important; text-align: center; font-size: .85rem; position: relative; margin: 0 !important; border: 0 !important; border-radius: 0 !important; }
#smartland-alert-container .container { max-width: 1200px; margin: 0 auto; padding: 0; }
#smartland-alert-container .alert-text, #smartland-alert-container .alert-text * { color: #fff !important; font-family: var(--font-sans); font-size: .85rem; line-height: 1.5; }
#smartland-alert-container a { text-decoration: underline; margin-left: .25rem; }

/* ---------- Fluent Forms in design-system cards ---------- */
.sw-theme .fluentform { margin: 0 !important; }
.sw-theme .fluentform .ff-el-group { margin-bottom: .8rem !important; }
.sw-theme .fluentform .ff-el-input--label label { font-size: .8rem !important; font-weight: 600 !important; color: var(--fg); margin-bottom: .3rem !important; font-family: var(--font-sans); }
.sw-theme .fluentform .ff-el-is-required.asterisk-right label:after { color: var(--brand-pink) !important; }
.sw-theme .fluentform .ff-el-form-control { width: 100% !important; padding: .72rem 1rem !important; border: 1px solid var(--border) !important; border-radius: var(--radius-sm) !important; font-size: .9rem !important; font-family: var(--font-sans) !important; color: var(--fg) !important; background: #fff !important; box-shadow: none !important; min-height: 44px; line-height: 1.3 !important; }
.sw-theme .fluentform textarea.ff-el-form-control { min-height: 120px; }
.sw-theme .fluentform .ff-el-form-control:focus { border-color: var(--brand-pink) !important; outline: none !important; }
.sw-theme .fluentform .ff-t-container { gap: .6rem; }
.sw-theme .fluentform .ff_submit_btn_wrapper { margin: 1rem 0 0 !important; }
.sw-theme .fluentform .ff-btn-submit { width: 100%; background: var(--brand-pink) !important; color: #fff !important; border: 0 !important; border-radius: var(--radius-md) !important; padding: .9rem 1.5rem !important; font-family: var(--font-sans) !important; font-weight: 600 !important; font-size: .95rem !important; cursor: pointer; transition: background .15s; }
.sw-theme .fluentform .ff-btn-submit:hover { background: var(--brand-pink-dark) !important; }
.sw-theme .fluentform .error, .sw-theme .fluentform .text-danger { font-size: .78rem; }
.sw-theme .ff-message-success { padding: 1rem; border-radius: var(--radius-md); background: rgba(16,185,129,.1); color: #065f46; font-weight: 600; border: 0; box-shadow: none; }
.sw-theme .fluentform .ff-el-form-check { display: inline-flex; align-items: center; gap: .4rem; margin-right: 1rem; }
@media (min-width: 640px) {
	.bwt-tour-card .fluentform .ff-btn-submit { width: auto; }
}
/* Dark hero form card */
.bwt-form-card--dark .fluentform .ff-el-input--label label, .bwt-form-card--dark .fluentform .ff-el-help-message { color: rgba(255,255,255,.85) !important; }
.bwt-form-card--dark .fluentform .ff-el-form-control { background: rgba(255,255,255,.08) !important; border-color: rgba(255,255,255,.22) !important; color: #fff !important; }
.bwt-form-card--dark .fluentform select.ff-el-form-control option { color: #11202a; }
.bwt-form-card--dark .fluentform .ff-el-form-control::placeholder { color: rgba(255,255,255,.5) !important; }
.bwt-form-card--dark .sw-noscript, .bwt-form-card--dark .slsw-contactline, .bwt-form-card--dark .slsw-contactline a { color: rgba(255,255,255,.85); }
.slsw-contactline { font-size: .8rem; color: var(--fg-muted); margin: .75rem 0 0; line-height: 1.5; }
.slsw-contactline a { color: var(--brand-pink); }
.sw-noscript { font-size: .85rem; }

/* ---------- Small additions ---------- */
.sw-special-note { margin: 1rem 0 0; padding: .8rem 1rem; border-radius: var(--radius-md); background: rgba(235,20,110,.06); border: 1px solid rgba(235,20,110,.2); font-size: .92rem; }
.sw-floor-price { display: block; font-family: var(--font-sans); font-size: .9rem; font-weight: 600; color: var(--brand-pink); margin-top: .2rem; }
.sw-review-src { font-weight: 400; color: var(--fg-muted); font-size: .8rem; }
.bwt-reviews .bwt-lead a { color: var(--brand-pink); text-decoration: underline; }
.sw-drawer-phone { margin-top: 1rem; }
.sw-drawer-phone a { display: inline-flex; gap: .4rem; align-items: center; font-weight: 600; color: var(--brand-navy); }
.sw-grid-4 { grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)) !important; }
.sw-fees .bwt-kitchen-specs__list li { align-items: flex-start; }
.sw-footer-hours { color: rgba(255,255,255,.7); font-size: .88rem; }
.sw-nbhd-note { margin-top: 1rem; color: var(--fg-muted); font-size: .9rem; }
.sw-distances .bwt-avail-now__table td:first-child { font-weight: 600; }
.sw-event-noimg { display: flex; align-items: center; justify-content: center; aspect-ratio: 16/10; background: var(--bg-muted); color: var(--brand-pink); }
.sw-past { color: var(--brand-pink); font-weight: 600; font-size: .85rem; }
.sw-tour-where { margin-top: 1rem; }
.sw-tour-where .bwt-btn { margin-top: .75rem; }
.bwt-360__preview { display: block; }
.bwt-360__preview img { width: 100%; height: 100%; object-fit: cover; }
.neighborhood-page__category-item.is-active { border-color: var(--brand-pink); color: var(--brand-pink); }

/* Legacy page content rendered inside .bwt-prose (privacy, terms, thank you) */
.bwt-prose .elementor-section .elementor-container { max-width: 100%; }
.bwt-prose img { height: auto; }

/* Available Now table (from the Smartland property sites) */
.bwt-avail-now__wrap{overflow-x:auto;background:var(--bg-card,#fff);border:1px solid var(--border,#e5e1da);border-radius:var(--radius-md,12px);box-shadow:var(--shadow-sm,none)}
.bwt-avail-now__table{width:100%;border-collapse:collapse;font-size:.95rem;color:var(--fg,#11202a)}
.bwt-avail-now__table th{background:var(--brand-navy,#0e2a3a);color:#fff;text-align:left;font-weight:600;font-size:.78rem;letter-spacing:.08em;text-transform:uppercase;padding:.85rem 1rem}
.bwt-avail-now__table td{padding:.85rem 1rem;border-top:1px solid var(--border,#e5e1da);vertical-align:middle}
.bwt-avail-now__table tbody tr:nth-child(even) td{background:var(--bg-muted,#f5f3ef)}
.bwt-avail-now__action{text-align:right;white-space:nowrap}
.bwt-avail-now__action .bwt-btn+.bwt-btn{margin-left:.4rem}
.bwt-avail-now__unit{color:var(--brand-navy,#0e2a3a);font-weight:600;text-decoration:underline;text-underline-offset:2px}
.bwt-avail-now__unit:hover{color:var(--brand-pink,#eb146e)}
.bwt-avail-now__now{display:inline-block;background:var(--brand-pink,#eb146e);color:#fff;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;padding:.2rem .6rem;border-radius:100px}
.bwt-avail-now__updated,.bwt-avail-now__empty{margin-top:1rem;font-size:.85rem;color:var(--fg-muted,#5c6873);text-align:center}
@media (max-width:640px){
 .bwt-avail-now__wrap{border:0;box-shadow:none;background:transparent}
 .bwt-avail-now__table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
 .bwt-avail-now__table tr{display:block;background:var(--bg-card,#fff);border:1px solid var(--border,#e5e1da);border-radius:var(--radius-md,12px);margin-bottom:.75rem;padding:.5rem 0}
 .bwt-avail-now__table td{display:flex;justify-content:space-between;gap:1rem;border:0;padding:.4rem 1rem;background:transparent!important}
 .bwt-avail-now__table td[data-label]::before{content:attr(data-label);font-weight:600;color:var(--fg-muted,#5c6873)}
 .bwt-avail-now__action{justify-content:flex-end!important}
}

/* ---------- Shorewood page additions ---------- */
.sw-plan-hero-meta { display: flex; flex-wrap: wrap; gap: .5rem 1.25rem; margin-top: 1rem; color: rgba(255,255,255,.9); font-weight: 600; }
.sw-plan-figure { background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 1rem; }
.sw-plan-figure img { width: 100%; height: auto; display: block; }
.sw-plan-figure figcaption { text-align: center; font-size: .85rem; color: var(--fg-muted); margin-top: .5rem; }
.sw-price-table td:first-child, .sw-price-table th:first-child { font-weight: 600; }
.sw-internet-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 1.25rem; }
.sw-internet-card { background: #fff; border: 1px solid var(--border); border-radius: var(--radius-lg); padding: 1.5rem; text-align: center; box-shadow: var(--shadow-sm); }
.sw-internet-card__name { font-family: var(--font-serif); font-size: 1.35rem; color: var(--brand-navy); margin: 0 0 .25rem; }
.sw-internet-card__speed { color: var(--fg-muted); font-weight: 600; letter-spacing: .04em; }
.sw-internet-card__price { font-size: 2rem; font-weight: 700; color: var(--brand-pink); margin: .75rem 0 .25rem; }
.sw-internet-card__price small { font-size: .9rem; color: var(--fg-muted); font-weight: 500; }
.sw-schools { margin-top: 1.5rem; }
.sw-schools li { margin: .25rem 0; }
.bwt-floor-card__title a { color: inherit; text-decoration: none; }
.bwt-floor-card__title a:hover { color: var(--brand-pink); }
img { max-width: 100%; }
html, body { overflow-x: hidden; }
