/* Fase 5 — Lokasi Resepsi & Google Maps. Latar ivory, ornamen orisinal, peta aman. */
.location-section { position:relative; isolation:isolate; max-width:100%; background:var(--ivory); color:var(--mauve); text-align:center; }
.location-ornament { position:absolute; z-index:-1; top:60px; width:clamp(68px,22vw,110px); color:var(--mauve); opacity:.31; pointer-events:none; }
.location-ornament--left {left:0;}
.location-ornament--right {right:0;transform:scaleX(-1);}
.location-inner { width:min(100%,670px); margin:0 auto; padding:clamp(90px,17vw,118px) 20px 104px; display:flex; flex-direction:column; align-items:center; }
.location-heading {width:100%;display:flex;flex-direction:column;align-items:center;gap:10px;}
.location-eyebrow {margin:0;font:600 clamp(11px,3vw,14px)/1.5 var(--font-body);letter-spacing:.25em;color:var(--mauve);}
.location-title {font:400 clamp(36px,10.5vw,50px)/1.45 var(--font-greeting);color:var(--plum);margin:0;text-wrap:balance;}
.location-rule {height:1px;width:86px;background:var(--lilac);margin-top:10px;}
.location-address-block {width:100%;max-width:575px;display:flex;flex-direction:column;align-items:center;margin:39px auto 0;gap:8px;}
.location-pin-icon {width:25px;height:25px;color:var(--plum);margin-bottom:4px;}
.location-pin-icon svg {width:100%;height:100%;}
.location-venue {margin:0;color:var(--plum);font:700 clamp(15px,4.1vw,18px)/1.5 var(--font-body);overflow-wrap:anywhere;}
.location-address {margin:0;color:var(--mauve);font:400 clamp(14px,3.8vw,16px)/1.75 var(--font-body);max-width:590px;overflow-wrap:anywhere;white-space:pre-line;text-wrap:pretty;}
.location-map-container {width:100%;max-width:620px;height:clamp(250px,77vw,355px);margin-top:43px;position:relative;overflow:hidden;border:1px solid #D7C9D7;border-radius:17px;background:#EDEAE4;box-shadow:0 12px 27px rgba(46,2,59,.075);}
.location-map-frame {display:block;width:100%;height:100%;border:0;}
.location-map-frame[hidden] {display:none;}
.location-map-placeholder {position:absolute;inset:0;overflow:hidden;display:flex;align-items:end;justify-content:center;}
.location-map-placeholder[hidden] {display:none;}
.location-placeholder-art {position:absolute;inset:0;width:100%;height:100%;opacity:.93;}
.location-placeholder-note {position:relative;z-index:1;margin:0 14px 16px;border:1px solid rgba(247,241,232,.8);border-radius:13px;box-shadow:0 8px 24px rgba(23,5,32,.10);background:rgba(247,241,232,.96);padding:13px 15px;max-width:350px;display:flex;flex-direction:column;gap:5px;}
.location-placeholder-note strong {font:700 14px/1.4 var(--font-body);color:var(--plum);}
.location-placeholder-note span {font:400 12px/1.5 var(--font-body);color:var(--mauve);}
.location-action {display:flex;flex-direction:column;align-items:center;gap:11px;margin-top:27px;width:100%;}
.location-maps-button {display:inline-flex;align-items:center;justify-content:center;gap:9px;min-width:182px;min-height:53px;border:none;border-radius:999px;padding:12px 25px;background:var(--plum);color:var(--ivory);text-decoration:none;font:600 clamp(14px,3.8vw,16px)/1.4 var(--font-body);box-shadow:0 6px 15px rgba(46,2,59,.14);cursor:pointer;}
.location-maps-button svg {width:19px;height:19px;fill:none;stroke:currentColor;stroke-linejoin:round;stroke-linecap:round;stroke-width:1.7;}
.location-maps-button:focus-visible {outline:3px solid var(--mauve);outline-offset:3px;}
.location-maps-button[hidden] {display:none;}
.location-maps-button:disabled {cursor:not-allowed;opacity:.53;box-shadow:none;}
.location-hint {margin:0;color:var(--mauve);font:400 11px/1.6 var(--font-body);max-width:330px;}
.location-hint[hidden] {display:none;}
@media(max-width:350px){.location-inner{padding-inline:16px;}.location-ornament{width:65px;top:68px;}.location-map-container{margin-top:35px;}}
@media(min-width:860px){.location-section{max-width:520px;margin-inline:auto;}.location-inner{max-width:520px;}.location-ornament{width:94px;}}
@media(prefers-reduced-motion:reduce){.location-section *{scroll-behavior:auto!important}}
