/*
Theme Name: Ngoro-Oro Wisata
Description: Kerangka tema blok Desa Wisata Ngoro-Oro dengan fokus Jurug Gedhe. Edit melalui Tampilan > Editor.
Version: 0.1.6
Requires at least: 6.6
Requires PHP: 7.4
Author: Tim Website Wisata Ngoro-Oro
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ngoro-oro-wisata
*/
:root{--ng-forest:var(--wp--preset--color--forest,#143d31);--ng-cream:var(--wp--preset--color--cream,#faf8f2);--ng-gold:var(--wp--preset--color--gold,#efcf78);--ng-mist:var(--wp--preset--color--mist,#eef2e9)}
html{scroll-behavior:smooth;scroll-padding-top:32px}body{margin:0}*{box-sizing:border-box}a{text-underline-offset:4px}a:focus-visible,summary:focus-visible,button:focus-visible{outline:3px solid #a06a00;outline-offset:5px}img{max-width:100%;height:auto}.wp-site-blocks{padding:0}.wp-site-blocks>*{margin-block-start:0}.landing-main{margin:0}.site-header{padding:22px 32px;border-bottom:1px solid #d8dfd5}.header-inner,.section-inner,.hero-inner,.strip-inner,.footer-inner{max-width:1160px!important;margin-inline:auto!important}.header-inner{display:flex;justify-content:space-between;gap:32px;align-items:center}.brand{margin:0!important;font-weight:800;letter-spacing:.12em;font-size:21px;line-height:1.2}.brand a{text-decoration:none;color:var(--ng-forest)}.brand span{display:block;font-weight:500;font-size:9px;letter-spacing:.16em;margin-top:8px}.wp-block-navigation{font-size:13px;font-weight:600}.wp-block-navigation .wp-block-navigation-item__content{padding-block:8px}.hero{padding:76px 32px 80px;background:var(--ng-forest);color:var(--ng-cream);overflow:hidden}.hero h1{color:var(--ng-cream);font-size:clamp(42px,4.4vw,66px);letter-spacing:-.045em;margin:22px 0 24px;line-height:1.08}.hero .wp-block-columns{align-items:center;gap:60px}.eyebrow{font-size:11px;font-weight:700;letter-spacing:.19em;line-height:1.5;margin-bottom:20px}.hero .eyebrow{color:var(--ng-gold)}.hero-intro{font-size:16px;max-width:480px;line-height:1.8;color:#e0e9e2}.wp-block-buttons{gap:12px;margin-top:30px}.hero .wp-block-button:not(.is-style-outline) .wp-block-button__link{background:var(--ng-gold);color:var(--ng-forest)}.hero .is-style-outline .wp-block-button__link{color:var(--ng-cream)}.wp-block-button__link{text-decoration:none;transition:transform .15s}.wp-block-button__link:hover{transform:translateY(-2px)}.is-style-outline .wp-block-button__link{border:1px solid currentColor;background:transparent;color:var(--ng-forest)}.photo-slot{min-height:330px;background:#e3e8dd;border:1px dashed #879b89;border-radius:8px;display:flex!important;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:32px;gap:0;position:relative}.photo-slot>*{margin:8px 0!important}.photo-slot:before{content:'↗';font-family:Georgia,serif;font-size:54px;line-height:1;color:#718973;margin-bottom:18px}.slot-eyebrow{font-size:10px;font-weight:700;letter-spacing:.2em;color:#526957}.slot-title{font-family:Georgia,serif;font-size:24px;line-height:1.3;color:var(--ng-forest)}.slot-caption{font-size:12px;color:#526957}.hero-photo{min-height:430px;background:#254f3f;border-color:#7e9980;border-radius:90px 8px 8px 8px}.hero-photo .slot-title{color:#f5efda}.hero-photo .slot-caption,.hero-photo .slot-eyebrow,.hero-photo:before{color:#c9d7c8}.intro-strip{padding:22px 32px;border-bottom:1px solid #d8dfd5}.strip-inner{display:flex;justify-content:space-between;gap:24px;flex-wrap:wrap}.strip-inner p{font-size:12px;margin:0}.strip-label{font-weight:800;letter-spacing:.12em}.section{padding:88px 32px}.section h2{font-size:clamp(34px,3.5vw,48px);letter-spacing:-.035em;margin-top:0;margin-bottom:18px}.section h3{font-size:30px;letter-spacing:-.025em;line-height:1.2;margin:0 0 22px}.section-intro{max-width:650px;font-size:16px;color:#526156;margin-bottom:42px}.section .wp-block-columns{gap:40px;margin-top:0;margin-bottom:0;align-items:center}.section-tint{background:var(--ng-mist)}.section p{line-height:1.8}.visit-note{border-left:3px solid #98722b;padding:4px 0 4px 20px;margin:28px 0}.visit-note p{font-size:14px}.visit-note .eyebrow{font-size:10px;margin-bottom:8px}.package-card{padding:32px;background:#fff;border:1px solid #d7ded1;border-radius:8px;height:100%;display:flex;flex-direction:column;align-items:flex-start;gap:0}.package-card h3{font-size:27px}.package-card p{font-size:14px}.package-card .card-number{font-size:12px;letter-spacing:.1em;color:#5c735d;margin-top:0;margin-bottom:40px}.package-card .status-label{margin-top:auto;padding-top:24px;color:#665723;font-size:12px;font-weight:600}.package-card .wp-block-buttons{margin-top:16px}#paket .wp-block-columns{align-items:stretch}#paket .wp-block-column{display:flex}#paket .package-card{width:100%}.gallery-photo{min-height:260px}.gallery-photo .slot-title{font-size:23px}.wp-block-details{padding:22px 0;border-bottom:1px solid #cfd8cc}.wp-block-details summary{font-weight:600;cursor:pointer}.wp-block-details p{color:#526156;font-size:15px}.section-dark{background:var(--ng-forest);color:#e0e9e2}.section-dark h2,.section-dark h3{color:var(--ng-cream)}.section-dark .eyebrow{color:var(--ng-gold)}.section-dark .section-intro{color:#d2dfd3}.section-dark h3{font-size:27px}.section-dark .wp-block-columns{align-items:stretch}.location-card,.contact-card{padding:30px;border:1px solid #52715c;border-radius:8px;height:100%}.location-card p,.contact-card p{font-size:14px}.map-slot{padding:22px;background:#254f3f;border:1px dashed #839c85;border-radius:6px;margin-top:24px}.map-slot .slot-eyebrow{color:#d2dfd3}.map-slot .slot-title{color:var(--ng-cream);font-size:21px}.site-footer{background:#0d2c23;color:#d0dccf;padding:40px 32px}.site-footer p{font-size:13px;margin:10px 0}.site-footer .footer-brand{font-size:18px;font-weight:800;letter-spacing:.13em;color:var(--ng-gold)}.footer-meta{opacity:.8}.content-main{padding:64px 32px;min-height:60vh}.content-main>.wp-block-post-title,.content-main>.wp-block-post-content{max-width:900px;margin-inline:auto}section[id],div[id]{scroll-margin-top:24px}
@media(max-width:781px){.site-header{padding:20px 24px}.header-inner{gap:20px}.hero{padding:48px 24px}.hero .wp-block-columns{gap:36px}.hero-photo{min-height:300px;border-top-left-radius:60px}.section{padding:56px 24px}.section .wp-block-columns{gap:28px}.section-intro{margin-bottom:30px}.photo-slot{min-height:260px}.intro-strip{padding:20px 24px}.strip-inner{justify-content:flex-start;gap:12px 24px}.strip-label{flex-basis:100%}.section h3{font-size:28px}.gallery-photo{min-height:220px}.package-card{padding:28px}.location-card,.contact-card{padding:24px}.brand{font-size:19px}.site-footer{padding:32px 24px}.wp-block-buttons>.wp-block-button{max-width:100%}.wp-block-button__link{white-space:normal}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.wp-block-button__link{transition:none}.wp-block-button__link:hover{transform:none}}

/* Location and contact links. */
.location-links .location-link{margin:0;border-bottom:1px solid #52715c}.location-link a{display:flex;justify-content:space-between;gap:16px;padding:16px 0;color:var(--ng-cream);text-decoration:none;font-weight:600}.location-link a:hover{text-decoration:underline}.section-dark a{color:var(--ng-gold)}.section-dark .wp-block-button__link{background:var(--ng-gold);color:var(--ng-forest)}.contact-number{font-size:20px!important;font-weight:600;margin-bottom:12px}.contact-card .wp-block-buttons{margin:12px 0 28px}.site-footer a{color:var(--ng-gold)}

/* Bundled uploaded images. */
.ng-photo{margin:0!important;width:100%;overflow:hidden;border-radius:8px;line-height:0}.ng-photo img{display:block;width:100%;height:100%;object-fit:cover}.hero-image{height:560px;border-radius:90px 8px 8px 8px}.hero-image img{object-position:center 55%}.about-image,.landscape-image{height:490px}.about-image img{object-position:center 60%}.gallery-image{height:400px}.gallery-image img{object-position:center 45%}.brand-logo{width:70px;min-width:70px;height:70px;border-radius:50%;background:white}.brand-logo img{object-fit:cover}.header-inner{gap:20px}.header-inner>.brand-wrap{margin-right:auto}.header-inner>.wp-block-navigation{margin-left:16px}.site-header{padding-block:14px}
@media(max-width:781px){.hero-image{height:440px;border-top-left-radius:60px}.about-image,.landscape-image{height:390px}.gallery-image{height:420px}.brand-logo{width:58px;min-width:58px;height:58px}.header-inner{flex-wrap:wrap;flex-direction:row!important;align-items:center}.header-inner>.brand-wrap{flex:1}.header-inner>.wp-block-navigation{margin-left:auto}.brand span{font-size:8px}.brand{font-size:17px}}

/* Reservation consultation and opening-event documentation. */
.booking-note{margin-top:32px;padding:28px;background:var(--ng-mist);border-radius:8px}.booking-note h3{font-size:25px;margin-bottom:12px}.booking-note p{margin-bottom:0}.inauguration-image{border-radius:8px;background:#e3e8dd;line-height:1.5;overflow:visible}.inauguration-image img{height:auto;object-fit:contain}.ng-photo figcaption{line-height:1.6;font-size:12px;color:#526156;padding:12px 0}.image-context{font-size:12px;color:#526156;margin-top:10px}.product-image{height:390px}.product-image img{object-position:center}.inauguration-wrap{width:100%}
@media(max-width:781px){.product-image{height:300px}.booking-note{padding:24px}}

/* Subtle feedback only on interaction; no automatic or looping animation. */
.wp-block-button__link{transition:transform 160ms ease,box-shadow 160ms ease}
.wp-block-button__link:hover{transform:none}
.wp-block-button__link:active{transform:scale(.98)}
.site-header .wp-block-navigation-item__content,.site-header nav a{text-decoration-color:transparent;text-decoration-line:underline;text-decoration-thickness:1px;text-underline-offset:6px;transition:text-decoration-color 160ms ease}
.site-header .wp-block-navigation-item__content:focus-visible,.site-header nav a:focus-visible{text-decoration-color:currentColor}
@media(hover:hover) and (pointer:fine){
 .wp-block-button__link:hover{transform:translateY(-2px);box-shadow:0 4px 10px rgb(20 61 49 / 12%)}
 .wp-block-button__link:active{transform:translateY(0) scale(.98);box-shadow:none}
 .site-header .wp-block-navigation-item__content:hover,.site-header nav a:hover{text-decoration-color:currentColor}
 .hero-image img,.gallery-image img{transition:transform 280ms ease-out}
 .hero-image:hover img,.gallery-image:hover img{transform:scale(1.018)}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}
 .wp-block-button__link,.site-header .wp-block-navigation-item__content,.site-header nav a,.hero-image img,.gallery-image img{transition:none!important}
 .wp-block-button__link:hover,.wp-block-button__link:active,.hero-image:hover img,.gallery-image:hover img{transform:none!important}
}

/* Layout refinement: explicit rhythm, consistent image boxes, purposeful cards. */
.section-inner > .eyebrow{margin:0 0 14px!important}
.section-inner > h2{max-width:850px;margin:0 0 18px!important;line-height:1.15}
.section-inner > .section-intro{max-width:660px!important;margin:0 0 44px!important;font-size:17px;line-height:1.75}
.section .wp-block-columns{gap:32px}
.hero-image,.about-image,.landscape-image,.gallery-image,.product-image{position:relative;flex-shrink:0;overflow:hidden}
.hero-image img,.about-image img,.landscape-image img,.gallery-image img,.product-image img{width:100%!important;height:100%!important;max-width:none;object-fit:cover!important;display:block}
#cerita-desa .gallery-image{height:360px!important;aspect-ratio:auto}
#cerita-desa .wp-block-column{min-width:0;width:100%}
.brand-logo{width:64px!important;min-width:64px;height:64px!important;position:relative;overflow:hidden;border-radius:50%;flex-shrink:0}
.brand-logo img{width:100%!important;height:100%!important;object-fit:cover!important;transform:scale(1.12)}
.header-inner{min-height:68px;gap:14px!important;align-items:center!important}
.brand{font-size:20px;letter-spacing:.1em;line-height:1.2}.brand span{font-size:9px;line-height:1.5;letter-spacing:.12em}
#paket .wp-block-columns{gap:20px;align-items:stretch}
.package-card{padding:32px;border-radius:16px;border:1px solid #d4dece;background:#fff;box-shadow:0 8px 28px rgb(20 61 49 / 4%);position:relative}
.package-card .card-number{margin:0 0 26px!important;background:var(--ng-mist);color:var(--ng-forest);display:grid;place-items:center;width:40px;height:40px;border-radius:50%;font-weight:700}
.package-card h3{min-height:68px;font-size:29px;margin:0 0 16px!important}.package-card>p:not(.card-number):not(.status-label){margin:0 0 24px;font-size:15px;line-height:1.75}
.package-card .status-label{border-top:1px solid #e2e8dd;width:100%;font-size:12px;line-height:1.5;padding-top:20px;margin-bottom:16px}
.package-card .wp-block-buttons{width:100%;margin:0!important}.package-card .wp-block-button{width:100%}.package-card .wp-block-button__link{display:block;text-align:center;padding:14px 12px;font-size:13px;border-radius:8px}
#paket .wp-block-column:first-child .package-card{border-top:3px solid var(--ng-forest)}
.booking-note{margin-top:24px;padding:24px 28px;border-radius:12px}.booking-note h3{font-size:23px}.booking-note p{font-size:14px;max-width:920px}
#kontak .wp-block-columns{align-items:stretch;gap:40px}.location-card{padding:0 16px 0 0;border:0;border-radius:0;height:auto}.location-card h3{font-size:30px;margin-bottom:16px}.location-card>p{font-size:15px;max-width:390px;color:#d1dfd5}
.location-link a{gap:18px;padding:22px 0;text-decoration:none!important;align-items:center}.place-index{color:#a7c0ac;font-size:11px}.place-name{flex:1;font-size:18px;font-weight:600}.place-name small{display:block;color:#c4d7c9;font-weight:400;font-size:13px;margin-top:4px;line-height:1.5}
.contact-stack{display:grid;gap:18px}.contact-box{padding:30px;border-radius:14px;background:var(--ng-cream);color:var(--ng-forest)}.section-dark .contact-box h3{color:var(--ng-forest);font-size:29px;margin:0 0 14px}.contact-kicker{color:#597461;font-size:10px!important;letter-spacing:.16em;font-weight:700;margin:0 0 18px!important}.contact-box>p{font-size:14px;line-height:1.7}.contact-box .wp-block-buttons{margin:20px 0 12px}.section-dark .contact-box .wp-block-button__link{background:var(--ng-forest);color:white;font-size:14px}.contact-box .contact-number{font-size:12px!important;font-weight:500;color:#597461;margin:0!important}.contact-box-secondary{background:#dce7d9}
.site-footer{padding:64px 32px 24px}.site-footer .wp-block-columns{gap:60px;align-items:flex-start;margin:0}.site-footer .wp-block-column:first-child{flex:1.6}.site-footer .footer-brand{font-size:22px;margin:0 0 20px!important}.site-footer .footer-tagline{font-family:Georgia,serif;font-size:25px;line-height:1.35;color:#faf8f2;margin:0 0 20px!important}.site-footer .footer-address{font-size:13px;line-height:1.8;color:#afc5b7}.site-footer h3{font-family:inherit;font-size:13px;font-weight:700;color:#efcf78;margin:0 0 22px}.site-footer a{color:#d8e4db;text-decoration:none}.site-footer a:hover{text-decoration:underline}.site-footer .wp-block-column>p{margin:0 0 14px;font-size:14px}.footer-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #355346;margin-top:48px!important;padding-top:22px;gap:20px}.footer-bottom p{margin:0!important;font-size:12px;color:#afc5b7}
.ng-reveal-pending{opacity:.15;transform:translateY(16px)}.ng-reveal{transition:opacity 500ms ease,transform 500ms ease}.ng-reveal-visible{opacity:1;transform:none}
@media(max-width:781px){.section-inner>.section-intro{font-size:16px;margin-bottom:30px!important}.section-inner>h2{margin-bottom:16px!important}.header-inner{gap:10px!important}.brand-logo{width:52px!important;min-width:52px;height:52px!important}.brand{font-size:17px}.brand span{font-size:8px}.package-card{padding:26px}.package-card h3{min-height:0;font-size:28px}.package-card .status-label{margin-top:8px}.contact-box{padding:26px}.location-card{padding:0}#kontak .wp-block-columns{gap:36px}#cerita-desa .gallery-image{height:360px!important}.site-footer{padding:48px 24px 24px}.site-footer .wp-block-columns{gap:32px}.footer-bottom{margin-top:32px!important;flex-wrap:wrap}}
@media(prefers-reduced-motion:reduce){.ng-reveal,.ng-reveal-pending,.ng-reveal-visible{opacity:1!important;transform:none!important;transition:none!important}}

/* Align nested WordPress constrained blocks; neutralize automatic side margins. */
.section .booking-note > *, .section .location-card > *, .section .contact-box > *, .section .contact-stack > *, .section .package-card > *{margin-left:0!important;margin-right:0!important;max-width:none!important}
.contact-stack > .contact-box{width:100%!important;box-sizing:border-box;margin-block:0!important;justify-self:stretch}
.contact-stack{width:100%;gap:18px!important}.contact-box{padding:26px!important}
.contact-box .wp-block-buttons{margin-top:18px!important;margin-bottom:12px!important}.contact-box .wp-block-button__link{padding:12px 18px}.contact-box h3{font-size:27px!important;line-height:1.2!important;margin-bottom:14px!important}.contact-box>p{margin-top:0!important;margin-bottom:16px}.contact-box .contact-number{margin-bottom:0!important}
.booking-note h3{margin-top:0!important;margin-bottom:10px!important}.booking-note p{margin-top:0!important;margin-bottom:0!important;line-height:1.7}
.location-card>h3{margin-top:0!important;margin-bottom:14px!important}.location-card>p{margin-top:0!important;margin-bottom:24px!important}.location-links{margin-top:0!important}
.section .wp-block-column > .wp-block-group > p,.section .wp-block-column > .wp-block-group > h3{margin-left:0!important;margin-right:0!important;max-width:none!important}
.section .wp-block-column > .wp-block-group > p{margin-top:0;margin-bottom:18px}.section .wp-block-column > .wp-block-group > h3{margin-top:0;margin-bottom:20px}
.site-header{padding:10px 28px!important}.header-inner{min-height:50px!important;gap:12px!important}.brand-logo{width:50px!important;min-width:50px!important;height:50px!important}.brand{font-size:18px!important;line-height:1.2!important}.brand span{font-size:8px!important;margin-top:5px}.brand-wrap{margin-top:0!important;margin-bottom:0!important}.header-inner>.wp-block-navigation{margin-top:0!important;margin-bottom:0!important}
.hero{padding-top:60px;padding-bottom:60px}.hero h1{font-size:clamp(36px,3.7vw,54px)!important;line-height:1.12!important;letter-spacing:-.035em;max-width:570px;margin-top:18px!important;margin-bottom:22px!important;text-wrap:balance}.hero .hero-intro{margin-left:0!important;margin-right:0!important;font-size:16px;max-width:470px}.hero-image{height:490px}
#tentang .about-image{height:390px}#tentang .wp-block-columns{align-items:center!important}#tentang .wp-block-column>.wp-block-group{margin-block:0!important}#tentang h3{font-size:29px;line-height:1.25}#tentang .wp-block-column p{font-size:16px;line-height:1.8}
@media(max-width:781px){.site-header{padding:10px 20px!important}.header-inner{min-height:44px!important;gap:10px!important}.brand-logo{width:44px!important;min-width:44px!important;height:44px!important}.brand{font-size:16px!important}.brand span{font-size:7px!important}.hero{padding:40px 24px}.hero h1{font-size:36px!important;line-height:1.15!important}.hero-image{height:400px}.contact-box{padding:24px!important}.contact-box h3{font-size:26px!important}.booking-note{padding:22px!important}.booking-note h3{font-size:23px;overflow-wrap:anywhere}.booking-note p{font-size:14px}#tentang .about-image{height:340px}}
