/*
Theme Name: Tangalle Beach Villas
Description: The official Tangalle Beach Villas collection website.
Version: 1.0.4
*/

/* Shared soft-opacity treatment established across the individual villa sites. */
.hero-image{background-image:url('/images/dana-palm-pool.jpeg')!important;background-position:center!important}
.hero-shade{background:linear-gradient(90deg,#fffffff5 0%,#ffffffe0 45%,#ffffffa3 74%,#ffffff73 100%)!important}
.hero-logo{width:180px;height:180px;margin:0 0 2px;object-fit:contain;object-position:left center;filter:drop-shadow(0 8px 18px #39271726);animation:villa-logo-in .65s ease-out both}@keyframes villa-logo-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.card-image-wrap img{opacity:.9}
.combine-stats{gap:24px!important}
.combine-stats span{max-width:125px!important}
.availability-note{margin:-17px 0 28px!important;font-size:11px!important;line-height:1.5!important;color:#7b8089!important}

:root { --ink:#343b4a; --deep:#303846; --cream:#f8f7f5; --sand:#ded9d2; --coral:#df7183; --white:#ffffff; }
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--cream);color:var(--ink);font-family:Arial,Helvetica,sans-serif} a{color:inherit;text-decoration:none} img{display:block;width:100%}.section-wrap{width:min(1180px,calc(100% - 56px));margin-inline:auto}
.site-header{position:absolute;inset:0 0 auto;z-index:10;height:90px;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;padding:0 42px;color:var(--ink);background:#fffffff2;border-bottom:1px solid #343b4a1f}.brand{display:flex;align-items:center;gap:12px;font-size:14px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.brand-mark{display:grid;place-items:center;width:39px;height:39px;border:1px solid;border-radius:50%;font-size:10px;letter-spacing:.12em}nav{display:flex;gap:36px;font-size:14px}.header-cta{justify-self:end;display:flex;align-items:center;gap:9px;padding:11px 18px;border:1px solid var(--coral);color:var(--coral);font-size:14px;font-weight:700}nav a:hover,.header-cta:hover{opacity:.7}
.hero{position:relative;min-height:760px;height:92vh;color:var(--ink);overflow:hidden}.hero-image{position:absolute;inset:0;background:url('/images/dana-detail.jpeg') center 44%/cover no-repeat;transform:scale(1.015)}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#fffffff2 0%,#ffffffe0 44%,#ffffffa8 75%,#ffffff82),linear-gradient(0deg,#ffffff80,transparent 50%)}.hero-copy{position:absolute;left:max(6vw,56px);bottom:15%;max-width:820px}.eyebrow{margin:0 0 18px;color:var(--coral);font-size:11px;font-weight:800;letter-spacing:.18em;text-transform:uppercase}.eyebrow.light{color:var(--coral)}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;letter-spacing:-.035em}h1{margin:0;font-size:clamp(54px,7vw,104px);line-height:.92}.hero-lede{max-width:620px;margin:30px 0 0;font-size:clamp(18px,2vw,23px);line-height:1.5;color:#343b4ad6}.hero-actions{display:flex;align-items:center;gap:34px;margin-top:38px}.button{display:inline-flex;align-items:center;justify-content:center;gap:10px;min-height:50px;padding:0 25px;border-radius:0;font-size:13px;font-weight:800;letter-spacing:.03em;transition:transform .2s}.button-light{background:var(--coral);color:white;border:1px solid var(--coral)}.button:hover{transform:translateY(-2px)}.text-link{display:inline-flex;align-items:center;gap:9px;font-size:14px;font-weight:700}.hero .light{color:var(--ink)}.hero-note{position:absolute;right:42px;bottom:34px;display:flex;gap:30px;font-size:12px;color:#343b4ab8}
.intro{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding:130px 0 72px;align-items:end}h2{margin:0;font-size:clamp(46px,5.2vw,76px);line-height:1}.intro-copy,.tangalle-copy>p{max-width:550px;margin:0;font-size:19px;line-height:1.72;color:#47605a}
.villa-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-bottom:130px}.villa-card{background:var(--white);overflow:hidden}.card-image-wrap{position:relative;aspect-ratio:4/3;overflow:hidden}.card-image-wrap img{height:100%;object-fit:cover;transition:transform .6s}.villa-card:hover .card-image-wrap img{transform:scale(1.035)}.card-number{position:absolute;right:17px;top:17px;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;background:#fffdfaec;font:12px Georgia,serif}.card-body{padding:30px 29px 25px}.card-body .eyebrow{margin-bottom:12px}h3{margin:0;font-size:39px}.card-body>p:not(.eyebrow){min-height:116px;margin:17px 0 23px;color:#536761;font-size:15px;line-height:1.65}.facts{display:flex;flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none}.facts li{padding:8px 10px;background:#edf0e9;color:#2d4b44;font-size:11px;font-weight:700}.card-footer{display:flex;justify-content:space-between;gap:18px;align-items:center;margin-top:25px;padding-top:20px;border-top:1px solid #e5ded2;font-size:11px;color:#687873}.card-footer a{display:flex;gap:7px;color:var(--ink);font-weight:800}
.combine{display:grid;grid-template-columns:1.04fr .96fr;min-height:620px;padding:0;background:#f1eef0;color:var(--ink)}.combine-image{position:relative;background:white}.combine-image:after{content:'';position:absolute;inset:0;background:#ffffff59}.combine-image img{height:100%;object-fit:cover;opacity:.74}.combine-copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(42px,6vw,88px)}.combine-copy>p:not(.eyebrow){margin:28px 0;max-width:500px;color:#626875;font-size:17px;line-height:1.7}.combine-stats{display:flex;gap:44px;padding:23px 0 33px;border-top:1px solid #343b4a24}.combine-stats span{max-width:145px;font-size:12px;line-height:1.4;color:#717785}.combine-stats strong{display:block;color:var(--ink);font:42px Georgia,serif}.combine-copy .button{align-self:flex-start}
.tangalle{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px;padding:140px 0}.experience-list{display:grid;grid-template-columns:1fr 1fr;gap:0 35px;margin-top:38px;border-top:1px solid var(--sand)}.experience-list span{padding:18px 0;border-bottom:1px solid var(--sand);font-size:14px;font-weight:700}.small-note{margin-top:22px!important;font-size:12px!important;color:#788983!important}
.contact{background:var(--coral);color:white;text-align:center}.contact-inner{padding:105px 0 72px}.contact .eyebrow{color:#fff}.contact h2{font-size:clamp(52px,6vw,82px)}.contact-inner>p:not(.eyebrow){max-width:620px;margin:25px auto 35px;font-size:18px;line-height:1.6;color:#fff}.contact-actions{display:flex;align-items:center;justify-content:center;gap:28px}.contact .button-light{background:white;color:var(--coral);border-color:white}.contact-link{display:flex;align-items:center;gap:9px;font-weight:700}.contact-meta{display:flex;justify-content:center;gap:42px;margin-top:72px;padding-top:27px;border-top:1px solid #ffffff66;font-size:12px;color:#fff}.contact-meta span{display:flex;align-items:center;gap:8px}.site-footer{display:grid;grid-template-columns:minmax(180px,260px) 1fr;align-items:center;gap:48px;padding:28px 42px;background:var(--deep);color:#e7edea;font-size:11px}.footer-logo-panel{display:flex;align-items:center;justify-content:flex-start;min-height:150px;padding:4px 0}.footer-logo-panel img{width:auto;height:150px;max-width:100%;object-fit:contain;object-position:left center;filter:grayscale(1) brightness(0) invert(1);opacity:.88}.footer-signoff{justify-self:end;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:18px}.footer-signoff span{opacity:.65}
@media(max-width:900px){.site-header{grid-template-columns:1fr auto;padding:0 22px}nav{display:none}.hero{min-height:680px}.hero-copy{left:28px;right:28px;bottom:16%}.hero-note{display:none}.section-wrap{width:min(100% - 36px,680px)}.intro,.tangalle{grid-template-columns:1fr;gap:34px;padding:90px 0 55px}.villa-grid{grid-template-columns:1fr;padding-bottom:90px}.card-body>p:not(.eyebrow){min-height:auto}.combine{width:100%;grid-template-columns:1fr}.combine-image{height:390px}.tangalle{padding-bottom:90px}.contact-meta{flex-direction:column;gap:14px;align-items:center;margin-top:50px}.site-footer{grid-template-columns:1fr;justify-items:center;text-align:center}.footer-logo-panel{width:min(240px,100%)}.footer-logo-panel img{object-position:center}.footer-signoff{justify-self:center;justify-content:center}}
@media(max-width:560px){.brand{font-size:12px}.header-cta{font-size:12px}.hero-logo{width:150px;height:150px;margin-bottom:0}.hero-actions,.contact-actions{align-items:flex-start;flex-direction:column}.contact-actions{align-items:center}.experience-list{grid-template-columns:1fr}.combine-stats{gap:25px}}

/* Keep the footer legible and consistent with the Villa Tereza treatment. */
.site-footer .footer-logo-panel img{display:block!important;width:auto!important;height:150px!important;max-width:260px!important;object-fit:contain!important;filter:grayscale(1) brightness(0) invert(1)!important;opacity:.9!important}
.site-footer .footer-signoff{display:flex!important;align-items:center!important;justify-content:flex-end!important;gap:22px!important}
.site-footer .footer-signoff a,.site-footer .footer-signoff span{display:inline-flex!important;white-space:nowrap!important}
@media(max-width:900px){.site-footer .footer-signoff{justify-content:center!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important}}
.card-footer{align-items:flex-start}.card-links{display:grid;gap:10px;text-align:right}.card-links a{justify-content:flex-end}
==> outputs/site/app/pages.css <==
.inner-page{padding-top:90px}.page-intro{padding:105px 0 70px}.page-intro h1{font-size:clamp(54px,7vw,96px);margin:0}.page-intro>p:last-child{max-width:700px;font-size:18px;line-height:1.75;color:#61706d}.comparison{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;padding-bottom:110px}.comparison article{background:white}.comparison img{height:290px;object-fit:cover}.comparison div{padding:30px}.comparison h2{font-size:42px}.comparison p{line-height:1.7;color:#61706d}.comparison a,.guide-grid a{display:inline-flex;align-items:center;gap:8px;font-weight:800}.group-layout{display:grid;grid-template-columns:1fr 1fr;gap:70px;padding-bottom:110px;align-items:start}.group-layout h2{font-size:54px}.group-layout p{font-size:17px;line-height:1.8;color:#61706d}.capacity-table{background:white;padding:34px}.capacity-table div{display:flex;justify-content:space-between;gap:20px;padding:18px 0;border-bottom:1px solid var(--sand)}.capacity-table strong{font:25px Georgia,serif}.guide-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;padding-bottom:100px}.guide-grid article,.guide-grid>a{background:white;padding:38px}.guide-grid h2{font-size:42px}.guide-grid p{line-height:1.75;color:#61706d}.review-flow{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--sand);margin-bottom:100px}.review-flow article{background:white;padding:40px}.review-flow span{color:var(--coral);font-weight:800}.review-flow h2{font-size:35px}.review-flow p{line-height:1.7;color:#61706d}.booking-link-note{padding:70px;text-align:center;background:#eef0eb;margin-bottom:100px}.booking-link-note h2{font-size:52px}.contact-page{display:grid;grid-template-columns:1fr 1fr;gap:80px;padding-bottom:120px}.contact-page h1{font-size:clamp(54px,7vw,92px)}.contact-page>div>p:last-child{font-size:18px;line-height:1.75;color:#61706d}.contact-card{padding:40px;background:white}.contact-card a,.contact-card span{display:flex;gap:10px;padding:20px 0;border-bottom:1px solid var(--sand)}.contact-card .button{margin-top:25px;width:100%}.reviews-band{text-align:center;background:#eef0eb}.reviews-band>div{padding:100px 0}.reviews-band h2{font-size:clamp(46px,5vw,70px)}.reviews-band p{max-width:680px;margin:24px auto 30px;line-height:1.75;color:#61706d}.explore-link{margin-top:30px}@media(max-width:900px){.comparison,.review-flow{grid-template-columns:1fr}.group-layout,.contact-page{grid-template-columns:1fr}.guide-grid{grid-template-columns:1fr}.inner-page{padding-top:90px}}
.villa-actions{display:flex;flex-wrap:wrap;gap:18px;margin-top:24px}.villa-actions a{display:inline-flex;align-items:center;gap:7px;font-weight:800}.gallery-directory{padding-bottom:110px}.central-trip-note{margin-bottom:100px;padding:64px;background:#eef0eb;text-align:center}.central-trip-note h2{font-size:clamp(42px,5vw,62px)}.central-trip-note>p:not(.eyebrow){max-width:720px;margin:24px auto 30px;color:#61706d;font-size:17px;line-height:1.75}.beach-guide-hero{height:620px;position:relative;background:url('/images/mediketiya-beach.jpg') center/cover no-repeat}.beach-guide-wash{position:absolute;inset:0;background:linear-gradient(90deg,#fffffff4,#ffffffdd 48%,#ffffff86)}.beach-guide-hero>div:last-child{position:absolute;left:max(6vw,55px);top:50%;transform:translateY(-50%);max-width:720px}.beach-guide-hero h1{font-size:clamp(56px,7vw,98px);margin:0}.beach-guide-hero p:last-child{max-width:590px;font-size:18px;line-height:1.7;color:#61706d}.coast-gallery{margin-top:80px;margin-bottom:80px;display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.coast-gallery figure{height:390px;margin:0;overflow:hidden}.coast-gallery img{height:100%;object-fit:cover}.beach-place-list{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}.beach-place-list article{padding:40px;background:white}.beach-place-list article>span{display:block;margin-bottom:14px;color:var(--coral);font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}.beach-place-list h2{font-size:40px}.beach-place-list p{line-height:1.75;color:#61706d}.guide-caution{max-width:850px;margin-top:50px;margin-bottom:100px;padding:35px;background:#eef0eb;color:#61706d;text-align:center;line-height:1.7}@media(max-width:900px){.coast-gallery,.beach-place-list{grid-template-columns:1fr}.coast-gallery figure{height:360px}}@media(max-width:600px){.beach-guide-hero{height:560px}.beach-guide-hero>div:last-child{left:25px;right:25px}.coast-gallery{margin-top:45px}.central-trip-note{padding:45px 25px}}

==> outputs/site/app/enquiry.css <==
.enquiry-layout { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(300px, .65fr); gap: 24px; padding-bottom: 110px; align-items: start; }
.enquiry-form { padding: 42px; background: white; }
.inner-page > .page-intro h1 { margin-bottom: 24px; }
.inner-page > .page-intro > p:last-child { margin-top: 0; margin-bottom: 0; line-height: 1.6; }
.form-heading h2 { margin: 0 0 24px; font-size: 46px; }
.form-heading > p:last-child { margin: 0; color: #61706d; line-height: 1.6; }
.field-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 20px; margin-top: 34px; }
.field-grid label { display: flex; flex-direction: column; gap: 8px; font-size: 13px; font-weight: 800; }
.field-grid label > span { display: flex; justify-content: space-between; gap: 10px; }
.field-grid small { color: #7c8784; font-size: 11px; font-weight: 500; }
.field-grid input, .field-grid select, .field-grid textarea { width: 100%; border: 1px solid #d9d8d1; border-radius: 0; padding: 14px 15px; background: #fafaf8; color: #263431; font: inherit; font-weight: 500; }
.field-grid input:focus, .field-grid select:focus, .field-grid textarea:focus { outline: 2px solid var(--coral); outline-offset: 1px; border-color: transparent; }
.field-grid textarea { resize: vertical; }
.field-wide { grid-column: 1 / -1; }
.form-consent { display: flex; align-items: flex-start; gap: 10px; margin: 24px 0; color: #61706d; font-size: 13px; line-height: 1.5; }
.form-consent input { margin-top: 3px; }
.enquiry-form button { border: 0; cursor: pointer; }
.enquiry-side { display: grid; gap: 18px; }
.enquiry-side .contact-card { padding: 30px; }
.beds24-note { padding: 34px; background: #eef0eb; }
.beds24-note > svg { color: var(--coral); }
.beds24-note h2 { margin: 12px 0; font-size: 34px; }
.beds24-note > p:last-child { color: #61706d; line-height: 1.7; }
@media(max-width: 850px) { .enquiry-layout { grid-template-columns: 1fr; } }
@media(max-width: 600px) { .enquiry-form { padding: 28px 20px; } .field-grid { grid-template-columns: 1fr; } .field-wide { grid-column: auto; } }

/* Keep the complete homepage lock-up visible on laptop-height screens and
   inside the narrower WordPress/Hostinger preview. */
@media (min-width:901px) and (max-height:980px) {
  .hero-copy { top:136px; bottom:auto; }
  .hero-logo { width:180px; height:180px; margin-bottom:2px; }
  .hero-copy h1 { font-size:clamp(54px,6vw,82px); }
  .hero-lede { margin-top:20px; }
  .hero-actions { margin-top:24px; }
}

/* A side panel can make a laptop use the tablet breakpoint. Do not bottom-
   anchor the tall hero content there, because that moves its top off-screen. */
@media (max-width:900px) {
  .hero { min-height:900px; height:auto; }
  .hero-copy { top:136px; right:28px; bottom:auto; }
  .hero-logo { width:150px; height:150px; margin-bottom:0; }
  .hero-copy h1 { font-size:clamp(48px,7vw,68px); }
  .hero-lede { margin-top:20px; }
  .hero-actions { margin-top:24px; }
}
