/* ESSENGO perspective preview. Native CSS 3D; existing content and controls remain. */
:root { --e3-gold: #ffce24; --e3-side: #af7b04; }
.home-page .hero h1 > span {
  display:inline-block;
  color:#ffd52d;
  text-shadow:0 1px 0 #e2ac08,0 2px 0 #d39c00,0 3px 0 #bc8700,
    0 4px 0 #a97400,0 5px 0 #8a5b00,0 7px 1px #442d05,0 15px 22px #0009;
  transform:perspective(900px) rotateX(9deg);
}
body :is(.btn-primary,.nav-cta) {
  position:relative;
  background:linear-gradient(155deg,#ffe889 0%,#ffd132 45%,#ffc400 100%);
  border:1px solid #ffe28b;
  box-shadow:inset 0 2px 1px #fff9,0 2px 0 #eab50b,0 6px 0 #b77f04,
    0 7px 0 #694704,0 13px 20px -6px #0007;
  transform:perspective(700px) rotateX(7deg);
  transition:transform 180ms ease,box-shadow 180ms ease;
}
body :is(.btn-primary,.nav-cta):active:not(:disabled):not([aria-disabled="true"]) {
  transform:translateY(4px);
  box-shadow:inset 0 1px 3px #80550055,0 2px 0 #a47404,0 5px 8px #0004;
}
body :is(.btn-primary,.nav-cta):disabled,
body :is(.btn-primary,.nav-cta)[aria-disabled="true"] {transform:none;box-shadow:none;}
.home-page .searchbox {box-shadow:0 2px 0 #ffffffc0,0 7px 0 #acaaa2,0 10px 0 #343330,0 24px 36px -12px #000c;}
.home-page .quick-cats {gap:12px;padding:8px 4px 10px;}
.home-page .quick-cat {
  --e3-rx:5deg;--e3-ry:0deg;
  position:relative;transform-style:preserve-3d;
  transform:perspective(700px) rotateX(var(--e3-rx)) rotateY(var(--e3-ry));
  background:linear-gradient(145deg,#42484bf5,#171a1cf5 55%,#0e1011);
  border:1px solid #ffffff50;
  border-bottom:2px solid #c79f22;
  box-shadow:inset 0 1px 0 #ffffff29,0 6px 0 #050607,0 7px 0 #d7b53860,0 15px 21px -6px #000a;
  backdrop-filter:none;-webkit-backdrop-filter:none;
  transition:transform 220ms ease,box-shadow 220ms ease;
}
.home-page .quick-cat .photo-wrap {
  transform:translateZ(24px);
  box-shadow:0 3px 0 #7f5d0a,0 6px 0 #302007,0 12px 14px -7px #000e;
  border:2px solid #f5ce52;
}
.home-page .quick-cat > span:last-child {transform:translateZ(12px);text-shadow:0 2px 2px #000;}
body .restaurant-card,
body .help-card {
  --e3-rx:4deg;--e3-ry:-3deg;
  position:relative;
  overflow:visible;
  transform-style:preserve-3d;
  transform:perspective(1100px) rotateX(var(--e3-rx)) rotateY(var(--e3-ry));
  border:1px solid #ffffffb3;
  border-bottom:2px solid #ddd7c7;
  background:linear-gradient(145deg,#fff,#f7f5ee);
  box-shadow:inset 0 1px 0 #fff,0 7px 0 #b7b0a0,0 9px 0 #5d584e,0 20px 28px -8px #0005;
  transition:transform 240ms cubic-bezier(.2,.7,.3,1),box-shadow 240ms ease;
}
body .restaurant-card:nth-child(even),body .help-card:nth-child(even) {--e3-ry:3deg;}
body.home-page .home-featured-section .restaurant-card {
  overflow:visible;
  box-shadow:inset 0 1px 0 #fff,0 7px 0 #b5ac8c,0 9px 0 #6b5a2e,0 22px 32px -6px #000c;
}
body .restaurant-card .restaurant-img {
  position:relative;
  transform-style:preserve-3d;
  transform:translateZ(18px);
  border-radius:inherit;
  border-bottom-left-radius:7px;border-bottom-right-radius:7px;
  box-shadow:0 5px 0 #0005,0 12px 15px -9px #0009;
}
body .restaurant-card .image-badges {transform:translateZ(18px);}
body .restaurant-card .image-label {box-shadow:0 3px 0 #39332466,0 7px 10px -5px #000a;}
body .restaurant-card .restaurant-body {position:relative;transform:translateZ(10px);background:#fffdf7;border-radius:0 0 16px 16px;}
body .restaurant-card .rating {box-shadow:0 3px 0 #bbd7ca,0 6px 8px -5px #0005;}
.home-page .home-featured-grid {gap:20px;padding:12px 6px 24px;}
.home-page .steps-section .feature {
  position:relative;transform-style:preserve-3d;
  transform:perspective(1000px) rotateX(3deg);
  overflow:visible;
  background:linear-gradient(145deg,#fffdf5,#eee8da);
  border:1px solid #fff;
  box-shadow:inset 0 2px 0 #fff,0 7px 0 #c9c0aa,0 9px 0 #938674,0 20px 28px -12px #4a392e66;
}
.home-page .steps-section .step-photo {transform:translateZ(22px);box-shadow:0 10px 14px -10px #35260f88;}
.home-page .steps-section .step-copy {transform:translateZ(12px);}
.home-page .steps-section .feature-grid {gap:24px;padding-bottom:12px;}
#essengo-ai-launcher {
  box-shadow:inset 0 2px 0 #fff8,0 5px 0 #ad7600,0 7px 0 #4a350a,0 16px 26px -7px #0009;
}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) {
  body :is(.restaurant-card,.help-card):hover,
  body.home-page .home-featured-section .restaurant-card:hover {
    transform:perspective(1100px) rotateX(var(--e3-rx,0deg)) rotateY(var(--e3-ry,0deg)) translateY(-6px);
    box-shadow:inset 0 1px 0 #fff,0 8px 0 #b3a78a,0 10px 0 #675736,0 32px 38px -12px #0009;
  }
  .home-page .quick-cat:hover {transform:perspective(700px) rotateX(var(--e3-rx)) rotateY(var(--e3-ry)) translateY(-4px);}
}
body :is(.restaurant-card,.quick-cat,.help-card):focus-visible {outline:3px solid #ffc928;outline-offset:8px;}
@media(max-width:640px) {
  .home-page .hero h1 > span {text-shadow:0 1px 0 #dfaa00,0 2px 0 #c48a00,0 3px 0 #9b6900,0 5px 0 #513303,0 10px 14px #000a;}
  .home-page .quick-cats {gap:6px;padding:8px 2px 10px;}
  .home-page .quick-cat {--e3-rx:5deg;box-shadow:inset 0 1px 0 #ffffff30,0 4px 0 #040505,0 5px 0 #b99738a6,0 10px 12px -4px #000a;}
  .home-page .quick-cat .photo-wrap {transform:translateZ(12px);}
  .home-page .quick-cat > span:last-child {transform:translateZ(6px);}
  .home-page .home-featured-grid {gap:18px;margin-right:0;padding:12px 10px 26px;scroll-padding-inline:10px;}
  body .restaurant-card,body .restaurant-card:nth-child(even),body .help-card {--e3-rx:3deg;--e3-ry:-2deg;}
  body .restaurant-card .restaurant-img {transform:translateZ(10px);}
  body .restaurant-card .restaurant-body {transform:translateZ(5px);}
  body .restaurant-card .image-badges {transform:translateZ(8px);}
  .home-page .steps-section .feature-grid {gap:22px;padding-left:4px;padding-right:4px;}
  .home-page .steps-section .step-photo {transform:translateZ(12px);}
}
@media(prefers-reduced-motion:reduce) {
  body :is(.restaurant-card,.help-card,.quick-cat,.btn-primary,.nav-cta),
  body.home-page .home-featured-section .restaurant-card:hover,
  .home-page .hero h1 > span,.home-page .steps-section .feature {transform:none!important;transition:none!important;}
  body :is(.restaurant-img,.restaurant-body,.image-badges),
  .home-page .quick-cat > span,.home-page .steps-section :is(.step-photo,.step-copy) {transform:none!important;}
}
@media print {
  body :is(.restaurant-card,.help-card,.quick-cat,.btn-primary,.nav-cta,.feature),
  body .restaurant-card *, .home-page .quick-cat > span,.home-page .hero h1 > span,
  .home-page .steps-section :is(.step-photo,.step-copy) {transform:none!important;box-shadow:none!important;text-shadow:none!important;}
}
