/* PROPERTY TEMPLATE OVERRIDES (MATCHING REACT/TAILWIND SPEC) */

/* 1. HERO */
.am-pt-hero { padding-top: 14rem; padding-bottom: 12rem; position: relative; overflow: hidden; color: #fff; background: var(--dark); margin-top: -85px; }
.am-pt-hero__bg { position: absolute; inset: 0; z-index: 0; }
.am-pt-hero__bg img { width: 100%; height: 100%; object-fit: cover; opacity: 0.4; }
.am-pt-hero__overlay { position: absolute; inset: 0; background: linear-gradient(to bottom, rgba(90,63,32,0.8), rgba(90,63,32,0.5), var(--dark)); }
.am-pt-hero__inner { max-width: 80rem; margin: 0 auto; position: relative; z-index: 10; text-align: center; }
.am-pt-eye { display: block; color: var(--primary); font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.3em; font-weight: 500; margin-bottom: 1.5rem; }
.am-pt-hero__title { font-family: var(--font-serif); font-size: clamp(3rem, 7vw, 6rem); line-height: 1.1; margin-bottom: 2rem; }
.am-pt-hero__title span { font-style: italic; color: rgba(255,255,255,0.9); }

/* 2. STATS OVERLAP */
.am-pt-intro-sec { padding-bottom: 8rem; padding-left: 1.5rem; padding-right: 1.5rem; background: #fff; }
.am-pt-stats { max-width: 64rem; margin: 0 auto; background: #fff; box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25); position: relative; z-index: 20; display: grid; grid-template-columns: repeat(2, 1fr); margin-top: -4rem; margin-bottom: 6rem; border: 1px solid rgba(29,35,39,0.1); border-left: none; border-bottom: none; }
@media(min-width: 768px) { .am-pt-stats { grid-template-columns: repeat(4, 1fr); margin-top: -6rem; margin-bottom: 8rem; border-top: none; } }
.am-pt-stat { padding: 2rem; display: flex; flex-direction: column; align-items: center; border-left: 1px solid rgba(29,35,39,0.1); border-bottom: 1px solid rgba(29,35,39,0.1); }
@media(min-width: 768px) { .am-pt-stat { border-bottom: none; } }
.am-pt-stat svg { width: 2rem; height: 2rem; color: var(--primary); margin-bottom: 1rem; }
.am-pt-stat__val { font-family: var(--font-serif); font-size: 1.5rem; color: var(--primary); margin-bottom: 0.25rem; }
.am-pt-stat__sub { font-size: 0.625rem; text-transform: uppercase; letter-spacing: 0.1em; color: rgba(17,17,17,0.5); }

/* 3. ABOUT CONTENT */
.am-pt-about { max-width: 80rem; margin: 0 auto; display: flex; flex-direction: column; gap: 4rem; align-items: center; }
@media(min-width: 1024px) { .am-pt-about { flex-direction: row; } }
.am-pt-about__img-wrap { width: 100%; position: relative; }
@media(min-width: 1024px) { .am-pt-about__img-wrap { width: 50%; } }
.am-pt-about__img-bg { position: absolute; inset: 0; background: rgba(203,168,118,0.1); transform: translate(1rem, 1rem); }
.am-pt-about__img-wrap img { width: 100%; height: 500px; object-fit: cover; position: relative; z-index: 10; box-shadow: 0 20px 25px -5px rgba(0,0,0,0.1); }
@media(min-width: 768px) { .am-pt-about__img-wrap img { height: 700px; } }
.am-pt-about__content { width: 100%; }
@media(min-width: 1024px) { .am-pt-about__content { width: 50%; } }
.am-pt-heading { font-family: var(--font-serif); font-size: clamp(2.25rem, 4vw, 3.75rem); color: var(--dark); line-height: 1.1; margin-bottom: 2rem; }
.am-pt-heading span { font-style: italic; color: var(--primary); }
.am-pt-p { color: rgba(17,17,17,0.7); font-weight: 300; font-size: 1.0625rem; line-height: 1.8; margin-bottom: 2.5rem; }
.am-pt-btn { display: inline-block; background: var(--dark); color: #fff; padding: 1.25rem 2.5rem; font-size: 0.75rem; text-transform: uppercase; letter-spacing: 0.2em; font-weight: 500; transition: background 0.3s; border:none; cursor:pointer;}
.am-pt-btn:hover { background: var(--primary); }

/* 4. VIRTUAL TOUR */
.am-pt-tour-sec { padding-top: 6rem; padding-bottom: 6rem; padding-left: 1.5rem; padding-right: 1.5rem; background: var(--dark); color: #fff; position: relative; overflow: hidden; }
@media(min-width: 768px) { .am-pt-tour-sec { padding-top: 8rem; padding-bottom: 8rem; } }
.am-pt-tour-blob { position: absolute; top: 0; left: 0; width: 33%; height: 100%; background: rgba(203,168,118,0.05); filter: blur(120px); border-radius: 9999px; pointer-events: none; }
.am-pt-tour { max-width: 80rem; margin: 0 auto; display: flex; flex-direction: column; gap: 4rem; align-items: center; position: relative; z-index: 10; }
@media(min-width: 1024px) { .am-pt-tour { flex-direction: row; } }
.am-pt-tour__content { width: 100%; }
@media(min-width: 1024px) { .am-pt-tour__content { width: 33.333%; } }
.am-pt-tour__content .am-pt-heading { color: #fff; }
.am-pt-tour__content .am-pt-heading span { color: #fff; font-style: normal; }
.am-pt-tour-p { color: rgba(255,255,255,0.7); font-weight: 300; font-size: 1.0625rem; line-height: 1.7; margin-bottom: 2.5rem; }
.am-pt-tour-play { display: flex; align-items: center; gap: 1rem; color: var(--primary); text-transform: uppercase; letter-spacing: 0.2em; font-size: 11px; font-weight: 500; }
.am-pt-tour-play span { width: 3rem; height: 1px; background: var(--primary); }
.am-pt-tour__vid-wrap { width: 100%; position: relative; }
@media(min-width: 1024px) { .am-pt-tour__vid-wrap { width: 66.666%; } }
.am-pt-tour__vid-blob { position: absolute; inset: -1rem; background: rgba(203,168,118,0.2); filter: blur(40px); border-radius: 9999px; opacity: 0.5; }
.am-pt-tour__vid { position: relative; width: 100%; aspect-ratio: 16/9; background: #000; border: 1px solid rgba(255,255,255,0.1); box-shadow: 0 25px 50px -12px rgba(0,0,0,0.25); }
.am-pt-tour__vid iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: none; }

/* 5. GALLERY */
.am-pt-gal-sec { padding: 6rem 1.5rem; background: #fff; }
@media(min-width: 768px) { .am-pt-gal-sec { padding-top: 6rem; padding-bottom: 6rem; } }
.am-pt-gal-head { text-align: center; margin-bottom: 4rem; }
.am-pt-gal-head .am-pt-heading { margin-bottom: 0; }
.am-pt-gal { max-width: 80rem; margin: 0 auto; display: grid; grid-template-columns: 1fr; gap: 1rem; }
@media(min-width: 768px) { .am-pt-gal { grid-template-columns: repeat(2, 1fr); } }
@media(min-width: 1024px) { .am-pt-gal { grid-template-columns: repeat(3, 1fr); } }
.am-pt-gal-item { position: relative; overflow: hidden; aspect-ratio: 4/3; }
.am-pt-gal-item img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s; }
.am-pt-gal-item:hover img { transform: scale(1.05); }

/* 6. AMENITIES */
.am-pt-am-sec { padding: 6rem 1.5rem; background: var(--light); }
@media(min-width: 768px) { .am-pt-am-sec { padding-top: 8rem; padding-bottom: 8rem; } }
.am-pt-am-head { text-align: center; margin-bottom: 5rem; }
.am-pt-am { max-width: 80rem; margin: 0 auto; display: grid; grid-template-columns: 1fr; gap: 2rem; }
@media(min-width: 768px) { .am-pt-am { grid-template-columns: repeat(2, 1fr); } }
@media(min-width: 1024px) { .am-pt-am { grid-template-columns: repeat(4, 1fr); gap: 2rem 2rem; } }
.am-pt-am-item { display: flex; align-items: flex-start; gap: 1rem; border-bottom: 1px solid rgba(29,35,39,0.1); padding-bottom: 1rem; }
.am-pt-am-item svg { width: 1.25rem; height: 1.25rem; color: var(--primary); flex-shrink: 0; margin-top: 0.375rem; }
.am-pt-am-item span { color: rgba(17,17,17,0.7); font-weight: 300; font-size: 1.0625rem; }

/* 7. SERVICES */
.am-pt-svc-sec { padding: 6rem 1.5rem; background: var(--dark); color: #fff; position: relative; overflow: hidden; }
@media(min-width: 768px) { .am-pt-svc-sec { padding-top: 8rem; padding-bottom: 8rem; } }
.am-pt-svc-blob { position: absolute; top: 0; right: 0; width: 50%; height: 100%; background: rgba(203,168,118,0.05); filter: blur(100px); border-radius: 9999px; pointer-events: none; }
.am-pt-svc { max-width: 80rem; margin: 0 auto; display: flex; flex-direction: column; gap: 4rem; position: relative; z-index: 10; }
@media(min-width: 1024px) { .am-pt-svc { flex-direction: row; align-items: flex-start; } }
.am-pt-svc-left { width: 100%; position: sticky; top: 8rem; }
@media(min-width: 1024px) { .am-pt-svc-left { width: 33.333%; } }
.am-pt-svc-left .am-pt-heading { color: #fff; margin-bottom: 2rem; }
.am-pt-svc-left .am-pt-heading span { color: #fff; font-style: normal; }
.am-pt-svc-p { color: rgba(255,255,255,0.7); font-weight: 300; font-size: 1.0625rem; line-height: 1.7; }
.am-pt-svc-right { width: 100%; display: flex; flex-direction: column; }
@media(min-width: 1024px) { .am-pt-svc-right { width: 66.666%; } }
.am-pt-svc-item { display: flex; flex-direction: column; gap: 1.5rem; border-bottom: 1px solid rgba(255,255,255,0.1); padding: 2.5rem 0; transition: border-color 0.3s; }
@media(min-width: 768px) { .am-pt-svc-item { flex-direction: row; } }
.am-pt-svc-item:hover { border-color: rgba(203,168,118,0.5); }
.am-pt-svc-num { font-family: var(--font-serif); font-size: 2.25rem; color: var(--primary); opacity: 0.5; transition: opacity 0.3s; margin-top: 0.25rem; }
.am-pt-svc-item:hover .am-pt-svc-num { opacity: 1; }
.am-pt-svc-content h3 { font-family: var(--font-serif); font-size: 1.5rem; color: #fff; margin-bottom: 1rem; transition: color 0.3s; }
@media(min-width: 768px) { .am-pt-svc-content h3 { font-size: 1.875rem; } }
.am-pt-svc-item:hover .am-pt-svc-content h3 { color: var(--primary); }
.am-pt-svc-content p { color: rgba(255,255,255,0.6); font-weight: 300; font-size: 0.9375rem; line-height: 1.7; margin: 0; }

/* 8. LOCATIONS */
.am-pt-loc-sec { padding: 6rem 1.5rem; background: #fff; }
@media(min-width: 768px) { .am-pt-loc-sec { padding-top: 8rem; padding-bottom: 8rem; } }
.am-pt-loc-head { text-align: center; margin-bottom: 4rem; }
.am-pt-loc { max-width: 80rem; margin: 0 auto; display: grid; grid-template-columns: 1fr; gap: 2rem; }
@media(min-width: 768px) { .am-pt-loc { grid-template-columns: repeat(2, 1fr); } }
@media(min-width: 1024px) { .am-pt-loc { grid-template-columns: repeat(3, 1fr); } }
.am-pt-loc-c { background: var(--light); border: 1px solid rgba(29,35,39,0.05); display: flex; flex-direction: column; overflow: hidden; }
.am-pt-loc-c-img { height: 16rem; overflow: hidden; }
.am-pt-loc-c-img img { width: 100%; height: 100%; object-fit: cover; transition: transform 0.7s; }
.am-pt-loc-c:hover .am-pt-loc-c-img img { transform: scale(1.05); }
.am-pt-loc-c-body { padding: 2rem; display: flex; flex-direction: column; flex-grow: 1; }
.am-pt-loc-c-body h3 { font-family: var(--font-serif); font-size: 1.5rem; color: var(--dark); margin-bottom: 1rem; }
.am-pt-loc-c-body p { color: rgba(17,17,17,0.7); font-weight: 300; font-size: 1.0625rem; line-height: 1.8; margin-bottom: 2rem; flex-grow: 1; }
.am-pt-loc-c-btns { display: flex; flex-wrap: wrap; gap: 1rem; margin-top: auto; }
.am-pt-loc-c-btns .am-btn { padding: 0.75rem 1.5rem; font-size: 0.625rem; border:1px solid var(--dark); color:var(--dark); background:transparent; letter-spacing:0.2em; text-transform:uppercase; text-decoration:none; cursor:pointer;}
.am-pt-loc-c-btns .am-btn--fill { background: var(--dark); color: #fff; }
.am-pt-loc-c-btns .am-btn:hover { background: var(--primary); border-color: var(--primary); color: #fff; }

/* 9. FAQS */
.am-pt-faq-sec { padding: 6rem 1.5rem; background: var(--light); }
@media(min-width: 768px) { .am-pt-faq-sec { padding-top: 8rem; padding-bottom: 8rem; } }
.am-pt-faq-head { text-align: center; margin-bottom: 4rem; }
.am-pt-faq { max-width: 56rem; margin: 0 auto; display: flex; flex-direction: column; gap: 1rem; }
.am-faq-item-b { border: 1px solid rgba(29,35,39,0.1); background: #fff; overflow: hidden; margin-bottom:1rem;}
.am-faq-item-b .am-faq-item__trigger { width: 100%; padding: 1.5rem 2rem; display: flex; align-items: center; justify-content: space-between; text-align: left; background: transparent; border: none; cursor: pointer; transition: background 0.3s; }
.am-faq-item-b .am-faq-item__trigger:hover { background: rgba(29,35,39,0.05); }
.am-faq-item-b .am-faq-item__question { font-family: var(--font-serif); font-size: 1.25rem; color: var(--dark); padding-right: 2rem; }
.am-faq-item-b .am-faq-item__body { display: none; padding: 0 2rem 1.5rem 2rem; }
.am-faq-item-b.is-open .am-faq-item__body { display: block; }
.am-faq-item-b .am-faq-item__answer { color: rgba(17,17,17,0.7); font-weight: 300; line-height: 1.8; font-size: 1.0625rem; }
.am-faq-grp-title { font-family: var(--font-serif); font-size: 1.75rem; margin-top:2rem; margin-bottom:1rem;}

/* 10. MAP */
.am-pt-map { width: 100%; height: 500px; position: relative; }
@media(min-width: 768px) { .am-pt-map { height: 600px; } }
.am-pt-map iframe { width: 100%; height: 100%; position: absolute; inset: 0; border: none; }
