/*
Theme Name: Italian House Restaurant
Description: Italian House Restaurant theme. Ordering is powered by the Italian House Ordering plugin.
Version: 1.3.4
Author: Italian House
Text Domain: italian-house
*/
:root{--ih-bg:#18251D;--ih-surface:#223229;--ih-card:#2a3b31;--ih-text:#f7f4ea;--ih-muted:#b9c3bc;--ih-accent:#B7FF72;--ih-border:rgba(183,255,114,.22);--ih-shadow:0 20px 60px rgba(0,0,0,.22)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--ih-bg);color:var(--ih-text);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.5}body:before{content:"";position:fixed;inset:0;pointer-events:none;background:radial-gradient(circle at 15% 10%,rgba(183,255,114,.08),transparent 30%),radial-gradient(circle at 90% 40%,rgba(255,255,255,.03),transparent 28%);z-index:-1}a{color:inherit}.ih-container{width:min(1180px,calc(100% - 32px));margin:auto}.ih-header{position:sticky;top:0;z-index:100;background:color-mix(in srgb,var(--ih-bg) 92%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--ih-border)}.ih-nav{min-height:72px;display:flex;align-items:center;gap:20px}.ih-logo{font-weight:950;font-size:21px;color:var(--ih-accent);text-decoration:none;letter-spacing:.06em;white-space:nowrap}.ih-links{display:flex;gap:22px;margin-left:auto}.ih-links a{text-decoration:none;font-weight:750}.ih-links a:hover{color:var(--ih-accent)}.ih-controls{display:flex;align-items:center;gap:8px}.ih-header-cart,.ih-lang,.ih-toggle{border:1px solid var(--ih-border);background:var(--ih-surface);color:var(--ih-text);cursor:pointer}.ih-header-cart{border-radius:999px;padding:8px 12px;font-weight:900;display:flex;gap:7px;align-items:center}.ih-header-cart span:last-child{color:var(--ih-accent)}.ih-lang{padding:8px 11px;border-radius:999px;text-decoration:none;font-weight:850}.ih-toggle{width:68px;height:34px;border-radius:20px;padding:3px;position:relative;display:flex;align-items:center;justify-content:space-between}.ih-toggle:before{content:"";position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:var(--ih-accent);transition:.25s}.ih-toggle.light:before{transform:translateX(34px)}.ih-toggle .ih-moon,.ih-toggle .ih-sun{z-index:1;width:26px;text-align:center;font-size:16px}.ih-toggle .ih-moon{color:var(--ih-bg)}.ih-toggle .ih-sun{color:var(--ih-text)}.ih-hero{padding:100px 0 75px;background:linear-gradient(180deg,rgba(255,255,255,.025),transparent)}.ih-hero-grid{display:grid;grid-template-columns:1.4fr .6fr;gap:55px;align-items:center}.ih-eyebrow{color:var(--ih-accent);font-weight:850;text-transform:uppercase;letter-spacing:.12em;font-size:12px}.ih-hero h1{font-size:clamp(46px,7vw,82px);line-height:.95;max-width:850px;margin:14px 0 22px;letter-spacing:-.04em}.ih-hero p{font-size:19px;color:var(--ih-muted);max-width:650px;line-height:1.65}.ih-hero-actions{display:flex;gap:12px;flex-wrap:wrap}.ih-btn{display:inline-block;margin-top:18px;background:var(--ih-accent);color:var(--ih-bg);font-weight:900;padding:14px 21px;border-radius:13px;text-decoration:none;border:1px solid var(--ih-accent);cursor:pointer}.ih-btn-secondary{background:transparent;color:var(--ih-text);border-color:var(--ih-border)}.ih-hero-card{min-height:330px;border:1px solid var(--ih-border);border-radius:32px;background:linear-gradient(145deg,var(--ih-card),var(--ih-surface));box-shadow:var(--ih-shadow);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(2deg)}.ih-hero-card span{font-size:105px}.ih-hero-card strong{font-size:24px;color:var(--ih-accent);letter-spacing:.08em}.ih-hero-card small{color:var(--ih-muted);text-align:center;margin-top:5px}.ih-section{padding:68px 0}.ih-menu-section{scroll-margin-top:80px}.ih-section-heading{display:flex;justify-content:space-between;gap:25px;align-items:end;margin-bottom:24px}.ih-section h2{font-size:40px;line-height:1.05;margin:7px 0 0;letter-spacing:-.025em}.ih-heading-note{max-width:400px;color:var(--ih-muted);text-align:right}.ih-info-card,.ih-contact-card{border:1px solid var(--ih-border);border-radius:25px;background:var(--ih-card);padding:30px;display:flex;justify-content:space-between;gap:35px;align-items:center}.ih-info-card p,.ih-contact-card p{color:var(--ih-muted);max-width:500px}.ih-contact-card{background:linear-gradient(145deg,var(--ih-card),var(--ih-surface))}.ih-footer{padding:50px 0;border-top:1px solid var(--ih-border);color:var(--ih-muted)}.ih-plugin-warning{padding:25px;border:1px dashed var(--ih-border);border-radius:15px;color:var(--ih-muted)}body.ih-light{--ih-bg:#f1eadb;--ih-surface:#e5dcc9;--ih-card:#fffaf0;--ih-text:#18251D;--ih-muted:#59645d;--ih-accent:#719f36;--ih-border:rgba(24,37,29,.16);--ih-shadow:0 20px 60px rgba(24,37,29,.10)}body.ih-light:before{opacity:.5}body.ih-light .ih-header{background:color-mix(in srgb,var(--ih-bg) 94%,transparent)}body.ih-palette-warm-olive{--ih-bg:#27301f;--ih-surface:#38422b;--ih-card:#435034;--ih-accent:#d8e58a;--ih-border:rgba(216,229,138,.25)}body.ih-palette-forest-cream{--ih-bg:#17352a;--ih-surface:#24483a;--ih-card:#315744;--ih-accent:#d8efb5;--ih-border:rgba(216,239,181,.25)}body.ih-palette-charcoal-mint{--ih-bg:#202726;--ih-surface:#2d3634;--ih-card:#394441;--ih-accent:#9fe8c0;--ih-border:rgba(159,232,192,.25)}body.ih-palette-espresso-lime{--ih-bg:#2b201b;--ih-surface:#3c2c24;--ih-card:#4a362b;--ih-accent:#c5ff72;--ih-border:rgba(197,255,114,.25)}body.ih-palette-navy-lime{--ih-bg:#172536;--ih-surface:#24364a;--ih-card:#30465d;--ih-accent:#b7ff72;--ih-border:rgba(183,255,114,.25)}
@media(max-width:850px){.ih-links{display:none}.ih-hero-grid{grid-template-columns:1fr}.ih-hero-card{display:none}.ih-section-heading{display:block}.ih-heading-note{text-align:left;margin-top:10px}.ih-info-card,.ih-contact-card{display:block}.ih-contact-card .ih-btn{margin-top:20px}}
@media(max-width:600px){.ih-container{width:min(100% - 24px,1180px)}.ih-nav{min-height:64px;gap:7px}.ih-logo{font-size:16px;margin-right:auto}.ih-controls{gap:5px}.ih-header-cart{padding:7px 9px}.ih-lang{padding:7px 9px}.ih-toggle{width:62px}.ih-toggle.light:before{transform:translateX(28px)}.ih-hero{padding:65px 0 45px}.ih-hero h1{font-size:48px}.ih-hero p{font-size:17px}.ih-section{padding:48px 0}.ih-section h2{font-size:34px}.ih-info-card,.ih-contact-card{padding:24px}.ih-links{display:none}}

/* Cart button: make the entire icon/count area a single reliable click target. */
.ih-header-cart{cursor:pointer;position:relative;}
.ih-header-cart .ih-cart-icon,.ih-header-cart #ih-cart-count{pointer-events:none;}

.ih-nav-reservation{background:var(--ih-accent);color:var(--ih-bg)!important;padding:8px 12px;border-radius:11px;box-shadow:0 6px 18px rgba(183,255,114,.18)}.ih-nav-reservation:hover{transform:translateY(-1px)}.ih-back-top{position:fixed;right:18px;bottom:18px;z-index:250;border:1px solid var(--ih-border);background:var(--ih-accent);color:var(--ih-bg);font-weight:900;border-radius:999px;padding:11px 15px;box-shadow:var(--ih-shadow);cursor:pointer;opacity:0;visibility:hidden;transform:translateY(12px);transition:.25s}.ih-back-top.show{opacity:1;visibility:visible;transform:none}.ih-back-top span{font-size:12px;margin-left:4px}

/* Italian House 1.2.1 navbar refinement */
.ih-nav-reservation{background:transparent;color:inherit!important;padding:0;border-radius:0;box-shadow:none}.ih-nav-reservation:hover{background:transparent;color:var(--ih-accent)!important;transform:none}

/* Italian House 1.2.1 reservation navigation */
.ih-nav-reservation{display:inline-flex!important;align-items:center;justify-content:center;background:var(--ih-accent)!important;color:var(--ih-bg)!important;padding:11px 18px!important;min-height:44px!important;border:1px solid var(--ih-accent)!important;border-radius:12px!important;box-shadow:0 7px 20px rgba(183,255,114,.16)!important;font-weight:900!important;line-height:1!important;white-space:nowrap}
.ih-nav-reservation:hover{color:var(--ih-bg)!important;transform:translateY(-1px)}
@media(max-width:700px){.ih-nav-reservation{padding:10px 16px!important;min-height:42px!important}}


/* Italian House 1.2.2 navbar alignment */
.ih-nav{align-items:center!important}
.ih-links{align-items:center!important}
.ih-links a{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:44px!important;line-height:1.2!important;box-sizing:border-box!important}
.ih-links .ih-nav-reservation{min-height:50px!important;padding:12px 22px!important;font-size:16px!important}
@media(max-width:700px){.ih-links .ih-nav-reservation{min-height:46px!important;padding:11px 20px!important}}

/* Italian House 1.3.1 mobile navbar + feedback */
.ih-nav-feedback{font-weight:850!important}
@media(max-width:850px){.ih-links{display:none!important}.ih-logo{font-size:15px!important}.ih-controls{gap:4px!important}.ih-lang{font-size:12px!important;padding:6px 7px!important;min-width:auto!important;white-space:nowrap}.ih-header-cart{font-size:12px!important;padding:6px 8px!important}.ih-toggle{width:56px!important;height:32px!important}.ih-toggle.light:before{transform:translateX(22px)!important}}

.ih-mobile-feedback{display:none;text-decoration:none;border:1px solid var(--ih-border);background:var(--ih-surface);color:var(--ih-accent);border-radius:9px;width:32px;height:32px;align-items:center;justify-content:center;font-size:16px;cursor:pointer}
@media(max-width:850px){.ih-mobile-feedback{display:inline-flex!important}.ih-logo{max-width:150px;overflow:hidden;text-overflow:ellipsis}.ih-controls{flex-shrink:0}.ih-header-cart{white-space:nowrap}.ih-lang{font-size:11px!important;padding:6px 6px!important}.ih-toggle{width:54px!important}}

/* Italian House 1.3.2 mobile navigation and status-page navigation */
.ih-lang{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:3px!important;white-space:nowrap!important;line-height:1!important}
.ih-mobile-feedback{flex:0 0 32px!important}
.ih-controls{white-space:nowrap!important}
@media(max-width:850px){.ih-nav{gap:5px!important}.ih-logo{flex:1 1 auto!important;min-width:0!important;margin-right:2px!important}.ih-controls{gap:3px!important;flex:0 0 auto!important}.ih-lang{font-size:10px!important;padding:6px 5px!important;min-width:0!important}.ih-header-cart{padding:6px 7px!important}.ih-toggle{width:52px!important;height:31px!important}.ih-toggle.light:before{transform:translateX(20px)!important}}
@media(max-width:380px){.ih-logo{font-size:13px!important;letter-spacing:.03em!important}.ih-lang{font-size:9px!important;padding:5px 4px!important;gap:2px!important}.ih-header-cart{font-size:11px!important;padding:5px 6px!important}.ih-mobile-feedback{width:29px!important;height:29px!important;flex-basis:29px!important;font-size:14px!important}.ih-toggle{width:48px!important;height:29px!important}.ih-toggle:before{width:23px!important;height:23px!important}.ih-toggle.light:before{transform:translateX(19px)!important}.ih-toggle .ih-moon,.ih-toggle .ih-sun{width:23px!important;font-size:14px!important}}

/* Italian House 1.3.4 Cinematic Hero */
.ih-cinematic-hero{position:relative;min-height:min(760px,calc(100vh - 72px));height:min(760px,calc(100vh - 72px));overflow:hidden;background:#101510;color:#fff;isolation:isolate}
.ih-cinematic-media,.ih-cinematic-vignette{position:absolute;inset:0}
.ih-cinematic-video{width:100%;height:100%;object-fit:cover;display:block}
.ih-cinematic-vignette{background:linear-gradient(90deg,rgba(0,0,0,.78) 0%,rgba(0,0,0,.48) 34%,rgba(0,0,0,.08) 67%,rgba(0,0,0,.34) 100%),linear-gradient(0deg,rgba(0,0,0,.78) 0%,transparent 28%,rgba(0,0,0,.10) 100%);z-index:1;pointer-events:none}
.ih-cinematic-content{position:relative;height:100%;z-index:2;display:flex;align-items:center}
.ih-cinematic-copy{width:min(650px,62%);padding-bottom:100px;text-shadow:0 3px 22px rgba(0,0,0,.48)}
.ih-cinematic-copy h1{font-size:clamp(42px,6vw,78px);line-height:.94;letter-spacing:-.045em;margin:13px 0 20px;max-width:680px}
.ih-cinematic-copy p{font-size:18px;line-height:1.6;color:rgba(255,255,255,.82);max-width:610px;margin:0}
.ih-cinematic-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:7px}
.ih-cinematic-actions .ih-btn{box-shadow:0 12px 35px rgba(0,0,0,.28)}
.ih-cinematic-stage{position:absolute;right:0;top:50%;transform:translateY(-58%);width:min(340px,29%);text-align:right;text-shadow:0 3px 20px rgba(0,0,0,.55)}
.ih-cinematic-stage-count{font-size:12px;font-weight:800;letter-spacing:.14em;color:rgba(255,255,255,.65)}
.ih-stage-current{color:var(--ih-accent);font-size:19px}
.ih-cinematic-stage-label{margin-top:12px;color:var(--ih-accent);font-size:11px;text-transform:uppercase;letter-spacing:.16em;font-weight:900}
.ih-cinematic-stage-title{font-size:clamp(22px,2.6vw,35px);font-weight:950;line-height:1.05;margin-top:6px}
.ih-cinematic-stage-text{font-size:14px;color:rgba(255,255,255,.72);margin-top:8px}
.ih-cinematic-timeline{position:absolute;left:0;right:0;bottom:27px;z-index:4}
.ih-cinematic-progress{height:2px;background:rgba(255,255,255,.32);overflow:hidden}
.ih-cinematic-progress span{display:block;width:12.5%;height:100%;background:var(--ih-accent);box-shadow:0 0 12px var(--ih-accent);transform-origin:left center}
.ih-cinematic-stage-dots{display:flex;justify-content:space-between;gap:8px;margin-top:8px}
.ih-stage-dot{font-size:10px;font-weight:750;color:rgba(255,255,255,.62);white-space:nowrap;cursor:default}
.ih-stage-dot.is-active{color:var(--ih-accent)}
.ih-cinematic-slides{position:absolute;inset:0}
.ih-cinematic-slide{position:absolute;inset:0;background-size:cover;background-position:center;opacity:0;transform:scale(1.06);transition:opacity 1s ease,transform 7s cubic-bezier(.2,.65,.2,1)}
.ih-cinematic-slide.is-active{opacity:1;transform:scale(1)}
.ih-cinematic-hero[data-ih-hero-mode="animated"] .ih-cinematic-progress span{animation:ihHeroProgress 7s linear infinite}
@keyframes ihHeroProgress{from{transform:scaleX(.01)}to{transform:scaleX(8)}}
@media(max-width:850px){
  .ih-cinematic-hero{min-height:650px;height:calc(100vh - 64px);max-height:760px}
  .ih-cinematic-vignette{background:linear-gradient(180deg,rgba(0,0,0,.46) 0%,rgba(0,0,0,.22) 35%,rgba(0,0,0,.74) 76%,rgba(0,0,0,.90) 100%)}
  .ih-cinematic-copy{width:100%;padding:0 0 125px;align-self:flex-end}
  .ih-cinematic-copy h1{font-size:clamp(38px,11vw,58px);max-width:560px}
  .ih-cinematic-copy p{font-size:15px;max-width:540px}
  .ih-cinematic-stage{top:25px;right:12px;transform:none;width:auto;max-width:230px}
  .ih-cinematic-stage-title{font-size:20px}
  .ih-cinematic-stage-text{font-size:12px}
  .ih-cinematic-timeline{bottom:16px}
  .ih-stage-dot{font-size:8px}
  .ih-stage-dot:nth-child(n+5){display:none}
}
@media(max-width:500px){
  .ih-cinematic-hero{min-height:610px}
  .ih-cinematic-copy{padding-bottom:112px}
  .ih-cinematic-copy h1{font-size:42px;margin-bottom:14px}
  .ih-cinematic-copy p{font-size:14px;line-height:1.45}
  .ih-cinematic-actions .ih-btn{padding:11px 15px;font-size:13px}
  .ih-cinematic-stage{top:18px;right:8px;max-width:175px}
  .ih-cinematic-stage-label{font-size:9px;margin-top:5px}
  .ih-cinematic-stage-title{font-size:17px}
  .ih-cinematic-stage-text{font-size:10px}
  .ih-cinematic-stage-dots{gap:4px}
  .ih-stage-dot{font-size:7px}
}
@media(prefers-reduced-motion:reduce){.ih-cinematic-slide{transition:opacity .4s ease,transform .4s ease}.ih-cinematic-hero[data-ih-hero-mode="animated"] .ih-cinematic-progress span{animation:none}.ih-cinematic-video{display:none}.ih-cinematic-hero[data-ih-hero-mode="video"] .ih-cinematic-media{background:url('assets/hero/poster.jpg') center/cover no-repeat}}
