/* CEBOOM Amalfi at City di Mare — v5.2 media-enhanced listing presentation.
   Uses the shared CEBOOM navy/gold/red variables from header.php. */
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.amalfi-page{margin:0;background:var(--sand,#f2f6fb);color:var(--ink,#10243a);font-family:'Work Sans',Arial,sans-serif;line-height:1.65;-webkit-font-smoothing:antialiased}
body.amalfi-page h1,body.amalfi-page h2,body.amalfi-page h3,body.amalfi-page h4{font-family:'Fraunces',Georgia,serif;line-height:1.12;margin:0;color:var(--teal,#00337a)}
body.amalfi-page a{color:inherit}
body.amalfi-page img{display:block;max-width:100%}
body.amalfi-page :focus-visible{outline:3px solid var(--brass,#f5a623);outline-offset:3px}
.amalfi-shell{max-width:1180px;margin:0 auto;padding:72px 24px}
.amalfi-kicker{display:inline-flex;align-items:center;gap:8px;font-family:'Space Mono',monospace;font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;font-weight:700;color:var(--coral,#d8341a)}
.amalfi-kicker:before{content:"";width:26px;height:2px;background:var(--brass,#f5a623)}
.amalfi-section-head{max-width:780px;margin-bottom:30px}
.amalfi-section-head .amalfi-kicker{margin-bottom:10px}
.amalfi-section-head h2{font-size:clamp(1.7rem,3.1vw,2.5rem)}
.amalfi-section-head p{margin:12px 0 0;color:var(--ink-soft,#51647c);font-size:1.02rem}
.amalfi-btn{display:inline-flex;align-items:center;justify-content:center;gap:9px;text-decoration:none;font-weight:800;font-size:.88rem;padding:13px 19px;border-radius:4px;border:1px solid transparent;transition:transform .2s ease,box-shadow .2s ease,background .2s ease,color .2s ease}
.amalfi-btn:hover{transform:translateY(-2px)}
.amalfi-btn-primary{background:var(--coral,#d8341a);color:#fff;box-shadow:0 10px 24px rgba(216,52,26,.2)}
.amalfi-btn-primary:hover{box-shadow:0 13px 28px rgba(216,52,26,.28)}
.amalfi-btn-secondary{background:#fff;color:var(--teal,#00337a);border-color:rgba(255,255,255,.55)}
.amalfi-btn-outline{color:var(--teal,#00337a);border-color:var(--teal,#00337a);background:#fff}

/* Hero */
.amalfi-hero{position:relative;min-height:640px;display:flex;align-items:flex-end;overflow:hidden;background:#001d46;color:#fff}
.amalfi-hero-media{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 44%}
.amalfi-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,25,61,.16) 0%,rgba(0,29,70,.38) 48%,rgba(0,25,61,.92) 100%)}
.amalfi-hero-inner{position:relative;z-index:2;width:100%;max-width:1180px;margin:0 auto;padding:72px 24px 48px}
.amalfi-crumbs{display:flex;flex-wrap:wrap;gap:7px;color:#e2ebf6;font-size:.8rem;margin-bottom:18px}
.amalfi-crumbs a{text-decoration:none}
.amalfi-crumbs a:hover{color:var(--brass,#f5a623)}
.amalfi-hero .amalfi-kicker{color:#ffd689}
.amalfi-hero .amalfi-kicker:before{background:#ffd689}
.amalfi-hero h1{color:#fff;font-size:clamp(2.35rem,5.2vw,4.25rem);max-width:850px;margin-top:10px;text-shadow:0 3px 22px rgba(0,0,0,.24)}
.amalfi-hero-copy{max-width:790px;color:#ecf3fb;font-size:1.08rem;margin:15px 0 0}
.amalfi-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:26px}
.amalfi-hero-note{display:inline-flex;align-items:center;gap:8px;margin-top:18px;color:#cbd9e8;font-size:.78rem}
.amalfi-hero-note i{color:var(--brass,#f5a623)}

/* Fact bar */
.amalfi-facts{background:var(--abyss,#002250);display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;border-top:3px solid var(--brass,#f5a623)}
.amalfi-fact{padding:22px 14px;text-align:center;background:rgba(255,255,255,.025)}
.amalfi-fact strong{display:block;color:#ffd084;font-family:'Fraunces',Georgia,serif;font-size:1.05rem}
.amalfi-fact span{display:block;margin-top:4px;color:#b9c9dd;font-family:'Space Mono',monospace;font-size:.6rem;letter-spacing:.07em;text-transform:uppercase}

/* Overview / source control */
.amalfi-overview-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(300px,.65fr);gap:28px;align-items:start}
.amalfi-overview-copy{font-size:1.04rem;color:var(--ink-soft,#51647c)}
.amalfi-overview-copy p{margin:0 0 15px}
.amalfi-overview-copy strong{color:var(--ink,#10243a)}
.amalfi-source-card{background:#fff;border:1px solid var(--border,#d6e1ee);border-top:4px solid var(--brass,#f5a623);padding:22px;border-radius:5px;box-shadow:0 12px 28px rgba(0,34,80,.06)}
.amalfi-source-card h3{font-size:1.15rem;margin-bottom:10px}
.amalfi-source-card p{margin:0;color:var(--ink-soft,#51647c);font-size:.86rem}
.amalfi-source-list{display:grid;gap:8px;margin-top:15px}
.amalfi-source-row{display:flex;justify-content:space-between;gap:14px;padding-top:8px;border-top:1px dashed var(--border,#d6e1ee);font-size:.76rem;color:var(--ink-soft,#51647c)}
.amalfi-source-row b{color:var(--ink,#10243a);white-space:nowrap}

/* Pricing */
.amalfi-price-band{background:linear-gradient(135deg,#00337a,#001f4b);color:#fff;max-width:none;padding:0}
.amalfi-price-band .amalfi-shell{padding-top:52px;padding-bottom:52px}
.amalfi-price-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(280px,.7fr);gap:32px;align-items:center}
.amalfi-price-band h2{color:#fff;font-size:clamp(1.8rem,3.3vw,2.7rem);margin:8px 0 10px}
.amalfi-price-band p{margin:0;color:#dce7f4;max-width:760px}
.amalfi-price-number{text-align:right}
.amalfi-price-number strong{display:block;color:#ffd084;font-family:'Fraunces',Georgia,serif;font-size:clamp(2.15rem,4.4vw,3.55rem)}
.amalfi-price-number span{display:block;color:#c8d6e7;font-size:.76rem;margin-top:3px}

/* Visual cards */
.amalfi-visual-grid{display:grid;grid-template-columns:1.4fr .8fr .8fr;grid-auto-rows:250px;gap:14px}
.amalfi-visual-card{position:relative;overflow:hidden;border-radius:7px;background:#dbe4ee;box-shadow:0 10px 26px rgba(0,34,80,.07)}
.amalfi-visual-card:first-child{grid-row:span 2}
.amalfi-visual-card img{width:100%;height:100%;object-fit:cover;transition:transform .4s ease}
.amalfi-visual-card:hover img{transform:scale(1.025)}
.amalfi-visual-card span{position:absolute;left:0;right:0;bottom:0;padding:40px 15px 12px;color:#fff;background:linear-gradient(transparent,rgba(0,25,61,.82));font-family:'Space Mono',monospace;font-size:.65rem;text-transform:uppercase;letter-spacing:.07em;font-weight:700}
.amalfi-visual-note{margin:14px 0 0;color:var(--ink-soft,#51647c);font-size:.78rem}

/* Site plan */
.amalfi-siteplan{background:#fff;border-top:1px solid var(--border,#d6e1ee);border-bottom:1px solid var(--border,#d6e1ee)}
.amalfi-siteplan-grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(300px,.7fr);gap:26px;align-items:center}
.amalfi-siteplan-figure{margin:0;background:#081a31;border-radius:7px;overflow:hidden;box-shadow:0 16px 34px rgba(0,34,80,.12)}
.amalfi-siteplan-figure img{width:100%;height:auto}
.amalfi-siteplan-copy p{color:var(--ink-soft,#51647c);margin:12px 0 0}
.amalfi-pill-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.amalfi-pill{background:#edf3fa;border:1px solid #d6e1ee;color:#23425f;padding:7px 10px;border-radius:999px;font-size:.75rem;font-weight:700}

/* Amenities */
.amalfi-amenities{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.amalfi-amenity{background:#fff;border:1px solid var(--border,#d6e1ee);padding:20px;border-radius:5px;min-height:150px}
.amalfi-amenity i{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:#eef4fb;color:var(--teal,#00337a);margin-bottom:13px}
.amalfi-amenity h3{font-size:1.05rem}
.amalfi-amenity p{margin:7px 0 0;color:var(--ink-soft,#51647c);font-size:.83rem}

/* Unit plan section */
.amalfi-units{background:#eef3f8;border-top:1px solid var(--border,#d6e1ee);border-bottom:1px solid var(--border,#d6e1ee)}
.amalfi-unit-group+.amalfi-unit-group{margin-top:46px}
.amalfi-unit-group-head{display:flex;justify-content:space-between;gap:22px;align-items:end;margin-bottom:18px}
.amalfi-unit-group-head p{max-width:720px;margin:8px 0 0;color:var(--ink-soft,#51647c)}
.amalfi-unit-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.amalfi-unit-card{background:#fff;border:1px solid var(--border,#d6e1ee);border-radius:7px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 8px 22px rgba(0,34,80,.05)}
.amalfi-unit-card.is-wide:last-child:nth-child(odd){grid-column:1/-1;max-width:calc(50% - 8px)}
.amalfi-unit-plan{display:block;background:#fbfcfe;border-bottom:1px solid var(--border,#d6e1ee);aspect-ratio:16/10;padding:8px}
.amalfi-unit-plan img{width:100%;height:100%;object-fit:contain}
.amalfi-unit-body{padding:18px 18px 20px;display:flex;flex-direction:column;gap:10px;flex:1}
.amalfi-unit-title{display:flex;justify-content:space-between;gap:12px;align-items:start}
.amalfi-unit-title h3{font-size:1.1rem}
.amalfi-unit-area{font-family:'Space Mono',monospace;color:var(--coral,#d8341a);font-size:.75rem;font-weight:700;white-space:nowrap}
.amalfi-unit-meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.amalfi-unit-meta div{padding:9px 10px;background:#f2f6fb;border-radius:4px}
.amalfi-unit-meta b{display:block;color:var(--ink,#10243a);font-size:.82rem}
.amalfi-unit-meta span{font-size:.64rem;color:var(--ink-soft,#51647c);text-transform:uppercase;letter-spacing:.06em}
.amalfi-unit-note{margin:0;color:var(--ink-soft,#51647c);font-size:.78rem}
.amalfi-unit-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:3px}
.amalfi-unit-actions .amalfi-btn{padding:9px 11px;font-size:.76rem}
.amalfi-data-note{margin:22px 0 0;padding:15px 17px;border-left:4px solid var(--brass,#f5a623);background:#fff;color:var(--ink-soft,#51647c);font-size:.82rem}
.amalfi-data-note strong{color:var(--ink,#10243a)}

/* Current inventory snapshot */
.amalfi-snapshot-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.amalfi-snapshot-card{background:#fff;border:1px solid var(--border,#d6e1ee);border-radius:6px;overflow:hidden}
.amalfi-snapshot-head{padding:18px;background:#00337a;color:#fff;display:flex;justify-content:space-between;gap:14px;align-items:center}
.amalfi-snapshot-head h3{color:#fff;font-size:1.2rem}
.amalfi-snapshot-head span{font-family:'Space Mono',monospace;color:#ffd084;font-size:.68rem;text-transform:uppercase}
.amalfi-snapshot-body{padding:18px}
.amalfi-snapshot-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.amalfi-snapshot-stat{background:#f2f6fb;padding:10px;border-radius:4px}
.amalfi-snapshot-stat b{display:block;color:var(--teal,#00337a);font-size:.9rem}
.amalfi-snapshot-stat span{font-size:.62rem;text-transform:uppercase;letter-spacing:.05em;color:var(--ink-soft,#51647c)}
.amalfi-snapshot-body p{margin:13px 0 0;color:var(--ink-soft,#51647c);font-size:.8rem}
.amalfi-current-note{display:flex;gap:10px;align-items:flex-start;margin-top:16px;padding:13px 14px;background:#fff7e7;border:1px solid #f0d9a5;border-radius:4px;color:#6d5122;font-size:.79rem}
.amalfi-current-note i{margin-top:2px;color:#bf7b00}

/* Promo cards */
.amalfi-promos{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.amalfi-promo{background:#fff;border:1px solid var(--border,#d6e1ee);border-top:4px solid var(--brass,#f5a623);padding:19px;border-radius:5px}
.amalfi-promo-code{font-family:'Space Mono',monospace;font-size:.64rem;color:var(--coral,#d8341a);text-transform:uppercase;letter-spacing:.08em;font-weight:700}
.amalfi-promo h3{font-size:1.02rem;margin:7px 0}
.amalfi-promo p{margin:0;color:var(--ink-soft,#51647c);font-size:.8rem}
.amalfi-promo-date{margin-top:12px!important;padding-top:10px;border-top:1px dashed var(--border,#d6e1ee);font-family:'Space Mono',monospace;font-size:.67rem!important;color:#6b7d91!important}

/* Location */
.amalfi-location{background:#001f4b;color:#fff;max-width:none}
.amalfi-location .amalfi-shell{padding-top:62px;padding-bottom:62px}
.amalfi-location h2{color:#fff}
.amalfi-location .amalfi-section-head p{color:#d1dceb}
.amalfi-location-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}
.amalfi-location-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);padding:20px;border-radius:5px}
.amalfi-location-card h3{color:#ffd084;font-size:1.02rem;margin-bottom:10px}
.amalfi-location-list{display:grid;gap:8px}
.amalfi-location-row{display:flex;justify-content:space-between;gap:18px;color:#e3edf7;font-size:.82rem;padding-bottom:7px;border-bottom:1px solid rgba(255,255,255,.1)}
.amalfi-location-row span:last-child{white-space:nowrap;color:#b8c9dc}

/* Developer */
.amalfi-developer-grid{display:grid;grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);gap:26px;align-items:center}
.amalfi-developer-media{border-radius:7px;overflow:hidden;box-shadow:0 14px 30px rgba(0,34,80,.09)}
.amalfi-developer-media img{width:100%;aspect-ratio:4/3;object-fit:cover}
.amalfi-developer-copy p{color:var(--ink-soft,#51647c);margin:12px 0 0}
.amalfi-developer-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.amalfi-developer-meta span{padding:7px 10px;border:1px solid var(--border,#d6e1ee);background:#fff;border-radius:4px;font-size:.74rem;font-weight:700;color:#274560}

/* FAQ */
.amalfi-faq-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.amalfi-faq-grid details{background:#fff;border:1px solid var(--border,#d6e1ee);border-radius:5px;padding:0 17px}
.amalfi-faq-grid summary{cursor:pointer;font-weight:800;color:var(--teal,#00337a);padding:16px 22px 16px 0;position:relative;list-style:none}
.amalfi-faq-grid summary::-webkit-details-marker{display:none}
.amalfi-faq-grid summary:after{content:"+";position:absolute;right:0;top:14px;color:var(--coral,#d8341a);font-size:1.2rem}
.amalfi-faq-grid details[open] summary:after{content:"−"}
.amalfi-faq-grid p{margin:0;padding:0 0 16px;color:var(--ink-soft,#51647c);font-size:.84rem}

/* Related */
.amalfi-related{background:#fff;border-top:1px solid var(--border,#d6e1ee)}
.amalfi-related-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}
.amalfi-related-card{border:1px solid var(--border,#d6e1ee);border-radius:6px;overflow:hidden;background:#fff;display:flex;flex-direction:column}
.amalfi-related-img{display:block;aspect-ratio:16/9;background:#e7edf4;overflow:hidden}
.amalfi-related-img img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.amalfi-related-card:hover .amalfi-related-img img{transform:scale(1.025)}
.amalfi-related-body{padding:16px;display:flex;flex-direction:column;gap:8px;flex:1}
.amalfi-related-reasons{display:flex;flex-wrap:wrap;gap:5px}
.amalfi-related-reasons span{background:#eef4fb;color:#305270;padding:4px 7px;border-radius:999px;font-size:.61rem;text-transform:uppercase;letter-spacing:.05em;font-weight:700}
.amalfi-related-body h3{font-size:1.05rem}
.amalfi-related-body h3 a{text-decoration:none}
.amalfi-related-body p{margin:0;color:var(--ink-soft,#51647c);font-size:.78rem}
.amalfi-related-link{margin-top:auto;padding-top:4px;color:var(--coral,#d8341a);font-weight:800;text-decoration:none;font-size:.78rem}

/* CTA */
.amalfi-final{max-width:1180px;margin:0 auto;padding:12px 24px 22px}
.amalfi-final-card{background:linear-gradient(135deg,#00337a,#001d45);color:#fff;padding:34px;border-radius:7px;display:flex;justify-content:space-between;gap:28px;align-items:center;box-shadow:0 18px 36px rgba(0,34,80,.14)}
.amalfi-final-card h2{color:#fff;font-size:clamp(1.65rem,3vw,2.3rem)}
.amalfi-final-card p{color:#d8e4f1;max-width:720px;margin:10px 0 0}
.amalfi-final-card .amalfi-btn{flex:0 0 auto}

@media(max-width:980px){
  .amalfi-facts{grid-template-columns:repeat(3,1fr)}
  .amalfi-fact:nth-child(4),.amalfi-fact:nth-child(5){grid-column:auto}
  .amalfi-overview-grid,.amalfi-siteplan-grid,.amalfi-developer-grid{grid-template-columns:1fr}
  .amalfi-price-grid{grid-template-columns:1fr}.amalfi-price-number{text-align:left}
  .amalfi-visual-grid{grid-template-columns:1fr 1fr;grid-auto-rows:230px}.amalfi-visual-card:first-child{grid-column:1/-1;grid-row:span 2}
  .amalfi-amenities,.amalfi-promos,.amalfi-related-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .amalfi-final-card{align-items:flex-start;flex-direction:column}
}
@media(max-width:720px){
  .amalfi-shell{padding:56px 18px}
  .amalfi-hero{min-height:650px}.amalfi-hero-inner{padding:60px 18px 42px}
  .amalfi-facts{grid-template-columns:1fr 1fr}.amalfi-fact:last-child{grid-column:1/-1}
  .amalfi-visual-grid{grid-template-columns:1fr;grid-auto-rows:225px}.amalfi-visual-card:first-child{grid-column:auto;grid-row:span 2}
  .amalfi-amenities,.amalfi-unit-grid,.amalfi-snapshot-grid,.amalfi-promos,.amalfi-location-grid,.amalfi-faq-grid,.amalfi-related-grid{grid-template-columns:1fr}
  .amalfi-unit-card.is-wide:last-child:nth-child(odd){grid-column:auto;max-width:none}
  .amalfi-unit-group-head{align-items:flex-start;flex-direction:column}
  .amalfi-snapshot-stats{grid-template-columns:1fr}
  .amalfi-final{padding:0 18px 8px}.amalfi-final-card{padding:26px}
}
@media(max-width:460px){
  .amalfi-hero-actions{flex-direction:column;align-items:stretch}.amalfi-hero-actions .amalfi-btn{width:100%}
  .amalfi-facts{grid-template-columns:1fr}.amalfi-fact:last-child{grid-column:auto}
  .amalfi-unit-title{flex-direction:column;gap:5px}
}

/* v5.2 high-resolution media refinement */
.amalfi-media-band{background:#001f4b;color:#fff;border-top:1px solid rgba(255,255,255,.08);border-bottom:1px solid rgba(255,255,255,.08)}
.amalfi-media-band .amalfi-section-head h2{color:#fff}
.amalfi-media-band .amalfi-section-head p{color:#d1dceb}
.amalfi-video-grid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(220px,.75fr) minmax(220px,.75fr);gap:16px;align-items:start}
.amalfi-video-card{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:7px;overflow:hidden;box-shadow:0 14px 30px rgba(0,0,0,.12)}
.amalfi-video-frame{background:#000;overflow:hidden;display:grid;place-items:center}
.amalfi-video-frame.is-landscape{aspect-ratio:4/3}
.amalfi-video-frame.is-portrait{aspect-ratio:9/16;max-height:560px}
.amalfi-video-frame video{width:100%;height:100%;display:block;object-fit:contain;background:#000}
.amalfi-video-copy{padding:15px 16px 17px}
.amalfi-video-copy h3{color:#fff;font-size:1.02rem}
.amalfi-video-copy p{margin:7px 0 0;color:#c7d7e9;font-size:.78rem}

.amalfi-gallery-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.amalfi-gallery-card{position:relative;display:block;aspect-ratio:4/3;overflow:hidden;border-radius:6px;background:#dbe4ee;box-shadow:0 8px 20px rgba(0,34,80,.06)}
.amalfi-gallery-card img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease,filter .35s ease}
.amalfi-gallery-card span{position:absolute;left:0;right:0;bottom:0;padding:34px 11px 9px;background:linear-gradient(transparent,rgba(0,25,61,.88));color:#fff;font-family:'Space Mono',monospace;font-size:.58rem;line-height:1.35;text-transform:uppercase;letter-spacing:.055em;font-weight:700}
.amalfi-gallery-card:hover img{transform:scale(1.025)}

@media(max-width:980px){
  .amalfi-video-grid{grid-template-columns:1fr 1fr}.amalfi-video-card.is-landscape{grid-column:1/-1}.amalfi-video-card.is-landscape .amalfi-video-frame{max-height:620px}
  .amalfi-gallery-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:720px){
  .amalfi-video-grid{grid-template-columns:1fr}.amalfi-video-card.is-landscape{grid-column:auto}.amalfi-video-frame.is-portrait{max-height:620px}
  .amalfi-gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
}
@media(max-width:420px){
  .amalfi-gallery-grid{grid-template-columns:1fr 1fr}.amalfi-gallery-card span{font-size:.53rem;padding-left:8px;padding-right:8px}
}
