:root {
  --primary: #a52332;
  --primary-deep: #7e1727;
  --red: #ee312c;
  --red-soft: #fff0ed;
  --yellow: #f3dd16;
  --cream: #fff7ee;
  --cream-deep: #f8eadc;
  --ink: #2a2021;
  --muted: #756768;
  --line: rgba(126, 23, 39, 0.13);
  --white: #fff;
  --green: #16865a;
  --radius-lg: 30px;
  --radius-md: 22px;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background: var(--cream);
  font-family: "Segoe UI", Tahoma, Arial, sans-serif;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}
a { color: inherit; text-decoration: none; }
button, a { -webkit-tap-highlight-color: transparent; }
button { font: inherit; }

.page-shell {
  position: relative;
  min-height: 100vh;
  overflow: hidden;
  padding: max(22px, env(safe-area-inset-top)) 16px max(28px, env(safe-area-inset-bottom));
  background:
    radial-gradient(circle at 10% 6%, rgba(238,49,44,.09), transparent 28rem),
    radial-gradient(circle at 92% 34%, rgba(165,35,50,.075), transparent 30rem),
    var(--cream);
}
.ambient { position: fixed; border-radius: 50%; filter: blur(2px); pointer-events: none; opacity: .55; }
.ambient-a { width: 230px; height: 230px; top: -130px; right: -110px; background: rgba(238,49,44,.08); }
.ambient-b { width: 190px; height: 190px; bottom: -95px; left: -90px; background: rgba(243,221,22,.08); }

.link-page { position: relative; z-index: 1; width: min(100%, 620px); margin: 0 auto; }
.hero { text-align: center; }
.topbar { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:42px; margin-bottom:22px; }
.status-pill {
  display:inline-flex; align-items:center; gap:8px; min-height:36px; padding:7px 12px;
  color:var(--green); background:rgba(255,255,255,.78); border:1px solid rgba(22,134,90,.16); border-radius:999px;
  font-size:.75rem; font-weight:800; box-shadow:0 8px 22px rgba(79,39,35,.04); backdrop-filter:blur(8px);
}
.status-dot { width:8px; height:8px; border-radius:50%; background:currentColor; box-shadow:0 0 0 4px rgba(22,134,90,.10); }
.status-pill.is-closed { color:#b13b3c; border-color:rgba(177,59,60,.15); }
.status-pill.is-closed .status-dot { box-shadow:0 0 0 4px rgba(177,59,60,.09); }

.language-toggle {
  display:flex; align-items:center; gap:7px; min-height:36px; padding:5px 9px; color:var(--primary-deep);
  background:rgba(255,255,255,.74); border:1px solid var(--line); border-radius:999px; cursor:pointer;
  font-size:.68rem; font-weight:800; box-shadow:0 8px 22px rgba(79,39,35,.04);
}
.toggle-track { position:relative; width:30px; height:18px; background:rgba(165,35,50,.14); border-radius:99px; }
.toggle-thumb { position:absolute; top:3px; left:3px; width:12px; height:12px; border-radius:50%; background:var(--primary); transition:transform .2s ease; }
html[dir="ltr"] .toggle-thumb { transform:translateX(12px); }

.brand-mark { width:clamp(210px, 60vw, 330px); margin:0 auto 6px; }
.brand-mark img { display:block; width:100%; height:auto; object-fit:contain; filter:drop-shadow(0 13px 22px rgba(126,23,39,.07)); }
.hero-copy { max-width:520px; margin:0 auto 26px; }
h1,h2,p { margin-top:0; }
h1 { margin-bottom:10px; color:var(--primary-deep); font-size:clamp(1.65rem,5.6vw,2.45rem); line-height:1.32; letter-spacing:-.035em; font-weight:850; }
.intro { max-width:470px; margin:0 auto; color:var(--muted); font-size:clamp(.91rem,2.45vw,1rem); line-height:1.85; }

.actions { display:grid; gap:13px; }
.action-card {
  position:relative; display:grid; grid-template-columns:52px minmax(0,1fr) 30px; align-items:center; gap:14px;
  min-height:82px; padding:14px 16px; overflow:hidden; background:rgba(255,255,255,.88); border:1px solid var(--line);
  border-radius:var(--radius-md); box-shadow:0 9px 26px rgba(92,32,34,.045); transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease,background .2s ease;
}
.action-card:hover { transform:translateY(-3px); background:#fff; border-color:rgba(165,35,50,.23); box-shadow:0 16px 38px rgba(92,32,34,.10); }
.action-card:active { transform:translateY(-1px) scale(.993); }
.action-icon { display:grid; place-items:center; width:52px; height:52px; color:var(--primary); background:var(--red-soft); border-radius:17px; }
.action-icon svg,.action-arrow svg,.social-icon svg,.hours-icon svg,.hours-chevron svg { stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.action-icon svg { width:25px; height:25px; }
.action-content { min-width:0; text-align:start; }
.action-content strong,.action-content small { display:block; }
.action-content strong { margin-bottom:4px; color:var(--primary-deep); font-size:.98rem; font-weight:850; }
.action-content small { color:var(--muted); font-size:.76rem; line-height:1.55; }
.action-arrow { display:grid; place-items:center; width:30px; height:30px; color:var(--primary); background:rgba(165,35,50,.07); border-radius:50%; }
.action-arrow svg { width:17px; height:17px; }
html[dir="ltr"] .action-arrow { transform:rotate(180deg); }

.action-menu {
  min-height:92px; color:#fff; background:
    radial-gradient(circle at 88% 12%, rgba(243,221,22,.22), transparent 9rem),
    linear-gradient(135deg,var(--primary-deep),var(--primary) 62%,#bd2e39);
  border-color:transparent; box-shadow:0 20px 42px rgba(126,23,39,.23);
}
.action-menu:hover { background:linear-gradient(135deg,#6c1220,var(--primary-deep) 48%,var(--primary)); border-color:transparent; box-shadow:0 22px 46px rgba(126,23,39,.27); }
.action-menu .action-icon { color:var(--primary-deep); background:var(--yellow); }
.action-menu .action-content strong,.action-menu .action-content small,.action-menu .action-arrow { color:#fff; }
.action-menu .action-content strong { font-size:1.05rem; }
.action-menu .action-arrow { background:rgba(255,255,255,.15); }
.action-order { min-height:86px; background:linear-gradient(135deg,#fff,#fff4ee); border-color:rgba(238,49,44,.22); }
.action-order .action-icon { color:#fff; background:var(--red); }

.social-block { margin-top:24px; padding:20px; background:rgba(255,255,255,.72); border:1px solid var(--line); border-radius:var(--radius-lg); box-shadow:0 13px 34px rgba(92,32,34,.055); }
.social-heading { display:flex; align-items:end; justify-content:space-between; gap:12px; margin-bottom:14px; text-align:start; }
.section-kicker { margin:0 0 4px; color:var(--red); font-size:.68rem; font-weight:850; letter-spacing:.035em; }
.social-heading h2 { margin:0; color:var(--primary-deep); font-size:1.16rem; }
.social-badge { flex:0 0 auto; padding:6px 9px; color:var(--primary); background:var(--red-soft); border-radius:999px; font-size:.65rem; font-weight:800; }
.social-grid { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.social-link { display:flex; align-items:center; gap:10px; min-width:0; padding:12px; background:#fff; border:1px solid rgba(165,35,50,.09); border-radius:16px; transition:transform .18s ease,border-color .18s ease; }
.social-link:hover { transform:translateY(-2px); border-color:rgba(165,35,50,.2); }
.social-wide { grid-column:1 / -1; }
.social-icon { display:grid; place-items:center; flex:0 0 auto; width:37px; height:37px; color:#fff; background:var(--primary); border-radius:12px; }
.social-icon svg { width:20px; height:20px; }
.social-link strong,.social-link small { display:block; min-width:0; text-align:start; }
.social-link strong { color:var(--primary-deep); font-size:.78rem; }
.social-link small { margin-top:2px; overflow:hidden; color:var(--muted); font-size:.66rem; text-overflow:ellipsis; white-space:nowrap; }

.hours-accordion { margin-top:16px; overflow:hidden; background:rgba(255,255,255,.88); border:1px solid var(--line); border-radius:22px; box-shadow:0 12px 30px rgba(92,32,34,.06); transition:border-color .2s ease,box-shadow .2s ease; }
.hours-accordion.is-open { border-color:rgba(165,35,50,.2); box-shadow:0 16px 38px rgba(92,32,34,.09); }
.hours-toggle { display:grid; grid-template-columns:46px minmax(0,1fr) 34px; align-items:center; gap:12px; width:100%; min-height:76px; padding:14px 16px; text-align:start; color:inherit; background:transparent; border:0; cursor:pointer; }
.hours-icon { display:grid; place-items:center; width:46px; height:46px; color:var(--green); background:#eaf7f1; border-radius:15px; }
.hours-accordion.is-closed .hours-icon { color:#b33d40; background:#fceceb; }
.hours-icon svg { width:24px; height:24px; }
.hours-summary { min-width:0; }
.hours-summary small,.hours-summary strong { display:block; }
.hours-summary small { margin-bottom:4px; color:var(--primary-deep); font-size:.72rem; font-weight:850; }
.hours-summary strong { display:flex; align-items:center; flex-wrap:wrap; gap:5px; color:var(--green); font-size:.76rem; line-height:1.55; font-weight:850; }
.hours-accordion.is-closed .hours-summary strong { color:#b33d40; }
#todayHours { color:var(--muted); font-size:.72rem; font-weight:750; }
.separator { color:rgba(165,35,50,.24); }
.hours-chevron { display:grid; place-items:center; width:34px; height:34px; color:var(--primary); background:rgba(165,35,50,.08); border-radius:50%; transition:transform .22s ease; }
.hours-chevron svg { width:19px; height:19px; }
.hours-accordion.is-open .hours-chevron { transform:rotate(180deg); }
.hours-panel { display:grid; grid-template-rows:0fr; opacity:0; transition:grid-template-rows .26s ease,opacity .18s ease; }
.hours-accordion.is-open .hours-panel { grid-template-rows:1fr; opacity:1; }
.hours-panel-inner { min-height:0; overflow:hidden; margin:0 16px; }
.hours-accordion.is-open .hours-panel-inner { padding:14px 0 16px; border-top:1px solid rgba(165,35,50,.09); }
.hours-panel-title { margin:0 0 10px; color:var(--muted); font-size:.72rem; font-weight:750; }
.hours-list { display:grid; gap:7px; }
.hours-row { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 12px; color:#695c5d; background:var(--cream); border:1px solid rgba(165,35,50,.07); border-radius:13px; font-size:.73rem; }
.hours-row.is-today { color:var(--primary-deep); background:#fff0ed; border-color:rgba(238,49,44,.25); box-shadow:inset -3px 0 0 var(--red); }
html[dir="ltr"] .hours-row.is-today { box-shadow:inset 3px 0 0 var(--red); }
.day-name { font-weight:850; }
.day-time { flex:0 0 auto; font-size:.69rem; font-weight:750; white-space:nowrap; }

.footer { margin-top:28px; padding:22px 6px 10px; border-top:1px solid rgba(165,35,50,.10); text-align:center; }
.footer-brand { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:7px 13px; color:var(--muted); font-size:.73rem; line-height:1.6; }
.footer-brand strong { color:var(--primary-deep); font-weight:850; }
.powered-by { display:flex; align-items:center; justify-content:center; gap:7px; margin-top:14px; color:#8d8081; font-size:.60rem; letter-spacing:.03em; direction:ltr; }
.powered-by img { display:block; width:58px; height:auto; object-fit:contain; }

@media (min-width: 760px) {
  .page-shell { padding-top:34px; padding-bottom:40px; }
  .link-page { width:min(100%,680px); }
  .brand-mark { width:335px; }
  .actions { grid-template-columns:1fr 1fr; }
  .action-menu,.action-order { grid-column:1 / -1; }
  .social-block { padding:22px; }
  .social-grid { grid-template-columns:1fr 1fr 1fr; }
  .social-wide { grid-column:auto; }
  .hours-row { padding:10px 14px; }
}

@media (max-width: 430px) {
  .page-shell { padding-inline:13px; }
  .topbar { margin-bottom:14px; }
  .brand-mark { width:min(73vw,285px); }
  .hero-copy { margin-bottom:22px; }
  h1 { font-size:1.62rem; }
  .intro { font-size:.86rem; padding-inline:7px; }
  .action-card { grid-template-columns:48px minmax(0,1fr) 28px; min-height:78px; padding:12px 13px; gap:12px; border-radius:20px; }
  .action-menu { min-height:88px; }
  .action-icon { width:48px; height:48px; border-radius:15px; }
  .action-content strong { font-size:.92rem; }
  .action-content small { font-size:.71rem; }
  .social-block { margin-top:20px; padding:16px; border-radius:24px; }
  .social-grid { grid-template-columns:1fr; }
  .social-wide { grid-column:auto; }
  .social-heading { align-items:center; }
  .hours-toggle { grid-template-columns:42px minmax(0,1fr) 31px; gap:10px; min-height:72px; padding:12px 13px; }
  .hours-icon { width:42px; height:42px; }
  .hours-summary strong { font-size:.72rem; }
  #todayHours { font-size:.68rem; }
  .hours-row { font-size:.69rem; }
  .day-time { font-size:.65rem; }
  .powered-by img { width:50px; }
}

@media (prefers-reduced-motion: reduce) {
  *,*::before,*::after { scroll-behavior:auto !important; transition:none !important; animation:none !important; }
}
