/* v1.1: footer pinned to the bottom of short pages, new footer, Lucide icons. Loaded after v100.css. */

/* The page is a column: header, content, footer. The content grows, so on a short page the footer still sits at the
   bottom of the window instead of floating in the middle with empty space under it. */
body{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}
body>main{flex:1 0 auto}
body>.site-footer{flex:none}

/* ---- logo: the approved logo (traced, 1238 × 260) is heavier than the earlier redraw, so it is set a little larger ---- */
.site-header .brand-logo{height:40px}
@media(max-width:780px){.site-header .brand-logo{height:34px}}
@media(max-width:490px){.site-header .brand-logo{height:30px}}
.site-footer .brand-footer .brand-logo{height:38px}

/* ---- footer ---------------------------------------------------------------------------------------------- */
.site-footer{background:var(--green);color:#e6ede6;padding:52px 0 28px}
.site-footer a{color:#fffefa;text-decoration:none}
.site-footer a:hover{color:#f2b49b;text-decoration:underline;text-underline-offset:3px}
.site-footer a:focus-visible{outline:2px solid #f2b49b;outline-offset:3px;border-radius:4px}
.site-footer .footer-grid{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:36px 32px}
.site-footer .footer-brand{display:grid;gap:16px;align-content:start}
.site-footer .footer-tagline{margin:0;max-width:34ch;font-size:15px;line-height:1.6;color:#d3dfd5}
.site-footer .footer-contacts{list-style:none;margin:0;padding:0;display:grid;gap:10px;font-size:14px}
.site-footer .footer-contacts li{display:flex;align-items:center;gap:10px;min-width:0}
.site-footer .footer-contacts .icon{font-size:18px;color:#f2b49b}
.site-footer .footer-contacts a{overflow-wrap:anywhere}
.site-footer .footer-col h2{margin:0 0 14px;font-size:12px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#a9c0ae}
.site-footer .footer-col ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.site-footer .footer-col a{display:inline-flex;align-items:center;min-height:36px;font-size:15px;font-weight:600}
.site-footer .footer-bottom{display:grid;gap:10px;margin-top:40px;padding-top:22px;border-top:1px solid #ffffff26}
.site-footer .footer-copy{margin:0;font-size:14px;font-weight:700;color:#fffefa}
.site-footer .foot-legal{margin:0;padding:0;border:0;font-size:13px;line-height:1.7;color:#b9c9bd;max-width:110ch}

@media (max-width:980px){
  .site-footer .footer-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .site-footer .footer-brand{grid-column:1/-1}
  .site-footer .footer-tagline{max-width:60ch}
}
@media (max-width:620px){
  .site-footer{padding:40px 0 24px}
  .site-footer .footer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 20px}
  .site-footer .footer-col a{min-height:44px}
  .site-footer .footer-bottom{margin-top:28px}
}

/* ---- interface icons ----------------------------------------------------------------------------------- */
/* Lucide shapes from icon() (app/bootstrap.php): 1em × 1em in the colour of the text around them. */
.icon{display:inline-block;width:1em;height:1em;flex:none;vertical-align:-.14em;stroke-width:2;overflow:visible}
.icon.is-on,.favorite-heart.active .icon,.rating-stat .icon{fill:currentColor}
/* large decorative icons get Lucide's thinner line so they stay light */
.empty-icon .icon,.security-icon .icon,.favorites-illustration .icon,.form-illustration .icon,.cook-avatar-large .icon,
.feature-icon .icon,.report-empty .icon,.chat-empty>.icon{stroke-width:1.5}

/* header */
.nav-favorites .icon{font-size:20px;color:#d76b55}
.nav-cart .icon,.nav-notifications .icon{font-size:20px}
.nav-notifications:before{content:none}
.mobile-account-menu summary .icon{font-size:20px}

/* buttons and links with arrows */
.search-wrap .search-icon{font-size:20px;color:var(--muted)}
.search-wrap button .icon{width:1em;min-width:0;color:inherit;margin-left:8px}
.btn .icon,.back-link .icon,.flash-link .icon,.tiny-btn .icon,.text-link-button .icon,.security-bottom-link .icon{font-size:1.05em}
.back-link{display:inline-flex;align-items:center;gap:6px}
.round-arrow .icon,.dish-cover-arrow .icon{font-size:18px}

/* badges, pills and small marks */
.verified-pill{display:inline-flex;align-items:center;gap:5px}
.verified-pill .icon{font-size:1.25em}
.hero-check .icon{font-size:11px;stroke-width:3}
.checkout-benefits .icon{font-size:15px;color:#3d7a52;stroke-width:2.5}
.checkout-protection strong{display:flex;align-items:center;gap:8px}
.checkout-protection strong .icon{font-size:18px;color:#3d7a52}
.rating-done{display:inline-flex;align-items:center;gap:6px}
.rating-stat{display:inline-flex;align-items:center;gap:5px}
.rating-stat .icon{color:#c9772f}
.cook-location{display:inline-flex;align-items:center;gap:6px}
.timeline-marker .icon{font-size:17px;stroke-width:2.5}
.cat-chip>span{display:inline-flex}
.cat-chip>span .icon{font-size:17px}
.dashboard .schedule-table .icon,.schedule-table .icon{font-size:14px;stroke-width:2.5}

/* containers that used to hold an emoji or a glyph */
.empty-icon{color:#5f8a6c;line-height:1}
.empty-icon .icon{font-size:52px}
.form-illustration{color:var(--accent);line-height:1}
.form-illustration .icon{font-size:48px}
.security-icon .icon{font-size:30px}
.picker-pin .icon{font-size:22px}
.nearby-icon .icon{font-size:24px}
.hero-bubble>span .icon{font-size:19px}
.bubble-pin .icon{font-size:1em}
.group-order-icon .icon{font-size:22px}
.feature-icon span .icon{font-size:30px}
.seller-avatar .icon{font-size:22px}
.mini-avatar .icon{font-size:16px}
.cook-avatar-large .icon{font-size:64px}
.report-context-icon .icon{font-size:22px}
.report-empty>span .icon{font-size:34px}
.chat-empty>.icon{display:block;font-size:32px;color:#a9ad9b;margin:0 auto 12px}
.favorites-illustration .icon{font-size:1em}
.favorite-heart .icon{font-size:22px}

/* review stars */
.stars{display:inline-flex;gap:2px;letter-spacing:0}
.stars .icon{font-size:16px}
.star-rating{border:0;margin:0;padding:0;min-width:0}
.star-rating legend{padding:0;margin-bottom:6px;font-size:12px;font-weight:700;color:inherit}
.star-rating .star-rating-options{display:inline-flex;gap:2px}
.star-rating .star-rating-options input[type=radio]{position:absolute;width:1px;height:1px;margin:0;padding:0;opacity:0;border:0}
.star-rating .star-rating-options label{display:grid;place-items:center;width:40px;height:40px;margin:0;border-radius:10px;color:#c9772f;cursor:pointer;font-size:24px}
.star-rating .star-rating-options label .icon{fill:none;transition:transform .12s}
/* filled up to the chosen star; while pointing, up to the star under the pointer */
.star-rating .star-rating-options label:has(~ input:checked) .icon,
.star-rating .star-rating-options input:checked + label .icon,
.star-rating .star-rating-options:hover label .icon{fill:currentColor}
.star-rating .star-rating-options label:hover ~ label .icon{fill:none}
.star-rating .star-rating-options label:hover .icon{transform:scale(1.12)}
.star-rating .star-rating-options input:focus-visible + label{outline:2px solid var(--accent);outline-offset:1px}
@media (prefers-reduced-motion:reduce){.star-rating .star-rating-options label .icon{transition:none}}

/* ---- v1.4: SEO — the text under a catalogue page, and catalogue links in the footer ---------------------------- */
.seo-copy{max-width:74ch;margin:48px 0 0;padding-top:28px;border-top:1px solid var(--line);color:var(--muted);font-size:15px;line-height:1.7}
.seo-copy h2{margin:22px 0 8px;color:var(--ink);font-size:20px;font-weight:750;letter-spacing:-.02em;line-height:1.3}
.seo-copy h2:first-child{margin-top:0}
.seo-copy p{margin:0 0 12px}
.seo-copy a{color:var(--accent-dark);text-decoration:underline;text-underline-offset:3px}
.site-footer .footer-seo{display:grid;gap:6px;padding-bottom:12px;margin-bottom:4px;border-bottom:1px solid #ffffff1a}
.site-footer .footer-seo p{margin:0;font-size:13px;line-height:1.8;color:#b9c9bd}
.site-footer .footer-seo span{margin-right:6px;font-weight:700;color:#d3dfd5}
.site-footer .footer-seo a{display:inline;min-height:0;font-size:13px;font-weight:600;color:#e6ede6}
.site-footer .footer-seo i{margin:0 7px;font-style:normal;color:#ffffff4d}
@media (max-width:760px){.seo-copy{margin-top:36px;font-size:14.5px}.site-footer .footer-seo a{display:inline-block;padding:6px 0}}

/* ---- v1.5: social networks — logo links in the footer (and the panel's preview of it) ----------------------------- */
.social-links{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:10px}
.social-links a{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;text-decoration:none;transition:background-color .15s,border-color .15s,color .15s}
.social-links .brand-icon{width:20px;height:20px}
.footer-social a{border:1px solid #ffffff2e;background:#ffffff0f;color:#fffefa}
.footer-social a:hover{border-color:#f2b49b;background:#f2b49b;color:var(--green);text-decoration:none}
.footer-social a:focus-visible{outline:2px solid #f2b49b;outline-offset:3px}
@media (max-width:760px){.social-links{gap:6px}.social-links a{width:44px;height:44px}}

/* v1.5: a dish card's description shows exactly two whole lines (the box was 40 px for 22 px lines, so the second line
   was cut; on phones a third one peeked in) */
.dish-desc{line-height:1.6;min-height:3.2em;max-height:3.2em}
