@charset "UTF-8";
:root{color-scheme:light;--bg:#f7f3ec;--surface:#ede6da;--ink:#2a2622;--muted:#4f4842;--action:#7a4a2c;--action-ink:#fff;--line:rgba(42,38,34,.18);--display:"Nunito",Georgia,serif;--text:"Nunito",system-ui,sans-serif;--wrap:min(1200px,calc(100% - 48px));--nav:72px;--focus:#b45f2f;--ease-out:cubic-bezier(.2,.8,.2,1)}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:calc(var(--nav) + 20px)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--text);font-size:16px;line-height:1.6}
button,input,textarea,select{font:inherit}
button,a,select,input[type=checkbox]{cursor:pointer}
a{color:inherit;text-decoration:none}
a:hover{text-decoration:underline;text-underline-offset:5px}
button{color:inherit}
button:disabled{cursor:not-allowed;opacity:.56}
a:focus-visible,button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
img{display:block;max-width:100%;height:auto}
.wrap{width:var(--wrap);margin-inline:auto}
.skip-link{position:absolute;left:16px;top:-56px;z-index:30;padding:11px 16px;background:var(--ink);color:#f7f3ec;border-radius:2px;transition:top .15s var(--ease-out)}
.skip-link:focus{top:12px}
.site-header{height:var(--nav);position:sticky;top:0;z-index:10;background:var(--bg);border-bottom:1px solid var(--line)}
.header-inner{height:100%;display:flex;align-items:center;justify-content:space-between;gap:24px}
.wordmark{font:700 23px/1 var(--display);letter-spacing:-.04em}
.wordmark span{font-weight:400}
.header-inner nav{display:flex;align-items:center;gap:34px;font-weight:600;font-size:16px}
.admin-link{color:var(--muted)}
.hero{min-height:calc(100svh - var(--nav));padding:0 0 64px;display:flex;flex-direction:column}
.hero-image{width:100%;height:min(48vw,480px);min-height:300px;overflow:hidden}
.hero-image img{width:100%;height:100%;object-fit:cover;object-position:center 55%}
.hero-copy{display:grid;grid-template-columns:1fr 1fr;column-gap:8%;align-items:center;padding-top:36px}
.eyebrow{margin:0 0 10px;color:var(--action);font-size:14px;font-weight:700}
.hero-copy .eyebrow{grid-column:1/-1}
h1,h2,h3,p{margin-top:0}
.hero h1{grid-column:1;max-width:640px;margin-bottom:0;font:500 clamp(38px,5.2vw,70px)/1.02 var(--display);letter-spacing:-.045em}
.hero-lead{grid-column:2;grid-row:2;margin:0 0 24px;max-width:430px;font-size:19px;color:var(--muted)}
.button{min-height:48px;padding:11px 22px;border:1px solid var(--action);border-radius:2px;background:var(--action);color:var(--action-ink);display:inline-flex;align-items:center;justify-content:center;text-align:center;font-weight:700;transition:transform .16s var(--ease-out),background .16s var(--ease-out),color .16s var(--ease-out)}
.button:hover:not(:disabled){background:#633a23;text-decoration:none;transform:translateY(-1px)}
.button:active:not(:disabled){transform:translateY(1px)}
.button--outline{background:transparent;color:var(--action)}
.button--outline:hover:not(:disabled){background:var(--surface);color:var(--ink)}
.hero .button{grid-column:2;justify-self:start;min-width:190px}
.section{padding-block:112px}
.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:48px}
.section-heading h2,.order-copy h2,.footer-inner h2,.admin-main h1{font:500 clamp(32px,4vw,48px)/1.1 var(--display);letter-spacing:-.035em;margin:0}
.section-intro{max-width:330px;margin:0;color:var(--muted)}
.loading-copy,.empty-copy{color:var(--muted)}
.product-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}
.product-card{border:1px solid var(--line);background:rgba(255,255,255,.18);padding:0 0 20px;transition:transform .18s var(--ease-out)}
.product-card:hover{transform:translateY(-2px)}
.product-card__image{aspect-ratio:4/3;overflow:hidden;background:var(--surface)}
.product-card__image img{width:100%;height:100%;object-fit:cover;transition:transform .6s var(--ease-out)}
.product-card:hover .product-card__image img{transform:scale(1.025)}
.is-broken{display:none}
.product-card__body{padding:18px 20px 0}
.product-card h3{font:600 22px/1.25 var(--display);margin:0 0 6px}
.product-card p{margin:0 0 12px;color:var(--muted)}
.product-price{font-weight:700}
.quantity-control{display:flex;align-items:center;gap:12px;margin-top:18px}
.quantity-control button{height:44px;width:44px;border:1px solid var(--line);background:var(--bg);font-size:20px}
.quantity-control output{min-width:20px;text-align:center}
.empty-state,.error-state{padding:58px 24px;text-align:center}
.empty-mark{font:500 56px/1 var(--display);color:var(--action)}
.empty-state h3,.error-state h3{font:500 28px/1.2 var(--display);margin:18px 0 8px}
.empty-state p,.error-state p{color:var(--muted);margin:0 auto 20px;max-width:440px}
.order-section{background:var(--surface)}
.order-layout{display:grid;grid-template-columns:.85fr 1fr;gap:10%;align-items:start}
.order-copy>p:not(.eyebrow){max-width:470px;color:var(--muted);margin:24px 0}
.order-copy .no-payment{font-size:14px;padding-top:18px;border-top:1px solid var(--line)}
.order-form,.admin-form,.product-form{display:grid;gap:10px}
.order-form label,.admin-form label,.product-form>label,.admin-section>label{font-weight:700;font-size:15px;margin-top:8px}
.order-form label span{font-weight:400;color:var(--muted)}
input,textarea,select{width:100%;min-height:48px;border:1px solid rgba(42,38,34,.36);border-radius:2px;background:#fffdf9;color:var(--ink);padding:11px 13px}
textarea{resize:vertical}
.field-hint{margin:-4px 0 4px;color:var(--muted);font-size:14px}
.order-summary{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;border-block:1px solid var(--line);padding:16px 0;margin:8px 0}
.order-summary span{color:var(--muted)}
.order-summary strong{text-align:right}
.order-form .button{width:100%;margin-top:8px}
.form-message{min-height:24px;margin:0;color:var(--action);font-weight:600}
.site-footer{background:#292621;color:#f7f3ec;padding:88px 0}
.footer-inner{display:grid;grid-template-columns:1fr 1fr;gap:40px;align-items:start}
.footer-inner h2{color:#f7f3ec}
.footer-inner p{margin:14px 0 0;color:#e2dace}
.footer-inner .eyebrow{color:#e2dace}
.footer-inner .visit-note{font-size:14px}
.footer-inner .button{margin-top:28px;background:#f7f3ec;color:#2a2622;border-color:#f7f3ec}
.footer-inner .button:hover:not(:disabled){background:#e2dace;color:#2a2622}
.footer-meta{display:grid;gap:14px;justify-items:start;align-content:end}
.footer-meta .footer-credit{color:#e2dace}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes rise-in{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.hero-copy>*{animation:rise-in .45s var(--ease-out) both}
.hero-copy>:nth-child(2){animation-delay:.08s}
.hero-copy>:nth-child(3){animation-delay:.14s}
.hero-copy>:nth-child(4){animation-delay:.2s}
.admin-page{min-height:100vh}
.back-link{font-weight:700;color:var(--action)}
.admin-main{padding-block:72px 120px}
.login-panel{max-width:440px;margin:60px auto}
.login-panel h1{margin-bottom:30px}
.admin-form .button{margin-top:12px}
.admin-heading,.admin-section-heading{display:flex;align-items:center;justify-content:space-between;gap:24px}
.admin-heading{margin-bottom:42px}
.admin-heading h1{margin:0}
.admin-section{padding:32px 0 56px;border-top:1px solid var(--line)}
.admin-section-heading{margin-bottom:26px}
.admin-section-heading h2{font:500 32px/1.1 var(--display);margin:0}
.admin-section>label{display:block}
.orders-list,.products-list{display:grid;gap:14px;margin-top:22px}
.order-row,.admin-product{border:1px solid var(--line);padding:20px;background:rgba(255,255,255,.28)}
.order-row__top,.admin-product__top{display:flex;justify-content:space-between;gap:18px;align-items:start}
.order-row h3,.admin-product h3{font:700 19px/1.3 var(--display);margin:0 0 4px}
.order-meta{margin:0;color:var(--muted)}
.order-items{padding:14px 0;margin:12px 0;border-block:1px solid var(--line)}
.order-items p{margin:4px 0}
.order-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.order-actions label{margin-top:0;font-weight:700;font-size:15px}
.order-actions select{width:auto;min-width:180px}
.admin-section input[type=search]{max-width:520px}
.product-form{max-width:620px;margin:24px 0 36px}
.checkbox-row{display:flex;align-items:center;gap:10px}
.checkbox-row input{width:20px;min-height:20px;accent-color:var(--action)}
.product-preview{width:160px;height:120px;object-fit:cover;border:1px solid var(--line);background:var(--surface)}
.form-actions{display:flex;gap:12px;flex-wrap:wrap}
.admin-product__top{align-items:center}
.admin-product__actions{display:flex;gap:8px;flex-wrap:wrap}
.admin-product__actions .button{min-height:42px;padding:8px 15px}
.status-label{display:inline-block;padding:5px 10px;background:var(--surface);font-size:13px;font-weight:700}
.status-label[data-status=selesai]{background:#dce7d5}
.status-label[data-status=dibatalkan]{background:#ead8d1}
@media(max-width:800px){:root{--wrap:min(100% - 40px,620px);--nav:64px}.header-inner nav{gap:18px}.hero{min-height:0;padding-bottom:48px}.hero-image{height:46vw;min-height:260px}.hero-copy{grid-template-columns:1fr;gap:14px;padding-top:26px}.hero-copy .eyebrow,.hero h1,.hero-lead,.hero .button{grid-column:1;grid-row:auto}.hero h1{font-size:clamp(38px,8vw,56px)}.hero-lead{font-size:17px;margin:0 0 4px}.hero .button{width:100%}.section{padding-block:76px}.section-heading{display:block;margin-bottom:32px}.section-intro{margin-top:14px}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.product-card__body{padding:14px 14px 0}.product-card h3{font-size:18px}.order-layout{grid-template-columns:1fr;gap:34px}.footer-inner{grid-template-columns:1fr;gap:32px}.admin-main{padding-block:48px 80px}.admin-heading{align-items:flex-start}.order-row__top{flex-direction:column}.order-actions select{flex:1}}
@media(max-width:520px){:root{--wrap:calc(100% - 32px);--nav:58px}.wordmark{font-size:20px}.header-inner nav{gap:12px;font-size:14px}.admin-link{display:none}.hero-image{height:74vw;min-height:272px;max-height:380px}.hero-copy{padding-top:22px}.hero h1{font-size:38px}.section{padding-block:60px}.product-grid{gap:10px}.product-card__body{padding:12px 10px 0}.product-card h3{font-size:16px}.product-card p{font-size:14px}.quantity-control{gap:8px}.quantity-control button{width:40px;height:40px}.order-summary{font-size:14px}.admin-heading{flex-direction:column}.admin-section-heading{align-items:flex-start}.admin-section-heading .button{min-height:44px}.admin-product__top{align-items:flex-start;flex-direction:column}.form-actions>*{width:100%}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
