/* Fixes layered on top of the Mantra theme (keeps the original look) */

/* Header: the logo image already contains the name, so the text title was printed on top of it. Keep it for screen readers. */
#branding { height: auto !important; }
#bg_image { display: block; width: 100%; height: auto; }
#site-title, #site-description { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* Readability: light text on the green widget titles and footer */
#primary .widget-title, #secondary .widget-title { color: #fff !important; }
.yoyo .widget-title { color: #333 !important; }
#footer2 a, #footer2 a:link, #footer2 a:visited { color: #fff !important; }
#footer2 a:hover { color: #ffe08a !important; }
.textwidget a { font-weight: 700; }

/* Never overflow the screen */
img, iframe, video { max-width: 100%; }
img { height: auto; }
.entry-content img.aligncenter, .entry-content .aligncenter { display: block; margin-left: auto; margin-right: auto; }
.metaslider img, .nivoSlider img { max-width: 100%; height: auto; }
.metaslider { margin-top: .5em; margin-bottom: 1.5em; }

/* Location map */
.map-embed { max-width: 640px; margin: 1rem auto; }
.map-embed iframe { display: block; width: 100%; height: 380px; border: 0; }

/* Phone icon next to the order text */
.widget_text img.alignleft { margin: 5px 10px 5px 0; }

/* Keyboard focus */
a:focus-visible, button:focus-visible { outline: 3px solid #f1b53d; outline-offset: 2px; }

@media (max-width: 600px) {
  .map-embed iframe { height: 300px; }
  .textwidget { word-wrap: break-word; }
  #access a { padding-top: 12px; padding-bottom: 12px; }
}

/* Butcher gallery: even, responsive grid instead of 2-then-1 floats */
.gallery { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(min(100%, 200px), 1fr)); gap: 10px; }
.gallery br { display: none; }
.gallery .gallery-item { float: none !important; width: auto !important; margin: 0 !important; }
.gallery .gallery-item img { width: 100%; height: auto; }
@media (max-width: 600px) { .gallery { grid-template-columns: repeat(2, 1fr); gap: 8px; } }

/* Readability */
.entry-content p, .entry-content li, .entry-content dd { font-size: 16px; line-height: 1.7; }
.entry-content h2 { line-height: 1.3; }
.widget-area .textwidget, .widget-area .textwidget p { font-size: 15px; line-height: 1.7; }
#access a { font-size: 14px; }

/* Footer: the dark band above the green bar was an empty widget area */
#colophon { display: none; }
#footer { background: #45631f; }
#footer2 { padding: 22px 0; }

/* Laptop widths: three columns left the article only ~400px wide, so slim the sidebars */
@media (min-width: 801px) and (max-width: 1200px) {
  #content { max-width: calc(100% - 500px) !important; margin: 0 250px 0 -1980px !important; }
  #primary { width: 250px !important; }
  #secondary { width: 250px !important; }
  #primary .widget-title { margin-left: -1em !important; }
  #secondary .widget-title { margin-right: -1em !important; }
}
@media (min-width: 801px) and (max-width: 1200px) {
  .widget-area .textwidget, .widget-area .textwidget p { font-size: 14px; }
}

/* Tienda product list: keep the three columns on desktop, stack them on small screens */
/* each column has its own .snvdshc wrapper, so clear below the whole list instead */
ul.yoyo { clear: both; }
@media (max-width: 800px) {
  .snvdshc .synved-content-column { float: none !important; width: 100% !important; margin: 0 !important; padding: 0 !important; }
  .snvdshc .synved-column-content ul { columns: 2; column-gap: 1.5rem; margin-bottom: .5rem; }
  .snvdshc .synved-column-content li { break-inside: avoid; }
}

/* Footer links were 11px */
#footer2 a, .footermenu a { font-size: 14px; }
/* line up the three product columns */
.snvdshc .synved-column-content, .snvdshc .synved-column-content ul { margin-top: 0; padding-top: 0; }
.snvdshc .synved-column-content > p:empty { display: none; }

/* Page background: stay put behind the page instead of stretching to the page height and repeating (dark band under the footer) */
body.custom-background { background-attachment: fixed !important; background-repeat: no-repeat !important; background-size: cover !important; background-color: #1e3a5f !important; padding-bottom: 0 !important; }
@media (max-width: 800px) { body.custom-background { background-attachment: scroll !important; } }
/* WordPress.com stats pixel showed up as a stray dot under the footer (it still reports the visit) */
#wpstats { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none; }
/* The page title "Home" repeated the heading right below it */
body.home h1.entry-title, body.page-id-2 h1.entry-title { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }

/* Phones: consistent full-width heading bars and tighter sidebar spacing (the theme's tab ribbons ran off the edge / sat flush left) */
.xoxo:not(:has(*)) { display: none; }
@media (max-width: 800px) {
  #primary, #secondary { float: none !important; width: auto !important; margin: 0 !important; padding: 0 16px !important; border: 0 !important; box-sizing: border-box; }
  #primary .widget-title, #secondary .widget-title { margin: 0 0 .6em !important; padding: 7px 14px !important; text-align: left !important; border-radius: 6px !important; }
  #primary .widget-container, #secondary .widget-container { margin: 0 0 1.4em !important; padding: 0 !important; }
  #primary ul.xoxo, #secondary ul.xoxo { margin: 0 !important; }
  #content { margin-bottom: 0 !important; }
  ul.yoyo { margin-bottom: 1em; }
}

/* heading bars: include padding in their width so they don't run past the edge */
#primary .widget-title, #secondary .widget-title { box-sizing: border-box; }
@media (max-width: 800px) { #primary .widget-title, #secondary .widget-title { width: 100% !important; max-width: 100% !important; } }
/* visually hide the redundant "Home" page title (stays for screen readers) */
body.home #content .entry-title { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; margin: 0 !important; padding: 0 !important; }

/* the home page had no h1: "Welcome..." is now the h1 and keeps the h2 look */
.entry-content h1.home-title { font-size: 2.2em; margin: -25px 0 5px; }

/* ---- Consistent cards -------------------------------------------------- */
/* Sidebar widgets: one clean card each (title bar spans the card, text has even padding) */
#primary, #secondary { box-sizing: border-box; }
#primary .widget-container, #secondary .widget-container {
  margin: 0 0 18px !important; padding: 0 !important; background: #fff;
  border: 1px solid #d9d9d9; border-radius: 8px; overflow: hidden; box-shadow: 0 1px 3px rgba(0,0,0,.06);
}
#primary .widget-title, #secondary .widget-title {
  margin: 0 !important; padding: 9px 16px !important; border-radius: 0 !important; text-align: left !important; width: auto !important;
}
#primary .textwidget, #secondary .textwidget { padding: 14px 16px 12px; }
#primary .textwidget p, #secondary .textwidget p { margin: 0 0 .8em; }
#primary .textwidget p:last-child, #secondary .textwidget p:last-child { margin-bottom: 0; }
#primary .textwidget img.alignleft, #secondary .textwidget img.alignleft { margin: 2px 12px 4px 0; }
#primary ul.xoxo, #secondary ul.xoxo { margin: 0; padding: 0; list-style: none; }

/* "Credit Cards Accepted": a proper notice card under the page content instead of loose small text */
ul.yoyo { list-style: none; margin: 2.2em 0 .5em; padding: 0; clear: both; }
ul.yoyo li.widget-container {
  display: grid; grid-template-columns: 56px 1fr; column-gap: 16px; align-items: center;
  margin: 0; padding: 14px 18px; background: #f3f8f3; border: 1px solid #cfe3d1; border-left: 6px solid #188923; border-radius: 8px;
}
ul.yoyo li.widget-container::before {
  content: ""; grid-row: 1 / 3; grid-column: 1; width: 56px; height: 39px;
  background: url(wp-content/uploads/2026/10/credit-card.svg) center / contain no-repeat;
}
ul.yoyo .widget-title { grid-column: 2; margin: 0 0 2px !important; padding: 0 !important; background: none !important; color: #124a1a !important; font-size: 17px; font-weight: 700; text-align: left !important; border-radius: 0 !important; width: auto !important; }
ul.yoyo .textwidget { grid-column: 2; padding: 0; }
ul.yoyo .textwidget p { margin: 0; font-size: 15px; line-height: 1.5; color: #333; }
.entry-content { margin-bottom: 0; }

/* =====================  POLISH  ===================== */
:root { --brand-green: #1b6b3a; --brand-red: #c4271c; --brand-red-dark: #9d1d14; }

/* Top bar */
#topbar { background: #124a28; color: #fff; font-size: 14px; }
#topbar .tb-in { max-width: 1180px; margin: 0 auto; padding: 7px 16px; display: flex; flex-wrap: wrap; gap: 4px 20px; justify-content: space-between; align-items: center; }
#topbar a { color: #fff !important; text-decoration: none; font-weight: 600; }
#topbar a:hover { text-decoration: underline; }
#topbar .tb-links { display: flex; gap: 18px; }
#topbar .dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; background: #9aa; margin-right: 7px; }
#topbar .open .dot { background: #4ade80; }
#topbar .closed .dot { background: #f87171; }

/* Buttons */
p.cta, .cta-center { margin: 1.1em 0 1.4em; }
.cta-center { text-align: center; }
p.cta { display: flex; flex-wrap: wrap; gap: 10px; }
.cta-center p.cta { justify-content: center; margin: 0; }
.btn { display: inline-block; padding: 11px 22px; border-radius: 999px; font-weight: 700; font-size: 15px; line-height: 1.2; text-decoration: none !important; border: 2px solid transparent; transition: background .15s, color .15s, transform .15s; }
.btn:hover { transform: translateY(-1px); }
.entry-content a.btn-red { background: var(--brand-red); color: #fff !important; }
.entry-content a.btn-red:hover { background: var(--brand-red-dark); }
.entry-content a.btn-green { background: var(--brand-green); color: #fff !important; }
.entry-content a.btn-green:hover { background: #124a28; }
.entry-content a.btn-outline { background: #fff; color: var(--brand-green) !important; border-color: var(--brand-green); }
.entry-content a.btn-outline:hover { background: var(--brand-green); color: #fff !important; }

/* Links use the brand colours instead of default web blue */
.entry-content a:not(.btn) { color: var(--brand-red); }
.entry-content a:not(.btn):hover { color: var(--brand-red-dark); }
.textwidget a { color: var(--brand-green); }
.textwidget a:hover { color: var(--brand-red); }

/* Page titles: small brand-colour accent */
#content .entry-title { position: relative; padding-bottom: 14px; margin-bottom: 14px; }
#content .entry-title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 90px; height: 4px; border-radius: 2px; background: linear-gradient(90deg, #1b6b3a 33%, #e5ddc9 33% 66%, #c4271c 66%); }
.entry-content h1.home-title { position: relative; padding-bottom: 14px; margin-bottom: 14px; }
.entry-content h1.home-title::after { content: ""; position: absolute; left: 0; bottom: 0; width: 90px; height: 4px; border-radius: 2px; background: linear-gradient(90deg, #1b6b3a 33%, #e5ddc9 33% 66%, #c4271c 66%); }
.entry-content h3 { font-size: 1.5em; color: #124a28; }

/* Navigation tabs */
#access a { transition: color .15s; }
#access li.current-menu-item > a, #access li.current_page_item > a { color: var(--brand-red) !important; font-weight: 700; }
#access li:hover > a { color: var(--brand-red) !important; }

/* Photos and sliders: soft corners and shadow */
.entry-content img:not([class*="aligncenter"]) { border-radius: 8px; }
.metaslider, .nivoSlider, .flexslider { border-radius: 10px; }
/* the Tienda slider theme reserves 40px under the photo for dot controls that this page hides */
.metaslider.ms-theme-cubic { padding-bottom: 0 !important; }
.metaslider .flexslider, .metaslider .nivoSlider, .metaslider .slider-wrapper { box-shadow: 0 8px 24px rgba(0, 0, 0, .18); border-radius: 10px; overflow: hidden; }
.metaslider .flexslider { margin-bottom: 0; border: 0; }
.metaslider .slider-wrapper .ribbon { display: none; }
.metaslider { margin-bottom: 1.6em; }
.metaslider .caption-wrap { background: linear-gradient(0deg, rgba(0,0,0,.72), rgba(0,0,0,0)) !important; }
.metaslider .caption { font-size: 15px; padding: 14px 16px 12px; }
.gallery .gallery-item img { border: 3px solid #fff !important; border-radius: 8px; box-shadow: 0 2px 8px rgba(0,0,0,.2); transition: transform .2s; }
.gallery .gallery-item img:hover { transform: scale(1.03); }
.gallery .gallery-caption { font-size: 13px; color: #555; padding-top: 6px; }

/* Menu page: menu pages as framed sheets */
.entry-content a[href$="TAQUERIA_FIESTA_MENU.pdf"] img[src*="menu-page"] { border-radius: 6px !important; box-shadow: 0 6px 22px rgba(0, 0, 0, .25); margin: 8px auto 26px; }

/* Product list */
.snvdshc .synved-column-content li { padding-top: 3px; padding-bottom: 3px; }

/* Footer */
#footer2 { border-top: 4px solid #2f4a14; }
.foot-contact { text-align: center; margin: 10px 0 0; font-size: 14px; color: #e7eed9; }
.foot-contact a { color: #fff !important; font-weight: 700; }

/* Mobile action bar */
#actionbar { display: none; }
@media (max-width: 800px) {
  #topbar .tb-links { display: none; }
  #topbar .tb-in { justify-content: center; text-align: center; }
  #actionbar { display: grid; grid-template-columns: repeat(3, 1fr); position: fixed; left: 0; right: 0; bottom: 0; z-index: 9990; background: #fff; border-top: 1px solid #ddd; box-shadow: 0 -4px 16px rgba(0,0,0,.14); }
  #actionbar a { text-align: center; padding: 15px 4px; font-weight: 700; font-size: 15px; text-decoration: none; color: var(--brand-green) !important; }
  #actionbar a.ab-call { background: var(--brand-red); color: #fff !important; }
  body { padding-bottom: 54px !important; }
  #toTop { bottom: 70px; }
  p.cta { flex-direction: column; }
  .btn { text-align: center; padding: 13px 20px; }
}
@media print { #topbar, #actionbar { display: none !important; } }

/* the theme's .widget-area a:link rule is more specific than a plain .textwidget a */
.widget-area .textwidget a:link, .widget-area .textwidget a:visited { color: var(--brand-green); }
.widget-area .textwidget a:hover { color: var(--brand-red); }
.entry-content h1.home-title { line-height: 1.25; }
/* dot controls are turned off for these sliders; their empty 30px bar showed as a white strip */
.metaslider .nivo-controlNav, .metaslider .flex-control-nav { display: none !important; }
.metaslider .slider-wrapper, .metaslider .theme-default { margin-bottom: 0; padding-bottom: 0; }
#topbar .tb-links a { padding: 6px 0; display: inline-block; }
