.cuaca-page{
    --cw-blue:#0877bb;
    --cw-blue-dark:#08345b;
    --cw-cyan:#0ea5e9;
    --cw-green:#168a61;
    --cw-orange:#f97316;
    --cw-purple:#7c3aed;
    --cw-ink:#102033;
    --cw-muted:#64748b;
    --cw-border:rgba(15,23,42,.09);
    color:var(--cw-ink);
}
.cuaca-page *{box-sizing:border-box}
.cuaca-hero{position:relative;isolation:isolate;overflow:hidden;background:radial-gradient(circle at 8% 0%,rgba(14,165,233,.22),transparent 31%),radial-gradient(circle at 100% 90%,rgba(22,138,97,.14),transparent 30%),linear-gradient(135deg,#f2fbff 0%,#f7fffb 56%,#fff 100%)}
.cuaca-hero::after{content:"";position:absolute;z-index:-1;right:-14rem;bottom:-18rem;width:32rem;height:32rem;border-radius:50%;border:1px solid rgba(14,165,233,.13);box-shadow:0 0 0 48px rgba(14,165,233,.035),0 0 0 96px rgba(14,165,233,.025)}
.cuaca-kicker{display:inline-flex;align-items:center;gap:.48rem;padding:.55rem .8rem;border:1px solid rgba(8,119,187,.16);border-radius:999px;color:#0369a1;background:rgba(255,255,255,.9);font-size:.72rem;font-weight:900;letter-spacing:.045em;text-transform:uppercase;box-shadow:0 10px 26px rgba(15,23,42,.05)}
.cuaca-kicker i{color:var(--cw-green)}
.cuaca-title{color:#082f55;font-size:clamp(2.15rem,9vw,3.7rem);line-height:1.05;letter-spacing:-.045em;text-wrap:balance}
.cuaca-lead{max-width:44rem;color:#506176;font-size:1rem;line-height:1.78}
.cuaca-search-card{position:relative;z-index:4;max-width:43rem;margin-top:1.5rem;padding:1rem;border:1px solid rgba(8,119,187,.15);border-radius:1.25rem;background:rgba(255,255,255,.93);box-shadow:0 18px 42px rgba(15,23,42,.09);backdrop-filter:blur(10px)}
.cuaca-search-title{margin:0;color:#0f2943;font-size:.92rem;font-weight:900}.cuaca-search-subtitle{display:block;margin-top:.18rem;color:#6b7b8f;font-size:.72rem;font-weight:500;line-height:1.45}
.cuaca-location-search{position:relative;margin-bottom:.85rem}.cuaca-location-search>i,.cuaca-field-wrap>i{position:absolute;left:.92rem;top:50%;transform:translateY(-50%);color:var(--cw-blue);pointer-events:none}
.cuaca-input{width:100%;min-height:3.15rem;padding:.75rem .9rem .75rem 2.58rem;border:1px solid rgba(15,23,42,.14);border-radius:.9rem;color:#102033;background:#fff;outline:0;transition:.2s ease}.cuaca-input:focus{border-color:#0ea5e9;box-shadow:0 0 0 3px rgba(14,165,233,.14)}.cuaca-input.is-invalid{border-color:#dc2626;box-shadow:0 0 0 3px rgba(220,38,38,.1)}
.cuaca-suggestions{position:absolute;z-index:30;top:calc(100% + .4rem);left:0;right:0;overflow:hidden;border:1px solid var(--cw-border);border-radius:1rem;background:#fff;box-shadow:0 18px 40px rgba(15,23,42,.14)}.cuaca-suggestions[hidden]{display:none}.cuaca-suggestion{display:flex;width:100%;align-items:flex-start;gap:.7rem;padding:.8rem .9rem;border:0;border-bottom:1px solid var(--cw-border);color:#334155;background:#fff;text-align:left}.cuaca-suggestion:last-child{border-bottom:0}.cuaca-suggestion:hover{background:#f0f9ff}.cuaca-suggestion i{margin-top:.12rem;color:var(--cw-blue)}.cuaca-suggestion strong{display:block;color:#0f2943;font-size:.82rem}.cuaca-suggestion span{display:block;margin-top:.15rem;color:#718096;font-size:.7rem}
.cuaca-coordinate-grid{display:grid;grid-template-columns:1fr;gap:.75rem}.cuaca-field label{display:block;margin-bottom:.35rem;color:#334155;font-size:.76rem;font-weight:800}.cuaca-field-wrap{position:relative}.cuaca-help{display:block;margin-top:.3rem;color:#8390a0;font-size:.68rem}
.cuaca-form-actions{display:grid;grid-template-columns:1fr;gap:.7rem;margin-top:.95rem}.cuaca-btn-primary,.cuaca-btn-secondary{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;min-height:3.15rem;padding:.82rem 1.15rem;border-radius:999px;font-weight:900;text-decoration:none;transition:.2s ease}.cuaca-btn-primary{border:0;color:#fff;background:linear-gradient(135deg,var(--cw-blue),var(--cw-green));box-shadow:0 14px 30px rgba(8,119,187,.22)}.cuaca-btn-primary:hover{color:#fff;transform:translateY(-2px);box-shadow:0 18px 38px rgba(8,119,187,.28)}.cuaca-btn-secondary{border:1px solid rgba(8,119,187,.2);color:#075985;background:#effaff}.cuaca-btn-secondary:hover{color:#064c72;transform:translateY(-1px);background:#fff}.cuaca-btn-primary:disabled,.cuaca-btn-secondary:disabled{opacity:.65;cursor:not-allowed;transform:none}
.cuaca-form-status{display:flex;align-items:flex-start;gap:.5rem;margin-top:.8rem;padding:.72rem .8rem;border-radius:.85rem;font-size:.76rem;line-height:1.5}.cuaca-form-status[hidden]{display:none}.cuaca-form-status.is-error{color:#991b1b;background:#fef2f2;border:1px solid rgba(220,38,38,.16)}.cuaca-form-status.is-info{color:#075985;background:#f0f9ff;border:1px solid rgba(2,132,199,.16)}.cuaca-form-status.is-success{color:#166534;background:#f0fdf4;border:1px solid rgba(22,163,74,.17)}
.cuaca-spinner{width:1rem;height:1rem;flex:0 0 auto;border:.14rem solid currentColor;border-right-color:transparent;border-radius:50%;animation:cuaca-spin .7s linear infinite}@keyframes cuaca-spin{to{transform:rotate(360deg)}}
.cuaca-visual{position:relative;max-width:38rem;margin-inline:auto;padding:1.15rem;border:1px solid rgba(15,23,42,.08);border-radius:1.5rem;background:linear-gradient(145deg,#0d6fa8,#0f8b75);box-shadow:0 24px 60px rgba(15,23,42,.2);color:#fff}.cuaca-visual::before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at 80% 10%,rgba(255,255,255,.24),transparent 23%);pointer-events:none}.cuaca-visual-top{position:relative;display:flex;justify-content:space-between;align-items:flex-start;gap:1rem}.cuaca-visual-place{font-size:.86rem;font-weight:800}.cuaca-visual-time{color:rgba(255,255,255,.76);font-size:.7rem}.cuaca-visual-temp{position:relative;margin:1rem 0;font-size:4.8rem;font-weight:200;line-height:1}.cuaca-visual-condition{position:relative;font-size:1rem;font-weight:800}.cuaca-visual-grid{position:relative;display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem;margin-top:1.15rem}.cuaca-visual-metric{padding:.8rem;border-radius:1rem;background:rgba(255,255,255,.13);backdrop-filter:blur(7px)}.cuaca-visual-metric span{display:block;color:rgba(255,255,255,.72);font-size:.68rem}.cuaca-visual-metric strong{display:block;margin-top:.2rem;font-size:.92rem}
.cuaca-soft{background:linear-gradient(180deg,#f7fcff,#f8fafc)}.cuaca-section-title{color:#0b355b;letter-spacing:-.03em}.cuaca-section-lead{max-width:850px;color:var(--cw-muted);line-height:1.8}
.cuaca-card{height:100%;padding:1.25rem;border:1px solid var(--cw-border);border-radius:1.2rem;background:#fff;box-shadow:0 12px 30px rgba(15,23,42,.055)}.cuaca-card-icon{display:inline-flex;width:3rem;height:3rem;align-items:center;justify-content:center;margin-bottom:1rem;border-radius:1rem;color:var(--cw-blue);background:#eaf7ff;font-size:1.15rem}.cuaca-card-icon.green{color:var(--cw-green);background:#ecfdf5}.cuaca-card-icon.orange{color:#ea580c;background:#fff7ed}.cuaca-card-icon.purple{color:var(--cw-purple);background:#f3e8ff}.cuaca-card h3{color:#0f2943}.cuaca-card p{margin:0;color:#607080;line-height:1.72}
.cuaca-step{position:relative;height:100%;padding:1.2rem 1.1rem 1.15rem 4rem;border:1px solid var(--cw-border);border-radius:1.1rem;background:#fff;box-shadow:0 10px 25px rgba(15,23,42,.045)}.cuaca-step-no{position:absolute;left:1rem;top:1.05rem;display:inline-flex;width:2.25rem;height:2.25rem;align-items:center;justify-content:center;border-radius:.82rem;color:#fff;background:linear-gradient(135deg,var(--cw-blue),var(--cw-green));font-weight:900}.cuaca-step h3{margin:0 0 .35rem;color:#0f2943;font-size:1rem}.cuaca-step p{margin:0;color:#64748b;line-height:1.65}
.cuaca-note{display:flex;gap:.7rem;padding:1rem;border:1px solid rgba(249,115,22,.16);border-radius:1rem;color:#92400e;background:#fff7ed;line-height:1.65}.cuaca-note i{flex:0 0 auto;margin-top:.12rem}.cuaca-cta{overflow:hidden;border-radius:1.55rem;color:#fff;background:radial-gradient(circle at top right,rgba(255,255,255,.2),transparent 30%),linear-gradient(135deg,#075ea8,#157b5b);box-shadow:0 20px 46px rgba(2,91,139,.2)}.cuaca-cta p{color:rgba(255,255,255,.86)}
.cuaca-faq .accordion-item{overflow:hidden;margin-bottom:.75rem;border:1px solid var(--cw-border);border-radius:1rem;box-shadow:0 8px 22px rgba(15,23,42,.04)}.cuaca-faq .accordion-button{color:#0f2943;background:#fff;font-weight:800}.cuaca-faq .accordion-button:not(.collapsed){color:#075985;background:#effaff}
/* Result page */
.cuaca-result-hero{background:linear-gradient(135deg,#effaff,#f0fdf4)}.cuaca-result-head{display:flex;flex-direction:column;gap:1rem}.cuaca-location-title{margin:0;color:#082f55;letter-spacing:-.03em}.cuaca-meta{display:flex;flex-wrap:wrap;gap:.55rem}.cuaca-meta span{display:inline-flex;align-items:center;gap:.35rem;padding:.42rem .65rem;border-radius:999px;color:#526070;background:#fff;border:1px solid var(--cw-border);font-size:.7rem;font-weight:800}
.cuaca-loading{display:flex;align-items:center;justify-content:center;gap:.7rem;min-height:260px;color:#075985}.cuaca-error{padding:1rem;border:1px solid rgba(220,38,38,.17);border-radius:1rem;color:#991b1b;background:#fef2f2}
.cuaca-current-card{position:relative;overflow:hidden;height:100%;padding:1.35rem;border-radius:1.35rem;color:#fff;background:radial-gradient(circle at 90% 10%,rgba(255,255,255,.24),transparent 28%),linear-gradient(145deg,#0877bb,#168a61);box-shadow:0 18px 42px rgba(8,119,187,.2)}.cuaca-current-main{display:flex;align-items:center;justify-content:space-between;gap:1rem}.cuaca-current-temp{font-size:4rem;font-weight:200;line-height:1}.cuaca-current-desc{margin-top:.35rem;font-weight:800}.cuaca-current-card img{width:92px;height:92px;object-fit:contain;filter:drop-shadow(0 8px 18px rgba(15,23,42,.2))}.cuaca-current-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem;margin-top:1.1rem}.cuaca-current-stat{padding:.75rem;border-radius:.9rem;background:rgba(255,255,255,.13)}.cuaca-current-stat span{display:block;color:rgba(255,255,255,.72);font-size:.68rem}.cuaca-current-stat strong{display:block;margin-top:.2rem;font-size:.88rem}
.cuaca-summary-card{height:100%;padding:1.3rem;border:1px solid var(--cw-border);border-radius:1.35rem;background:#fff;box-shadow:0 14px 34px rgba(15,23,42,.06)}.cuaca-level{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .68rem;border-radius:999px;font-size:.7rem;font-weight:900}.cuaca-level.rendah{color:#0369a1;background:#f0f9ff}.cuaca-level.ringan{color:#047857;background:#ecfdf5}.cuaca-level.sedang{color:#b45309;background:#fffbeb}.cuaca-level.tinggi{color:#b91c1c;background:#fef2f2}.cuaca-summary-metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin-top:1rem}.cuaca-summary-metric{padding:.8rem .5rem;border-radius:.9rem;background:#f8fafc;text-align:center}.cuaca-summary-metric span{display:block;color:#64748b;font-size:.65rem}.cuaca-summary-metric strong{display:block;margin-top:.2rem;color:#0f2943;font-size:1.15rem}.cuaca-summary-advice{margin-top:1rem;color:#526070;line-height:1.65}
.cuaca-panel{overflow:hidden;border:1px solid var(--cw-border);border-radius:1.3rem;background:#fff;box-shadow:0 14px 34px rgba(15,23,42,.06)}.cuaca-panel-head{display:flex;flex-direction:column;gap:.35rem;padding:1.1rem 1.2rem;border-bottom:1px solid var(--cw-border)}.cuaca-panel-head h2{margin:0;color:#0f2943;font-size:1.15rem}.cuaca-panel-head p{margin:0;color:#718096;font-size:.76rem}.cuaca-panel-body{padding:1rem}.cuaca-chart-wrap{position:relative;height:340px}
.cuaca-hourly-scroll,.cuaca-daily-scroll{display:flex;gap:.75rem;overflow-x:auto;padding:.15rem .1rem .8rem;scroll-snap-type:x proximity}.cuaca-hour-card{flex:0 0 142px;scroll-snap-align:start;padding:.85rem;border:1px solid var(--cw-border);border-radius:1rem;background:#fff}.cuaca-hour-time{color:#64748b;font-size:.7rem;font-weight:800}.cuaca-hour-card img{display:block;width:54px;height:54px;margin:.25rem auto}.cuaca-hour-temp{color:#0f2943;font-size:1.35rem;font-weight:900;text-align:center}.cuaca-hour-rain{margin-top:.45rem;color:#075985;font-size:.72rem;text-align:center}.cuaca-daily-card{flex:0 0 174px;scroll-snap-align:start;padding:.9rem;border:1px solid var(--cw-border);border-radius:1rem;background:#fff}.cuaca-daily-date{color:#0f2943;font-size:.78rem;font-weight:900}.cuaca-daily-card img{display:block;width:58px;height:58px;margin:.3rem auto}.cuaca-daily-temp{text-align:center;font-weight:900}.cuaca-daily-desc{min-height:2.4rem;color:#64748b;font-size:.7rem;line-height:1.45;text-align:center}.cuaca-daily-rain{margin-top:.45rem;color:#075985;font-size:.72rem;text-align:center}
#cuacaMap{height:520px;min-height:420px}.cuaca-map-controls{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.8rem}.cuaca-layer-btn{padding:.5rem .75rem;border:1px solid rgba(8,119,187,.18);border-radius:999px;color:#075985;background:#fff;font-size:.72rem;font-weight:800}.cuaca-layer-btn.is-active{color:#fff;background:var(--cw-blue)}
.cuaca-source{padding:.9rem 1rem;border-radius:1rem;color:#64748b;background:#f8fafc;font-size:.72rem;line-height:1.6}
@media(min-width:576px){.cuaca-search-card{padding:1.15rem}.cuaca-coordinate-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cuaca-form-actions{grid-template-columns:minmax(0,1fr) auto}.cuaca-visual-grid{grid-template-columns:repeat(4,1fr)}.cuaca-current-stats{grid-template-columns:repeat(4,1fr)}}
@media(min-width:768px){.cuaca-title{font-size:3.45rem}.cuaca-lead{font-size:1.08rem}.cuaca-panel-head{flex-direction:row;justify-content:space-between;align-items:end}.cuaca-result-head{flex-direction:row;align-items:end;justify-content:space-between}}
@media(min-width:992px){.cuaca-title{font-size:3.75rem}.cuaca-summary-metrics{gap:.8rem}}

/* Peta cuaca — versi 1.1 */
.cuaca-map-panel{overflow:visible}
.cuaca-map-panel-head{align-items:flex-start}
.cuaca-map-head-actions{display:flex;flex-wrap:wrap;gap:.5rem}
.cuaca-map-action{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.42rem;
    min-height:2.55rem;
    padding:.58rem .78rem;
    border:1px solid rgba(8,119,187,.18);
    border-radius:.85rem;
    color:#075985;
    background:#fff;
    font-size:.72rem;
    font-weight:900;
    line-height:1.2;
    box-shadow:0 6px 16px rgba(15,23,42,.04);
    transition:transform .2s ease,border-color .2s ease,background-color .2s ease,box-shadow .2s ease;
}
.cuaca-map-action:hover{transform:translateY(-1px);border-color:rgba(8,119,187,.34);background:#f0f9ff;box-shadow:0 10px 20px rgba(15,23,42,.07)}
.cuaca-map-action:focus-visible,.cuaca-layer-btn:focus-visible{outline:3px solid rgba(14,165,233,.24);outline-offset:2px}
.cuaca-map-toolbar{
    display:flex;
    flex-direction:column;
    gap:.7rem;
    padding:.85rem 1rem;
    border-bottom:1px solid var(--cw-border);
    background:linear-gradient(180deg,#fbfdff,#f8fbfd);
}
.cuaca-map-toolbar-label{display:inline-flex;align-items:center;gap:.42rem;color:#475569;font-size:.72rem;font-weight:900;white-space:nowrap}
.cuaca-map-toolbar-label i{color:var(--cw-blue)}
.cuaca-map-controls{
    display:flex;
    flex-wrap:nowrap;
    gap:.5rem;
    max-width:100%;
    margin:0;
    padding:.05rem .05rem .35rem;
    overflow-x:auto;
    scrollbar-width:thin;
    scroll-snap-type:x proximity;
}
.cuaca-layer-btn{
    flex:0 0 auto;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    gap:.4rem;
    min-height:2.45rem;
    padding:.55rem .78rem;
    border:1px solid rgba(8,119,187,.18);
    border-radius:999px;
    color:#075985;
    background:#fff;
    font-size:.72rem;
    font-weight:900;
    line-height:1.2;
    scroll-snap-align:start;
    transition:transform .2s ease,border-color .2s ease,background-color .2s ease,color .2s ease,box-shadow .2s ease;
}
.cuaca-layer-btn:hover{transform:translateY(-1px);border-color:rgba(8,119,187,.34);background:#effaff}
.cuaca-layer-btn.is-active{color:#fff;border-color:transparent;background:linear-gradient(135deg,var(--cw-blue),#0f8b75);box-shadow:0 8px 18px rgba(8,119,187,.2)}
.cuaca-map-shell{
    position:relative;
    min-height:440px;
    overflow:hidden;
    background:#dbeafe;
    isolation:isolate;
}
#cuacaMap{
    position:relative;
    z-index:1;
    width:100%;
    height:clamp(440px,62vh,720px);
    min-height:440px;
    background:#dbeafe;
}
#cuacaMap.leaflet-container{font-family:inherit;color:#0f2943;outline:0}
#cuacaMap .leaflet-tile-pane{filter:none!important}
#cuacaMap .leaflet-overlay-pane{mix-blend-mode:normal}
#cuacaMap .leaflet-tile{max-width:none!important;max-height:none!important}
#cuacaMap .leaflet-control-container .leaflet-top{top:.55rem}
#cuacaMap .leaflet-control-container .leaflet-left{left:.55rem}
#cuacaMap .leaflet-control-container .leaflet-right{right:.55rem}
#cuacaMap .leaflet-control-zoom,
#cuacaMap .leaflet-control-layers,
#cuacaMap .leaflet-control-scale-line{
    border:0;
    border-radius:.78rem;
    box-shadow:0 8px 22px rgba(15,23,42,.16);
}
#cuacaMap .leaflet-control-zoom a{width:2.25rem;height:2.25rem;line-height:2.25rem;border-bottom:1px solid rgba(15,23,42,.08);color:#075985}
#cuacaMap .leaflet-control-zoom a:first-child{border-radius:.78rem .78rem 0 0}
#cuacaMap .leaflet-control-zoom a:last-child{border-radius:0 0 .78rem .78rem;border-bottom:0}
#cuacaMap .leaflet-control-layers{overflow:hidden}
#cuacaMap .leaflet-control-layers-toggle{width:2.5rem;height:2.5rem;background-size:1.25rem 1.25rem}
#cuacaMap .leaflet-control-layers-expanded{padding:.75rem .85rem;border-radius:.78rem;color:#334155;font-size:.75rem;line-height:1.55}
#cuacaMap .leaflet-popup-content-wrapper{border-radius:1rem;box-shadow:0 14px 34px rgba(15,23,42,.18)}
#cuacaMap .leaflet-popup-content{margin:.9rem 1rem;line-height:1.55}
#cuacaMap .leaflet-popup-content strong{display:block;color:#0f2943;font-size:.84rem}
#cuacaMap .leaflet-popup-content span{display:block;margin-top:.15rem;color:#64748b;font-size:.72rem}
.cuaca-location-marker{
    display:flex;
    width:1.55rem;
    height:1.55rem;
    align-items:center;
    justify-content:center;
    border:3px solid #fff;
    border-radius:50%;
    background:#ef4444;
    box-shadow:0 0 0 5px rgba(239,68,68,.22),0 8px 18px rgba(15,23,42,.24);
}
.cuaca-location-marker::after{content:"";width:.34rem;height:.34rem;border-radius:50%;background:#fff}
.cuaca-map-loading{
    position:absolute;
    z-index:700;
    inset:0;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:.65rem;
    color:#075985;
    background:rgba(239,250,255,.9);
    font-size:.78rem;
    font-weight:900;
    backdrop-filter:blur(3px);
    transition:opacity .2s ease,visibility .2s ease;
}
.cuaca-map-loading.is-hidden{opacity:0;visibility:hidden;pointer-events:none}
.cuaca-map-status{
    position:absolute;
    z-index:720;
    top:.7rem;
    left:50%;
    transform:translateX(-50%);
    max-width:calc(100% - 7.5rem);
    padding:.58rem .78rem;
    border:1px solid rgba(8,119,187,.16);
    border-radius:999px;
    color:#075985;
    background:rgba(255,255,255,.94);
    box-shadow:0 10px 28px rgba(15,23,42,.14);
    font-size:.68rem;
    font-weight:900;
    line-height:1.35;
    text-align:center;
    backdrop-filter:blur(8px);
}
.cuaca-map-status[hidden]{display:none}
.cuaca-map-status.is-error{color:#991b1b;border-color:rgba(220,38,38,.18);background:rgba(254,242,242,.96)}
.cuaca-map-status.is-success{color:#166534;border-color:rgba(22,163,74,.18);background:rgba(240,253,244,.96)}
.cuaca-map-legend{
    position:absolute;
    z-index:710;
    left:.7rem;
    bottom:1.55rem;
    width:min(13.5rem,calc(100% - 1.4rem));
    padding:.72rem .78rem;
    border:1px solid rgba(255,255,255,.45);
    border-radius:.9rem;
    background:rgba(255,255,255,.92);
    box-shadow:0 10px 28px rgba(15,23,42,.16);
    backdrop-filter:blur(8px);
}
.cuaca-map-legend-head{display:flex;align-items:baseline;justify-content:space-between;gap:.6rem;margin-bottom:.48rem}
.cuaca-map-legend-head span{color:#0f2943;font-size:.72rem;font-weight:900}
.cuaca-map-legend-head small{color:#64748b;font-size:.58rem}
.cuaca-map-legend-bar{height:.62rem;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(15,23,42,.08)}
.cuaca-map-legend-bar.is-precipitation{background:linear-gradient(90deg,rgba(255,255,255,.25),#7dd3fc,#2563eb,#7c3aed,#ec4899)}
.cuaca-map-legend-bar.is-clouds{background:linear-gradient(90deg,rgba(255,255,255,.3),#cbd5e1,#64748b,#1e293b)}
.cuaca-map-legend-bar.is-wind{background:linear-gradient(90deg,#bfdbfe,#22c55e,#eab308,#f97316,#dc2626)}
.cuaca-map-legend-bar.is-temperature{background:linear-gradient(90deg,#312e81,#2563eb,#22d3ee,#fde047,#f97316,#dc2626)}
.cuaca-map-legend-bar.is-pressure{background:linear-gradient(90deg,#7c3aed,#2563eb,#22c55e,#eab308,#ef4444)}
.cuaca-map-legend-labels{display:flex;justify-content:space-between;gap:.4rem;margin-top:.35rem;color:#64748b;font-size:.56rem;font-weight:800}
.cuaca-map-foot{
    display:flex;
    flex-direction:column;
    gap:.4rem;
    padding:.72rem 1rem;
    border-top:1px solid var(--cw-border);
    color:#64748b;
    background:#fbfdff;
    font-size:.68rem;
    line-height:1.5;
}
.cuaca-map-foot>span{display:inline-flex;align-items:flex-start;gap:.4rem}
.cuaca-map-foot i{flex:0 0 auto;margin-top:.08rem;color:var(--cw-blue)}
.cuaca-map-shell:fullscreen,
.cuaca-map-shell.is-fullscreen-fallback{
    position:fixed;
    z-index:99999;
    inset:0;
    width:100vw;
    height:100vh;
    min-height:100vh;
    border-radius:0;
    background:#dbeafe;
}
.cuaca-map-shell:fullscreen #cuacaMap,
.cuaca-map-shell.is-fullscreen-fallback #cuacaMap{height:100vh;min-height:100vh}
body.cuaca-map-fullscreen-lock{overflow:hidden}

@media(min-width:576px){
    .cuaca-map-toolbar{flex-direction:row;align-items:center;justify-content:space-between}
    .cuaca-map-controls{justify-content:flex-end;padding-bottom:.05rem}
    .cuaca-map-foot{flex-direction:row;align-items:center;justify-content:space-between}
}
@media(min-width:768px){
    .cuaca-map-panel-head{align-items:center}
    .cuaca-map-legend{left:1rem;bottom:1.85rem}
}
@media(max-width:575.98px){
    .cuaca-map-panel{margin-left:-.25rem;margin-right:-.25rem;border-radius:1.05rem}
    .cuaca-map-panel-head{gap:.8rem}
    .cuaca-map-head-actions{width:100%}
    .cuaca-map-action{flex:1 1 0}
    .cuaca-map-toolbar{padding:.75rem .85rem}
    #cuacaMap{height:62vh;min-height:430px;max-height:610px}
    .cuaca-map-status{top:4rem;max-width:calc(100% - 1.4rem);border-radius:.8rem}
    .cuaca-map-legend{bottom:1.45rem}
}


/* ================================================================
 * Leaflet core fallback dan reset konflik template — versi 1.2
 * Menjaga tile tetap pada grid 256 x 256 meskipun stylesheet global
 * template menerapkan max-width, height:auto, transition, atau radius.
 * ================================================================ */
#cuacaMap.leaflet-container{
    position:relative!important;
    overflow:hidden!important;
    -webkit-tap-highlight-color:transparent;
    background:#dbeafe;
}
#cuacaMap .leaflet-map-pane,
#cuacaMap .leaflet-pane,
#cuacaMap .leaflet-tile-pane,
#cuacaMap .leaflet-overlay-pane,
#cuacaMap .leaflet-shadow-pane,
#cuacaMap .leaflet-marker-pane,
#cuacaMap .leaflet-tooltip-pane,
#cuacaMap .leaflet-popup-pane,
#cuacaMap .leaflet-tile-container,
#cuacaMap .leaflet-pane > svg,
#cuacaMap .leaflet-pane > canvas,
#cuacaMap .leaflet-zoom-box{
    position:absolute!important;
    left:0;
    top:0;
}
#cuacaMap .leaflet-map-pane,
#cuacaMap .leaflet-tile-container{
    transform-origin:0 0!important;
}
#cuacaMap .leaflet-pane{z-index:400}
#cuacaMap .leaflet-tile-pane{z-index:200;filter:none!important}
#cuacaMap .leaflet-overlay-pane{z-index:400}
#cuacaMap .leaflet-cuaca-weather-pane{z-index:450;pointer-events:none}
#cuacaMap .leaflet-shadow-pane{z-index:500}
#cuacaMap .leaflet-marker-pane{z-index:600}
#cuacaMap .leaflet-tooltip-pane{z-index:650}
#cuacaMap .leaflet-popup-pane{z-index:700}
#cuacaMap .leaflet-map-pane canvas{z-index:100}
#cuacaMap .leaflet-map-pane svg{z-index:200}

#cuacaMap img.leaflet-tile,
#cuacaMap .leaflet-tile{
    position:absolute!important;
    left:0;
    top:0;
    display:block!important;
    width:256px!important;
    height:256px!important;
    min-width:256px!important;
    min-height:256px!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    object-fit:fill!important;
    object-position:center!important;
    box-shadow:none!important;
    vertical-align:baseline!important;
    transform-origin:0 0!important;
    transition:none!important;
    animation:none!important;
    user-select:none!important;
    -webkit-user-select:none!important;
    -webkit-user-drag:none!important;
}
#cuacaMap .leaflet-tile{visibility:hidden}
#cuacaMap .leaflet-tile-loaded{visibility:inherit}
#cuacaMap .leaflet-tile-container{
    width:auto!important;
    height:auto!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    transition:none!important;
    animation:none!important;
    pointer-events:none;
}
#cuacaMap img.leaflet-marker-icon,
#cuacaMap img.leaflet-marker-shadow,
#cuacaMap .leaflet-overlay-pane svg,
#cuacaMap .leaflet-overlay-pane canvas{
    max-width:none!important;
    max-height:none!important;
    transition:none!important;
}
#cuacaMap .leaflet-marker-icon,
#cuacaMap .leaflet-marker-shadow{
    position:absolute!important;
    display:block!important;
    left:0;
    top:0;
}
#cuacaMap .leaflet-control{
    position:relative;
    z-index:800;
    pointer-events:auto;
}
#cuacaMap .leaflet-top,
#cuacaMap .leaflet-bottom{
    position:absolute;
    z-index:1000;
    pointer-events:none;
}
#cuacaMap .leaflet-top{top:0}
#cuacaMap .leaflet-right{right:0}
#cuacaMap .leaflet-bottom{bottom:0}
#cuacaMap .leaflet-left{left:0}
#cuacaMap .leaflet-control{float:left;clear:both}
#cuacaMap .leaflet-right .leaflet-control{float:right}
#cuacaMap .leaflet-top .leaflet-control{margin-top:10px}
#cuacaMap .leaflet-bottom .leaflet-control{margin-bottom:10px}
#cuacaMap .leaflet-left .leaflet-control{margin-left:10px}
#cuacaMap .leaflet-right .leaflet-control{margin-right:10px}
#cuacaMap .leaflet-control-container a{
    text-decoration:none!important;
}
#cuacaMap .leaflet-fade-anim .leaflet-tile,
#cuacaMap .leaflet-zoom-animated{
    transition:none!important;
}

/* SEO dan navigasi konten — versi 1.3 */
.cuaca-breadcrumb-wrap{
    border-bottom:1px solid rgba(15,23,42,.06);
    background:#fff;
}
.cuaca-breadcrumb{
    display:flex;
    flex-wrap:wrap;
    align-items:center;
    gap:.45rem;
    margin:0;
    padding:.72rem 0;
    list-style:none;
    color:#64748b;
    font-size:.72rem;
    line-height:1.5;
}
.cuaca-breadcrumb li{display:inline-flex;align-items:center;min-width:0}
.cuaca-breadcrumb li+li::before{content:"/";margin-right:.45rem;color:#cbd5e1}
.cuaca-breadcrumb a{color:#075985;text-decoration:none;font-weight:800}
.cuaca-breadcrumb a:hover{text-decoration:underline}
.cuaca-breadcrumb li[aria-current="page"]{overflow:hidden;max-width:100%;text-overflow:ellipsis;white-space:nowrap}
.cuaca-form-note{margin-top:.72rem;color:#7b8796;font-size:.68rem;line-height:1.5}
.cuaca-visual-caption{position:relative;margin-top:.85rem;color:rgba(255,255,255,.72);font-size:.67rem;line-height:1.5}
.cuaca-seo-list{list-style:none;margin:0;padding:0}
.cuaca-seo-list li{position:relative;margin-bottom:.78rem;padding-left:1.85rem;color:#526070;line-height:1.68}
.cuaca-seo-list li::before{
    content:"✓";
    position:absolute;
    left:0;
    top:.08rem;
    display:inline-flex;
    width:1.2rem;
    height:1.2rem;
    align-items:center;
    justify-content:center;
    border-radius:50%;
    color:#15805a;
    background:rgba(22,163,74,.12);
    font-size:.7rem;
    font-weight:900;
}
.cuaca-seo-panel{
    padding:1.2rem;
    border:1px solid var(--cw-border);
    border-radius:1.3rem;
    background:linear-gradient(145deg,#fff,#f7fcff);
    box-shadow:0 16px 38px rgba(15,23,42,.07);
}
.cuaca-seo-panel h3{color:#0f2943}
.cuaca-reading-item{display:flex;align-items:flex-start;gap:.8rem;padding:.82rem 0;border-bottom:1px solid var(--cw-border)}
.cuaca-reading-item:last-child{border-bottom:0;padding-bottom:0}
.cuaca-reading-item>span{display:inline-flex;flex:0 0 auto;width:2rem;height:2rem;align-items:center;justify-content:center;border-radius:.7rem;color:#fff;background:linear-gradient(135deg,var(--cw-blue),var(--cw-green));font-size:.75rem;font-weight:900}
.cuaca-reading-item strong{display:block;color:#0f2943;font-size:.85rem}
.cuaca-reading-item p{margin:.15rem 0 0;color:#64748b;font-size:.75rem;line-height:1.6}
.cuaca-related-card{
    display:flex;
    height:100%;
    align-items:center;
    gap:.8rem;
    padding:1rem;
    border:1px solid var(--cw-border);
    border-radius:1.1rem;
    color:#334155;
    background:#fff;
    box-shadow:0 10px 26px rgba(15,23,42,.05);
    text-decoration:none;
    transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}
.cuaca-related-card:hover{color:#0f2943;transform:translateY(-2px);border-color:rgba(8,119,187,.25);box-shadow:0 16px 34px rgba(15,23,42,.08)}
.cuaca-related-card>i:first-child{display:inline-flex;flex:0 0 auto;width:2.65rem;height:2.65rem;align-items:center;justify-content:center;border-radius:.85rem;color:#075985;background:#effaff;font-size:1.05rem}
.cuaca-related-card>span{min-width:0;flex:1}
.cuaca-related-card strong{display:block;color:#0f2943;font-size:.86rem}
.cuaca-related-card small{display:block;margin-top:.18rem;color:#718096;font-size:.7rem;line-height:1.45}
.cuaca-related-card>i:last-child{flex:0 0 auto;color:#0877bb}
@media(min-width:768px){
    .cuaca-seo-panel{padding:1.45rem}
}
