/*
Theme Name: Postingan Undangan Digital
Theme URI: https://postingan.id/
Author: Postingan.id
Description: Tema WordPress native PHP untuk website layanan dan undangan digital. Plugin Postingan Invitation Core direkomendasikan untuk pengelolaan undangan, RSVP, dan data acara.
Version: 1.0.2
Requires at least: 6.2
Tested up to: 6.8
Requires PHP: 8.1
License: GPL-2.0-or-later
Text Domain: postingan-undangan
*/
:root{--pi-primary:#173f35;--pi-secondary:#245c4c;--pi-accent:#d9a85b;--pi-bg:#f8f7f3;--pi-surface:#fff;--pi-text:#202824;--pi-muted:#68736d;--pi-border:#e6e8e3;--pi-radius:18px;--pi-shadow:0 12px 40px rgba(23,63,53,.08);--pi-container:1160px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--pi-bg);color:var(--pi-text);font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.65}img{max-width:100%;height:auto;display:block}a{color:var(--pi-secondary);text-underline-offset:3px}a:hover{color:var(--pi-primary)}button,input,select,textarea{font:inherit}button,.button,.wp-block-button__link{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.8rem 1.15rem;border:1px solid transparent;border-radius:999px;background:var(--pi-primary);color:#fff;text-decoration:none;font-weight:700;cursor:pointer;transition:transform .2s,background .2s}button:hover,.button:hover,.wp-block-button__link:hover{background:var(--pi-secondary);color:#fff;transform:translateY(-1px)}.button--outline{background:transparent;border-color:var(--pi-border);color:var(--pi-primary)}.container{width:min(calc(100% - 2rem),var(--pi-container));margin-inline:auto}.site-header{position:relative;z-index:20;background:rgba(255,255,255,.96);border-bottom:1px solid var(--pi-border)}.site-header.is-sticky{position:sticky;top:0}.header-inner{min-height:78px;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.site-branding{display:flex;align-items:center;gap:.7rem;text-decoration:none;color:var(--pi-primary);font-weight:800;font-size:1.15rem}.site-branding img{max-height:76px;width:auto}.site-branding--logo img{width:310px;max-width:30vw;height:auto;max-height:none;object-fit:contain}.site-branding .custom-logo{width:310px;max-width:30vw;height:auto;max-height:90px;object-fit:contain}.header-inner{min-height:100px}.main-navigation ul{display:flex;align-items:center;gap:1.3rem;list-style:none;padding:0;margin:0}.main-navigation a{text-decoration:none;color:var(--pi-text);font-size:.95rem;font-weight:650}.main-navigation a:hover{color:var(--pi-secondary)}.menu-toggle{display:none;background:transparent;border-color:var(--pi-border);color:var(--pi-primary);padding:.6rem .85rem}.header-cta{white-space:nowrap}.hero{padding:clamp(3.5rem,8vw,7rem) 0;background:radial-gradient(ellipse at 90% 10%,rgba(217,168,91,.17),transparent 38%),linear-gradient(135deg,#f8f7f3,#edf3ee)}.hero-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}.eyebrow{display:inline-block;color:var(--pi-secondary);font-size:.78rem;letter-spacing:.13em;text-transform:uppercase;font-weight:800;margin-bottom:1rem}.hero h1,.page-hero h1{font-size:clamp(2.3rem,5vw,4.5rem);line-height:1.08;letter-spacing:-.045em;margin:0 0 1.25rem;color:var(--pi-primary)}.hero p{font-size:clamp(1rem,1.6vw,1.2rem);color:var(--pi-muted);max-width:620px}.hero-actions{display:flex;flex-wrap:wrap;gap:.8rem;margin-top:1.7rem}.hero-art{background:var(--pi-surface);border:1px solid var(--pi-border);border-radius:28px;padding:1.2rem;box-shadow:var(--pi-shadow);transform:rotate(1deg)}.hero-art-inner{min-height:330px;border-radius:20px;background:linear-gradient(150deg,#173f35,#2f6b56);color:#fff;padding:2rem;display:flex;flex-direction:column;justify-content:center;text-align:center}.hero-art-inner .ornament{font-size:2rem;color:#e8c783}.hero-art-inner h2{font-family:Georgia,serif;font-size:2rem;line-height:1.2}.section{padding:clamp(3rem,6vw,5.5rem) 0}.section--white{background:#fff}.section-heading{max-width:700px;margin:0 auto 2.4rem;text-align:center}.section-heading h2{font-size:clamp(1.8rem,3.5vw,2.8rem);line-height:1.15;letter-spacing:-.03em;color:var(--pi-primary);margin:.3rem 0 .8rem}.section-heading p{color:var(--pi-muted);margin:0}.grid{display:grid;gap:1.2rem}.grid--4{grid-template-columns:repeat(4,minmax(0,1fr))}.grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.card{background:var(--pi-surface);border:1px solid var(--pi-border);border-radius:var(--pi-radius);padding:1.45rem;box-shadow:0 3px 15px rgba(20,40,30,.025)}.card h3{margin:.5rem 0;color:var(--pi-primary);line-height:1.25}.card p{color:var(--pi-muted);margin:.5rem 0 1rem}.card-icon{width:48px;height:48px;border-radius:14px;background:#eaf1ec;color:var(--pi-primary);display:grid;place-items:center;font-size:1.35rem}.feature-list{list-style:none;padding:0;margin:1rem 0;color:var(--pi-muted)}.feature-list li{padding:.35rem 0}.feature-list li:before{content:'✓';color:var(--pi-secondary);font-weight:800;margin-right:.55rem}.price{font-size:1.35rem;font-weight:850;color:var(--pi-primary);margin:.7rem 0}.price small{font-size:.8rem;color:var(--pi-muted);font-weight:500}.tag{display:inline-block;border-radius:999px;padding:.25rem .65rem;background:#f5ead7;color:#76551e;font-size:.75rem;font-weight:800}.steps{counter-reset:step}.step{position:relative;padding:1.2rem 1rem 1.2rem 4.1rem}.step:before{counter-increment:step;content:counter(step);position:absolute;left:.8rem;top:1rem;width:2.3rem;height:2.3rem;border-radius:50%;display:grid;place-items:center;background:var(--pi-primary);color:#fff;font-weight:800}.cta-band{padding:clamp(2rem,5vw,4rem);background:var(--pi-primary);color:#fff;border-radius:28px;display:flex;align-items:center;justify-content:space-between;gap:2rem}.cta-band h2{font-size:clamp(1.7rem,3vw,2.5rem);line-height:1.2;margin:0 0 .5rem}.cta-band p{margin:0;color:#d8e3dc}.cta-band .button{background:var(--pi-accent);color:#202824}.site-footer{padding:3rem 0 1.5rem;background:#122f28;color:#eaf1ec}.footer-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:2rem}.site-footer a{color:#eaf1ec}.site-footer p,.site-footer li{color:#c6d4cc}.site-footer ul{list-style:none;padding:0}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);margin-top:2rem;padding-top:1rem;font-size:.85rem;color:#c6d4cc}.page-hero{padding:4rem 0 3rem;background:#edf3ee}.page-hero h1{font-size:clamp(2rem,4vw,3.5rem)}.content-area{padding:3rem 0;min-height:45vh}.content-card{background:#fff;padding:clamp(1.2rem,4vw,2.5rem);border:1px solid var(--pi-border);border-radius:var(--pi-radius)}.faq-list{max-width:850px;margin-inline:auto}.faq-item{background:#fff;border:1px solid var(--pi-border);border-radius:14px;margin:.75rem 0;overflow:hidden}.faq-item summary{padding:1rem 1.2rem;cursor:pointer;font-weight:750;color:var(--pi-primary)}.faq-answer{padding:0 1.2rem 1.2rem;color:var(--pi-muted)}.portfolio-thumb{aspect-ratio:4/3;border-radius:12px;background:linear-gradient(135deg,#dfe9df,#f7e8cb);display:grid;place-items:center;color:var(--pi-primary);font-size:2rem;overflow:hidden}.portfolio-thumb img{width:100%;height:100%;object-fit:cover}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.form-field{display:flex;flex-direction:column;gap:.35rem}.form-field--full{grid-column:1/-1}.form-field input,.form-field textarea,.form-field select{width:100%;border:1px solid #cfd7d0;border-radius:10px;background:#fff;padding:.8rem;color:var(--pi-text)}.notice{padding:1rem;border-radius:12px;background:#edf5ee;border:1px solid #cce0d0}.muted{color:var(--pi-muted)}.invitation-page{background:#fff}.invitation-shell{max-width:900px;margin:0 auto;overflow:hidden;background:#fff}.invitation-cover{text-align:center;padding:clamp(3rem,10vw,7rem) 1.5rem;background:linear-gradient(145deg,#edf3ee,#fff7e9);color:var(--pi-primary)}.invitation-cover h1{font-family:Georgia,serif;font-size:clamp(2.4rem,7vw,4.8rem);line-height:1.1}.invitation-section{padding:3rem 1.5rem;text-align:center}.invitation-section h2{font-family:Georgia,serif;color:var(--pi-primary);font-size:clamp(1.7rem,4vw,2.5rem)}.invitation-photo{max-height:560px;width:100%;object-fit:cover;border-radius:18px}.invitation-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:650px;margin:1.5rem auto}.invitation-detail{padding:1rem;background:var(--pi-bg);border-radius:14px}.countdown{display:flex;justify-content:center;gap:.65rem;flex-wrap:wrap}.countdown span{min-width:70px;padding:.8rem;background:var(--pi-primary);color:#fff;border-radius:12px}.countdown strong{display:block;font-size:1.5rem}.countdown small{font-size:.75rem}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}.gallery-grid img{aspect-ratio:1;object-fit:cover;border-radius:12px}.invitation-actions{display:flex;gap:.7rem;justify-content:center;flex-wrap:wrap;margin-top:1.5rem}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.alignwide{max-width:var(--pi-container);margin-inline:auto}.wp-caption{max-width:100%}.entry-content>*{max-width:850px;margin-left:auto;margin-right:auto}.entry-content>.alignwide{max-width:var(--pi-container)}.entry-content>.alignfull{max-width:none}.pagination{margin-top:2rem}.pagination .page-numbers{display:inline-block;padding:.45rem .75rem;background:#fff;border:1px solid var(--pi-border);border-radius:8px;text-decoration:none}
@media(max-width:1000px){.site-branding--logo img,.site-branding .custom-logo{width:260px;max-width:29vw}.grid--4{grid-template-columns:repeat(2,minmax(0,1fr))}.hero-grid{gap:1.5rem}.main-navigation ul{gap:.8rem}.main-navigation a{font-size:.88rem}.header-cta{display:none}}
@media(max-width:760px){.header-inner{min-height:88px}.site-branding--logo img,.site-branding .custom-logo{width:225px;max-width:58vw;max-height:76px}.menu-toggle{display:inline-flex}.main-navigation{display:none;position:absolute;left:0;right:0;top:100%;padding:1rem;background:#fff;border-bottom:1px solid var(--pi-border);box-shadow:var(--pi-shadow)}.main-navigation.is-open{display:block}.main-navigation ul{align-items:stretch;flex-direction:column;gap:0}.main-navigation li{padding:.65rem 0;border-bottom:1px solid #f0f1ee}.main-navigation li:last-child{border-bottom:0}.main-navigation a{font-size:1rem}.hero-grid{grid-template-columns:1fr}.hero-art{max-width:500px;width:100%;margin-inline:auto}.hero-art-inner{min-height:250px}.grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}.cta-band{align-items:flex-start;flex-direction:column}.footer-grid{grid-template-columns:1fr 1fr}.footer-grid>div:first-child{grid-column:1/-1}.invitation-details{grid-template-columns:1fr 1fr}}
@media(max-width:480px){.container{width:min(calc(100% - 1.25rem),var(--pi-container))}.grid--4,.grid--3{grid-template-columns:1fr}.hero-actions .button{width:100%}.card{padding:1.2rem}.footer-grid{grid-template-columns:1fr}.footer-grid>div:first-child{grid-column:auto}.form-grid{grid-template-columns:1fr}.form-field--full{grid-column:auto}.gallery-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.invitation-details{grid-template-columns:1fr}.invitation-cover{padding:3.5rem 1rem}.countdown span{min-width:62px}.cta-band{border-radius:20px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation:none!important}}

/* Modern motion and demo gallery */
@keyframes pi-rise{from{opacity:0;transform:translateY(22px)}to{opacity:1;transform:translateY(0)}}
@keyframes pi-float{0%,100%{transform:translateY(0) rotate(1deg)}50%{transform:translateY(-8px) rotate(0deg)}}
@keyframes pi-shimmer{0%{background-position:0% 50%}100%{background-position:100% 50%}}
.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .65s ease,transform .65s ease}
.js .reveal.is-visible{opacity:1;transform:translateY(0)}
.hero h1{animation:pi-rise .7s both}.hero-art{animation:pi-float 7s ease-in-out infinite}.hero-art-inner{background-size:180% 180%;animation:pi-shimmer 14s ease infinite}
.card{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}.card:hover{transform:translateY(-5px);box-shadow:0 18px 42px rgba(20,40,30,.09);border-color:#d7c49b}
.demo-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.2rem}.demo-card{overflow:hidden;padding:0}.demo-cover{min-height:240px;padding:1.4rem;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;position:relative;isolation:isolate;color:#183d32;background:radial-gradient(circle at 15% 20%,rgba(217,168,91,.25),transparent 30%),linear-gradient(145deg,#f9f4e8,#e3eee5)}.demo-cover:before,.demo-cover:after{content:'❋';position:absolute;font-size:5rem;color:rgba(176,137,67,.25);z-index:-1}.demo-cover:before{top:5px;left:8px}.demo-cover:after{right:8px;bottom:0}.demo-cover--blue{background:linear-gradient(145deg,#e9f0f7,#d7e5e7);color:#203c5a}.demo-cover--rose{background:linear-gradient(145deg,#fff4e8,#e7eee4)}.demo-cover--gold{background:linear-gradient(145deg,#f7eedb,#e3e9df)}.demo-cover .demo-kicker{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase}.demo-cover h3{font-family:Georgia,serif;font-size:1.65rem;line-height:1.15;margin:.7rem 0;color:inherit}.demo-cover p{font-size:.85rem;color:inherit}.demo-card-content{padding:1.2rem}.demo-card-content h2{font-size:1.15rem;margin:0;color:var(--pi-primary)}.demo-card-content p{font-size:.92rem}.demo-actions{display:flex;gap:.6rem;flex-wrap:wrap}.demo-invitation{max-width:880px;margin:2rem auto;background:#fff;border:1px solid var(--pi-border);border-radius:28px;overflow:hidden;box-shadow:var(--pi-shadow)}.demo-invitation .demo-cover{min-height:420px}.demo-invitation .demo-cover h1{font-family:Georgia,serif;font-size:clamp(2.5rem,7vw,4.8rem);line-height:1.05;margin:.8rem 0}.demo-invitation-body{padding:clamp(1.3rem,5vw,3rem);text-align:center}.demo-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;max-width:600px;margin:1.5rem auto}.demo-detail{background:var(--pi-bg);padding:1rem;border-radius:14px}.demo-detail strong{display:block;color:var(--pi-primary)}.demo-flower{font-size:2.5rem;color:#b58a46}.demo-note{font-size:.85rem;color:var(--pi-muted)}
@media(max-width:1000px){.demo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.hero-art{animation:none}.demo-invitation .demo-cover{min-height:340px}}
@media(max-width:480px){.demo-grid{grid-template-columns:1fr}.demo-detail-grid{grid-template-columns:1fr}.site-branding--logo img,.site-branding .custom-logo{width:205px;max-width:57vw}}
@media(prefers-reduced-motion:reduce){.hero h1,.hero-art,.hero-art-inner{animation:none!important}.js .reveal{opacity:1;transform:none;transition:none}}
