/*
Theme Name: KHOY Elegance
Author: KHOY Bar & Kitchen
Description: Eigenständiges WordPress-Theme für KHOY, mit echten Restaurantfotos.
Version: 2.0.0
Requires at least: 6.0
Requires PHP: 8.0
License: GPL-2.0-or-later
Text Domain: khoy
*/
:root{--ink:#17191a;--ivory:#f4f0e9;--gold:#c3a477;--wine:#652f38;--muted:#62605a;--line:#d9d1c5;--header:88px}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:calc(var(--header) + 30px)}body{margin:0;background:var(--ivory);color:var(--ink);font:16px/1.7 Arial,Helvetica,sans-serif}a{color:inherit;text-underline-offset:5px}img{display:block;width:100%;height:100%;object-fit:cover}h1,h2,h3{font-family:Georgia,'Times New Roman',serif;font-weight:400;line-height:1.08;letter-spacing:-.035em;margin:0 0 24px}h1{font-size:clamp(48px,6.3vw,98px)}h2{font-size:clamp(36px,4.3vw,65px)}h3{font-size:30px}p{margin:0 0 24px}.wrap{width:min(1320px,90%);margin:auto}.eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;font-weight:700;color:#79613e;margin-bottom:20px}.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 24px;text-decoration:none;background:var(--ink);color:var(--ivory);font-size:12px;font-weight:700;letter-spacing:.07em;border:1px solid var(--ink);cursor:pointer}.btn.gold{background:var(--gold);color:var(--ink);border-color:var(--gold)}.btn.outline{background:transparent;border-color:currentColor;color:inherit}.actions{display:flex;gap:14px;flex-wrap:wrap}.skip{position:fixed;top:-100px;left:16px;z-index:99999;background:white;padding:15px}.skip:focus{top:10px}:focus-visible{outline:3px solid #9e5833;outline-offset:4px}.site-header{height:var(--header);position:sticky;top:0;z-index:1000;background:#f4f0e9f5;border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.admin-bar .site-header{top:32px}.header-inner{width:96%;max-width:1580px;height:100%;margin:auto;display:flex;align-items:center;gap:22px}.brand{font-family:Georgia,serif;font-size:36px;letter-spacing:.07em;text-decoration:none;line-height:1}.brand small{display:block;font:8px/2 Arial,sans-serif;letter-spacing:.25em}.nav{display:flex;gap:18px;align-items:center;margin-left:auto}.nav a{font-size:11px;text-decoration:none;white-space:nowrap}.social{display:flex;align-items:center;gap:13px}.social a{display:inline-flex;width:24px;height:32px;align-items:center;justify-content:center}.social svg{width:19px;height:19px;fill:currentColor}.header-book{padding:10px 16px;font-size:10px}.toggle{display:none;background:none;border:1px solid var(--ink);padding:9px;font-size:18px;cursor:pointer}.hero{position:relative;min-height:680px;height:calc(100svh - var(--header));max-height:1000px;background:#252524;color:white}.hero-photo{position:absolute;inset:0}.hero:after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.79),rgba(0,0,0,.22) 75%),linear-gradient(0deg,rgba(0,0,0,.3),transparent 55%)}.hero-content{position:relative;z-index:1;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start;padding-top:40px;padding-bottom:90px}.hero .eyebrow{color:#e4cfae}.hero p{max-width:470px;color:#eee8df}.hero h1{max-width:840px}.hero em{color:#dfc69e;font-weight:400}.hero-bottom{position:absolute;z-index:2;left:5%;right:5%;bottom:25px;display:flex;justify-content:space-between;gap:20px;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.hero-bottom a{color:white}.intro{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding:110px 0 75px;align-items:start}.intro p{max-width:490px}.experience{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-bottom:110px}.experience article{border-top:1px solid var(--line);padding-top:22px}.number{font:italic 17px Georgia,serif;color:#8d6d42;display:block;margin-bottom:18px}.experience h3{font-size:30px}.experience p{color:var(--muted);font-size:14px}.text-link{font-size:12px;font-weight:700;text-decoration:none;border-bottom:1px solid var(--gold);padding-bottom:6px}.split{display:grid;grid-template-columns:1fr 1fr;min-height:620px}.split-photo{min-height:540px;overflow:hidden}.split-copy{padding:80px 12%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.split-copy p{max-width:450px}.dark{background:var(--ink);color:var(--ivory)}.dark .eyebrow{color:var(--gold)}.dark p{color:#d6d0c7}.cream{background:#eae3d8}.section{padding:100px 0}.section-heading{display:flex;align-items:end;justify-content:space-between;gap:30px;margin-bottom:38px}.section-heading h2{margin-bottom:0}.cards{display:grid;grid-template-columns:repeat(2,1fr);gap:35px}.card-photo{height:400px;margin-bottom:30px}.cards p{color:var(--muted);max-width:540px}.ribbon{padding:60px 0;background:var(--wine);color:white}.ribbon .wrap{display:flex;justify-content:space-between;align-items:center;gap:35px}.ribbon h2{font-size:44px;margin-bottom:12px}.ribbon p{margin:0;max-width:650px}.gift{display:grid;grid-template-columns:1fr 1fr;align-items:center;gap:10%;padding:100px 0}.gift-mark{aspect-ratio:1.45;background:#202322;color:#e2cda8;padding:45px;box-shadow:15px 15px 0 #e3dace;display:flex;flex-direction:column;justify-content:space-between}.gift-mark span{font:50px Georgia,serif;letter-spacing:.08em}.gift-mark strong{font-size:13px;letter-spacing:.2em;font-weight:400}.booking-banner{text-align:center;padding:95px 5%;border-top:1px solid var(--line)}.booking-banner p{max-width:600px;margin:0 auto 28px}.footer{padding:70px 0 24px;background:var(--ink);color:var(--ivory)}.footer-grid{display:grid;grid-template-columns:1.1fr 1fr 1fr;gap:65px}.footer h3{font-size:24px}.footer p,.footer a{font-size:13px;color:#ddd5c8}.footer-brand{font:48px Georgia,serif;letter-spacing:.08em}.footer-bottom{margin-top:50px;padding-top:22px;border-top:1px solid #47453f;display:flex;justify-content:space-between;gap:20px;font-size:11px}.footer-bottom div{display:flex;gap:24px}.page-head{padding:85px 0 45px}.page-head h1{font-size:clamp(42px,6vw,80px);max-width:900px}.lead{font-size:19px;max-width:720px;color:var(--muted)}.content{padding-bottom:90px}.prose{max-width:820px}.notice{padding:24px;border-left:3px solid var(--gold);background:#eae3d8;margin:24px 0}.gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.gallery figure{margin:0}.gallery img{aspect-ratio:1.15;height:auto}.gallery figcaption{padding:12px 0;font-size:12px;color:var(--muted)}.event-form{padding:35px;background:#eae3d8;max-width:920px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.event-form label{display:block;font-size:13px;font-weight:700}.event-form input,.event-form select,.event-form textarea,.rtb-booking-form input,.rtb-booking-form select,.rtb-booking-form textarea{font:inherit;width:100%;padding:12px;border:1px solid #aaa397;background:#fffdf8;min-height:46px;border-radius:0}.event-form textarea{min-height:130px}.wide{grid-column:1/-1}.event-form input[type=checkbox]{width:20px;min-height:20px;vertical-align:middle}.event-form .consent{font-weight:400;font-size:13px}.hp{position:absolute;left:-9999px}.pdf-viewer{width:100%;height:80vh;border:1px solid var(--line);margin-top:30px}.rtb-booking-form{max-width:850px}.rtb-booking-form fieldset{border:0;padding:0;margin:25px 0}.rtb-booking-form legend{font:28px Georgia,serif;margin-bottom:20px}.rtb-booking-form button,.rpress-submit{background:var(--ink);color:white;border:0;padding:14px 24px;cursor:pointer}.rtb-booking-form label{display:block;margin-top:15px}.rpress-container{color:var(--ink)}.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1500px){.nav a{font-size:12px}.nav{gap:22px}}@media(max-width:1250px){.nav{gap:11px}.nav a{font-size:10px}.header-inner{gap:14px}.header-book{padding:10px}.brand{font-size:31px}}@media(max-width:1050px){:root{--header:76px}.toggle{display:block;order:5}.nav{display:none;position:absolute;top:100%;left:0;right:0;background:var(--ivory);padding:25px 5%;border-bottom:1px solid var(--line);max-height:calc(100svh - 110px);overflow:auto}.nav.open{display:grid;grid-template-columns:1fr 1fr;gap:16px}.nav a{font-size:14px;padding:5px}.social{margin-left:auto}.hero{min-height:650px}.split-copy{padding:60px 9%}}@media(max-width:650px){:root{--header:72px}.admin-bar .site-header{top:46px}.header-inner{gap:11px;width:94%}.brand{font-size:27px}.brand small{font-size:6px}.social{gap:5px}.header-book{font-size:9px;padding:9px;min-height:40px;letter-spacing:0}.toggle{font-size:16px;padding:6px}.hero{height:calc(100svh - 72px);min-height:640px}.hero-content{padding-bottom:110px}.hero h1{font-size:54px;max-width:350px}.hero .eyebrow{font-size:9px}.hero p{font-size:14px;max-width:310px}.hero-photo img{object-position:65% center}.hero:after{background:linear-gradient(90deg,#000b,#0005)}.hero-bottom{display:block;font-size:9px}.hero-bottom span{display:block;margin:6px 0}.intro{grid-template-columns:1fr;gap:5px;padding:65px 0 35px}.experience{grid-template-columns:1fr;padding-bottom:65px;gap:25px}.experience article{display:grid;grid-template-columns:30px 1fr;column-gap:15px}.experience article .number{grid-row:1/4}.experience p{margin-bottom:15px}.experience h3{margin-bottom:15px}.split{grid-template-columns:1fr;min-height:0}.split-photo{min-height:0;height:380px}.split-copy{padding:55px 6%}.section{padding:65px 0}.cards{grid-template-columns:1fr;gap:45px}.card-photo{height:300px;margin-bottom:25px}.section-heading{align-items:start;flex-direction:column;gap:20px}.ribbon .wrap{align-items:start;flex-direction:column}.ribbon h2{font-size:36px}.gift{grid-template-columns:1fr;gap:45px;padding:65px 0}.gift-mark{padding:30px}.booking-banner{padding:65px 5%}.footer-grid{grid-template-columns:1fr;gap:28px}.footer-bottom{flex-direction:column}.page-head{padding:55px 0 25px}.gallery{grid-template-columns:1fr 1fr;gap:13px}.form-grid{grid-template-columns:1fr}.event-form{padding:22px}.wide{grid-column:auto}.lead{font-size:17px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

/* Closed RestroPress dialogs and native Five Star booking layout. */
#rpressModal[aria-hidden="true"],#rpressDateTime[aria-hidden="true"]{display:none!important}
.rtb-booking-form{max-width:820px;margin:24px auto 64px;background:#fff;padding:clamp(22px,4vw,48px);border:1px solid #ded8ce}
.rtb-booking-form fieldset{border:0;padding:0;margin:0 0 28px;display:grid;grid-template-columns:1fr 1fr;gap:20px}
.rtb-booking-form legend{font-family:Georgia,serif;font-size:30px;margin-bottom:20px;grid-column:1/-1}
.rtb-booking-form label{display:block;font-size:14px;margin-bottom:8px}
.rtb-booking-form input:not([type=checkbox]):not([type=hidden]),.rtb-booking-form select,.rtb-booking-form textarea{width:100%;padding:14px;border:1px solid #cfc8bd;background:#faf8f3;color:#191b1b;font:inherit;box-sizing:border-box}
.rtb-booking-form button{background:#191b1b;color:white;padding:16px 24px;border:0;font:inherit;cursor:pointer}
.rtb-booking-form .rtb-textarea,.rtb-booking-form .rtb-form-footer,.rtb-booking-form .rtb-message{grid-column:1/-1}
.booking-preview-note{font-size:14px;padding:16px;background:#eee8dc;max-width:820px;margin:0 auto 24px}
@media(max-width:650px){.rtb-booking-form fieldset{grid-template-columns:1fr}}


/* Independent order button stays at the bottom while scrolling. */
.floating-order{position:fixed;right:28px;bottom:28px;z-index:1100;gap:24px;min-height:54px;padding:16px 25px;box-shadow:0 5px 22px #0003}
.floating-order:hover{filter:brightness(1.06)}
.floating-order span{font-size:18px;line-height:1}
@media(max-width:650px){.floating-order{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));min-height:48px;padding:12px 20px;font-size:11px}}

/* Keep page navigation visible inside narrow preview windows. */
@media(max-width:1050px){
 :root{--header:126px}
 .site-header{height:var(--header)}
 .header-inner{flex-wrap:wrap;align-content:center;gap:10px 14px}
 .header-inner>.brand{margin-right:auto}
 .header-inner>.social{margin-left:0}
 .header-inner>.toggle{display:none}
 .header-inner>.nav,.header-inner>.nav.open{display:flex;position:static;order:6;flex:0 0 100%;width:100%;margin:0;padding:10px 0 2px;gap:20px;max-height:none;overflow-x:auto;overflow-y:hidden;border-top:1px solid var(--line);border-bottom:0;grid-template-columns:none;scrollbar-width:thin}
 .header-inner>.nav a{display:block;font-size:12px;padding:0 0 5px;flex-shrink:0}
}
@media(max-width:650px){:root{--header:116px}.hero{height:calc(100svh - var(--header))}.header-inner>.nav,.header-inner>.nav.open{gap:19px}.header-inner>.nav a{font-size:11px}}

/* Requested header and event button refinements. */
.header-quick-actions{display:flex;align-items:center;gap:8px;flex-shrink:0}
.header-quick-actions .btn{min-height:36px;padding:8px 12px;font-size:10px;letter-spacing:.035em;white-space:nowrap}
.header-quick-actions .header-menu{background:transparent;color:var(--ink);border-color:#b99a6c}
.header-quick-actions .header-menu:hover{background:#e8dcc8}
.event-cta{background:#e8dcc8;color:#30271c;border-color:#bfa172;min-height:48px;padding:13px 20px;box-shadow:0 3px 0 #c9ad80;transition:background .15s,transform .15s}
.event-cta:hover{background:#dcc7a5;transform:translateY(-2px)}
.ribbon .sushi-cta{background:#eddbbb;color:#49242b;border-color:#eddbbb;min-height:50px;box-shadow:0 4px 14px #35121b35;white-space:nowrap}
.ribbon .sushi-cta:hover{background:#fff0d5}
@media(max-width:1250px) and (min-width:1051px){.header-inner{gap:12px}.nav{gap:10px}.header-quick-actions .btn{padding:7px 9px;font-size:9px}}
@media(max-width:650px){.header-quick-actions{gap:6px}.header-quick-actions .btn{font-size:9px;min-height:32px;padding:6px 8px}.header-inner{gap:9px}.header-inner>.brand{margin-right:0}.brand{font-size:25px}}
