/* Minori Elementor Kit — intentionally uses Elementor global typography where available. */
:root{
  --minori-accent:#b08a42;
  --minori-paper:#f5f0e6;
  --minori-ink:#171717;
  --minori-white:#fffdf8;
  --minori-line:rgba(23,23,23,.16);
  --minori-radius:2px;
  --minori-display-font:var(--e-global-typography-primary-font-family,inherit);
  --minori-body-font:var(--e-global-typography-text-font-family,inherit);
}
.minori-hero,.minori-story,.minori-section,.minori-feature-collage,.minori-booking,.minori-popup{font-family:var(--minori-body-font)}
.minori-display,.minori-event-card h3,.minori-menu-card h3,.minori-popup h2{font-family:var(--minori-display-font)}
.minori-display{font-weight:500;letter-spacing:-.045em;line-height:.92;margin:0;color:inherit}
.minori-display--medium{font-size:clamp(3rem,6vw,6.8rem)}
.minori-eyebrow{font-size:11px;font-weight:700;line-height:1.4;letter-spacing:.18em;text-transform:uppercase;color:var(--minori-accent)}
.minori-lead{font-size:clamp(1rem,1.45vw,1.22rem);line-height:1.7;max-width:650px}
.minori-button{display:inline-flex;align-items:center;justify-content:center;gap:.65rem;min-height:48px;padding:.85rem 1.25rem;border:1px solid var(--minori-ink);background:var(--minori-ink);color:#fff!important;text-decoration:none!important;font-size:11px;font-weight:700;letter-spacing:.12em;text-transform:uppercase;transition:transform .25s ease,background .25s ease,color .25s ease,border-color .25s ease}
.minori-button:hover{background:var(--minori-accent);border-color:var(--minori-accent);color:#fff!important}
.minori-button--ghost{background:transparent;color:var(--minori-ink)!important}
.minori-button--ghost:hover{color:#fff!important}
.minori-button--light{background:#fff;color:var(--minori-ink)!important;border-color:#fff}
.minori-actions{display:flex;flex-wrap:wrap;gap:12px}
.minori-reveal{opacity:0;transform:translateY(26px);transition:opacity .85s cubic-bezier(.2,.75,.2,1),transform .85s cubic-bezier(.2,.75,.2,1)}
.minori-reveal.is-visible{opacity:1;transform:none}

/* Promotion bar */
.minori-promo-bar{position:relative;display:flex;align-items:center;justify-content:center;gap:11px;width:100%;min-height:38px;padding:8px 42px;background:var(--minori-ink);color:#fff!important;text-decoration:none!important;font-size:10px;font-weight:700;letter-spacing:.15em;text-transform:uppercase;overflow:hidden}
.minori-promo-bar:after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 25%,rgba(255,255,255,.12) 45%,transparent 65%);transform:translateX(-100%);animation:minoriShine 7s ease-in-out infinite}
.minori-promo-dot{width:6px;height:6px;border-radius:50%;background:var(--minori-accent);box-shadow:0 0 0 5px rgba(176,138,66,.15);animation:minoriPulse 2.2s ease-in-out infinite}
.minori-promo-arrow{transition:transform .2s ease}
.minori-promo-bar:hover .minori-promo-arrow{transform:translateX(5px)}
.minori-promo-bar--inactive{opacity:.6}
@keyframes minoriPulse{50%{box-shadow:0 0 0 9px rgba(176,138,66,0)}}
@keyframes minoriShine{0%,72%{transform:translateX(-100%)}100%{transform:translateX(100%)}}

/* Hero */
.minori-hero{position:relative;display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);min-height:min(860px,88vh);background:var(--minori-paper);color:var(--minori-ink);overflow:hidden}
.minori-hero__copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:clamp(56px,8vw,130px) clamp(28px,6vw,100px)}
.minori-hero__copy .minori-display{font-size:clamp(4rem,7.8vw,9rem);max-width:900px;margin:18px 0 28px}
.minori-hero__copy .minori-lead{margin:0 0 30px}
.minori-hero__media{position:relative;min-height:620px;overflow:hidden;background:#d8d1c3}
.minori-hero__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(23,23,23,.10),transparent 34%),linear-gradient(0deg,rgba(23,23,23,.15),transparent 32%);pointer-events:none}
.minori-hero__image{width:100%;height:112%;object-fit:cover;position:absolute;inset:-6% 0 auto;transform:scale(1.035);will-change:transform}
.minori-hero__badge{position:absolute;z-index:2;right:clamp(18px,3vw,46px);bottom:clamp(18px,3vw,46px);width:132px;aspect-ratio:1;border-radius:50%;display:grid;place-items:center;text-align:center;padding:18px;background:var(--minori-accent);color:#fff;border:1px solid rgba(255,255,255,.5);font-size:10px;font-weight:700;line-height:1.45;letter-spacing:.16em;animation:minoriFloat 5.5s ease-in-out infinite}
@keyframes minoriFloat{50%{transform:translateY(-8px) rotate(2deg)}}

/* 48 hour story */
.minori-story{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr);min-height:760px;background:var(--minori-ink);color:#fff;overflow:hidden}
.minori-story__media{position:relative;min-height:620px;overflow:hidden;background:#292929}
.minori-story__media:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent 55%,rgba(23,23,23,.32))}
.minori-story__image{position:absolute;inset:-5% 0;width:100%;height:110%;object-fit:cover;will-change:transform}
.minori-story__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(55px,7vw,110px)}
.minori-story__number{font-family:var(--minori-display-font);font-size:clamp(8rem,17vw,18rem);line-height:.7;letter-spacing:-.08em;color:var(--minori-accent);margin:42px 0 38px}
.minori-story__copy .minori-lead{color:rgba(255,255,255,.74);margin-top:22px}

/* Sections */
.minori-section{position:relative;padding:clamp(76px,9vw,150px) clamp(20px,5vw,88px);background:#fff;color:var(--minori-ink)}
.minori-section--dark{background:var(--minori-ink);color:#fff}
.minori-section--paper{background:var(--minori-paper)}
.minori-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:40px;margin:0 0 clamp(38px,5vw,70px)}
.minori-section-heading .minori-display{margin-top:16px}
.minori-section-heading>p{max-width:520px;margin:0;color:inherit;opacity:.68;line-height:1.65}
.minori-empty{opacity:.55;padding:25px 0}

/* Menu cards */
.minori-menu-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--minori-line);border-left:1px solid var(--minori-line)}
.minori-menu-card{position:relative;min-height:330px;padding:28px;display:flex;flex-direction:column;justify-content:space-between;color:inherit!important;text-decoration:none!important;border-right:1px solid var(--minori-line);border-bottom:1px solid var(--minori-line);overflow:hidden;transition:transform .35s cubic-bezier(.2,.75,.2,1),background .35s,color .35s}
.minori-menu-card:before{content:"";position:absolute;left:0;right:0;bottom:0;height:0;background:var(--minori-accent);transition:height .35s cubic-bezier(.2,.75,.2,1);z-index:-1}
.minori-menu-card:hover{color:#fff!important;transform:translateY(-8px)}
.minori-menu-card:hover:before{height:100%}
.minori-menu-card__num{font-size:10px;font-weight:700;letter-spacing:.16em;color:var(--minori-accent)}
.minori-menu-card:hover .minori-menu-card__num{color:#fff}
.minori-menu-card h3{font-size:clamp(1.8rem,2.2vw,3rem);font-weight:500;letter-spacing:-.035em;margin:0 0 10px}
.minori-menu-card p{font-size:13px;line-height:1.65;opacity:.66;margin:0;max-width:260px}
.minori-menu-card__arrow{position:absolute;right:24px;bottom:22px;font-size:22px;transition:transform .25s ease}
.minori-menu-card:hover .minori-menu-card__arrow{transform:translate(4px,-4px)}

/* Gallery */
.minori-gallery-grid{display:grid;grid-template-columns:1.3fr .7fr .7fr;grid-auto-rows:290px;gap:10px}
.minori-gallery-item{position:relative;border:0;padding:0;margin:0;background:#2a2a2a;overflow:hidden;cursor:zoom-in;color:#fff}
.minori-gallery-item:nth-child(6n+1){grid-row:span 2}
.minori-gallery-item:nth-child(6n+4){grid-column:span 2}
.minori-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .75s cubic-bezier(.2,.75,.2,1),filter .75s ease}
.minori-gallery-item:hover img{transform:scale(1.055);filter:saturate(1.05)}
.minori-gallery-zoom{position:absolute;right:14px;bottom:14px;width:36px;height:36px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.94);color:#111;font-size:20px;transform:scale(.85);opacity:0;transition:.25s}
.minori-gallery-item:hover .minori-gallery-zoom{opacity:1;transform:scale(1)}
.minori-lightbox{position:fixed;inset:0;z-index:99999;display:grid;place-items:center;padding:5vw;background:rgba(10,10,10,.94);opacity:0;visibility:hidden;transition:.25s}
.minori-lightbox.is-open{opacity:1;visibility:visible}
.minori-lightbox img{max-width:min(1400px,94vw);max-height:90vh;object-fit:contain}
.minori-lightbox__close{position:fixed;top:22px;right:25px;width:44px;height:44px;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:transparent;color:#fff;font-size:28px;cursor:pointer}

/* Events */
.minori-events-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
.minori-event-card{position:relative;min-height:520px;display:flex;align-items:flex-end;overflow:hidden;background:#d8d0c0;color:#fff;background-image:var(--minori-event-image);background-size:cover;background-position:center}
.minori-event-card:not([style]){background:linear-gradient(140deg,var(--minori-accent),#6f5325)}
.minori-event-card:before{content:"";position:absolute;inset:0;background:var(--minori-event-image) center/cover no-repeat;transition:transform .7s cubic-bezier(.2,.75,.2,1)}
.minori-event-card:hover:before{transform:scale(1.05)}
.minori-event-card__overlay{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,10,10,.03),rgba(10,10,10,.83) 82%)}
.minori-event-card__body{position:relative;z-index:1;padding:28px;width:100%}
.minori-event-card .minori-eyebrow{color:#fff;opacity:.78}
.minori-event-card h3{font-size:clamp(2.3rem,3.5vw,4.3rem);line-height:.93;font-weight:500;letter-spacing:-.04em;margin:12px 0 8px}
.minori-event-card p{font-size:13px;line-height:1.6;max-width:390px;opacity:.78}
.minori-event-price{font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin:10px 0}
.minori-text-link{display:inline-flex;align-items:center;gap:7px;color:inherit!important;text-decoration:none!important;font-size:11px;font-weight:700;letter-spacing:.11em;text-transform:uppercase;margin-top:8px}
.minori-text-link span{transition:transform .2s}.minori-text-link:hover span{transform:translateX(4px)}

/* Deli / collage */
.minori-feature-collage{display:grid;grid-template-columns:.9fr 1.1fr;min-height:720px;background:var(--minori-accent);color:#fff}
.minori-feature-collage__copy{display:flex;flex-direction:column;justify-content:center;padding:clamp(55px,7vw,110px)}
.minori-feature-collage__copy .minori-eyebrow{color:#fff;opacity:.8}
.minori-feature-collage__copy .minori-display{margin:18px 0 24px}
.minori-feature-collage__copy .minori-lead{opacity:.82}
.minori-feature-collage__copy .minori-button{align-self:flex-start;margin-top:16px}
.minori-feature-collage__media{display:grid;grid-template-columns:1.3fr .7fr;grid-template-rows:1fr 1fr;gap:8px;padding:8px;background:var(--minori-ink);min-height:600px}
.minori-feature-collage__media>div{overflow:hidden;background:#282828}
.minori-feature-collage__large{grid-row:1/3}
.minori-feature-collage__media img{width:100%;height:100%;object-fit:cover;transition:transform .8s cubic-bezier(.2,.75,.2,1)}
.minori-feature-collage__media>div:hover img{transform:scale(1.045)}

/* Booking finale */
.minori-booking{position:relative;min-height:650px;display:flex;align-items:flex-end;background:var(--minori-ink) var(--minori-cta-image) center/cover no-repeat;color:#fff;overflow:hidden}
.minori-booking__overlay{position:absolute;inset:0;background:linear-gradient(90deg,rgba(10,10,10,.84),rgba(10,10,10,.26) 68%),linear-gradient(0deg,rgba(10,10,10,.35),transparent)}
.minori-booking__content{position:relative;z-index:1;padding:clamp(48px,7vw,110px);max-width:920px}
.minori-booking__content .minori-eyebrow{color:#fff;opacity:.76}
.minori-booking__content .minori-display{font-size:clamp(4rem,8vw,8.5rem);margin:14px 0 22px}
.minori-booking__content p{opacity:.76;margin:0 0 28px}

/* Popup */
.minori-popup{position:fixed;inset:0;z-index:99990;display:none}
.minori-popup.is-open{display:block}
.minori-popup__backdrop{position:absolute;inset:0;background:rgba(12,12,12,.72);backdrop-filter:blur(7px);animation:minoriFade .3s both}
.minori-popup__panel{position:absolute;right:clamp(18px,4vw,60px);top:50%;transform:translateY(-50%);width:min(880px,calc(100vw - 36px));max-height:88vh;display:grid;grid-template-columns:.92fr 1.08fr;background:var(--minori-paper);color:var(--minori-ink);overflow:auto;box-shadow:0 35px 90px rgba(0,0,0,.38);animation:minoriPanel .55s cubic-bezier(.16,1,.3,1) both}
.minori-popup__media{min-height:480px;background:#d4cbbc}
.minori-popup__media img{width:100%;height:100%;object-fit:cover}
.minori-popup__content{display:flex;flex-direction:column;justify-content:center;padding:clamp(35px,5vw,72px)}
.minori-popup h2{font-size:clamp(3rem,5vw,5.8rem);font-weight:500;line-height:.92;letter-spacing:-.045em;margin:16px 0}
.minori-popup__price{font-weight:700;color:var(--minori-accent)}
.minori-popup__content>p:not(.minori-popup__price){line-height:1.65;opacity:.72}
.minori-popup__content .minori-button{align-self:flex-start;margin-top:12px}
.minori-popup__close{position:absolute;right:14px;top:14px;z-index:3;width:42px;height:42px;border:0;border-radius:50%;background:var(--minori-ink);color:#fff;font-size:24px;line-height:1;cursor:pointer}
@keyframes minoriFade{from{opacity:0}}
@keyframes minoriPanel{from{opacity:0;transform:translate(45px,-50%) scale(.98)}}

/* Responsive */
@media(max-width:1024px){
  .minori-hero{grid-template-columns:1fr 1fr;min-height:720px}.minori-hero__copy{padding:55px 36px}.minori-hero__copy .minori-display{font-size:clamp(3.6rem,7vw,6.5rem)}
  .minori-story{grid-template-columns:1fr 1fr}.minori-story__copy{padding:55px 38px}
  .minori-menu-grid{grid-template-columns:repeat(2,1fr)}
  .minori-events-grid{grid-template-columns:1fr 1fr}.minori-event-card:last-child:nth-child(odd){grid-column:1/3}
  .minori-gallery-grid{grid-template-columns:1fr 1fr;grid-auto-rows:260px}.minori-gallery-item:nth-child(n){grid-column:auto}.minori-gallery-item:nth-child(5n+1){grid-row:span 2}
  .minori-feature-collage{grid-template-columns:1fr}.minori-feature-collage__media{min-height:620px}
}
@media(max-width:767px){
  .minori-display--medium{font-size:clamp(2.9rem,13vw,4.7rem)}
  .minori-hero{display:flex;flex-direction:column;min-height:auto}.minori-hero__media{order:-1;min-height:58vh}.minori-hero__copy{padding:48px 20px 58px}.minori-hero__copy .minori-display{font-size:clamp(3.3rem,15vw,5.6rem);margin:16px 0 22px}.minori-hero__badge{width:95px;right:16px;bottom:16px;font-size:8px}
  .minori-story{grid-template-columns:1fr;min-height:auto}.minori-story__media{min-height:58vh}.minori-story__copy{padding:55px 20px 65px}.minori-story__number{font-size:40vw;margin:34px 0 32px}
  .minori-section{padding:75px 18px}.minori-section-heading{display:block}.minori-section-heading>p{margin-top:20px}
  .minori-menu-grid{grid-template-columns:1fr}.minori-menu-card{min-height:230px;padding:23px}.minori-menu-card:hover{transform:none}
  .minori-gallery-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:10px;padding-bottom:8px}.minori-gallery-item{min-width:84vw;height:67vh;max-height:560px;scroll-snap-align:center}.minori-gallery-item:nth-child(n){grid-row:auto}.minori-gallery-zoom{opacity:1;transform:scale(1)}
  .minori-events-grid{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px}.minori-event-card,.minori-event-card:last-child:nth-child(odd){min-width:86vw;min-height:500px;grid-column:auto;scroll-snap-align:center}
  .minori-feature-collage__copy{padding:65px 20px}.minori-feature-collage__media{min-height:500px;grid-template-columns:1fr 1fr}.minori-feature-collage__large{grid-row:1/3}
  .minori-booking{min-height:620px;background-position:center}.minori-booking__overlay{background:linear-gradient(0deg,rgba(10,10,10,.88),rgba(10,10,10,.1))}.minori-booking__content{padding:55px 20px}.minori-booking__content .minori-display{font-size:clamp(3.5rem,15vw,6rem)}
  .minori-popup__panel{right:12px;left:12px;width:auto;top:auto;bottom:12px;transform:none;grid-template-columns:1fr;max-height:88vh;border-radius:0}.minori-popup__media{min-height:210px;max-height:34vh}.minori-popup__content{padding:28px 24px 30px}.minori-popup h2{font-size:clamp(2.6rem,12vw,4.2rem)}
  .minori-promo-bar{justify-content:flex-start;padding:9px 42px 9px 14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.minori-promo-arrow{position:absolute;right:14px}
}
@media(prefers-reduced-motion:reduce){
  .minori-reveal{opacity:1!important;transform:none!important;transition:none!important}.minori-promo-bar:after,.minori-promo-dot,.minori-hero__badge{animation:none!important}.minori-hero__image,.minori-story__image{transform:none!important}.minori-button,.minori-gallery-item img,.minori-menu-card,.minori-event-card:before{transition:none!important}
}
