/* Apartman Aurora — Elementor widget styles (homepage sections). */

.aa-elementor-placeholder {
	padding: 24px;
	border: 2px dashed var(--aa-border, #ddd);
	border-radius: 12px;
	text-align: center;
	color: var(--aa-muted, #888);
}

/* Hero */
.aa-hero {
	position: relative;
	isolation:isolate;
	min-height: 90vh;
	display: flex;
	align-items: flex-end;
	background-color: var(--aa-ink, #000);
	background-size: cover;
	background-position: center;
	color: #fff;
	padding-bottom: clamp(48px, 8vw, 96px);
	padding-top: 160px;
}
.aa-hero__slides,.aa-hero__slide,.aa-hero__background-video{position:absolute;inset:0;width:100%;height:100%}
.aa-hero__slides,.aa-hero__background-video{z-index:-2}
.aa-hero__slide{opacity:0;background-position:center;background-size:cover;transition:opacity .9s ease}
.aa-hero__slide.is-active{opacity:1}
.aa-hero__background-video{object-fit:cover}
.aa-hero__overlay {
	position: absolute;
	inset: 0;
	z-index:-1;
	background: linear-gradient(180deg, rgba(0,0,0,0.55) 0%, rgba(0,0,0,0.15) 40%, rgba(0,0,0,0.65) 100%);
}
.aa-hero__inner { position: relative; z-index: 1; max-width:none; display:grid;grid-template-columns:minmax(0,1fr) auto;gap:clamp(30px,6vw,90px);align-items:end; }
.aa-hero__copy{max-width:900px}
.aa-hero__subheading { text-transform: uppercase; letter-spacing: 0.12em; font-size: 0.85rem; margin-bottom: 12px; opacity: 0.9; }
.aa-hero__heading { font-family: var(--aa-font-title); font-weight: 300; font-size: clamp(2.6rem, 6vw, 5.2rem); color: #fff; margin-bottom: 28px; }
.aa-hero__actions { display: flex; flex-wrap: wrap; gap: 16px; }
.aa-hero__play{display:grid;place-items:center;gap:12px;min-width:150px;padding:0;border:0;background:transparent;color:#fff;font:inherit;font-weight:600;cursor:pointer}
.aa-hero__play-icon{display:inline-flex!important;align-items:center;justify-content:center;width:84px;height:84px;padding-left:5px;border:1px solid rgba(255,255,255,.7);border-radius:50%;background:rgba(255,255,255,.14);backdrop-filter:blur(10px);font-size:24px;box-shadow:0 16px 42px rgba(0,0,0,.22);transition:transform .3s ease,background .3s ease}
.aa-hero__play:hover .aa-hero__play-icon{transform:scale(1.08);background:var(--aa-primary)}
.aa-hero__slider-controls{position:absolute;right:var(--aa-gutter);bottom:clamp(40px,6vw,78px);z-index:2;display:flex;gap:8px}
.aa-hero__slider-controls button{display:grid;place-items:center;width:46px;height:46px;border:1px solid rgba(255,255,255,.55);border-radius:50%;background:rgba(25,15,8,.38);color:#fff;font-size:20px;cursor:pointer;backdrop-filter:blur(7px)}
.aa-video-modal{position:fixed;inset:0;z-index:1000000;display:none;place-items:center;padding:clamp(18px,4vw,60px)}
.aa-video-modal.is-open{display:grid}
.aa-video-modal__backdrop{position:absolute;inset:0;border:0;background:rgba(18,10,5,.88);cursor:pointer}
.aa-video-modal__dialog{position:relative;z-index:1;width:min(1080px,94vw)}
.aa-video-modal__close{position:absolute;right:-15px;top:-55px;display:grid;place-items:center;width:42px;height:42px;border:1px solid rgba(255,255,255,.5);border-radius:50%;background:#fff;color:var(--aa-text);cursor:pointer}
.aa-video-modal__media{overflow:hidden;border-radius:8px;background:#000;box-shadow:0 30px 100px rgba(0,0,0,.45)}
.aa-video-modal iframe,.aa-video-modal video{display:block;width:100%;aspect-ratio:16/9;height:auto;border:0}
body.aa-modal-open{overflow:hidden}
.aa-btn--on-dark.aa-btn--outline { color: #fff; border-color: rgba(255,255,255,0.6); }
.aa-btn--on-dark.aa-btn--outline:hover { background: #fff; color: var(--aa-ink); }
@media(max-width:760px){.aa-hero__inner{grid-template-columns:1fr}.aa-hero__play{position:absolute;right:var(--aa-gutter);bottom:4px;min-width:auto}.aa-hero__play span:last-child{display:none}.aa-hero__play-icon{width:60px;height:60px}.aa-hero__slider-controls{bottom:24px}.aa-video-modal__close{right:0}}

/* Section heading */
.aa-section-heading { margin-bottom: clamp(28px, 4vw, 48px); }
.aa-section-heading--center { text-align: center; }
.aa-section-heading__title { max-width: 46ch; }
.aa-section-heading--center .aa-section-heading__title { margin-inline: auto; }

/* Property intro */
.aa-property-intro__inner {
	display: grid;
	gap: 40px;
	align-items: end;
}
@media (min-width: 900px) { .aa-property-intro__inner { grid-template-columns: 1.4fr 1fr; } }
.aa-property-intro__copy h2 { max-width: 20ch; }
.aa-property-intro__text { color: var(--aa-muted); max-width: 55ch; }
.aa-property-intro__stats { list-style: none; margin: 0; padding: 0; display: flex; gap: clamp(24px, 4vw, 56px); }
.aa-property-intro__stat-number { display: block; font-family: var(--aa-font-title); font-size: clamp(2rem, 3vw, 2.8rem); color: var(--aa-ink); }
.aa-property-intro__stat-label { display: block; font-size: 0.85rem; color: var(--aa-muted); }
.aa-property-intro--media .aa-property-intro__inner{align-items:center;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr)}
.aa-property-intro__media{position:relative;overflow:hidden;min-height:420px;border-radius:8px;background:var(--aa-secondary);box-shadow:var(--aa-shadow-md)}
.aa-property-intro__media img,.aa-property-intro__media iframe{display:block;width:100%;height:100%;min-height:420px;border:0;object-fit:cover}
@media(max-width:800px){.aa-property-intro--media .aa-property-intro__inner{grid-template-columns:1fr}.aa-property-intro__media,.aa-property-intro__media img,.aa-property-intro__media iframe{min-height:300px}}

/* Categories */
.aa-categories { display: grid; gap: 24px; grid-template-columns: 1fr; max-width: 1050px; margin-inline: auto; }
@media (min-width: 640px) { .aa-categories--cols-3 { grid-template-columns: repeat(3, 1fr); } .aa-categories--cols-4 { grid-template-columns: repeat(4, 1fr); } .aa-categories--cols-5 { grid-template-columns: repeat(3, 1fr); } }
@media (min-width: 640px) { .aa-categories--cols-2 { grid-template-columns: repeat(2, 1fr); } }
@media (min-width: 1024px) { .aa-categories--cols-5 { grid-template-columns: repeat(5, 1fr); } }
.aa-category-tile {
	position: relative;
	display: flex;
	align-items: flex-end;
	min-height: clamp(280px, 30vw, 390px);
	overflow: hidden;
	background: var(--aa-text);
	border: 1px solid var(--aa-border);
	border-radius: 8px;
	padding: 0;
	transition: transform var(--aa-speed) var(--aa-ease), box-shadow var(--aa-speed) var(--aa-ease), border-color var(--aa-speed) var(--aa-ease);
}
.aa-category-tile:hover { transform: translateY(-4px); box-shadow: var(--aa-shadow-sm); border-color: var(--aa-primary); }
.aa-category-tile__media { position:absolute; inset:0; }
.aa-category-tile__media::after { content:""; position:absolute; inset:0; background:linear-gradient(180deg,rgba(20,12,7,.04) 34%,rgba(31,18,10,.88) 100%); }
.aa-category-tile__media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .5s var(--aa-ease); }
.aa-category-tile:hover .aa-category-tile__media img { transform:scale(1.035); }
.aa-category-tile__content { position:relative; z-index:1; display:block; width:100%; padding:28px 30px; color:#fff; }
.aa-category-tile__name { display: block; font-family: var(--aa-font-title); font-size:clamp(1.55rem,2.4vw,2.2rem); line-height:1.15; margin-bottom: 7px; color:#fff; }
.aa-category-tile__count { display: block; font-size: 0.9rem; color:rgba(255,255,255,.82); }

/* Icon features */
.aa-icon-features { display: grid; gap: 18px; grid-template-columns: 1fr; }
@media (min-width: 768px) { .aa-icon-features { grid-template-columns: repeat(4, 1fr); } }
.aa-icon-feature { text-align: left; padding:26px; background:#fff; border:1px solid var(--aa-border); border-radius:8px; }
.aa-icon-feature__icon { display: inline-flex!important; align-items: center!important; justify-content: center!important; width: 48px; height: 48px; padding:0; border-radius: 6px; background: var(--aa-secondary); color: var(--aa-primary); margin-bottom: 16px; font-size: 22px; line-height:1!important; text-align:center; }
.aa-icon-feature__icon::before { display:block; width:1em; height:1em; margin:0; line-height:1; text-align:center; }
.aa-icon-feature__text { color: var(--aa-muted); font-size: 0.9rem; }

/* Amenities widget (property-wide) */
.aa-amenities-widget { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 16px; }
.aa-amenities-widget li { display: flex; align-items: center; gap: 10px; }
.aa-amenities-widget i,.aa-amenities-widget span[class*="fa-"] { color: var(--aa-primary); }

/* Promo banner */
.aa-promo-banner__inner { display: grid; gap: clamp(28px,4vw,56px); align-items: center; }
@media (min-width: 900px) { .aa-promo-banner__inner { grid-template-columns: 1fr 1fr; } }
.aa-promo-banner--img-right .aa-promo-banner__media { order: 2; }
.aa-promo-banner__media { height:clamp(300px,38vw,520px); overflow:hidden; border-radius:8px; background:var(--aa-secondary); }
.aa-promo-banner__media img { display:block; border-radius:0; width:100%; height:100%; object-fit:cover; object-position:center; transition:transform .65s var(--aa-ease),filter .65s var(--aa-ease); }
.aa-promo-banner:hover .aa-promo-banner__media img { transform:scale(1.035); filter:saturate(1.06); }
.aa-promo-banner__copy { max-width: 46ch; }
@media (max-width:899px) { .aa-promo-banner__media { height:clamp(260px,64vw,430px); } }

/* Testimonials */
.aa-testimonials { display: grid; gap: 20px; grid-template-columns: 1fr; }
@media (min-width: 768px) { .aa-testimonials { grid-template-columns: repeat(3, 1fr); } }
.aa-testimonial-card { margin: 0; background: #fff; border-radius: var(--aa-radius-md); padding: 28px; box-shadow: var(--aa-shadow-sm); }
.aa-testimonial-card__rating { color: var(--aa-primary); margin-bottom: 10px; }
.aa-testimonial-card__text { font-style: italic; color: var(--aa-text); }
.aa-testimonial-card__footer { display: flex; align-items: center; gap: 12px; margin-top: 16px; }
.aa-testimonial-card__avatar { width: 44px; height: 44px; border-radius: 50%; object-fit: cover; }
.aa-testimonial-card__name { font-style: normal; font-weight: 600; display: block; }
.aa-testimonial-card__location { font-size: 0.8rem; color: var(--aa-muted); }

/* CTA banner */
.aa-cta-banner { background: var(--aa-ink); color: #fff; padding-block: clamp(48px, 6vw, 96px); text-align: center; }
.aa-cta-banner h2 { color: #fff; }
.aa-cta-banner p { color: rgba(255,255,255,0.75); max-width: 50ch; margin-inline: auto; }

/* FAQ */
.aa-faq { max-width: 800px; }
.aa-faq__item { border-bottom: 1px solid var(--aa-border); padding-block: 16px; }
.aa-faq__question { cursor: pointer; font-family: var(--aa-font-title); font-size: 1.05rem; list-style: none; }
.aa-faq__question::-webkit-details-marker { display: none; }
.aa-faq__question::after { content: '+'; float: right; }
.aa-faq__item[open] .aa-faq__question::after { content: '−'; }
.aa-faq__answer { margin-top: 12px; color: var(--aa-muted); }

/* Extended Apartman widgets */
.aa-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:0;padding-block:clamp(36px,5vw,72px)}
.aa-stat{padding:18px clamp(16px,4vw,46px);border-right:1px solid var(--aa-border);text-align:center}.aa-stat:last-child{border-right:0}
.aa-stat strong{display:block;font-family:var(--aa-font-title);font-size:clamp(2rem,5vw,4.5rem);font-weight:300;line-height:1;color:var(--aa-text)}.aa-stat span{display:block;margin-top:10px;color:var(--aa-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.82rem}
.aa-page-hero{position:relative;min-height:430px;display:flex;align-items:flex-end;padding:160px 0 72px;color:#fff;background:#3f2513 center/cover no-repeat}.aa-page-hero__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(18,9,3,.36),rgba(18,9,3,.78))}.aa-page-hero__inner{position:relative;z-index:1}.aa-page-hero h1{color:#fff;font-size:clamp(2.7rem,6vw,5.2rem);max-width:16ch}.aa-page-hero p:not(.aa-eyebrow){max-width:60ch;font-size:1.05rem;color:rgba(255,255,255,.85)}
.aa-gallery{display:grid;gap:18px;padding-block:clamp(48px,7vw,96px)}.aa-gallery--cols-2{grid-template-columns:repeat(2,1fr)}.aa-gallery--cols-3{grid-template-columns:repeat(3,1fr)}.aa-gallery--cols-4{grid-template-columns:repeat(4,1fr)}.aa-gallery__item{margin:0;overflow:hidden;border-radius:var(--aa-radius-md);min-height:260px}.aa-gallery__item:nth-child(5n+1){grid-column:span 2}.aa-gallery__item img{width:100%;height:100%;min-height:260px;object-fit:cover;transition:transform .6s var(--aa-ease)}.aa-gallery__item:hover img{transform:scale(1.04)}
.aa-location-section{padding-block:clamp(56px,8vw,110px)}
.aa-location{max-width:var(--aa-content-max-width,1280px);display:grid;grid-template-columns:.85fr 1.35fr;gap:clamp(30px,6vw,80px);align-items:center}.aa-location__copy h2{font-size:clamp(2.1rem,4vw,3.8rem);line-height:1.06}.aa-location__copy>p:not(.aa-eyebrow){color:var(--aa-muted)}.aa-location__copy strong{display:block;margin-top:20px}.aa-location__copy .aa-btn{margin-top:22px}.aa-location__map{width:100%;min-height:500px;border:0;border-radius:8px;box-shadow:var(--aa-shadow-md)}
.aa-nearby{max-width:var(--aa-content-max-width,1280px);padding-top:clamp(70px,9vw,125px)}.aa-nearby__head{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,.65fr);gap:16px 50px;align-items:end;margin-bottom:36px}.aa-nearby__head .aa-eyebrow{grid-column:1/-1;margin:0}.aa-nearby__head h2{margin:0;font-size:clamp(2rem,4vw,3.5rem);max-width:18ch}.aa-nearby__head>p:last-child{margin:0;color:var(--aa-muted);max-width:52ch}
.aa-nearby__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.aa-nearby-card{overflow:hidden;min-height:260px;border:1px solid var(--aa-border);border-radius:8px;background:#fff;transition:transform .3s ease,box-shadow .3s ease}.aa-nearby-card:hover{transform:translateY(-4px);box-shadow:var(--aa-shadow-md)}.aa-nearby-card>img{width:100%;height:150px;object-fit:cover}.aa-nearby-card__body{padding:24px}.aa-nearby-card__icon{display:flex!important;align-items:center;justify-content:center;width:46px;height:46px;margin-bottom:24px;border-radius:6px;background:var(--aa-secondary);color:var(--aa-primary);font-size:20px}.aa-nearby-card h3{font-size:1.15rem;margin-bottom:10px;font-weight:600}.aa-nearby-card p{margin:0;color:var(--aa-muted);font-size:.88rem;line-height:1.7}
.aa-contact{max-width:var(--aa-content-max-width,1280px);padding-block:clamp(56px,8vw,110px)}
.aa-contact__layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(390px,1.1fr);gap:clamp(34px,6vw,84px);align-items:start}
.aa-contact__intro{max-width:620px;margin-bottom:30px}.aa-contact__intro h2{font-size:clamp(2.1rem,4vw,3.7rem);line-height:1.06}.aa-contact__intro>p:last-child{color:var(--aa-muted)}
.aa-contact__cards{display:grid;grid-template-columns:1fr 1fr;gap:13px}.aa-contact__cards>*{position:relative;min-height:142px;padding:22px;background:#fff7f1;border:1px solid var(--aa-border);border-radius:8px;display:flex;flex-direction:column;justify-content:flex-end;transition:transform var(--aa-speed) var(--aa-ease),box-shadow var(--aa-speed) var(--aa-ease)}.aa-contact__cards>*:last-child{grid-column:1/-1}.aa-contact__cards>*:hover{transform:translateY(-3px);box-shadow:var(--aa-shadow-sm)}.aa-contact__cards i{position:absolute;top:20px;right:20px;color:var(--aa-primary);font-size:20px}.aa-contact__cards span{color:var(--aa-primary);text-transform:uppercase;letter-spacing:.1em;font-size:.72rem}.aa-contact__cards strong{font-size:1.05rem;margin-top:7px}.aa-contact__cards small{color:var(--aa-muted);margin-top:3px}
.aa-contact__form-card{padding:clamp(28px,4vw,48px);border-radius:8px;background:var(--aa-text);color:#fff;box-shadow:var(--aa-shadow-md)}.aa-contact__form-card h3{color:#fff;font-size:clamp(1.8rem,3vw,2.6rem);margin-bottom:8px}.aa-contact__form-card>p:not(.aa-eyebrow):not(.aa-form-notice){color:rgba(255,255,255,.7);margin-bottom:25px}
.aa-contact-form{display:grid;grid-template-columns:1fr 1fr;gap:14px}.aa-contact-form label{display:grid;gap:6px}.aa-contact-form label span{font-size:.72rem;text-transform:uppercase;letter-spacing:.07em;color:rgba(255,255,255,.76)}.aa-contact-form input,.aa-contact-form textarea{width:100%;border:1px solid rgba(255,255,255,.18);border-radius:6px;background:rgba(255,255,255,.09);color:#fff;padding:12px 13px;font:inherit}.aa-contact-form__message{grid-column:1/-1}.aa-contact-form button{grid-column:1/-1;justify-self:start;margin-top:4px}
.aa-booking{width:min(920px,calc(100% - 40px));margin:clamp(48px,8vw,110px) auto;background:#fff;border-radius:24px;padding:clamp(28px,5vw,58px);box-shadow:var(--aa-shadow-md);border:1px solid var(--aa-border)}.aa-booking__head{text-align:center;margin-bottom:32px}.aa-booking__form{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.aa-booking__form label{display:flex;flex-direction:column;gap:7px;font-weight:500}.aa-booking__form label span{font-size:.82rem;text-transform:uppercase;letter-spacing:.05em}.aa-booking__form input,.aa-booking__form select,.aa-booking__form textarea{width:100%;min-height:52px;border:1px solid var(--aa-border);background:#f8f6f4;border-radius:14px;padding:12px 15px;font:inherit;color:var(--aa-text)}.aa-booking__message{grid-column:1/-1}.aa-booking__form button{grid-column:1/-1;justify-self:center}.aa-booking--compact{width:100%;margin:0}.aa-booking--compact .aa-booking__form{grid-template-columns:repeat(5,1fr);align-items:end}.aa-booking--compact .aa-booking__form button{grid-column:auto;white-space:nowrap}.aa-form-notice{padding:12px 16px;border-radius:10px;text-align:center}.aa-form-notice--success{background:#e9f8ed;color:#245b33}.aa-form-notice--error{background:#fff0ed;color:#8a2d20}
@media(max-width:800px){.aa-stats{grid-template-columns:1fr}.aa-stat{border-right:0;border-bottom:1px solid var(--aa-border)}.aa-gallery--cols-2,.aa-gallery--cols-3,.aa-gallery--cols-4{grid-template-columns:1fr}.aa-gallery__item:nth-child(5n+1){grid-column:auto}.aa-location{grid-template-columns:1fr}.aa-contact__layout{grid-template-columns:1fr}.aa-contact__cards{grid-template-columns:1fr}.aa-contact__cards>*:last-child{grid-column:auto}.aa-contact-form{grid-template-columns:1fr}.aa-contact-form__message,.aa-contact-form button{grid-column:1}.aa-booking__form,.aa-booking--compact .aa-booking__form{grid-template-columns:1fr}.aa-booking--compact .aa-booking__form button{grid-column:1}}
@media(max-width:1000px){.aa-nearby__grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.aa-nearby__head{grid-template-columns:1fr}.aa-nearby__head .aa-eyebrow{grid-column:1}.aa-nearby__grid{grid-template-columns:1fr}}
