/* La Doña storefront: page sections and existing WP Cafe menu. Astra owns the header. */
.p8ld-site {
  --p8-ink: #2c201b;
  --p8-muted: #71645f;
  --p8-line: #e9dcd2;
  --p8-soft: #fff7f0;
  --p8-accent: #c84b2e;
  --p8-accent-dark: #a9371e;
  --p8ld-cream: #fffaf5;
  --p8ld-coral: #c84b2e;
  --p8ld-dark: #2c201b;
}

/* Editorial welcome, deliberately image-free until the restaurant supplies its own photos. */
.p8ld-site .p8ld-hero { position: relative; isolation: isolate; overflow: hidden; width: 100%; min-height: 550px; display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(320px, .9fr); align-items: center; gap: clamp(30px, 5vw, 90px); padding: clamp(52px, 6vw, 92px) max(28px, calc((100vw - 1240px) / 2)); background: #fff8f1; }
.p8ld-hero::before { content: ''; position: absolute; z-index: -1; inset: 0; background: radial-gradient(circle at 90% 7%, rgba(232, 161, 127, .24), transparent 28%), radial-gradient(circle at 15% 87%, rgba(254, 225, 183, .38), transparent 35%); }
.p8ld-hero-copy { max-width: 620px; }
.p8ld-eyebrow { display: inline-flex; align-items: center; gap: 10px; margin: 0 0 21px !important; color: #a6432a; font-size: 12px; font-weight: 900; letter-spacing: .16em; line-height: 1.4; text-transform: uppercase; }
.p8ld-eyebrow::before { content: ''; width: 10px; height: 10px; border-radius: 50%; background: #d75f3d; }
.p8ld-site .p8ld-hero h1 { margin: 0 !important; color: #34221d; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(49px, 5.4vw, 82px) !important; font-weight: 900; letter-spacing: -.065em; line-height: 1.04 !important; }
.p8ld-site .p8ld-hero h1 em { display: block; color: #c84b2e; font-style: normal; }
.p8ld-hero-lead { max-width: 540px; margin: 24px 0 30px !important; color: #6c574d; font-size: clamp(16px, 1.5vw, 19px); line-height: 1.6; }
.p8ld-hero-actions { display: flex; align-items: center; flex-wrap: wrap; gap: 12px; }
.p8ld-hero-actions a { display: inline-flex; align-items: center; justify-content: center; min-height: 52px; padding: 13px 23px; border-radius: 999px; font-size: 14px; font-weight: 900; text-decoration: none !important; transition: transform .2s ease, background .2s ease; }
.p8ld-hero-actions a:hover { transform: translateY(-2px); }
.p8ld-hero-primary { background: #c84b2e; color: #fff !important; box-shadow: 0 12px 24px rgba(200, 75, 46, .18); }
.p8ld-hero-primary:hover { background: #a9371e; color: #fff !important; }
.p8ld-hero-secondary { border: 1px solid #d7bbaa; background: #fff; color: #512f22 !important; }
.p8ld-hero-secondary:hover { background: #fff1e5; }
.p8ld-hero-address { display: flex; align-items: center; gap: 9px; margin: 25px 0 0 !important; color: #866f61; font-size: 13px; font-weight: 750; }
.p8ld-hero-address span { color: #c84b2e; font-size: 17px; }
.p8ld-hero-art { position: relative; min-height: 380px; display: grid; place-items: center; border-radius: 32px; background: #c84b2e; box-shadow: 0 28px 52px rgba(109, 42, 27, .19); overflow: hidden; }
.p8ld-hero-art::before { content: ''; position: absolute; inset: 0; background: repeating-linear-gradient(110deg, rgba(255,255,255,.045) 0 1px, transparent 1px 33px), radial-gradient(circle at 78% 18%, #ea8c62 0, transparent 33%), radial-gradient(circle at 22% 82%, #a32e22 0, transparent 34%); }
.p8ld-hero-art::after { content: ''; position: absolute; width: 330px; height: 330px; border: 2px solid rgba(255, 242, 223, .27); border-radius: 50%; }
.p8ld-hero-art-center { position: relative; z-index: 1; display: grid; place-items: center; width: 250px; height: 250px; border: 17px solid #fff6e8; border-radius: 50%; background: #f1b347; box-shadow: 0 15px 0 rgba(65, 28, 18, .17), 0 24px 40px rgba(66, 27, 20, .18); transform: rotate(-12deg); }
.p8ld-hero-art-center::before, .p8ld-hero-art-center::after { content: ''; position: absolute; width: 105px; height: 105px; border-radius: 50% 50% 9% 50%; background: #f5d880; box-shadow: inset -13px -11px #e5ad50, inset 11px 10px #ffe8a4; }
.p8ld-hero-art-center::before { left: 32px; top: 45px; transform: rotate(-22deg); }
.p8ld-hero-art-center::after { right: 20px; bottom: 37px; transform: rotate(28deg); }
.p8ld-hero-art-leaf { position: absolute; z-index: 2; width: 26px; height: 15px; border-radius: 80% 0 80% 0; background: #4e8f50; }
.p8ld-hero-art-leaf:nth-child(2) { top: 112px; left: 114px; transform: rotate(34deg); }
.p8ld-hero-art-leaf:nth-child(3) { bottom: 107px; right: 94px; transform: rotate(-26deg); }
.p8ld-hero-stamp { position: absolute; z-index: 2; left: 23px; bottom: 22px; margin: 0 !important; color: #fff5ec; font-size: 12px; font-weight: 900; letter-spacing: .16em; text-transform: uppercase; }
.p8ld-menu-intro { width: min(1240px, calc(100% - 40px)); margin: 0 auto; padding-top: 52px; scroll-margin-top: 110px; }
.p8ld-menu-intro p { margin: 0 0 7px !important; color: #bd5339; font-size: 11px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.p8ld-site .p8ld-menu-intro h2 { margin: 0 !important; color: #34221d; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(34px, 4vw, 50px) !important; letter-spacing: -.04em; }
.p8ld-welcome { width: 100%; padding: 82px max(28px, calc((100vw - 1240px) / 2)); background: #fff8f1; }
.p8ld-welcome-grid { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(280px, .8fr); gap: clamp(32px, 6vw, 100px); align-items: start; }
.p8ld-welcome-kicker { margin: 0 0 10px !important; color: #bd5339; font-size: 12px; font-weight: 900; letter-spacing: .14em; text-transform: uppercase; }
.p8ld-site .p8ld-welcome h2 { max-width: 730px; margin: 0 0 20px !important; color: #34221d; font-family: Georgia, 'Times New Roman', serif; font-size: clamp(38px, 4.3vw, 58px) !important; letter-spacing: -.055em; line-height: 1.14 !important; }
.p8ld-welcome-copy { max-width: 660px; color: #6c574d; font-size: 17px; line-height: 1.7; }
.p8ld-welcome-copy p { margin-bottom: 14px !important; }
.p8ld-visit-card { padding: 28px; border: 1px solid #e9d9cb; border-radius: 24px; background: #fff; box-shadow: 0 17px 35px rgba(44, 32, 27, .06); }
.p8ld-site .p8ld-visit-card h3 { margin: 0 0 16px !important; color: #34221d; font-family: Georgia, 'Times New Roman', serif; font-size: 25px !important; }
.p8ld-visit-card address { margin-bottom: 18px; color: #6c574d; font-style: normal; line-height: 1.55; }
.p8ld-visit-card p { margin: 0 0 18px !important; color: #6c574d; line-height: 1.55; }
.p8ld-visit-card a { color: #b74129 !important; font-weight: 850; text-decoration: underline; text-underline-offset: 3px; }
.p8ld-visit-card .p8ld-hours { padding-top: 16px; border-top: 1px solid #ecddd3; color: #705a4d; font-size: 13px; line-height: 1.7; }

/* Search, category tabs and cards from the existing WP Cafe menu HTML. */
.p8ld-site .p8-live-search, .p8ld-site .wpc-food-tab-wrapper { width: min(1240px, calc(100% - 40px)); margin-left: auto; margin-right: auto; }
.p8ld-site .p8-live-search { position: relative; z-index: 1; margin-top: 38px; margin-bottom: 22px; }
.p8ld-site .p8-live-search > label { margin-bottom: 10px; color: var(--p8ld-dark); font-size: 13px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.p8ld-site .p8-search-box input { min-height: 58px; border-color: #e9dcd2; border-radius: 18px; background: #fff; color: var(--p8ld-dark); padding: 12px 50px; box-shadow: 0 10px 24px rgba(44, 32, 27, .05); }
.p8ld-site .p8-search-box input::placeholder { color: #998a82; opacity: 1; }
.p8ld-site .p8-search-box input:focus { border-color: var(--p8ld-coral); box-shadow: 0 0 0 3px rgba(200, 75, 46, .12), 0 10px 24px rgba(44, 32, 27, .06); }
.p8ld-site .p8-search-box > span { color: var(--p8ld-coral); font-size: 23px; }
.p8ld-site #menu { scroll-margin-top: 105px; }
.p8ld-site .wpc-food-tab-wrapper { min-width: 0; padding-bottom: 56px; }
.p8ld-site .wpc-food-tab-wrapper .wpc-nav { display: flex !important; align-items: center; flex-wrap: nowrap !important; gap: 8px; width: 100%; max-width: 100%; overflow-x: auto; margin: 0 0 26px !important; padding: 5px 0 13px !important; list-style: none; scrollbar-width: thin; scrollbar-color: #dbb9a9 transparent; }
.p8ld-site .wpc-food-tab-wrapper .wpc-nav > li { flex: 0 0 auto; width: auto !important; margin: 0 !important; padding: 0 !important; list-style: none; }
.p8ld-site .wpc-food-tab-wrapper .wpc-nav .wpc-tab-a { display: inline-flex !important; align-items: center; justify-content: center; min-height: 42px; margin: 0 !important; padding: 9px 16px !important; border: 1px solid #e8dcd4 !important; border-radius: 999px !important; background: #fff !important; color: #6d5950 !important; font-size: 12px !important; font-weight: 850 !important; line-height: 1.2 !important; text-decoration: none !important; text-transform: none !important; white-space: nowrap; box-shadow: none !important; }
.p8ld-site .wpc-food-tab-wrapper .wpc-nav .wpc-tab-a:hover, .p8ld-site .wpc-food-tab-wrapper .wpc-nav .wpc-tab-a:focus-visible { border-color: var(--p8ld-coral) !important; color: var(--p8ld-coral) !important; }
.p8ld-site .wpc-food-tab-wrapper .wpc-nav .wpc-tab-a.wpc-active { border-color: var(--p8ld-coral) !important; background: var(--p8ld-coral) !important; color: #fff !important; }
.p8ld-site .wpc-food-tab-wrapper .wpc-nav .wpc-tab-a::after, .p8ld-site .wpc-food-tab-wrapper .wpc-nav .wpc-tab-a::before { display: none !important; }
.p8ld-site .wpc-food-tab-wrapper .wpc-tab-content { min-width: 0; }
.p8ld-site .wpc-food-tab-wrapper .wpc-food-block-tab-item > .wpc-row { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; margin: 0 !important; }
.p8ld-site .wpc-food-tab-wrapper .wpc-food-block-tab-item > .wpc-row > .wpc-col-lg-6 { width: 100% !important; max-width: none !important; min-width: 0; margin: 0 !important; padding: 0 !important; }
.p8ld-site .wpc-food-tab-wrapper .wpc-food-menu-item.wpc-row { position: relative; display: grid !important; grid-template-columns: 110px minmax(0, 1fr); align-items: stretch; gap: 17px; width: 100%; min-height: 168px; margin: 0 !important; padding: 16px !important; border: 1px solid #eaddd3; border-radius: 22px; background: #fff; box-shadow: 0 9px 28px rgba(44, 32, 27, .055); overflow: hidden; transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease; }
.p8ld-site .wpc-food-tab-wrapper .wpc-food-menu-item.wpc-row:hover { transform: translateY(-2px); border-color: #dfc0b2; box-shadow: 0 16px 34px rgba(44, 32, 27, .09); }
.p8ld-site .wpc-food-tab-wrapper .wpc-food-menu-item > .wpc-col-md-4, .p8ld-site .wpc-food-tab-wrapper .wpc-food-menu-item > .wpc-col-md-8 { width: auto !important; max-width: none !important; min-width: 0; margin: 0 !important; padding: 0 !important; }
.p8ld-site .wpc-food-tab-wrapper .wpc-food-menu-thumb { width: 110px; height: 100%; min-height: 136px; overflow: hidden; border-radius: 15px; background: #fff4ec; }
.p8ld-site .wpc-food-tab-wrapper .wpc-food-menu-thumb img { width: 100% !important; height: 100% !important; object-fit: cover; }
.p8ld-site .wpc-food-tab-wrapper .wpc-food-menu-item.p8ld-no-photo { grid-template-columns: minmax(0, 1fr); border-left: 4px solid #e7a17f; padding-left: 19px !important; }
.p8ld-site .wpc-food-tab-wrapper .wpc-food-menu-item.p8ld-no-photo > .wpc-col-md-4, .p8ld-site .wpc-food-tab-wrapper .wpc-food-menu-thumb img.woocommerce-placeholder { display: none !important; }
.p8ld-site .wpc-food-tab-wrapper .wpc-food-inner-content { min-height: 100%; display: flex; flex-direction: column; align-items: stretch; }
.p8ld-site .wpc-food-tab-wrapper .wpc-post-title { display: flex !important; align-items: start; justify-content: space-between; gap: 12px; margin: 0 0 9px !important; padding: 0 !important; border: 0 !important; font-size: 20px !important; line-height: 1.22 !important; }
.p8ld-site .wpc-food-tab-wrapper .wpc-post-title > a { min-width: 0; color: var(--p8ld-dark) !important; font-family: Georgia, 'Times New Roman', serif; font-size: inherit !important; font-weight: 800 !important; line-height: inherit !important; text-decoration: none !important; }
.p8ld-site .wpc-food-tab-wrapper .wpc-post-title .wpc-title-border { display: none !important; }
.p8ld-site .wpc-food-tab-wrapper .wpc-post-title .wpc-menu-price { flex: 0 0 auto; color: var(--p8ld-coral) !important; font-family: inherit; font-size: 17px !important; font-weight: 900 !important; line-height: 1.2; white-space: nowrap; }
.p8ld-site .wpc-food-tab-wrapper .wpc-post-title .wpc-menu-price * { color: inherit !important; font-size: inherit !important; }
.p8ld-site .wpc-food-tab-wrapper .wpc-food-inner-content > p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; margin: 0 0 16px !important; color: #746962; font-size: 13px !important; line-height: 1.5 !important; }
.p8ld-site .wpc-food-tab-wrapper .wpc-add-to-cart { display: flex !important; justify-content: flex-start; margin: auto 0 0 !important; padding: 0 !important; position: static !important; }
.p8ld-site .wpc-food-tab-wrapper .wpc-add-to-cart .p8-wpc-add { min-width: 124px !important; height: auto !important; min-height: 40px !important; border-color: var(--p8ld-coral) !important; border-radius: 999px !important; background: var(--p8ld-coral) !important; color: #fff !important; padding: 9px 16px !important; font-size: 13px !important; line-height: 1.2 !important; text-align: center !important; }
.p8ld-site .wpc-food-tab-wrapper .wpc-add-to-cart .p8-wpc-add:hover, .p8ld-site .wpc-food-tab-wrapper .wpc-add-to-cart .p8-wpc-add:focus-visible { background: #a9371e !important; color: #fff !important; }
.p8ld-site .wpc-food-tab-wrapper .wpc-add-to-cart .p8-wpc-add span { display: inline !important; visibility: visible !important; opacity: 1 !important; color: #fff !important; font-size: 13px !important; font-weight: 850 !important; line-height: 1.2 !important; }
.p8ld-site .wpc-food-tab-wrapper .wpc-loader-wrapper { pointer-events: none; }

@media (max-width: 1120px) {
  .p8ld-site .p8ld-hero { gap: 34px; }
}
@media (max-width: 900px) {
  .p8ld-site .p8ld-hero { grid-template-columns: 1fr; }
  .p8ld-hero-art { min-height: 280px; }
  .p8ld-welcome-grid { grid-template-columns: 1fr; }
  .p8ld-site .wpc-food-tab-wrapper .wpc-food-block-tab-item > .wpc-row { grid-template-columns: 1fr; }
}
@media (max-width: 720px) {
  .p8ld-site .p8ld-hero { padding: 42px 20px 34px; }
  .p8ld-site .p8ld-hero h1 { font-size: clamp(44px, 10.5vw, 62px) !important; }
  .p8ld-hero-art { min-height: 250px; }
  .p8ld-hero-art-center { width: 200px; height: 200px; }
  .p8ld-menu-intro { width: calc(100% - 28px); padding-top: 36px; }
  .p8ld-welcome { padding: 56px 20px; }
  .p8ld-site .p8-live-search, .p8ld-site .wpc-food-tab-wrapper { width: calc(100% - 28px); }
  .p8ld-site .p8-live-search { margin-top: 15px; margin-bottom: 16px; }
  .p8ld-site .wpc-food-tab-wrapper .wpc-nav { margin-bottom: 18px !important; padding-bottom: 10px !important; }
  .p8ld-site .wpc-food-tab-wrapper .wpc-food-menu-item.wpc-row { min-height: 145px; padding: 16px !important; }
}
@media (max-width: 420px) {
  .p8ld-hero-actions a { width: 100%; }
  .p8ld-hero-art { min-height: 220px; }
  .p8ld-hero-art-center { width: 165px; height: 165px; border-width: 12px; }
  .p8ld-site .wpc-food-tab-wrapper .wpc-post-title { font-size: 18px !important; }
  .p8ld-site .wpc-food-tab-wrapper .wpc-post-title .wpc-menu-price { font-size: 15px !important; }
}
@media (prefers-reduced-motion: reduce) {
  .p8ld-site .wpc-food-menu-item, .p8ld-hero-actions a { transition: none !important; }
}
