.private-order-page { --po-border:#3b5043; --po-surface:#22382b; --po-surface-raised:#293b30; --po-muted:#c0c9be; }
.private-order-page,.private-order-page * { box-sizing:border-box; }
.private-order-page .private-nav a { text-decoration:none; }
.private-order-page .private-header { background:rgba(23,35,29,.97); }
.private-order-page .private-nav .order-action { display:inline-flex; align-items:center; gap:9px; color:#17231d; background:#9bcb8b; border-color:#9bcb8b; }
.private-order-page .private-nav .order-action:hover { color:#17231d; background:#b7d7a6; }
.private-order-page main { overflow:visible; }
.private-order-hero { min-height:340px; display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.15fr); background:#14231b; color:#f0f1e8; }
.private-order-hero__copy { align-self:center; max-width:720px; padding:42px clamp(28px,6vw,88px); }
.private-order-hero .private-kicker { color:#b7d7a6; }
.private-order-hero h1 { margin:0; font:800 clamp(2.8rem,5vw,4.5rem)/1.02 Arial,Helvetica,sans-serif; letter-spacing:-.055em; }
.private-order-hero h1 em { color:#a7cf93; font-style:normal; }
.private-order-hero__copy>p:not(.private-kicker) { max-width:560px; color:#d4ddd2; font-size:1.02rem; line-height:1.65; }
.private-order-hero__image { min-height:340px; background:linear-gradient(90deg,#14231b 0%,rgba(20,35,27,.48) 28%,rgba(20,35,27,.12) 100%),url('../images/order-hero.png') center/cover no-repeat; }
.order-highlights { display:flex; flex-wrap:wrap; gap:12px 22px; margin:28px 0 0; padding:0; list-style:none; color:#dce5da; font-size:.82rem; }
.order-highlights li { display:flex; align-items:center; gap:9px; }
.order-highlights li>span { display:grid; width:34px; height:34px; place-items:center; border-radius:50%; background:#293b30; color:#b7d7a6; font-size:1.05rem; }
.private-order-form { max-width:1480px; margin:0 auto; padding:28px clamp(16px,3vw,42px) 64px; }
.private-order-panel { min-width:0; padding:clamp(20px,2.8vw,38px); border:1px solid var(--po-border); border-radius:24px; background:linear-gradient(140deg,#1b3025,#17271f 68%,#1d3428); color:#f0f1e8; box-shadow:0 18px 48px rgba(0,0,0,.12); }
.catalog-panel { padding-bottom:32px; }
.order-section-heading { display:flex; align-items:center; gap:14px; margin-bottom:28px; }
.order-step { display:grid; flex:0 0 42px; width:42px; height:42px; place-items:center; border-radius:50%; background:#70bd45; color:#14231b; font-size:1.15rem; font-weight:800; }
.order-section-heading h2 { margin:0; color:#f0f1e8; font-size:clamp(1.35rem,2.2vw,1.8rem); line-height:1.2; }
.order-section-heading p { margin:5px 0 0; color:var(--po-muted); line-height:1.5; font-size:.92rem; }
.catalog-group h3 { margin:0 0 5px; color:#f0f1e8; font-size:1.35rem; }
.group-intro { margin:0 0 16px; color:var(--po-muted); font-size:.9rem; line-height:1.5; }
.base-product-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.mix-group { margin-top:36px; }
.mix-product-grid { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:14px; }
.private-product-card { min-width:0; overflow:hidden; border:1px solid #3b5043; border-radius:15px; background:rgba(10,25,17,.22); }
.private-product-card>img { display:block; width:100%; height:clamp(120px,13vw,178px); object-fit:cover; background:#293b30; }
.private-product-card__body { padding:14px; }
.private-product-card h4 { margin:0; color:#f0f1e8; font-size:1rem; line-height:1.3; }
.private-product-card__body>p { min-height:38px; margin:7px 0 13px; color:#c0c9be; font-size:.83rem; line-height:1.45; }
.private-product-card label { display:block; margin:0 0 6px; color:#dce5da; font-size:.76rem; font-weight:700; }
.private-product-card select,.customer-fields input,.customer-fields select,.customer-fields textarea { width:100%; min-height:43px; padding:10px 12px; border:1px solid #52675a; border-radius:9px; background:#14231b; color:#f0f1e8; font:inherit; }
.private-product-card select:focus,.customer-fields input:focus,.customer-fields select:focus,.customer-fields textarea:focus { outline:2px solid #9bcb8b; outline-offset:2px; }
.variant-price { display:block; min-height:22px; margin:8px 0; color:#b7d7a6; font-weight:700; font-size:.86rem; }
.variant-price.is-pending { color:#e9cf8e; font-size:.75rem; }
.product-actions { display:grid; grid-template-columns:94px minmax(0,1fr); align-items:center; gap:8px; }
.product-quantity,.cart-quantity { display:flex; align-items:center; justify-content:space-between; min-height:40px; border:1px solid #52675a; border-radius:999px; }
.product-quantity button,.cart-quantity button { width:32px; height:38px; flex:0 0 32px; border:0; border-radius:50%; background:transparent; color:#dcebd6; font-size:1.25rem; cursor:pointer; }
.product-quantity button:disabled,.product-quantity input:disabled { color:#718078; cursor:not-allowed; }
.product-quantity input,.cart-quantity input { min-width:25px; width:30px; border:0; padding:0; background:transparent; color:#fff; text-align:center; font:700 .9rem Arial,sans-serif; appearance:textfield; }
.product-quantity input::-webkit-inner-spin-button,.cart-quantity input::-webkit-inner-spin-button { appearance:none; }
.add-to-cart { min-height:40px; padding:7px 9px; border:1px solid #9bcb8b; border-radius:999px; background:#9bcb8b; color:#17231d; font:700 .78rem Arial,sans-serif; cursor:pointer; }
.add-to-cart:hover:not(:disabled) { background:#b7d7a6; }
.add-to-cart:disabled { border-color:#52675a; background:#293b30; color:#a1b0a3; cursor:not-allowed; }
.mix-details { margin-top:10px; border-top:1px solid #3b5043; padding-top:8px; }
.mix-details summary { color:#dcebd6; font-size:.78rem; font-weight:700; cursor:pointer; }
.mix-details summary::marker { color:#9bcb8b; }
.mix-details__copy { margin:9px 0 0; color:#e9cf8e; font-size:.78rem; line-height:1.5; }
.private-checkout-grid { display:grid; grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr); align-items:start; gap:16px; margin-top:16px; }
.customer-fields { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px 20px; }
.customer-fields label { display:block; color:#e3eade; font-size:.84rem; font-weight:700; }
.customer-fields label em,.private-consent em { color:#e69b87; font-style:normal; }
.customer-fields input,.customer-fields select,.customer-fields textarea { display:block; margin-top:7px; }
.customer-fields textarea { resize:vertical; min-height:105px; }
.customer-fields input::placeholder,.customer-fields textarea::placeholder { color:#a1b0a3; font-weight:400; }
.address-field,.note-field { grid-column:1/-1; }
.pickup-address { grid-column:1/-1; margin:0; color:#dcebd6; font-size:.86rem; line-height:1.5; }
.delivery-terms { margin-top:22px; padding:16px; border:1px solid #3b5043; border-radius:12px; background:#1d2d24; }
.delivery-terms strong { color:#f0f1e8; }
.delivery-terms p { margin:7px 0 0; color:#c0c9be; font-size:.83rem; line-height:1.55; }
.private-consent { display:flex; align-items:flex-start; gap:10px; margin-top:20px; color:#dce5da; font-size:.81rem; line-height:1.5; }
.private-consent input { width:18px; height:18px; flex:0 0 18px; margin:1px 0 0; accent-color:#9bcb8b; }
.private-consent a { color:#b7d7a6; text-decoration:underline; text-underline-offset:2px; }
.private-summary { position:sticky; top:105px; }
.cart-lines { display:grid; gap:10px; }
.cart-empty { margin:0; padding:16px 0; color:#a1b0a3; font-size:.9rem; }
.cart-line { display:grid; grid-template-columns:56px minmax(0,1fr) auto; align-items:center; gap:10px; padding:9px 0; border-bottom:1px solid #3b5043; }
.cart-line>img { width:56px; height:56px; border-radius:9px; object-fit:cover; }
.cart-line__info { min-width:0; }
.cart-line__info strong { display:block; color:#f0f1e8; font-size:.84rem; line-height:1.35; }
.cart-line__info small { display:block; margin-top:3px; color:#c0c9be; font-size:.76rem; }
.cart-line__controls { display:flex; align-items:center; gap:9px; }
.cart-line__controls>strong { min-width:70px; color:#f0f1e8; text-align:right; font-size:.85rem; }
.cart-quantity { min-height:34px; }
.cart-quantity button { width:28px; height:32px; flex-basis:28px; }
.cart-quantity input { width:22px; }
.remove-line { width:32px; height:32px; border:0; background:transparent; color:#c0c9be; font-size:1.2rem; cursor:pointer; }
.remove-line:hover { color:#f4a898; }
.cart-totals { margin-top:18px; }
.cart-totals p { display:flex; justify-content:space-between; gap:16px; margin:9px 0; color:#dce5da; font-size:.87rem; }
.cart-totals strong { color:#f0f1e8; white-space:nowrap; }
.cart-totals .cart-grand-total { margin-top:14px; padding-top:14px; border-top:1px solid #52675a; font-weight:800; }
.cart-grand-total strong { color:#9bcb8b; font-size:1.35rem; }
.private-submit { display:flex; width:100%; min-height:54px; align-items:center; justify-content:center; gap:13px; margin-top:18px; border:0; border-radius:13px; background:#9bcb8b; color:#17231d; font:800 .95rem Arial,sans-serif; cursor:pointer; }
.private-submit svg { width:22px; height:22px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.private-submit:hover:not(:disabled) { background:#b7d7a6; }
.private-submit:disabled { opacity:.55; cursor:not-allowed; }
.submit-note { margin:9px 0 0; color:#a1b0a3; text-align:center; font-size:.72rem; line-height:1.45; }
.checkout-error { margin-top:14px; padding:12px; border:1px solid #89584c; border-radius:9px; background:#392923; color:#ffd4c7; font-size:.85rem; line-height:1.5; }
.private-order-page .private-footer { margin-top:0; }
.private-order-page .private-footer a { color:#dcebd6; }
.private-order-page .private-footer a:hover { color:#b7d7a6; }
.private-order-page [hidden] { display:none!important; }
@media(max-width:1080px) {
  .base-product-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .mix-product-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .private-checkout-grid { grid-template-columns:1fr; }
  .private-summary { position:static; }
}
@media(max-width:700px) {
  .private-order-hero { grid-template-columns:1fr; }
  .private-order-hero__copy { padding:40px 24px 28px; }
  .private-order-hero h1 { font-size:clamp(2.5rem,11vw,3.6rem); }
  .private-order-hero__image { min-height:220px; background-position:65% center; }
  .order-highlights { gap:9px 14px; font-size:.77rem; }
  .order-highlights li>span { width:30px; height:30px; }
  .private-order-form { padding:16px 12px 40px; }
  .private-order-panel { padding:18px 14px; border-radius:17px; }
  .order-section-heading { align-items:flex-start; gap:10px; margin-bottom:22px; }
  .order-step { flex-basis:36px; width:36px; height:36px; }
  .order-section-heading h2 { font-size:1.25rem; }
  .base-product-grid,.mix-product-grid { grid-template-columns:1fr; gap:12px; }
  .private-product-card { display:grid; grid-template-columns:110px minmax(0,1fr); }
  .private-product-card>img { height:100%; min-height:100%; }
  .private-product-card__body { padding:12px; }
  .private-product-card__body>p { min-height:0; margin:5px 0 9px; }
  .product-actions { grid-template-columns:88px minmax(0,1fr); }
  .private-checkout-grid { gap:12px; margin-top:12px; }
  .customer-fields { grid-template-columns:1fr; gap:13px; }
  .address-field,.note-field,.pickup-address { grid-column:auto; }
  .cart-line { grid-template-columns:44px minmax(0,1fr); }
  .cart-line>img { width:44px; height:44px; }
  .cart-line__controls { grid-column:2; justify-content:flex-end; }
}
@media(prefers-reduced-motion:reduce) {
  .private-order-page *, .private-order-page *::before, .private-order-page *::after { scroll-behavior:auto!important; transition-duration:.01ms!important; animation-duration:.01ms!important; }
}
.private-order-confirmation { min-height:62vh; display:grid; place-items:center; padding:48px 20px; }
.confirmation-panel { width:min(100%,760px); text-align:center; }
.confirmation-panel h1 { margin:0; color:#f0f1e8; font-size:clamp(2rem,5vw,3.1rem); line-height:1.1; }
.confirmation-panel>p:not(.private-kicker) { color:#c0c9be; line-height:1.65; }
.confirmation-check { display:grid; width:58px; height:58px; place-items:center; margin:0 auto 18px; border-radius:50%; background:#9bcb8b; color:#17231d; font-size:2rem; font-weight:800; }
.confirmation-number { margin-top:24px; }
.confirmation-items { margin:20px 0; padding:8px 0; border-top:1px solid #3b5043; border-bottom:1px solid #3b5043; }
.confirmation-items p { display:flex; justify-content:space-between; gap:16px; color:#dce5da; text-align:left; font-size:.88rem; }
.confirmation-items strong,.confirmation-total strong { color:#9bcb8b; white-space:nowrap; }
.confirmation-total { display:flex; justify-content:space-between; gap:16px; font-weight:800; }
.confirmation-link { width:auto; min-width:min(100%,280px); margin:12px auto 0; padding:0 20px; text-decoration:none; }
