/* Final luxury atmosphere and controls — loaded after the main stylesheet. */
.hero-media {
  background-image: url("image/hero-restaurant-night.png") !important;
  background-position: center 42% !important;
  filter: saturate(.82) contrast(1.08) brightness(.72) !important;
}
.hero-shade {
  background: linear-gradient(180deg,rgba(7,3,4,.3),rgba(10,4,5,.18) 34%,rgba(12,5,6,.72) 76%,#100708 100%),linear-gradient(90deg,rgba(10,4,5,.66),rgba(10,4,5,.08) 48%,rgba(10,4,5,.58)) !important;
}
.topbar-actions { display:flex; align-items:center; gap:12px; }
.language-switch {
  height:34px; display:flex; align-items:center; padding:3px;
  border:1px solid rgba(205,168,93,.4); border-radius:2px;
  background:rgba(8,3,4,.76); box-shadow:inset 0 0 0 1px rgba(255,255,255,.025);
}
.language-switch button {
  min-width:31px; height:26px; padding:0 6px; border:0 !important; border-radius:0 !important;
  background:transparent !important; color:#8d7d71 !important;
  font:700 9px/1 "Montserrat",Arial,sans-serif !important; letter-spacing:.12em; cursor:pointer; transition:.2s;
}
.language-switch button.active { background:linear-gradient(135deg,#d6b56d,#aa7e35) !important; color:#160b0b !important; }
.language-switch span { display:none; }
.category-label { color:#d8b978 !important; font:700 11px/1.2 "Montserrat",Arial,sans-serif !important; letter-spacing:.15em !important; }
body:before {
  content:""; position:fixed; inset:0; z-index:-2; pointer-events:none;
  background:radial-gradient(circle at 12% 20%,rgba(205,168,93,.09),transparent 25%),radial-gradient(circle at 88% 72%,rgba(104,31,40,.2),transparent 31%),linear-gradient(145deg,#160a0c,#080405 70%);
}
@media (max-width:640px) {
  .topbar-actions { gap:6px; }
  .language-switch { height:31px; padding:2px; }
  .language-switch button { min-width:27px; height:25px; padding:0 4px; font-size:8px !important; }
  .call-btn { padding-inline:8px; }
  .category-label { font-size:8px !important; line-height:1.35 !important; letter-spacing:.08em !important; }
}

/* Larger corporate category navigation */
.category-option { min-height:62px !important; grid-template-columns:32px 1fr !important; padding:13px 42px 13px 16px !important; }
.category-option small { color:#b89655 !important; font:700 9px/1 "Montserrat",Arial,sans-serif !important; }
.category-option span { color:#e8ddd0; font:700 11px/1.25 "Montserrat",Arial,sans-serif !important; letter-spacing:.055em !important; }
.category-option i { right:16px !important; color:#cda85d !important; font-size:14px !important; }
.category-option.active span { color:#fff4df !important; }

/* Every product has a visual; an item-specific image overrides the category cover. */
.product-row:has(.product-thumb) { grid-template-columns:30px 78px minmax(0,1fr) auto !important; align-items:start; column-gap:14px !important; }
.product-thumb { width:78px; height:78px; display:block; object-fit:cover; border:1px solid rgba(205,168,93,.35); border-radius:3px; filter:saturate(.82) contrast(1.05); box-shadow:0 10px 24px rgba(0,0,0,.3); }
@media (max-width:640px) {
  .category-menu { max-height:62vh !important; }
  .category-option { min-height:56px !important; grid-template-columns:29px 1fr !important; padding:11px 38px 11px 13px !important; }
  .category-option small { font-size:8px !important; }
  .category-option span { font-size:10.5px !important; letter-spacing:.035em !important; }
  .product-row:has(.product-thumb) { grid-template-columns:22px 62px minmax(0,1fr) auto !important; gap:9px !important; }
  .product-thumb { width:62px; height:62px; }
}

/* Editorial product-photo composition */
@media (min-width:641px) {
  .product-row:has(.product-thumb) { grid-template-columns:30px 88px minmax(0,1fr) auto !important; gap:16px !important; }
  .product-thumb { width:88px; height:88px; }
}
@media (max-width:640px) {
  .product-row:has(.product-thumb) {
    position:relative; display:grid !important;
    grid-template-columns:72px minmax(0,1fr) !important;
    grid-template-rows:auto auto !important;
    gap:0 15px !important; min-height:126px; padding:22px 5px !important;
  }
  .product-row:has(.product-thumb) .item-number {
    position:absolute; z-index:2; top:27px; left:10px; width:24px; height:20px; padding:0;
    display:grid; place-items:center; background:rgba(11,5,6,.88); border:1px solid rgba(205,168,93,.45);
    color:#e1c27f; font-size:7px; letter-spacing:.08em;
  }
  .product-row:has(.product-thumb) .item-number:after { display:none; }
  .product-row:has(.product-thumb) .product-thumb {
    grid-column:1; grid-row:1; width:72px; height:78px; margin:0;
    border:1px solid rgba(205,168,93,.42); border-radius:2px;
    box-shadow:0 12px 28px rgba(0,0,0,.32); filter:saturate(.72) contrast(1.08) brightness(.86);
  }
  .product-row:has(.product-thumb) .product-left { grid-column:2; grid-row:1/3; min-width:0; padding:1px 0 0; }
  .product-row:has(.product-thumb) .product-left h3,
  .product-row:has(.product-thumb) .product-left h4 { font-size:18px !important; line-height:1.08 !important; letter-spacing:.005em !important; }
  .product-row:has(.product-thumb) .product-left p { margin-top:8px; font-size:10.5px; line-height:1.55; }
  .product-row:has(.product-thumb) .product-left>span { margin-top:8px; }
  .product-row:has(.product-thumb) .price-leader { display:none; }
  .product-row:has(.product-thumb) .product-price {
    grid-column:1; grid-row:2; width:72px; min-width:0; margin:8px 0 0; padding:7px 3px;
    align-self:start; justify-self:start; font-size:14px; text-align:center;
    background:linear-gradient(135deg,rgba(205,168,93,.14),rgba(205,168,93,.025));
  }
}


/* Hotel stars + clear internal phone extensions */
.hotel-rating{margin:0 auto 16px;display:flex;flex-direction:column;align-items:center;gap:5px}
.hotel-stars{color:#e7c46f;font:700 27px/1 "Montserrat",Arial,sans-serif;letter-spacing:.2em;text-shadow:0 3px 16px rgba(231,196,111,.28)}
.hotel-rating strong{color:#f4e5c6;font:700 9px/1.2 "Montserrat",Arial,sans-serif;letter-spacing:.22em;text-transform:uppercase}
.quick-service{width:min(620px,92vw);margin:0 auto 18px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid rgba(205,168,93,.48);background:rgba(12,5,6,.72);box-shadow:0 14px 32px rgba(0,0,0,.28);backdrop-filter:blur(10px)}
.quick-service-card{min-height:62px;display:flex;align-items:center;justify-content:center;gap:10px;padding:9px 12px;border-right:1px solid rgba(205,168,93,.24)}
.quick-service-card:last-child{border-right:0}.service-phone{width:31px;height:31px;display:grid;place-items:center;flex:none;border:1px solid rgba(205,168,93,.68);border-radius:50%;color:#e3c272;font-size:17px;line-height:1}
.quick-service-card div{display:grid;text-align:left}.quick-service-card small{color:#c7b8aa;font:700 8px/1.15 "Montserrat",Arial,sans-serif;letter-spacing:.05em;text-transform:uppercase}.quick-service-card b{margin-top:4px;color:#f0d28b;font:800 20px/1 "Montserrat",Arial,sans-serif;letter-spacing:.02em}
@media(max-width:640px){
 .hotel-rating{margin-bottom:11px}.hotel-stars{font-size:23px}.hotel-rating strong{font-size:7.5px;letter-spacing:.16em}
 .quick-service{width:min(96vw,430px);margin-bottom:13px}.quick-service-card{min-height:54px;gap:7px;padding:7px 5px}.service-phone{width:26px;height:26px;font-size:14px}.quick-service-card small{font-size:6.4px}.quick-service-card b{font-size:16px}
 .hero{padding-top:104px}
}

/* V3 hotfix — mobile alignment / overflow corrections for hotel rating + extensions */
.hero-content{width:min(100%,850px)}
.quick-service{max-width:100%;box-sizing:border-box}
.quick-service-card{min-width:0}
.quick-service-card div{min-width:0}

@media(max-width:640px){
  html,body{max-width:100%;overflow-x:hidden}
  .hero{padding-left:17px!important;padding-right:17px!important}
  .hero-content{width:100%;max-width:100%}
  .hotel-rating{width:100%;margin:0 auto 10px}
  .hotel-stars{font-size:22px;letter-spacing:.12em;padding-left:.12em;white-space:nowrap}
  .hotel-rating strong{max-width:100%;font-size:7px;letter-spacing:.12em;text-align:center;white-space:normal}
  .quick-service{
    width:100%!important;
    max-width:100%!important;
    margin:0 auto 14px!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
  .quick-service-card{
    width:auto;min-width:0;min-height:52px;
    gap:5px;padding:7px 4px;
    overflow:hidden;
  }
  .service-phone{width:24px;height:24px;font-size:12px}
  .quick-service-card div{min-width:0;overflow:hidden}
  .quick-service-card small{font-size:5.8px;letter-spacing:.02em;white-space:nowrap}
  .quick-service-card b{font-size:15px;white-space:nowrap}
  .hero-frame{left:10px!important;right:10px!important}
}

@media(max-width:380px){
  .quick-service-card{gap:4px;padding-inline:3px}
  .service-phone{width:22px;height:22px;font-size:11px}
  .quick-service-card small{font-size:5.3px}
  .quick-service-card b{font-size:14px}
}


/* V4 product-image fit fix — tall bottles/cans stay fully visible without changing food-photo crops */
.product-thumb.portrait-product{
  object-fit:contain!important;
  object-position:center!important;
  padding:3px!important;
  background:#f3f0e8!important;
  filter:saturate(.9) contrast(1.02)!important;
}
@media(max-width:640px){
  .product-row:has(.product-thumb){
    align-items:start!important;
  }
  .product-row:has(.product-thumb) .product-thumb{
    box-sizing:border-box!important;
  }
  .product-row:has(.product-thumb) .product-price{
    min-height:32px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    line-height:1!important;
  }
}


/* FINAL mobile polish: clean white bottle tiles + stable non-emoji service phone icons */
.product-thumb.portrait-product{
  background:#fff!important;
}
.service-phone{
  color:#e3c272!important;
  background:rgba(205,168,93,.035)!important;
}
.service-phone svg{
  width:55%;
  height:55%;
  display:block;
  fill:currentColor;
}

/* FINISH: perfectly center extension phone icons on mobile */
.quick-service-card{
  display:grid!important;
  grid-template-columns:31px minmax(0,1fr)!important;
  align-items:center!important;
  justify-content:center!important;
  column-gap:10px!important;
}
.service-phone{
  width:31px!important;
  height:31px!important;
  margin:0!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  align-self:center!important;
  justify-self:center!important;
  line-height:0!important;
  box-sizing:border-box!important;
}
.service-phone svg{
  width:14px!important;
  height:14px!important;
  display:block!important;
  margin:0!important;
  padding:0!important;
  transform:none!important;
}
.quick-service-card > div{
  align-self:center!important;
  justify-self:start!important;
}
@media(max-width:640px){
  .quick-service-card{
    grid-template-columns:24px minmax(0,1fr)!important;
    column-gap:6px!important;
    padding:7px 4px!important;
  }
  .service-phone{
    width:24px!important;
    height:24px!important;
  }
  .service-phone svg{
    width:11px!important;
    height:11px!important;
  }
}
@media(max-width:380px){
  .quick-service-card{
    grid-template-columns:22px minmax(0,1fr)!important;
    column-gap:5px!important;
  }
  .service-phone{
    width:22px!important;
    height:22px!important;
  }
  .service-phone svg{
    width:10px!important;
    height:10px!important;
  }
}
