/* WooCommerce views, generic pages, cart/checkout, forms. Loaded after vh.css (same dark tokens: --ink --surface --gold --cream --muted --line). */
.vh-page{padding-top:56px;padding-bottom:90px;max-width:860px}
.vh-page h1{margin-bottom:.3em}.vh-page h2{margin-top:1.6em}.vh-page ol,.vh-page ul{padding-left:1.3em}.vh-page .entry{color:var(--muted)}.vh-page .entry strong,.vh-page .entry h2,.vh-page .entry h3{color:var(--cream)}
.vh-woo{padding-top:8px;padding-bottom:90px}
.woocommerce-breadcrumb{font-size:.86rem;margin:26px 0 12px;color:var(--muted)}.woocommerce-breadcrumb a{text-decoration:none}
.vh-woo h1.page-title,.vh-woo .product_title{font-size:clamp(2.1rem,5vw,3.3rem);margin:.2em 0 .3em}
.term-description,.page-description{max-width:46em;margin:0 0 1.4em;color:var(--muted)}
.woocommerce-result-count,.woocommerce-ordering{display:none}
/* dish and section cards */
ul.products{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:22px;list-style:none;margin:20px 0 0;padding:0}
.woocommerce.columns-3 ul.products{grid-template-columns:repeat(3,1fr)}
.woocommerce.columns-4 ul.products{grid-template-columns:repeat(4,1fr)}
@media (max-width:980px){.woocommerce.columns-3 ul.products,.woocommerce.columns-4 ul.products{grid-template-columns:repeat(2,1fr)}}
@media (max-width:560px){.woocommerce.columns-3 ul.products,.woocommerce.columns-4 ul.products,ul.products{grid-template-columns:1fr}}
ul.products li.product,ul.products li.product-category{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column;margin:0;padding:0}
ul.products li.product-category:hover,ul.products li.product:hover{border-color:var(--gold)}
ul.products li.product a.woocommerce-LoopProduct-link,ul.products li.product-category>a{display:flex;flex-direction:column;flex:1;text-decoration:none;color:inherit}
ul.products li.product img,ul.products li.product-category img{width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;margin:0;display:block}
.woocommerce-loop-product__title,.woocommerce-loop-category__title{font-family:"Crimson Text",Georgia,serif;font-size:1.25rem;line-height:1.2;color:var(--cream);margin:0;padding:16px 20px 4px;font-weight:600}
li.product-category .woocommerce-loop-category__title{font:700 .72rem/1.3 Lato,sans-serif;letter-spacing:.18em;text-transform:uppercase;padding:16px 20px}
.woocommerce-loop-product__title::before{content:"";display:inline-block;width:14px;height:14px;border:2px solid var(--green);border-radius:2px;vertical-align:-1px;margin-right:8px;background:radial-gradient(circle,var(--green) 34%,transparent 38%)}
.vh-desc{margin:0;padding:0 20px;font-size:.93rem;color:var(--muted)}
ul.products li.product .price{display:block;padding:10px 20px 20px;font-weight:700;color:var(--gold-2);letter-spacing:.04em}
.price del{opacity:.55}.price ins{text-decoration:none}
mark.count{background:none;color:inherit;opacity:.6;font-size:.9em}
/* one dish */
.single-product div.product{display:grid;grid-template-columns:1.1fr .9fr;gap:44px;align-items:start;padding:26px 0 36px}
.single-product div.product .woocommerce-product-gallery{margin:0}.single-product div.product .woocommerce-product-gallery__wrapper{margin:0}
.single-product div.product img{border-radius:var(--radius);width:100%;height:auto;display:block;border:1px solid var(--line)}
.single-product .summary .price{display:block;font-size:1.7rem;font-weight:700;color:var(--gold-2);margin:.2em 0 .7em}
.single-product .summary .woocommerce-product-details__short-description{margin-bottom:1em;color:var(--muted)}
.single-product .related,.single-product .upsells{grid-column:1/-1;margin-top:26px}.single-product .related h2{font-size:1.6rem}
.single-product form.cart{margin:0 0 1em;display:flex;gap:12px;align-items:center;flex-wrap:wrap}
.quantity input.qty{width:74px;height:52px;background:var(--surface);color:var(--cream);border:1px solid var(--line);border-radius:3px;text-align:center;font:400 1rem Lato,sans-serif}
@media (max-width:820px){.single-product div.product{grid-template-columns:1fr}}
/* buttons */
.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.woocommerce #respond input#submit,button.single_add_to_cart_button,#place_order,.wc-block-components-button{display:inline-block;background:var(--gold);color:#1a0b07;padding:15px 28px;border-radius:2px;font:700 .74rem/1 Lato,sans-serif;letter-spacing:.2em;text-transform:uppercase;text-decoration:none;border:1px solid var(--gold);cursor:pointer}
.woocommerce a.button:hover,.woocommerce button.button:hover,#place_order:hover{background:var(--gold-2);border-color:var(--gold-2);color:#1a0b07}
.woocommerce a.button.alt,.woocommerce button.button.alt{background:var(--gold);color:#1a0b07}
/* notices */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.vh-notice{list-style:none;margin:0 0 24px;padding:16px 20px;border:1px solid var(--line);border-left:3px solid var(--gold);background:var(--surface);color:var(--cream);border-radius:3px}
.woocommerce-error,.vh-notice.err{border-left-color:var(--red)}.vh-notice.ok{border-left-color:var(--green)}
.woocommerce-message a.button,.woocommerce-info a.button{float:right;margin-left:12px;padding:10px 16px}
/* forms: cart, checkout, account */
.woocommerce form .form-row{margin:0 0 18px}.woocommerce form .form-row label,.woocommerce-checkout label{display:block;font:700 .68rem/1.4 Lato,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:7px}
.woocommerce input.input-text,.woocommerce textarea,.woocommerce select,.woocommerce-checkout input[type=text],.woocommerce-checkout input[type=tel],.woocommerce-checkout input[type=email],.select2-container .select2-selection--single{width:100%;background:var(--surface);color:var(--cream);border:1px solid var(--line);border-radius:3px;padding:12px 14px;font:300 1rem/1.4 Lato,sans-serif;min-height:48px}
.woocommerce input.input-text:focus,.woocommerce textarea:focus,.woocommerce select:focus{outline:none;border-color:var(--gold-2);box-shadow:0 0 0 2px rgba(201,162,75,.25)}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--cream);line-height:1.4}
.woocommerce-checkout #customer_details{display:grid;grid-template-columns:1fr 1fr;gap:34px}
.woocommerce-checkout #customer_details .col-1,.woocommerce-checkout #customer_details .col-2{float:none;width:auto}
@media (max-width:820px){.woocommerce-checkout #customer_details{grid-template-columns:1fr}}
.woocommerce-billing-fields h3,.woocommerce-shipping-fields h3,.woocommerce-additional-fields h3,#order_review_heading{font-size:1.5rem}
table.shop_table{width:100%;border-collapse:collapse;border:1px solid var(--line);border-radius:4px;margin:0 0 24px}
table.shop_table th,table.shop_table td{padding:14px 16px;border-bottom:1px solid var(--line);text-align:left;color:var(--cream);vertical-align:middle}
table.shop_table th{font:700 .68rem/1.4 Lato,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
table.shop_table img{width:64px;border-radius:3px;border:0}
.woocommerce-checkout-payment{background:var(--surface);border:1px solid var(--line);border-radius:4px;padding:18px 20px}
.woocommerce-checkout-payment ul{list-style:none;margin:0 0 14px;padding:0}.woocommerce-checkout-payment .payment_box{color:var(--muted);font-size:.93rem;padding:10px 0}
.cart_totals h2{font-size:1.5rem}.wc_payment_methods label{color:var(--cream)!important;text-transform:none!important;letter-spacing:0!important;font:400 1rem Lato,sans-serif!important}
/* reservation form + delivery check + tables */
.vh-form{display:grid;gap:18px;max-width:720px}.vh-form .row{display:grid;grid-template-columns:1fr 1fr;gap:18px}.vh-form .row.three{grid-template-columns:1.2fr 1fr .8fr}
.vh-form label{display:block;font:700 .7rem/1.4 Lato,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--gold)}
.vh-form input,.vh-form select,.vh-form textarea{display:block;width:100%;margin-top:8px;background:var(--surface);color:var(--cream);border:1px solid var(--line);border-radius:3px;padding:13px 14px;font:300 1rem/1.4 Lato,sans-serif}
.vh-form input,.vh-form select{height:52px}.vh-form textarea{height:auto}
.vh-form input:focus,.vh-form select:focus,.vh-form textarea:focus{outline:none;border-color:var(--gold-2);box-shadow:0 0 0 2px rgba(201,162,75,.25)}
.vh-form .note{font-size:.9rem;color:var(--muted);margin:0}
@media (max-width:820px){.vh-form .row,.vh-form .row.three{grid-template-columns:1fr}}
.vh-check{max-width:520px;margin:0 0 1.6rem}.vh-check label{display:block;font:700 .7rem/1.4 Lato,sans-serif;letter-spacing:.2em;text-transform:uppercase;color:var(--gold);margin-bottom:8px}
.vh-check-row{display:flex;gap:12px}.vh-check-row input{flex:1;height:52px;background:var(--surface);color:var(--cream);border:1px solid var(--line);border-radius:3px;padding:0 14px;font:400 1.1rem Lato,sans-serif;letter-spacing:.12em}
.vh-check-row .btn{margin:0}.vh-check-out{margin:14px 0 0;min-height:1.6em;color:var(--cream)}
.vh-table{width:100%;border-collapse:collapse;margin:1rem 0 2rem;border:1px solid var(--line)}.vh-table th,.vh-table td{padding:13px 16px;border-bottom:1px solid var(--line);text-align:left;color:var(--cream)}
.vh-table th{font:700 .68rem/1.4 Lato,sans-serif;letter-spacing:.18em;text-transform:uppercase;color:var(--gold)}
/* area pages: a suggested order and a short FAQ */
.vh-meal{list-style:none;margin:1rem 0 .4rem;padding:0;max-width:36em}.vh-meal li{display:flex;justify-content:space-between;gap:16px;padding:11px 0;border-bottom:1px solid var(--line)}
.vh-meal li a{color:var(--cream);text-decoration:none}.vh-meal li a:hover{color:var(--gold-2)}.vh-meal li span{color:var(--gold-2);font-weight:700;white-space:nowrap}
.vh-faq h3{font-size:1.15rem;margin:1.4em 0 .3em}.vh-faq p{margin:0 0 .6em}
.vh-page .lede{font-size:1.15rem;color:var(--cream)}
