 


tr:has(.wpc-checkout-store-selector){
    display:none!important;
}


/* === TDV ORDER APP STYLE === */

html { scroll-behavior: smooth; }
body { background:#fffaf5; }

/* HERO */
.tdv-auto-hero {
  max-width: 1220px;
  margin: 28px auto 22px;
  padding: 0 18px;
}

.tdv-hero-card {
  min-height: 260px;
  border-radius: 30px;
  padding: 42px;
  background:
    linear-gradient(90deg, rgba(45,27,18,.92), rgba(245,124,0,.45)),
    url("https://images.unsplash.com/photo-1565299585323-38d6b0865b47?q=80&w=1600&auto=format&fit=crop");
  background-size: cover;
  background-position: center;
  color: #fff;
  box-shadow: 0 18px 45px rgba(58,36,24,.20);
}

.tdv-status-badge {
  display:inline-flex;
  padding:9px 15px;
  border-radius:999px;
  background:#22c55e;
  color:#fff;
  font-weight:900;
  margin-bottom:14px;
}

.tdv-status-badge.closed { background:#dc2626; }
.tdv-status-badge.warning { background:#f59e0b; }

.tdv-hero-card h1 {
  color:#fff;
  max-width:760px;
  font-size:clamp(34px,5vw,58px);
  line-height:1;
  margin:0 0 12px;
  font-weight:950;
}

.tdv-hero-card p {
  color:#fff;
  max-width:560px;
  font-size:17px;
  line-height:1.45;
  margin:0 0 22px;
}

.tdv-hero-actions {
  display:flex;
  gap:12px;
  flex-wrap:wrap;
}

.tdv-hero-actions a {
  background:#fff;
  color:#2d1b12!important;
  padding:13px 20px;
  border-radius:999px;
  font-weight:900;
  text-decoration:none!important;
}

.tdv-hero-actions a:first-child {
  background:#f57c00;
  color:#fff!important;
}

.tdv-contact-bar {
  display:flex;
  justify-content:center;
  gap:10px;
  flex-wrap:wrap;
  margin:18px 0;
}

.tdv-contact-bar a,
.tdv-contact-bar span {
  background:#fff7ef;
  border:1px solid #ead6c1;
  color:#2d1b12!important;
  padding:10px 16px;
  border-radius:999px;
  font-weight:850;
  text-decoration:none!important;
}

/* LAYOUT DESKTOP */
.tdv-order-shell {
  max-width: 1420px;
  margin: 40px auto 90px;
  padding: 0 24px;
  display:grid;
  grid-template-columns: 260px 1fr;
  gap:42px;
}

.tdv-menu-sidebar {
  position:sticky;
  top:24px;
  align-self:start;
  min-height:70vh;
}

.tdv-menu-sidebar h2 {
  font-size:42px;
  line-height:1;
  color:#072b50;
  font-weight:950;
  margin:0 0 24px;
}

.tdv-sidebar-cats {
  display:flex;
  flex-direction:column;
  gap:4px;
}

.tdv-cat-btn {
  appearance:none;
  border:0;
  background:transparent;
  text-align:left;
  color:#072b50;
  padding:10px 0;
  font-size:15px;
  font-weight:700;
  cursor:pointer;
}
 
.tdv-menu-main {
  min-width:0;
}

/* Search */
.tdv-menu-search-wrap {
  position: sticky;
  top: 12px;
  z-index: 90;
  padding: 0 0 22px;
  background: #fffaf5;
  margin-bottom: 10px;
}

.tdv-menu-search-wrap input {
  height: 58px;
  font-size: 16px;
  border: 2px solid #ead6c1;
  border-radius: 999px;
  padding: 0 24px;
}
.tdv-menu-search-wrap{
    width:100%;
}

.tdv-menu-search-wrap input{
    width:100%;
    max-width:none!important;
}
/* Hide original WP Cafe top nav */
.wpc-food-tab-wrapper > .wpc-nav {
  display:none!important;
}

/* Menu wrapper */
.wpc-food-tab-wrapper {
  width:100%;
  padding:0 0 50px!important;
  margin:0!important;
}

/* Product grid */
.wpc-food-tab-wrapper .wpc-food-block-tab-item > .wpc-row {
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:36px 28px;
}

.wpc-food-tab-wrapper .wpc-col-lg-6 {
  width:100%!important;
  max-width:100%!important;
  flex:none!important;
}

 
.wpc-food-menu-item.wpc-row:hover {
  transform:translateY(-3px);
}

.wpc-food-menu-item.wpc-row .wpc-col-md-4,
.wpc-food-menu-item.wpc-row .wpc-col-md-8 {
  width:100%!important;
  max-width:100%!important;
}

/* Hide placeholder until real photos */
.wpc-food-menu-item img[src*="woocommerce-placeholder"] {
  display:none!important;
}

.wpc-food-menu-item:has(img[src*="woocommerce-placeholder"]) .wpc-col-md-4 {
  display:none!important;
}
 

/* Text */
.wpc-post-title {
  margin:0 0 10px!important;
  font-size:18px!important;
  line-height:1.2!important;
}

.wpc-post-title a {
  color:#072b50!important;
  font-weight:950!important;
  text-decoration:none!important;
}

.wpc-title-border {
  display:none!important;
}

.wpc-menu-price {
  display:block!important;
  margin-top:8px!important;
  color:#e6005c!important;
  font-size:17px!important;
  font-weight:950!important
}

 


/* Mobile floating menu */
.tdv-mobile-menu-btn,
.tdv-mobile-menu-drawer {
  display:none;
}

 .wpc-food-menu-item .wpc-add-to-cart {
    position: absolute;
    right: 0;
    bottom: -10px;
    width: 95%;
}

/* Tablet / Mobile */
@media (max-width:1024px) {

  .wpc-food-menu-item .wpc-add-to-cart {
    position: absolute;
    right: 0;
    bottom: -10px;
    width: 95%;
}
 
	.wpc-food-menu-item .wpc-food-inner-content p {
    padding-right: 3px;
    min-height: 40px;
}
	
	
  .tdv-order-shell {
    display:block;
    padding:0 14px;
  }

  .tdv-menu-sidebar {
    display:none;
  }

  .wpc-food-tab-wrapper .wpc-food-block-tab-item > .wpc-row {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:18px;
  }

  .tdv-mobile-menu-btn {
    width: 90%;
    display:flex;
    position:fixed;
    left:50%;
    bottom:8px;
    transform:translateX(-50%);
    z-index:9999;
    border:0;
    background:#f57c00;
    color:#fff;
    border-radius:999px;
    padding:15px 34px;
    font-weight:950;
    box-shadow:0 12px 28px rgba(245,124,0,.35);
  }

  .tdv-mobile-menu-drawer {
    display:block;
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.45);
    z-index:99999;
    opacity:0;
    pointer-events:none;
    transition:.25s ease;
  }

  .tdv-mobile-menu-drawer.open {
    opacity:1;
    pointer-events:auto;
  }

  .tdv-mobile-menu-panel {
    position:absolute;
    left:0;
    right:0;
    bottom:0;
    max-height:75vh;
    overflow:auto;
    background:#fffaf5;
    border-radius:28px 28px 0 0;
    padding:24px;
  }

  .tdv-close-menu {
    position:absolute;
    right:20px;
    top:18px;
    border:0;
    background:#2d1b12;
    color:#fff;
    width:36px;
    height:36px;
    border-radius:50%;
    font-size:22px;
  }

  .tdv-mobile-menu-panel h3 {
    margin:0 0 18px;
    font-size:26px;
    font-weight:950;
    color:#2d1b12;
  }

  .tdv-mobile-cats {
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:10px;
  }

  .tdv-mobile-cats .tdv-cat-btn {
    background:#fff;
    border:1px solid #ead6c1;
    border-radius:16px;
    padding:14px;
    text-align:center;
    color:#2d1b12;
  }

  .tdv-mobile-cats .tdv-cat-btn.active {
    background:#f57c00;
    color:#fff;
    text-decoration:none;
  }
}

@media (max-width:767px) {
  .tdv-auto-hero {
    margin:12px auto 20px;
    padding:0 10px;
  }

  .tdv-hero-card {
    min-height:230px;
    padding:26px 20px;
    border-radius:24px;
  }

  .tdv-hero-card h1 {
    font-size:34px;
  }

  .tdv-hero-card p {
    font-size:15px;
  }

  .tdv-contact-bar {
    justify-content:flex-start;
    overflow-x:auto;
    flex-wrap:nowrap;
    padding:0 6px;
  }

  .tdv-contact-bar a,
  .tdv-contact-bar span {
    flex:0 0 auto;
  }

  .wpc-food-tab-wrapper .wpc-food-block-tab-item > .wpc-row {
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
  }

  .wpc-food-menu-item.wpc-row {
    min-height:190px;
    padding:16px 12px;
  }

  .wpc-post-title {
    font-size:15px!important;
  }

   
  .customize_button {
    height:38px;
  }
}



 

/* === TDV FINAL CLEAN PRODUCT CARDS === */

.wpc-food-menu-item.wpc-row {
  position: relative !important;
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  padding: 0 !important;
  border-radius: 22px !important;
  background: #fff !important;
  overflow: hidden !important;
  box-shadow: 0 12px 28px rgba(0,0,0,.06) !important;
}

.wpc-food-menu-item.wpc-row .wpc-col-md-4,
.wpc-food-menu-item.wpc-row .wpc-col-md-8 {
  width: 100% !important;
  max-width: 100% !important;
  flex: none !important;
}

.wpc-food-menu-item.wpc-row .wpc-col-md-4 {
  order: 1 !important;
}

.wpc-food-menu-item.wpc-row .wpc-col-md-8 {
  order: 2 !important;
  flex: 1 1 auto !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 18px !important;
}

.wpc-food-menu-thumb img {
  width: 100% !important;
  height: 165px !important;
  object-fit: cover !important;
  display: block !important;
  border-radius: 0 !important;
  margin: 0 !important;
  filter: none !important;
}

.wpc-food-menu-item img[src*="woocommerce-placeholder"] {
  display: none !important;
}

.wpc-food-menu-item:has(img[src*="woocommerce-placeholder"]) .wpc-col-md-4 {
  display: none !important;
}

.wpc-food-menu-item:not(:has(img[src*="woocommerce-placeholder"])) {
  min-height: 330px !important;
}

.wpc-food-menu-item:has(img[src*="woocommerce-placeholder"]) {
  min-height: 220px !important;
}

.wpc-food-inner-content {
  display: flex !important;
  flex-direction: column !important;
  height: 100% !important;
  min-height: 0 !important;
  padding: 0 !important;
}

.wpc-post-title {
  margin: 0 0 8px !important;
  font-size: 18px !important;
  line-height: 1.2 !important;
  text-align: left !important;
}

.wpc-menu-price {
  display: block !important;
  margin: 6px 0 0 !important;
  color: #e6005c !important;
  font-size: 18px !important;
  font-weight: 950 !important;
}

.wpc-food-inner-content p {
  max-width: none !important;
  margin: 10px 0 14px !important;
  color: #173b5f !important;
  font-size: 13.5px !important;
  line-height: 1.45 !important;
  text-align: left !important;
}

.wpc-menu-footer {
  margin-top: auto !important;
  width: 100% !important;
}

.customize_button .wpcafe-cart_icon,
.customize_button i {
  display: none !important;
}

.customize_button {
  position: relative !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  height: 44px !important;
  margin: 12px 0 0 !important;
  border-radius: 999px !important;
  background: #f7a51c !important;
  color: #111 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 0 !important;
}

.customize_button::after {
  content: "Order Now" !important;
  font-size: 14px !important;
  font-weight: 800 !important;
}

/* Sidebar final */
.tdv-sidebar-cats .tdv-cat-btn {
  border-radius: 999px;
  padding: 12px 18px;
  margin-bottom: 6px;
  color: #063052 !important;
  transition: .2s ease;
}

.tdv-sidebar-cats .tdv-cat-btn:hover {
  background: #eef7ee;
  color: #2e7d32 !important;
}

.tdv-sidebar-cats .tdv-cat-btn.active {
  background: transparent !important;
  color: #2e7d32 !important;
  border-left: 5px solid #2e7d32 !important;
  border-radius: 0 !important;
  padding-left: 14px !important;
  text-decoration: none !important;
}

.tdv-mobile-cats .tdv-cat-btn.active {
  background: #2e7d32 !important;
  color: #fff !important;
  text-decoration: none !important;
}

/* Mobile */
@media (max-width: 767px) {

.ast-container, .ast-container-fluid {
    margin-left: auto;
    margin-right: auto;
    padding-left: 5px;
    padding-right: 5px;
}


  .wpc-food-menu-item:not(:has(img[src*="woocommerce-placeholder"])) {
    min-height: 285px !important;
  }

  .wpc-food-menu-item:has(img[src*="woocommerce-placeholder"]) {
    min-height: 210px !important;
  }

  .wpc-food-menu-thumb img {
    height: 130px !important;
  }

  .customize_button {
    height: 40px !important;
  }
}


.tdv-hero-actions {
  display: none !important;
}

@media (max-width: 767px) {
  .tdv-hero-card {
    min-height: 360px;
    padding: 28px 24px;
  }

  .tdv-hero-card h1 {
    font-size: 42px;
  }

  .tdv-hero-card p {
    font-size: 18px;
    line-height: 1.35;
  }
}


/* Search title */
.tdv-search-title {
  margin: 0 0 10px;
  font-size: 22px;
  font-weight: 950;
  color: #072b50;
}

/* Loading menu progress */
.tdv-loading-progress {
  margin-top: 12px;
  background: #fff7ef;
  border: 1px solid #ead6c1;
  border-radius: 18px;
  padding: 12px 14px;
  transition: opacity .3s ease, transform .3s ease;
}

.tdv-loading-progress.done {
  opacity: 0;
  transform: translateY(-6px);
}

.tdv-loading-text {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 8px;
  color: #072b50;
  font-size: 14px;
  font-weight: 850;
}

.tdv-loading-bar {
  height: 9px;
  border-radius: 999px;
  background: #ead6c1;
  overflow: hidden;
}

.tdv-loading-bar span {
  display: block;
  width: 1%;
  height: 100%;
  border-radius: 999px;
  background: #2e7d32;
  transition: width .2s ease;
}

@media (max-width: 767px) {
  .tdv-search-title {
    font-size: 20px;
  }
}


/* Ocultar productos mientras carga el menú */
.wpc-food-tab-wrapper.tdv-menu-loading .wpc-tab-content {
  opacity: 0 !important;
  visibility: hidden !important;
  pointer-events: none !important;
  max-height: 1px !important;
  overflow: hidden !important;
}

.wpc-food-tab-wrapper.tdv-menu-loading {
  min-height: 20px !important;
}



/* Better card height */
.wpc-food-menu-item:not(:has(img[src*="woocommerce-placeholder"])) {
  min-height: 320px !important;
}

.wpc-food-menu-item:has(img[src*="woocommerce-placeholder"]) {
  min-height: 220px !important;
}

@media (max-width: 767px) {
  .wpc-food-menu-item:not(:has(img[src*="woocommerce-placeholder"])) {
    min-height: 285px !important;
  }

  .wpc-food-menu-item:has(img[src*="woocommerce-placeholder"]) {
    min-height: 210px !important;
  }
}


@media (max-width: 1024px) {
  .tdv-order-shell {
    padding-bottom: 95px !important;
  }
}

 

.tdv-search-results .tdv-category-title {
  grid-column: 1 / -1;
}

@media (max-width: 1024px) {
  .tdv-search-results {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }
}

body.tdv-searching .wpc-tab {
  display: none !important;
}

body.tdv-searching #tdvSearchResults {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 36px 28px;
  margin-bottom: 40px;
}

body.tdv-searching #tdvSearchResults .tdv-category-title {
  grid-column: 1 / -1;
}

.tdv-no-results {
  grid-column: 1 / -1;
  font-size: 18px;
  font-weight: 850;
  color: #072b50;
  padding: 20px 0;
}

body:not(.tdv-searching) #tdvSearchResults {
  display: none !important;
}

@media (max-width: 1024px) {
  body.tdv-searching #tdvSearchResults {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
  }
}

.tdv-fb-link{
  display:flex;
  align-items:center;
  justify-content:center;
}

.tdv-fb-link img{
  width:20px;
  height:20px;
}

#ast-scroll-top .ast-icon.icon-arrow svg {
    margin-left: 3px;
    vertical-align: middle;
    transform: translate(0, -20%) rotate(180deg);
    width: 1.6em;
    margin-top: 11px;
}



/* === TDV MODAL APP STYLE 2026 === */

.wpc-popup-wrap {
  backdrop-filter: blur(4px);
  background: transparent !important;
}

 

.wpc-close {
  position: absolute !important;
  top: 16px !important;
  right: 18px !important;
  z-index: 20 !important;
  width: 38px !important;
  height: 38px !important;
  border-radius: 50% !important;
  background: #2d1b12 !important;
  color: #fff !important;
  font-size: 0 !important;
}

.wpc-close i {
  font-style: normal !important;
  font-size: 18px !important;
}

 
 
.woocommerce-product-gallery__image--placeholder {
  display: none !important;
}

 

 

.optiontics-parent {
  margin-bottom: 18px !important;
}

.optiontics-block-label {
  color: #082f57 !important;
  font-size: 14px !important;
  font-weight: 950 !important;
  margin: 0 0 8px !important;
  text-transform: capitalize;
}

.optiontics-required-indicator {
  color: #e6005c !important;
}

.addon-select,
.addon-textarea {
  width: 100% !important;
  border: 1.5px solid #ead6c1 !important;
  border-radius: 14px !important;
  background: #fff !important;
  color: #173b5f !important;
  font-size: 15px !important;
  padding: 13px 15px !important;
  min-height: 50px !important;
  box-shadow: none !important;
}

.addon-select:focus,
.addon-textarea:focus {
  border-color: #f57c00 !important;
  outline: none !important;
  box-shadow: 0 0 0 4px rgba(245,124,0,.12) !important;
}

.addon-textarea {
  min-height: 60px !important;
  resize: vertical !important;
}

 



 
/* Mobile */
@media (max-width: 767px) {
  
 

   
 
}
 
/* === TDV MODAL FOOTER APP STYLE V3 === */

 
.optiontics-parent[data-label="Meat Choice"]{
  width:calc(65% - 8px)!important;
}

.optiontics-parent[data-label="tortilla type"]{
  width:calc(35% - 8px)!important;
}

.optiontics-parent[data-label="Taco style"],
.optiontics-parent[data-label="Special request"]{
  width:100%!important;
}

 
 

.tdv-qty-btn{
  width:44px!important;
  height:44px!important;
  border:0!important;
  border-radius:14px!important;
  background:#f57c00!important;
  color:#fff!important;
  font-weight:950!important;
}

 

@media(max-width:767px){
   
}


/* MODAL PRODUCTO 2026 */
.wpc-product-popup-content .wpc-popup-wrap-inner {
  max-width: 920px;
  width: min(92vw, 920px);
  max-height: 90vh;
  overflow-y: auto;
  border-radius: 28px;
  background: #fffaf5;
  box-shadow: 0 30px 90px rgba(0,0,0,.22);
  padding: 0;
  position: relative;
}

/* Close */
.wpc-close.wpc-btn {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 40px;
  height: 40px;
  border-radius: 999px;
  background: #2a160e;
  color: #fff;
  border: 0;
  z-index: 20;
  display: grid;
  place-items: center;
}

/* Layout desktop */
.tdv-product-modal-v2 {
  display: grid !important;
  grid-template-columns: 46% 54%;
  min-height: 640px;
  margin: 0 !important;
}

/* Imagen izquierda */
.tdv-product-modal-v2 .variation_product_image {
  width: 100% !important;
  max-width: none !important;
  padding: 34px;
  background:
    radial-gradient(circle at 30% 25%, rgba(255,132,0,.18), transparent 36%),
    linear-gradient(145deg, #fff0df, #f7ebe1);
  display: flex;
  align-items: center;
  justify-content: center;
}

.tdv-product-modal-v2 .woocommerce-product-gallery,
.tdv-product-modal-v2 .woocommerce-product-gallery__wrapper,
.tdv-product-modal-v2 .woocommerce-product-gallery__image,
.tdv-product-modal-v2 .woocommerce-product-gallery__image a {
  width: 100%;
  height: 100%;
  display: block;
}

.tdv-product-modal-v2 .woocommerce-product-gallery__image img {
  width: 100% !important;
  height: 100% !important;
  max-height: 520px;
  object-fit: cover;
  border-radius: 26px;
  box-shadow: 0 24px 55px rgba(128, 62, 10, .24);
  transform: scale(1.02);
}

/* Form derecha */
.tdv-product-modal-v2 > .wpc-col-lg-6:not(.variation_product_image) {
  width: 100% !important;
  max-width: none !important;
  padding: 60px 56px 42px;
  display: flex;
  align-items: center;
}

.tdv-product-modal-v2 .wpc-single-content {
  width: 100%;
}

.tdv-product-modal-v2 .product_title {
  font-size: clamp(32px, 4vw, 48px);
  line-height: 1;
  color: #d76600;
  margin: 0 0 8px;
  font-weight: 900;
  letter-spacing: -1.2px;
}

.tdv-product-modal-v2 .price {
  margin: 0 0 42px;
  color: #5d9b65;
  font-size: 28px;
  font-weight: 800;
}

/* Textarea */
.tdv-product-modal-v2 .optiontics-block-label {
  color: #12345a;
  font-size: 14px;
  font-weight: 800;
  margin-bottom: 10px;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.tdv-product-modal-v2 textarea.addon-textarea {
  width: 100%;
  min-height: 120px;
  border: 1px solid #efd2bd;
  border-radius: 18px;
  padding: 18px;
  font-size: 15px;
  background: #fff;
  resize: vertical;
  outline: none;
}

.tdv-product-modal-v2 textarea.addon-textarea:focus {
  border-color: #ff7a00;
  box-shadow: 0 0 0 4px rgba(255,122,0,.14);
}

/* Summary price */
.tdv-product-modal-v2 .optiontics-product-price-summary {
  margin: 34px 0 24px !important;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid #efd2bd;
  background: #fff;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.tdv-product-modal-v2 .optiontics-product-price-summary strong {
  display: block;
  font-size: 13px;
  color: #4a3428;
  margin-bottom: 6px;
}

.tdv-product-modal-v2 .optiontics-product-price-summary span {
  font-size: 17px;
  font-weight: 700;
}

/* Quantity */
.tdv-product-modal-v2 .quantity {
  width: max-content;
  display: grid !important;
  grid-template-columns: 56px 56px 56px;
  align-items: center;
  gap: 8px;
  margin-bottom: 24px;
  padding: 6px;
  border-radius: 18px;
  background: #fff;
  border: 1px solid #efd2bd;
}

.tdv-product-modal-v2 .tdv-qty-btn {
  width: 56px;
  height: 48px;
  border-radius: 14px;
  border: 0;
  background: #ff7a00;
  color: #fff;
  font-size: 20px;
  font-weight: 900;
  cursor: pointer;
}

.tdv-product-modal-v2 .qty {
  width: 56px !important;
  height: 48px;
  border: 0 !important;
  background: transparent;
  text-align: center;
  font-size: 17px;
  font-weight: 800;
}

/* Button */
.tdv-product-modal-v2 .single_add_to_cart_button {
  width: 100%;
  height: 58px;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #ff8a00, #ff6500) !important;
  color: #fff !important;
  border: 0 !important;
  font-size: 16px;
  font-weight: 900;
  text-transform: uppercase;
  box-shadow: 0 18px 34px rgba(255, 111, 0, .28);
}

.tdv-product-modal-v2 .single_add_to_cart_button:hover {
  transform: translateY(-1px);
  box-shadow: 0 22px 42px rgba(255, 111, 0, .35);
}

/* Tablet y mobile */
@media (max-width: 900px) {
  .wpc-product-popup-content .wpc-popup-wrap-inner {
    width: min(94vw, 620px);
    border-radius: 24px;
  }

  .tdv-product-modal-v2 {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .tdv-product-modal-v2 .variation_product_image {
    padding: 22px;
    min-height: auto;
  }

  .tdv-product-modal-v2 .woocommerce-product-gallery__image img {
    height: 260px !important;
    max-height: 260px;
    object-fit: cover;
    border-radius: 22px;
  }

  .tdv-product-modal-v2 > .wpc-col-lg-6:not(.variation_product_image) {
    padding: 28px 24px 30px;
  }

  .tdv-product-modal-v2 .product_title {
    font-size: 34px;
  }

  .tdv-product-modal-v2 .price {
    margin-bottom: 26px;
  }
}

@media (max-width: 480px) {
  .tdv-product-modal-v2 .woocommerce-product-gallery__image img {
    height: 210px !important;
  }

  .tdv-product-modal-v2 .optiontics-product-price-summary {
    grid-template-columns: 1fr;
  }

  .tdv-product-modal-v2 .quantity {
    width: 100%;
    grid-template-columns: 1fr 1fr 1fr;
  }

  .tdv-product-modal-v2 .tdv-qty-btn,
  .tdv-product-modal-v2 .qty {
    width: 100% !important;
  }
}


/* ================================
   PRODUCT MODAL - CLEAN 2026
================================ */

.wpc-product-popup-content .wpc-popup-wrap-inner {
  width: min(92vw, 940px);
  max-width: 940px;
  max-height: 90vh;
  overflow-y: auto;
  padding: 0 !important;
  border-radius: 30px;
  background: #fffaf5;
  box-shadow: 0 35px 100px rgba(0, 0, 0, .28);
  position: relative;
}

/* Close button */
.wpc-product-popup-content .wpc-close.wpc-btn {
  position: absolute;
  top: 18px;
  right: 18px;
  width: 42px;
  height: 42px;
  border: 0;
  border-radius: 999px;
  background: #2b160d;
  color: #fff;
  z-index: 50;
  display: grid;
  place-items: center;
  cursor: pointer;
}

.wpc-product-popup-content .wpc-close.wpc-btn i {
  font-style: normal;
  font-size: 18px;
  font-weight: 800;
}

/* Main layout */
.wpc-product-popup-content .wpc_variation_popup_content .product {
  display: grid !important;
  grid-template-columns: 46% 54%;
  margin: 0 !important;
  min-height: 640px;
  width: 100%;
}

/* Reset columns */
.wpc-product-popup-content .wpc_variation_popup_content .wpc-col-lg-6 {
  width: 100% !important;
  max-width: none !important;
  flex: none !important;
}

/* Left image panel */
.wpc-product-popup-content .variation_product_image {
  padding: 34px;
  background:
    radial-gradient(circle at 28% 24%, rgba(255, 132, 0, .22), transparent 34%),
    linear-gradient(145deg, #fff0df, #f5e6dc);
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
}

/* Gallery full size */
.wpc-product-popup-content .variation_product_image .woocommerce-product-gallery,
.wpc-product-popup-content .variation_product_image .woocommerce-product-gallery__wrapper,
.wpc-product-popup-content .variation_product_image .woocommerce-product-gallery__image,
.wpc-product-popup-content .variation_product_image .woocommerce-product-gallery__image a {
  width: 100%;
  height: 100%;
  display: block;
}

/* Product image */
.wpc-product-popup-content .variation_product_image img {
  width: 100% !important;
  height: 100% !important;
  max-height: 540px;
  object-fit: cover;
  border-radius: 28px;
  box-shadow: 0 26px 60px rgba(124, 62, 10, .28);
  transform: scale(1.02);
}

/* Right content panel */
.wpc-product-popup-content .wpc_variation_popup_content .wpc-col-lg-6:not(.variation_product_image) {
  padding: 62px 56px 42px;
  display: flex;
  align-items: center;
  background: #fffaf5;
}

.wpc-product-popup-content .wpc-single-content {
  width: 100%;
}

/* Title */
.wpc-product-popup-content .product_title {
  margin: 0 0 8px !important;
  font-size: clamp(32px, 4vw, 48px);
  line-height: .95;
  font-weight: 900;
  color: #d76600;
  letter-spacing: -1.2px;
}

/* Price */
.wpc-product-popup-content .price {
  margin: 0 0 42px !important;
  color: #5d9b65 !important;
  font-size: 28px;
  font-weight: 900;
}

.wpc-product-popup-content .price .amount {
  color: inherit !important;
}

/* Form */
.wpc-product-popup-content form.cart {
  margin: 0 !important;
}

/* Label */
.wpc-product-popup-content .optiontics-block-label {
  margin: 0 0 10px !important;
  font-size: 13px;
  font-weight: 900;
  color: #12345a;
  text-transform: uppercase;
  letter-spacing: .06em;
}

/* Textarea */
.wpc-product-popup-content textarea.addon-textarea,
.wpc-product-popup-content .addon-textarea {
  width: 100%;
  min-height: 120px;
  padding: 18px;
  border: 1px solid #efd2bd;
  border-radius: 18px;
  background: #fff;
  font-size: 15px;
  color: #2b160d;
  resize: vertical;
  outline: none;
  box-shadow: none;
}

.wpc-product-popup-content textarea.addon-textarea:focus,
.wpc-product-popup-content .addon-textarea:focus {
  border-color: #ff7a00;
  box-shadow: 0 0 0 4px rgba(255, 122, 0, .14);
}

/* Price summary */
.wpc-product-popup-content .optiontics-product-price-summary {
  margin: 5px 0 15px !important;
  padding: 13px !important;
  border: 1px solid #efd2bd;
  border-radius: 18px;
  background: #fff;
  display: grid !important;
  grid-template-columns: 1fr 1fr;
  gap: 14px;
}

.wpc-product-popup-content .optiontics-product-price-summary > div {
  margin: 0 !important;
}

.wpc-product-popup-content .optiontics-product-price-summary strong {
  display: block;
  margin-bottom: 6px;
  font-size: 13px;
  color: #4a3428;
  font-weight: 800;
}

.wpc-product-popup-content .optiontics-product-price-summary span {
  font-size: 17px;
  font-weight: 800;
  color: #2b160d;
}

/* Quantity */
.wpc-product-popup-content .quantity {
  width: max-content;
  display: grid !important;
  grid-template-columns: 56px 56px 76px;
  gap: 8px;
  align-items: center;
  margin: 0 0 24px !important;
  padding: 6px;
  border: 1px solid #efd2bd;
  border-radius: 18px;
  background: #fff;
}

.wpc-product-popup-content .quantity .tdv-qty-btn {
  width: 56px;
  height: 48px;
  border: 0;
  border-radius: 14px;
  background: #ff7a00;
  color: #fff;
  font-size: 20px;
  font-weight: 900;
  line-height: 1;
  cursor: pointer;
}

.wpc-product-popup-content .quantity .qty {
  width: 56px !important;
  height: 48px;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
  text-align: center;
  font-size: 17px;
  font-weight: 900;
  color: #2b160d;
  box-shadow: none !important;
}

/* Add to cart */
.wpc-product-popup-content .single_add_to_cart_button {
  width: 100%;
  height: 58px;
  border: 0 !important;
  border-radius: 16px !important;
  background: linear-gradient(135deg, #ff8a00, #ff6500) !important;
  color: #fff !important;
  font-size: 16px;
  font-weight: 900;
  text-transform: uppercase;
  box-shadow: 0 18px 34px rgba(255, 111, 0, .30);
  transition: transform .2s ease, box-shadow .2s ease, opacity .2s ease;
}

.wpc-product-popup-content .single_add_to_cart_button:hover {
  transform: translateY(-1px);
  box-shadow: 0 22px 44px rgba(255, 111, 0, .38);
  opacity: .96;
}

/* ================================
   TABLET / MOBILE
================================ */

@media (max-width: 900px) {
  .wpc-product-popup-content .wpc-popup-wrap-inner {
    width: min(94vw, 620px);
    border-radius: 24px;
  }

  .wpc-product-popup-content .wpc_variation_popup_content .product {
    grid-template-columns: 1fr;
    min-height: auto;
  }

  .wpc-product-popup-content .variation_product_image {
    padding: 22px;
  }

  .wpc-product-popup-content .variation_product_image img {
    height: 260px !important;
    max-height: 260px;
    border-radius: 22px;
  }

  .wpc-product-popup-content .wpc_variation_popup_content .wpc-col-lg-6:not(.variation_product_image) {
    padding: 30px 24px 32px;
  }

  .wpc-product-popup-content .product_title {
    font-size: 34px;
  }

  .wpc-product-popup-content .price {
    margin-bottom: 28px !important;
  }
}

@media (max-width: 480px) {
  .wpc-product-popup-content .wpc-popup-wrap-inner {
    width: 94vw;
    max-height: 92vh;
    border-radius: 22px;
  }

  .wpc-product-popup-content .wpc-close.wpc-btn {
    top: 12px;
    right: 12px;
    width: 38px;
    height: 38px;
  }

  .wpc-product-popup-content .variation_product_image {
    padding: 16px;
  }

  .wpc-product-popup-content .variation_product_image img {
    height: 210px !important;
    max-height: 210px;
  }

  .wpc-product-popup-content .wpc_variation_popup_content .wpc-col-lg-6:not(.variation_product_image) {
    padding: 24px 18px 26px;
  }

  .wpc-product-popup-content .product_title {
    font-size: 30px;
  }

  .wpc-product-popup-content .price {
    font-size: 24px;
  }

  .wpc-product-popup-content .optiontics-product-price-summary {
    grid-template-columns: 1fr;
  }

  .wpc-product-popup-content .quantity {
    width: 100%;
    grid-template-columns: 1fr 1fr 1fr;
  }

  .wpc-product-popup-content .quantity .tdv-qty-btn,
  .wpc-product-popup-content .quantity .qty {
    width: 100% !important;
  }
}


/* Cuando el producto NO tiene imagen */
.wpc-product-popup-content
.wpc_variation_popup_content
.product:not(.has-post-thumbnail) {
  display: flex !important;
  justify-content: center;
  align-items: center;
  min-height: auto;
}

/* Oculta la columna vacía de imagen */
.wpc-product-popup-content
.wpc_variation_popup_content
.product:not(.has-post-thumbnail)
.variation_product_image {
  display: none !important;
}

/* Centra el formulario */
.wpc-product-popup-content
.wpc_variation_popup_content
.product:not(.has-post-thumbnail)
.wpc-col-lg-6:not(.variation_product_image) {
  width: min(100%, 520px) !important;
  max-width: 520px !important;
  padding: 54px 34px 42px !important;
  margin: 0 auto !important;
  display: block !important;
}

/* Modal más compacto cuando no hay imagen */
.wpc-product-popup-content
.wpc_variation_popup_content
.product:not(.has-post-thumbnail) {
  background: #fffaf5;
}

.wpc-product-popup-content
.wpc-popup-wrap-inner:has(.product:not(.has-post-thumbnail)) {
  width: min(92vw, 640px);
  max-width: 640px;
}

/* Mobile */
@media (max-width: 480px) {
  .wpc-product-popup-content
  .wpc_variation_popup_content
  .product:not(.has-post-thumbnail)
  .wpc-col-lg-6:not(.variation_product_image) {
    width: 100% !important;
    padding: 46px 18px 26px !important;
  }

  .wpc-product-popup-content
  .wpc-popup-wrap-inner:has(.product:not(.has-post-thumbnail)) {
    width: 94vw;
  }
}


.woocommerce-js div.product form.cart .button.single_add_to_cart_button {
    padding: 15px 24px;
    margin-left: 4%;
}

.addon-form {
    border-radius: 12px;
    max-width: 600px;
    padding: 5px;
    width: 100%;
}

.optiontics-block-checkbox .addon-options{
    display:grid;
    grid-template-columns:repeat(2,1fr);
    gap:8px;
}

.optiontics-block-checkbox label{
    font-size:14px;
    margin:0;
}


/* === FIX TDV MODAL GALLERY - SOLO PRIMERA FOTO === */

.wpc-product-popup-content .variation_product_image 
.woocommerce-product-gallery__wrapper{
  height:auto!important;
  display:block!important;
}

/* Oculta todas las fotos extra dentro del modal */
.wpc_pro_order_time {
  display:none!important;
}

.wpc-product-popup-content .variation_product_image 
.woocommerce-product-gallery__image:not(:first-child){
  display:none!important;
}

/* Primera imagen limpia */
.wpc-product-popup-content .variation_product_image 
.woocommerce-product-gallery__image:first-child{
  display:block!important;
  width:100%!important;
  height:auto!important;
}

/* Link de imagen */
.wpc-product-popup-content .variation_product_image 
.woocommerce-product-gallery__image:first-child a{
  display:block!important;
  width:100%!important;
  height:auto!important;
}

/* Imagen principal */
.wpc-product-popup-content .variation_product_image 
.woocommerce-product-gallery__image:first-child img{
  width:100%!important;
  height:520px!important;
  max-height:520px!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:26px!important;
  transform:none!important;
}

/* Panel izquierdo sin scroll raro */
.wpc-product-popup-content .variation_product_image{
  align-items:center!important;
  overflow:hidden!important;
}

/* Mobile */
@media(max-width:900px){
  .wpc-product-popup-content .variation_product_image 
  .woocommerce-product-gallery__image:first-child img{
    height:260px!important;
    max-height:260px!important;
  }
}

@media(max-width:480px){
  .wpc-product-popup-content .variation_product_image 
  .woocommerce-product-gallery__image:first-child img{
    height:220px!important;
    max-height:220px!important;
  }
}




.tdv-footer{

width:100vw;

margin-left:calc(50% - 50vw);
margin-right:calc(50% - 50vw);

position:relative;

background:linear-gradient(180deg,#082B4F 0%,#051C33 100%);

}





/* Checkout payment UI - Tacos del Valle #2 */
.woocommerce-checkout #payment,
.woocommerce-checkout .payment_box,
.woocommerce-checkout .payment_method_stripe {
  background: transparent !important;
}

.woocommerce-checkout #payment {
  border: 1px solid #eadfd2 !important;
  border-radius: 14px !important;
  padding: 18px !important;
  box-shadow: 0 12px 34px rgba(47, 30, 18, 0.08) !important;
}

.woocommerce-checkout #payment ul.payment_methods {
  border: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce-checkout #payment ul.payment_methods li {
  background: #fffaf4 !important;
  border: 1px solid #eadfd2 !important;
  border-radius: 12px !important;
  margin: 0 0 10px !important;
  padding: 14px 16px !important;
  transition: border-color .2s ease, box-shadow .2s ease, background .2s ease;
}

.woocommerce-checkout #payment ul.payment_methods li:hover {
  border-color: #d33a2c !important;
  box-shadow: 0 8px 22px rgba(211, 58, 44, 0.10) !important;
}

.woocommerce-checkout #payment ul.payment_methods li input[type="radio"] {
  accent-color: #d33a2c;
  transform: scale(1.1);
  margin-right: 10px !important;
}

.woocommerce-checkout #payment ul.payment_methods li label {
  color: #2b1b12 !important;
  font-weight: 700 !important;
  font-size: 15px !important;
}

.woocommerce-checkout .payment_box {
  margin: 14px 0 0 !important;
  padding: 0 !important;
  color: #59483c !important;
}

.woocommerce-checkout .payment_box::before {
  display: none !important;
}

.woocommerce-checkout .payment_box.payment_method_stripe {
  border: 0 !important;
}

.woocommerce-checkout .payment_box.payment_method_stripe ul,
.woocommerce-checkout .woocommerce-SavedPaymentMethods,
.woocommerce-checkout .wc-saved-payment-methods {
  background: #ffffff !important;
  border: 1px solid #eadfd2 !important;
  border-radius: 12px !important;
  overflow: hidden !important;
  padding: 0 !important;
  margin: 0 !important;
}

.woocommerce-checkout .payment_box.payment_method_stripe li,
.woocommerce-checkout .woocommerce-SavedPaymentMethods li {
  border: 0 !important;
  border-bottom: 1px solid #f0e5da !important;
  border-radius: 0 !important;
  background: #fff !important;
  padding: 15px 16px !important;
}

.woocommerce-checkout .payment_box.payment_method_stripe li:last-child,
.woocommerce-checkout .woocommerce-SavedPaymentMethods li:last-child {
  border-bottom: 0 !important;
}

.woocommerce-checkout .payment_box.payment_method_stripe a,
.woocommerce-checkout .payment_box.payment_method_stripe .learn-more {
  color: #b9281f !important;
  font-weight: 700 !important;
}

.woocommerce-checkout #place_order {
  background: #d33a2c !important;
  color: #fff !important;
  border-radius: 12px !important;
  border: 0 !important;
  padding: 16px 22px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  width: 100% !important;
  box-shadow: 0 10px 24px rgba(211, 58, 44, 0.24) !important;
}

.woocommerce-checkout #place_order:hover {
  background: #b9281f !important;
}

/* TDV brand palette from the current gift-card campaign artwork. */
:root {
  --tdv-cream: #fff4e3;
  --tdv-navy: #082b4f;
  --tdv-orange: #ff7900;
  --tdv-green: #287a3f;
}

body {
  background-color: var(--tdv-cream);
}

.tdv-hero-card {
  color: var(--tdv-navy);
  background:
    linear-gradient(110deg, rgba(255, 244, 227, .98) 0%, rgba(255, 244, 227, .92) 58%, rgba(255, 244, 227, .35) 100%),
    url("https://images.unsplash.com/photo-1565299585323-38d6b0865b47?q=80&w=1600&auto=format&fit=crop");
  background-size: cover;
  background-position: center;
  border: 1px solid rgba(255, 121, 0, .35);
}

.tdv-hero-card p {
  color: var(--tdv-navy);
}

.tdv-hero-card h1,
.tdv-menu-sidebar h2,
.tdv-menu-sidebar .tdv-cat-btn,
.tdv-product-modal-v2 .product_title,
.wpc-product-popup-content .product_title {
  color: var(--tdv-navy) !important;
}

.tdv-hero-actions a:first-child,
.tdv-qty-btn,
.tdv-product-modal-v2 .tdv-qty-btn,
.wpc-product-popup-content .quantity .tdv-qty-btn,
.tdv-product-modal-v2 .single_add_to_cart_button,
.wpc-product-popup-content .single_add_to_cart_button,
.woocommerce-checkout #place_order {
  background: var(--tdv-orange) !important;
}

.tdv-status-badge {
  background: var(--tdv-green);
}

.woocommerce-checkout .payment_method_stripe input[type="radio"] {
  accent-color: var(--tdv-green);
}

.tdv-footer {
  background: linear-gradient(180deg, #082b4f 0%, #051c33 100%);
}

@media (max-width: 680px) {
  .tdv-hero-card {
    border-radius: 22px;
  }
}

@media (max-width: 600px) {
  .woocommerce-checkout #payment {
    padding: 14px !important;
    border-radius: 12px !important;
  }

  .woocommerce-checkout #payment ul.payment_methods li {
    padding: 13px !important;
  }
}

/* Tacos del Valle customer Rewards and Account portals. */
.p8-tdv-portal {
  --p8-tdv-cream: #fff4e3;
  --p8-tdv-navy: #082b4f;
  --p8-tdv-orange: #ff7900;
  --p8-tdv-green: #287a3f;
  width: min(100%, 980px);
  margin: 28px auto;
  padding: clamp(18px, 4vw, 38px);
  color: var(--p8-tdv-navy);
  background: var(--p8-tdv-cream);
  border: 1px solid rgba(8, 43, 79, .12);
  border-radius: 22px;
  box-shadow: 0 18px 48px rgba(8, 43, 79, .12);
}

.p8-tdv-portal * { box-sizing: border-box; }
.p8-tdv-portal [hidden] { display: none !important; }
.p8-tdv-portal__login { width: min(100%, 480px); margin: 0 auto; }
.p8-tdv-portal__eyebrow { color: #98703a; font-size: 10px; font-weight: 900; letter-spacing: .15em; }
.p8-tdv-portal h2 { margin: 8px 0; color: var(--p8-tdv-navy); font-size: clamp(28px, 5vw, 42px); line-height: 1.05; }
.p8-tdv-portal h3 { margin: 0 0 13px; color: var(--p8-tdv-navy); font-size: 19px; }
.p8-tdv-portal p { color: #4f6070; line-height: 1.55; }
.p8-tdv-portal form { display: grid; gap: 13px; }
.p8-tdv-portal label { display: grid; gap: 6px; color: var(--p8-tdv-navy); font-size: 12px; font-weight: 800; }
.p8-tdv-portal input { width: 100%; min-height: 46px; padding: 10px 12px; color: var(--p8-tdv-navy); background: #fff; border: 1px solid #d8dfdf; border-radius: 10px; font: inherit; }
.p8-tdv-portal input:focus { border-color: var(--p8-tdv-orange); outline: 3px solid rgba(255, 121, 0, .17); }
.p8-tdv-portal input[readonly] { background: #f0eee8; color: #536274; }
.p8-tdv-portal button { min-height: 46px; padding: 10px 17px; color: #fff; background: var(--p8-tdv-orange); border: 0; border-radius: 999px; cursor: pointer; font: inherit; font-weight: 900; }
.p8-tdv-portal button:disabled { opacity: .6; cursor: wait; }
.p8-tdv-portal__head { display: flex; align-items: center; justify-content: space-between; gap: 14px; }
.p8-tdv-portal__signout { min-height: 40px !important; color: var(--p8-tdv-navy) !important; background: #fff !important; border: 1px solid rgba(8, 43, 79, .18) !important; }
.p8-tdv-portal__message { min-height: 22px; margin: 8px 0 12px; color: var(--p8-tdv-green); font-size: 13px; font-weight: 750; }
.p8-tdv-portal__message.is-error { color: #9d3022; }
.p8-tdv-portal__points { display: grid; gap: 5px; margin: 15px 0; padding: 20px; color: #fff; background: var(--p8-tdv-navy); border-radius: 16px; }
.p8-tdv-portal__points span, .p8-tdv-portal__points small { color: #e7edf3; }
.p8-tdv-portal__points strong { color: #ffd27c; font-size: clamp(36px, 7vw, 54px); line-height: 1; }
.p8-tdv-portal__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin: 14px 0; }
.p8-tdv-portal__card { padding: 19px; background: #fff; border: 1px solid rgba(8, 43, 79, .1); border-radius: 15px; }
.p8-tdv-portal__reward, .p8-tdv-portal__gift, .p8-tdv-portal__activity { display: grid; gap: 5px; padding: 12px 0; border-top: 1px solid #e9edf0; }
.p8-tdv-portal__reward:first-child, .p8-tdv-portal__gift:first-child, .p8-tdv-portal__activity:first-child { border-top: 0; }
.p8-tdv-portal__reward strong, .p8-tdv-portal__gift strong { color: var(--p8-tdv-navy); }
.p8-tdv-portal__reward small, .p8-tdv-portal__gift small { color: #667789; text-transform: capitalize; }
.p8-tdv-portal__gift span, .p8-tdv-portal__activity span { color: var(--p8-tdv-green); font-weight: 850; }
.p8-tdv-portal__empty { margin: 0; color: #56697b !important; font-size: 13px; }
.p8-tdv-portal__account, .p8-tdv-portal__history, .p8-tdv-portal__change-password { margin-top: 14px; }
.p8-tdv-portal__account form { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.p8-tdv-portal__account form button { grid-column: 1 / -1; }
.p8-tdv-portal__password-gate { width: min(100%, 520px); margin: 15px auto 0; padding: 22px; background: #fff; border-radius: 16px; }
.p8-tdv-portal__remember { display: flex !important; grid-template-columns: auto 1fr; align-items: center; gap: 9px !important; color: #526274 !important; font-size: 12px !important; font-weight: 650 !important; }
.p8-tdv-portal__remember input { width: 18px !important; min-height: 18px !important; margin: 0; accent-color: #287a3f; }
.p8-tdv-portal__switch { width: 100%; margin-top: 11px; color: #082b4f !important; background: transparent !important; border: 1px solid rgba(8,43,79,.18) !important; border-radius: 12px !important; }
.p8-tdv-portal__register { margin-top: 18px; padding-top: 17px; border-top: 1px solid rgba(8,43,79,.12); }
.p8-tdv-portal__register > p { margin: 0 0 14px; }
.p8-tdv-portal__message:empty { display: none; }

.p8-tdv-rewards-home {
  --p8-tdv-cream: #fff4e3; --p8-tdv-navy: #082b4f; --p8-tdv-orange: #ff7900; --p8-tdv-green: #287a3f;
  display: grid; grid-template-columns: 56px minmax(0,1fr) auto; align-items: center; gap: 15px;
  width: min(100% - 28px, 1120px); margin: 24px auto; padding: 19px 22px;
  color: var(--p8-tdv-navy); background: linear-gradient(110deg,#fff8ec,var(--p8-tdv-cream));
  border: 1px solid rgba(255,121,0,.26); border-radius: 18px; box-shadow: 0 12px 28px rgba(8,43,79,.08);
}
.p8-tdv-rewards-home__icon { display:grid; width:52px; height:52px; place-items:center; color:#432400; background:#ffc342; border-radius:15px; font-size:28px; }
.p8-tdv-rewards-home__copy > span { color:#a15a0a; font-size:10px; font-weight:900; letter-spacing:.15em; }
.p8-tdv-rewards-home h2 { margin:3px 0; color:var(--p8-tdv-navy); font-size:clamp(18px,2.4vw,24px); line-height:1.15; }
.p8-tdv-rewards-home p { margin:0; color:#526274; font-size:13px; }
.p8-tdv-rewards-home__actions { display:grid; justify-items:stretch; gap:7px; min-width:145px; text-align:center; }
.p8-tdv-rewards-home__actions a { color:#526274; font-size:11px; font-weight:750; text-decoration:none; }
.p8-tdv-rewards-home__actions .p8-tdv-rewards-home__primary { padding:11px 15px; color:#fff; background:var(--p8-tdv-green); border-radius:999px; font-size:12px; }
.p8-tdv-rewards-home [hidden] { display:none !important; }
.woocommerce-cart-form .product-name dd, .woocommerce-checkout-review-order-table .product-name dd,
.xoo-wsc-container .variation, .woofc-area .variation { max-width:100%; overflow-wrap:anywhere; word-break:normal; }
.woocommerce-cart-form .product-name dd p, .woocommerce-checkout-review-order-table .product-name dd p { margin:2px 0; }

.p8-tdv-mobile-nav { display: none; }

.p8-tdv-giftcard-form { display: grid; gap: 12px; margin: 20px 0; padding: 18px; color: #082b4f; background: #fff4e3; border: 1px solid rgba(8, 43, 79, .14); border-radius: 16px; }
.p8-tdv-giftcard-form h3 { margin: 0; color: #082b4f; font-size: 20px; }
.p8-tdv-giftcard-form label { display: grid; gap: 6px; color: #082b4f; font-size: 12px; font-weight: 800; }
.p8-tdv-giftcard-form input, .p8-tdv-giftcard-form select, .p8-tdv-giftcard-form textarea { width: 100%; min-height: 44px; padding: 10px 12px; background: #fff; border: 1px solid #d9dedf; border-radius: 9px; color: #082b4f; font: inherit; }
.p8-tdv-giftcard-form p { margin: 0; color: #56697b; font-size: 12px; line-height: 1.5; }
.p8-tdv-giftcard-unavailable { padding: 13px 15px; color: #082b4f; background: #fff4e3; border-left: 4px solid #ff7900; border-radius: 8px; }

@media (max-width: 640px) {
  .p8-tdv-portal { margin: 16px auto; padding: 18px; border-radius: 16px; }
  .p8-tdv-portal__grid, .p8-tdv-portal__account form { grid-template-columns: 1fr; }
  .p8-tdv-portal__account form button { grid-column: auto; }
  .p8-tdv-portal__head { align-items: flex-start; }
  .p8-tdv-rewards-home { grid-template-columns: 44px minmax(0,1fr); gap:11px; width:calc(100% - 24px); margin:15px auto; padding:14px; border-radius:15px; }
  .p8-tdv-rewards-home__icon { width:42px; height:42px; border-radius:12px; font-size:23px; }
  .p8-tdv-rewards-home__actions { grid-column:1 / -1; grid-template-columns:1fr 1fr; align-items:center; }
}

@media (max-width: 767px) {
  body { padding-bottom: calc(78px + env(safe-area-inset-bottom)); }
  .p8-tdv-mobile-nav {
    position: fixed;
    z-index: 99990;
    right: 12px;
    bottom: calc(10px + env(safe-area-inset-bottom));
    left: 12px;
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    padding: 8px 6px max(8px, env(safe-area-inset-bottom));
    background: rgba(255, 253, 248, .97);
    border: 1px solid rgba(8, 43, 79, .16);
    border-radius: 22px;
    box-shadow: 0 10px 34px rgba(8, 43, 79, .2);
    backdrop-filter: blur(12px);
  }
  .p8-tdv-mobile-nav a {
    display: grid;
    min-width: 0;
    min-height: 50px;
    align-content: center;
    justify-items: center;
    gap: 3px;
    color: #526274;
    font-size: 10px;
    font-weight: 750;
    line-height: 1.1;
    text-decoration: none;
  }
  .p8-tdv-mobile-nav a.is-active { color: #a33c12; }
  .p8-tdv-mobile-nav__icon { display: block; width: 22px; height: 22px; }
  .p8-tdv-mobile-nav__icon svg { display: block; width: 100%; height: 100%; }

  body.page-id-2362 .site-header, body.page-id-2362 .site-footer,
  body.page-id-2363 .site-header, body.page-id-2363 .site-footer,
  body.woocommerce-cart .site-header, body.woocommerce-cart .site-footer,
  body.woocommerce-checkout .site-header, body.woocommerce-checkout .site-footer,
  body.page-id-2362 .ast-primary-header-bar, body.page-id-2363 .ast-primary-header-bar,
  body.woocommerce-cart .ast-primary-header-bar, body.woocommerce-checkout .ast-primary-header-bar,
  body.page-id-2362 .ast-small-footer, body.page-id-2363 .ast-small-footer,
  body.woocommerce-cart .ast-small-footer, body.woocommerce-checkout .ast-small-footer { display:none !important; }
  body.page-id-2362 .entry-header, body.page-id-2363 .entry-header,
  body.woocommerce-cart .entry-header, body.woocommerce-checkout .entry-header { display:none !important; }
  body.page-id-2362 .site-content, body.page-id-2363 .site-content,
  body.woocommerce-cart .site-content, body.woocommerce-checkout .site-content { padding-top:8px !important; }
  body.page-id-2362 .site-content > .ast-container, body.page-id-2363 .site-content > .ast-container,
  body.woocommerce-cart .site-content > .ast-container, body.woocommerce-checkout .site-content > .ast-container { width:100%; max-width:none; padding-right:12px; padding-left:12px; }
}

/* Tacos del Valle app polish: one compact order action, category picker and unified cart. */
.tdv-auto-hero .tdv-header-actions { display:flex !important; flex-wrap:wrap !important; align-items:center !important; justify-content:center !important; gap:8px 14px !important; }
.tdv-auto-hero .tdv-header-actions .tdv-order-pickup { flex:0 0 100% !important; width:100% !important; min-height:54px !important; margin:0 auto 8px !important; justify-content:center !important; border:0 !important; border-radius:16px !important; box-shadow:0 10px 22px rgba(255,121,0,.18) !important; }
.tdv-auto-hero .tdv-header-actions .tdv-fox-delivery,
.tdv-auto-hero .tdv-header-actions .tdv-gift-main,
.tdv-auto-hero .tdv-header-actions .tdv-action-soft { display:inline-flex !important; width:auto !important; min-height:0 !important; margin:0 !important; padding:6px 3px !important; align-items:center !important; justify-content:center !important; gap:5px !important; color:#082b4f !important; background:transparent !important; border:0 !important; border-radius:0 !important; box-shadow:none !important; font-size:12px !important; font-weight:750 !important; text-decoration:underline !important; text-underline-offset:3px !important; }
.tdv-auto-hero .tdv-header-actions .tdv-fox-delivery img { display:none !important; }
.tdv-auto-hero .tdv-header-actions .tdv-header-hours { width:100% !important; color:#667789 !important; font-size:11px !important; text-align:center !important; }
.wpc_cart_icon { display:flex !important; }
body .wpc_cart_block.cart_icon_active { right:0 !important; }
.tdv-mobile-menu-drawer.open { z-index:100020 !important; background:rgba(7,24,40,.55) !important; backdrop-filter:blur(5px); }
.tdv-mobile-menu-panel { max-height:min(78vh,680px) !important; padding:24px 18px calc(22px + env(safe-area-inset-bottom)) !important; color:#082b4f !important; background:#fffaf2 !important; border:1px solid rgba(8,43,79,.12) !important; box-shadow:0 -18px 60px rgba(8,43,79,.22) !important; }
.tdv-mobile-menu-panel h3 { color:#082b4f !important; }
.tdv-mobile-cats { grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:9px !important; }
.tdv-mobile-cats .tdv-cat-btn { min-height:48px !important; padding:11px 10px !important; color:#173b5f !important; background:#fff !important; border:1px solid #e8dfd2 !important; border-radius:13px !important; font-size:13px !important; font-weight:800 !important; }
.tdv-mobile-cats .tdv-cat-btn.active { color:#fff !important; background:#ff7900 !important; border-color:#ff7900 !important; box-shadow:0 7px 16px rgba(255,121,0,.2) !important; }
.tdv-mobile-menu-panel .tdv-close-menu { color:#082b4f !important; background:#f3eadc !important; }
html.p8-tdv-category-modal-open, html.p8-tdv-category-modal-open body { overflow:hidden !important; }
body.p8-tdv-single-category:not(.tdv-searching) #tdvMenuStart .wpc-tab { display:none !important; }
body.p8-tdv-single-category:not(.tdv-searching) #tdvMenuStart .wpc-tab.p8-tdv-category-selected { display:block !important; }
.p8-tdv-cart-toast { position:fixed; z-index:100100; right:16px; bottom:calc(92px + env(safe-area-inset-bottom)); left:16px; display:flex; width:max-content; max-width:calc(100% - 32px); margin:0 auto; padding:12px 16px; align-items:center; gap:11px; color:#fff; background:#102d4b; border:1px solid rgba(255,255,255,.18); border-radius:16px; box-shadow:0 12px 32px rgba(8,43,79,.28); opacity:0; pointer-events:none; transform:translateY(12px) scale(.98); transition:opacity .22s ease,transform .22s ease; }
.p8-tdv-cart-toast.is-visible { opacity:1; transform:translateY(0) scale(1); }
.p8-tdv-cart-toast__check { display:grid; width:30px; height:30px; flex:0 0 30px; place-items:center; color:#082b4f; background:#ffc342; border-radius:50%; font-size:18px; font-weight:950; }
.p8-tdv-cart-toast strong,.p8-tdv-cart-toast small { display:block; }
.p8-tdv-cart-toast strong { font-size:13px; }
.p8-tdv-cart-toast small { margin-top:2px; color:#d4e1ef; font-size:11px; }
@media (max-width:767px) {
  .tdv-auto-hero { margin-top:10px !important; }
  .tdv-auto-hero .tdv-header-actions { gap:5px 11px !important; }
  .tdv-auto-hero .tdv-header-actions .tdv-order-pickup { min-height:50px !important; }
  .tdv-auto-hero .tdv-header-actions .tdv-fox-delivery,
  .tdv-auto-hero .tdv-header-actions .tdv-gift-main { font-size:11px !important; }
  .p8-tdv-rewards-home { position:fixed !important; z-index:99980 !important; right:auto !important; bottom:calc(20vh + env(safe-area-inset-bottom)) !important; left:12px !important; display:grid !important; grid-template-columns:36px minmax(0,1fr) auto !important; width:min(350px,calc(100vw - 24px)) !important; max-width:350px !important; margin:0 !important; padding:10px 11px !important; gap:9px !important; border-radius:16px !important; box-shadow:0 12px 30px rgba(8,43,79,.24) !important; }
  .p8-tdv-rewards-home__icon { width:36px !important; height:36px !important; font-size:19px !important; border-radius:11px !important; }
  .p8-tdv-rewards-home__copy > span { font-size:8px !important; }
  .p8-tdv-rewards-home h2 { margin:1px 0 0 !important; font-size:14px !important; line-height:1.15 !important; }
  .p8-tdv-rewards-home p { display:none !important; }
  .p8-tdv-rewards-home__actions { display:block !important; min-width:0 !important; grid-column:auto !important; }
  .p8-tdv-rewards-home__actions a:not(.p8-tdv-rewards-home__primary) { display:none !important; }
  .p8-tdv-rewards-home__actions .p8-tdv-rewards-home__primary { display:block !important; padding:9px 10px !important; white-space:nowrap !important; font-size:10px !important; }
  .p8-tdv-cart-toast { bottom:calc(86px + env(safe-area-inset-bottom)); }
}

/* Mobile storefront refinements based on the TDV app review. */
@media (max-width:767px) {
  /* Keep Panel8's branded sticky search; suppress the duplicated WPCafe search. */
  .tdv-menu-search-wrap { display:none !important; }

  .ast-mobile-header-wrap,
  .ast-mobile-header-content,
  .ast-primary-header-bar,
  .ast-above-header-bar,
  #masthead .site-primary-header-wrap { background:#fff4e3 !important; }

  .tdv-auto-hero .tdv-header-actions { gap:8px 10px !important; }
  .tdv-auto-hero .tdv-header-actions .tdv-order-pickup { font-size:15px !important; }
  .tdv-auto-hero .tdv-header-actions .tdv-order-pickup img.emoji { display:none !important; }
  .tdv-auto-hero .tdv-header-actions .tdv-order-pickup::before { content:"🌮"; margin-right:7px; font-size:19px; }
  .tdv-auto-hero .tdv-header-actions .tdv-fox-delivery,
  .tdv-auto-hero .tdv-header-actions .tdv-doordash-link {
    display:flex !important; flex:1 1 calc(50% - 6px) !important; width:calc(50% - 6px) !important;
    min-height:45px !important; margin:0 !important; padding:10px 8px !important; align-items:center !important;
    justify-content:center !important; color:#fff !important; border:0 !important; border-radius:13px !important;
    box-shadow:0 7px 15px rgba(8,43,79,.12) !important; font-size:13px !important; font-weight:850 !important;
    text-decoration:none !important; text-underline-offset:0 !important;
  }
  .tdv-auto-hero .tdv-header-actions .tdv-fox-delivery { background:#10233e !important; font-size:0 !important; }
  .tdv-auto-hero .tdv-header-actions .tdv-fox-delivery::after { content:"Fox Ordering"; font-size:13px; }
  .tdv-auto-hero .tdv-header-actions .tdv-doordash-link { background:#df241d !important; }
  .tdv-auto-hero .tdv-header-actions .tdv-gift-main,
  .tdv-auto-hero .tdv-header-actions .tdv-action-soft { padding:5px 2px !important; font-size:11px !important; }
  .tdv-auto-hero .tdv-header-actions .tdv-header-hours { padding-top:4px; }

  .tdv-menu-search-wrap { z-index:120 !important; isolation:isolate; padding:10px 0 16px !important; background:#fff4e3 !important; }
  .tdv-menu-search-wrap::before { content:""; position:absolute; z-index:-1; top:-22px; right:-16px; bottom:0; left:-16px; background:#fff4e3; }

  .p8-tdv-rewards-home { grid-template-columns:34px minmax(0,1fr) auto !important; gap:8px !important; width:calc(100% - 24px) !important; margin:10px auto 16px !important; padding:9px 10px !important; border-radius:15px !important; box-shadow:0 8px 22px rgba(8,43,79,.1) !important; }
  .p8-tdv-rewards-home__icon { width:34px !important; height:34px !important; font-size:19px !important; border-radius:11px !important; }
  .p8-tdv-rewards-home__copy > span { font-size:8px !important; }
  .p8-tdv-rewards-home h2 { margin:1px 0 !important; font-size:13px !important; line-height:1.15 !important; }
  .p8-tdv-rewards-home p { display:none !important; }
  .p8-tdv-rewards-home__actions { display:block !important; min-width:0 !important; grid-column:auto !important; }
  .p8-tdv-rewards-home__actions a:not(.p8-tdv-rewards-home__primary) { display:none !important; }
  .p8-tdv-rewards-home__actions .p8-tdv-rewards-home__primary { display:block !important; padding:8px 10px !important; white-space:nowrap !important; font-size:10px !important; }
  .p8-tdv-rewards-home .p8-tdv-points-progress { display:none !important; }
  body.p8-tdv-rewards-floated .p8-tdv-rewards-home {
    position:fixed !important; z-index:100010 !important; top:auto !important;
    right:12px !important; bottom:calc(88px + env(safe-area-inset-bottom)) !important; left:auto !important;
    width:min(238px,calc(100vw - 24px)) !important; margin:0 !important; padding:8px 9px !important;
    border-radius:14px !important; box-shadow:0 9px 22px rgba(8,43,79,.18) !important;
  }

  .p8-tdv-portal__points { padding:18px !important; border-radius:18px !important; }
  .p8-tdv-points-progress { display:grid; gap:9px; margin-top:17px; padding:13px; color:#173b5f; background:rgba(255,255,255,.96); border:1px solid rgba(255,255,255,.65); border-radius:14px; }
  .p8-tdv-points-progress__labels { display:flex; align-items:center; justify-content:space-between; gap:10px; font-size:11px; font-weight:850; }
  .p8-tdv-points-progress__labels span:last-child { overflow:hidden; max-width:55%; color:#6a7787; font-size:10px; font-weight:700; text-overflow:ellipsis; white-space:nowrap; }
  .p8-tdv-points-progress__track { height:9px; overflow:hidden; background:#e9edf0; border-radius:999px; }
  .p8-tdv-points-progress__track span { display:block; width:0; height:100%; background:linear-gradient(90deg,#ffb629,#ff7900); border-radius:inherit; transition:width .45s ease; }
  .p8-tdv-points-progress small { color:#6a7787; font-size:10px; line-height:1.35; }
  .p8-tdv-portal__points .p8-tdv-points-progress { color:#173b5f; }
  .p8-tdv-cart-close { position:absolute; z-index:6; top:10px; right:10px; display:grid; width:38px; height:38px; padding:0; place-items:center; color:#10233e; background:#fff4e3; border:1px solid rgba(8,43,79,.15); border-radius:50%; box-shadow:0 3px 12px rgba(8,43,79,.14); cursor:pointer; font:700 25px/1 Arial,sans-serif; }
  .wpc_cart_block .wpc-menu-mini-cart { position:relative !important; padding-top:54px !important; }
  .wpc_cart_block .wpc-menu-mini-cart a.wc-forward:not(.checkout) { display:none !important; }
  .wpc_cart_block .wpc-menu-mini-cart .button.checkout { width:100% !important; border-radius:12px !important; }
  .wpc_cart_block .wpc_empty_cart_btn,
  .wpc_cart_block .woocommerce-mini-cart__buttons a { border-radius:12px !important; }
}

/* Compact, app-like checkout: the rewards dock sits just above Rewards/Account. */
.woocommerce-checkout .woocommerce-billing-fields > h3,
.woocommerce-checkout .woocommerce-additional-fields > h3 { color:#082b4f !important; font-size:20px !important; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper { display:grid; grid-template-columns:1fr; gap:10px; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper .form-row { float:none !important; width:100% !important; margin:0 !important; padding:0 !important; }
.woocommerce-checkout .woocommerce-billing-fields label { margin:0 0 5px !important; color:#29435d !important; font-size:12px !important; font-weight:800 !important; }
.woocommerce-checkout .woocommerce-billing-fields input,
.woocommerce-checkout .woocommerce-additional-fields textarea { min-height:48px !important; padding:12px 14px !important; background:#fff !important; border:1px solid #e6d8c8 !important; border-radius:14px !important; box-shadow:none !important; }
.woocommerce-checkout .woocommerce-additional-fields textarea { min-height:92px !important; }
.woocommerce-checkout .p8-tdv-checkout-contact { margin:0; padding:12px 14px; background:#fffaf4; border:1px solid #eadfd2; border-radius:15px; }
.woocommerce-checkout .p8-tdv-checkout-contact summary { color:#082b4f; font-size:14px; font-weight:850; cursor:pointer; }
.woocommerce-checkout .p8-tdv-checkout-contact[open] summary { margin-bottom:13px; }
.woocommerce-checkout .p8-tdv-checkout-rewards { display:grid; grid-template-columns:38px minmax(0,1fr); gap:11px; margin:0 0 14px; padding:13px; color:#082b4f; background:linear-gradient(120deg,#fff8ec,#fff1d8); border:1px solid rgba(255,121,0,.25); border-radius:16px; }
.woocommerce-checkout .p8-tdv-checkout-rewards[hidden] { display:none !important; }
.p8-tdv-checkout-rewards__icon { display:grid; width:38px; height:38px; place-items:center; color:#432400; background:#ffc342; border-radius:12px; font-size:22px; }
.p8-tdv-checkout-rewards__body > strong { display:block; color:#a15a0a; font-size:10px; letter-spacing:.12em; text-transform:uppercase; }
.p8-tdv-checkout-rewards__body p { margin:2px 0 8px; color:#082b4f; font-size:14px; font-weight:850; }
.p8-tdv-checkout-rewards__body small { display:block; margin-top:6px; color:#647587; font-size:11px; }
.p8-tdv-checkout-rewards__meter { height:7px; overflow:hidden; background:#f0e4d3; border-radius:99px; }
.p8-tdv-checkout-rewards__meter span { display:block; width:0; height:100%; background:linear-gradient(90deg,#ffc342,#ff7900); border-radius:inherit; transition:width .35s ease; }
.woocommerce-checkout #order_review { padding:14px; background:#fffaf4; border:1px solid #eadfd2; border-radius:18px; }
.woocommerce-checkout-review-order-table { margin:0 0 10px !important; border:0 !important; border-collapse:separate !important; border-spacing:0 5px !important; }
.woocommerce-checkout-review-order-table th,.woocommerce-checkout-review-order-table td { padding:9px 7px !important; border:0 !important; background:#fff !important; font-size:13px !important; }
.woocommerce-checkout-review-order-table thead th { color:#647587 !important; font-size:11px !important; text-transform:uppercase; }
.woocommerce-checkout-review-order-table tbody tr:first-child td { border-top-left-radius:10px; border-top-right-radius:10px; }
.woocommerce-checkout-review-order-table tfoot tr:last-child th,.woocommerce-checkout-review-order-table tfoot tr:last-child td { color:#082b4f !important; font-size:16px !important; font-weight:900 !important; }
.woocommerce-checkout #payment { margin-top:12px; }
@media (max-width:767px) {
  .woocommerce-checkout .site-content > .ast-container { padding:8px 12px 110px !important; }
  .woocommerce-checkout #customer_details,.woocommerce-checkout #order_review { margin-bottom:14px !important; }
  .woocommerce-checkout .woocommerce-checkout-review-order-table th,.woocommerce-checkout .woocommerce-checkout-review-order-table td { padding:8px 5px !important; font-size:12px !important; }
  .woocommerce-checkout #payment { padding:11px !important; }
  .woocommerce-checkout #payment ul.payment_methods li { padding:12px !important; }
  .p8-tdv-rewards-home .p8-tdv-points-progress { display:none !important; }
  body.p8-tdv-footer-visible .p8-tdv-rewards-home { opacity:0 !important; pointer-events:none !important; }
}

/* Fine alignment and spacing pass from the TDV mobile review. */
.p8-search-box > button {
  top:50% !important; right:9px !important; display:grid !important; width:36px !important; height:36px !important;
  padding:0 !important; place-items:center !important; line-height:1 !important; transform:translateY(-50%) !important;
}
.p8-modal-close {
  display:grid !important; width:42px !important; height:42px !important; min-width:42px !important; min-height:42px !important;
  padding:0 !important; place-items:center !important; aspect-ratio:1 / 1 !important; line-height:1 !important;
  font-size:24px !important; font-weight:600 !important; border-radius:50% !important; transform:none !important;
}
.p8-quantity button {
  display:grid !important; min-width:0 !important; min-height:46px !important; padding:0 !important;
  place-items:center !important; line-height:1 !important; vertical-align:middle !important;
}
.p8-quantity input { display:block !important; min-height:46px !important; margin:0 !important; padding:0 !important; line-height:1 !important; }
.tdv-close-menu {
  display:grid !important; width:40px !important; height:40px !important; min-width:40px !important; min-height:40px !important;
  padding:0 !important; place-items:center !important; line-height:1 !important; font-size:20px !important; transform:none !important;
}
.wpc-product-popup-content .wpc-close.wpc-btn {
  display:grid !important; padding:0 !important; place-items:center !important; line-height:1 !important; transform:none !important;
}
.wpc-product-popup-content .wpc-close.wpc-btn i { display:block !important; line-height:1 !important; }
.p8-tdv-portal__signout {
  margin:5px 0 8px 10px !important; padding:9px 16px !important; color:#fff !important;
  background:#b42318 !important; border:1px solid #a61b12 !important; box-shadow:0 4px 10px rgba(164,35,24,.16) !important;
}
.wpc_cart_block .wpc-menu-mini-cart .p8-tdv-cart-close {
  top:calc(28px + env(safe-area-inset-top)) !important; right:14px !important; transform:none !important;
}
.tdv-gift-wrap { margin-top:18px !important; }
.tdv-gift-card { padding-top:24px !important; }

@media (max-width:767px) {
  .wpc-food-menu-item:not(:has(img[src*="woocommerce-placeholder"])) { min-height:300px !important; }
  .wpc-food-menu-item .wpc-food-inner-content p {
    display:-webkit-box !important; min-height:0 !important; max-height:2.9em !important; overflow:hidden !important;
    -webkit-box-orient:vertical !important; -webkit-line-clamp:2 !important; line-clamp:2 !important;
    margin:8px 0 10px !important; line-height:1.45 !important;
  }
  .tdv-gift-wrap { margin-top:14px !important; margin-bottom:24px !important; padding:10px !important; }
  .tdv-gift-card { padding:24px 16px !important; }
}

/* Home-page Rewards sign-in / registration dialog. */
.p8-tdv-home-auth[hidden] { display:none !important; }
.p8-tdv-home-auth {
  position:fixed; z-index:200000; inset:0; display:grid; place-items:center; padding:18px;
  background:rgba(8,26,43,.62); backdrop-filter:blur(7px); -webkit-backdrop-filter:blur(7px);
}
html.p8-tdv-home-auth-open, html.p8-tdv-home-auth-open body { overflow:hidden !important; }
.p8-tdv-home-auth__dialog {
  position:relative; width:min(100%,480px); max-height:min(88dvh,760px); overflow:auto; padding:28px 24px 24px;
  color:#102d4b; background:linear-gradient(145deg,#fffaf1,#fff1dc); border:1px solid rgba(255,255,255,.8);
  border-radius:24px; box-shadow:0 28px 90px rgba(0,0,0,.32);
}
.p8-tdv-home-auth__close {
  position:absolute; top:14px; right:14px; display:grid; width:38px; height:38px; min-width:38px; min-height:38px;
  padding:0; place-items:center; color:#102d4b; background:#fff; border:1px solid rgba(16,45,75,.13);
  border-radius:50%; font:500 23px/1 Arial,sans-serif; cursor:pointer;
}
.p8-tdv-home-auth__dialog h2 { margin:9px 42px 5px 0; color:#082b4f; font-size:clamp(25px,6vw,34px); line-height:1.08; }
.p8-tdv-home-auth__intro { margin:0 0 18px; color:#5b6b7c; font-size:14px; line-height:1.45; }
.p8-tdv-home-auth__tabs { display:grid; grid-template-columns:1fr 1fr; gap:6px; margin:0 0 14px; padding:5px; background:#f1e5d2; border-radius:14px; }
.p8-tdv-home-auth__tabs button { min-height:42px; padding:9px 10px; color:#526274; background:transparent; border:0; border-radius:10px; font-family:inherit; font-size:13px; font-weight:700; line-height:1.2; cursor:pointer; }
.p8-tdv-home-auth__tabs button.is-active { color:#fff; background:#102d4b; box-shadow:0 4px 12px rgba(8,43,79,.16); }
.p8-tdv-home-auth__message { min-height:0; margin:0; color:#287a3f; font-size:13px; font-weight:750; }
.p8-tdv-home-auth__message:not(:empty) { margin:0 0 10px; }
.p8-tdv-home-auth__message.is-error { color:#a12218; }
.p8-tdv-home-auth__message.is-success { color:#287a3f; }
.p8-tdv-home-auth__dialog form { display:grid; gap:11px; }
.p8-tdv-home-auth__dialog form > label:not(.p8-tdv-portal__remember) { display:grid; gap:5px; color:#173b5f; font-size:12px; font-weight:800; }
.p8-tdv-home-auth__dialog input:not([type="checkbox"]) {
  width:100%; min-height:44px; padding:10px 12px; color:#102d4b; background:#fff; border:1px solid #d7dfdf;
  border-radius:11px; font:inherit; font-size:14px; box-sizing:border-box;
}
.p8-tdv-home-auth__dialog input:focus { border-color:#ff7900; outline:3px solid rgba(255,121,0,.16); }
.p8-tdv-home-auth__dialog .p8-tdv-portal__remember { display:flex !important; align-items:center; gap:9px !important; font-size:12px !important; }
.p8-tdv-home-auth__dialog .p8-tdv-portal__remember input { width:18px; min-height:18px; margin:0; accent-color:#287a3f; }
.p8-tdv-home-auth__dialog form > button[type="submit"] {
  min-height:48px; margin-top:3px; padding:11px 16px; color:#fff; background:#d63b2f; border:0;
  border-radius:13px; box-shadow:0 8px 18px rgba(180,35,24,.17); font-family:inherit; font-size:14px; font-weight:800; line-height:1.2; cursor:pointer;
}

/* Dedicated TDV digital gift-card purchase flow. */
.p8-tdv-gift-modal[hidden] { display:none !important; }
.p8-tdv-gift-modal {
  position:fixed; z-index:210000; inset:0; display:grid; place-items:center; padding:18px;
  background:rgba(7,29,51,.66); backdrop-filter:blur(7px); -webkit-backdrop-filter:blur(7px);
}
html.p8-tdv-gift-modal-open, html.p8-tdv-gift-modal-open body { overflow:hidden !important; }
.p8-tdv-gift-modal__dialog {
  position:relative; display:grid; grid-template-columns:minmax(190px,.78fr) minmax(0,1.22fr); gap:24px;
  width:min(100%,820px); max-height:min(90dvh,850px); overflow:auto; padding:28px;
  color:#102d4b; background:linear-gradient(145deg,#fffaf1,#fff1dc); border:1px solid rgba(255,255,255,.85);
  border-radius:25px; box-shadow:0 28px 90px rgba(0,0,0,.35); outline:none;
}
.p8-tdv-gift-modal__art { align-self:start; overflow:hidden; border-radius:17px; background:#fff; box-shadow:0 12px 28px rgba(69,44,13,.13); }
.p8-tdv-gift-modal__art img { display:block; width:100%; height:auto; }
.p8-tdv-gift-modal__content { min-width:0; }
.p8-tdv-gift-modal__close {
  position:absolute; z-index:2; top:12px; right:12px; display:grid; width:40px; height:40px; padding:0; place-items:center;
  color:#102d4b; background:#fff; border:1px solid #eadbc7; border-radius:50%; font:500 25px/1 Arial,sans-serif; cursor:pointer;
}
.p8-tdv-gift-modal__eyebrow { display:block; margin:4px 42px 8px 0; color:#bd5b00; font-size:10px; font-weight:900; letter-spacing:.12em; }
.p8-tdv-gift-modal__content h2 { margin:0 35px 7px 0; color:#082b4f; font-size:clamp(25px,4vw,37px); line-height:1.05; }
.p8-tdv-gift-modal__intro { margin:0 0 14px; color:#536679; font-size:14px; line-height:1.45; }
.p8-tdv-gift-modal__message { min-height:0; margin:0; color:#287a3f; font-size:13px; font-weight:750; }
.p8-tdv-gift-modal__message:not(:empty) { margin:0 0 9px; }
.p8-tdv-gift-modal__message.is-error { color:#a12218; }
.p8-tdv-gift-modal__content form { display:grid; gap:10px; }
.p8-tdv-gift-modal__content form > label, .p8-tdv-gift-modal__two > label { display:grid; gap:5px; color:#173b5f; font-size:12px; font-weight:800; }
.p8-tdv-gift-modal__two { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.p8-tdv-gift-modal__content input, .p8-tdv-gift-modal__content select, .p8-tdv-gift-modal__content textarea {
  box-sizing:border-box; width:100%; min-height:43px; padding:9px 11px; color:#102d4b; background:#fff;
  border:1px solid #d7dfdf; border-radius:10px; font:inherit; font-size:14px;
}
.p8-tdv-gift-modal__content textarea { min-height:72px; resize:vertical; }
.p8-tdv-gift-modal__content input:focus, .p8-tdv-gift-modal__content select:focus, .p8-tdv-gift-modal__content textarea:focus {
  border-color:#ff7900; outline:3px solid rgba(255,121,0,.16);
}
.p8-tdv-gift-modal__submit, .p8-tdv-gift-product-cta {
  display:flex; justify-content:center; align-items:center; width:100%; min-height:49px; padding:12px 16px;
  color:#fff !important; background:linear-gradient(100deg,#ff7900,#ed5b00) !important; border:0 !important;
  border-radius:13px !important; box-shadow:0 9px 20px rgba(220,92,0,.2); font-family:inherit; font-size:15px; font-weight:850; cursor:pointer;
}
.p8-tdv-gift-modal__submit:disabled { opacity:.55; cursor:wait; }
.p8-tdv-gift-modal__content small { color:#657688; font-size:11px; line-height:1.45; }
.p8-tdv-gift-product-cta { margin:16px 0; }
.p8-tdv-gift-card-product-page .summary form.cart { display:none !important; }
@media (max-width:650px) {
  .p8-tdv-gift-modal { align-items:end; padding:0; }
  .p8-tdv-gift-modal__dialog {
    grid-template-columns:1fr; gap:14px; width:100%; max-height:94dvh; padding:20px 16px calc(18px + env(safe-area-inset-bottom));
    border-radius:23px 23px 0 0;
  }
  .p8-tdv-gift-modal__art { width:min(100%,260px); max-height:145px; justify-self:center; }
  .p8-tdv-gift-modal__art img { width:100%; height:145px; object-fit:cover; object-position:center; }
  .p8-tdv-gift-modal__eyebrow { font-size:9px; }
  .p8-tdv-gift-modal__two { grid-template-columns:1fr; }
  .p8-tdv-gift-modal__content form { gap:9px; }
}
.p8-tdv-home-auth__dialog button:disabled { opacity:.6; cursor:wait; }
.p8-tdv-home-auth__legacy { margin:14px 0 0; color:#657487; font-size:12px; line-height:1.45; }
.p8-tdv-rewards-home__actions .p8-tdv-rewards-home__primary { appearance:none; border:0; font-family:inherit; font-size:12px; font-weight:800; line-height:1.2; cursor:pointer; }

/* Close the menu-to-Gift-Card gap and compact the restaurant's mobile footer. */
@media (max-width:767px) {
  #tdvMenuStart.tdv-order-shell { margin:22px 0 10px !important; padding-bottom:18px !important; }
  #tdvMenuStart .wpc-food-tab-wrapper { padding-bottom:18px !important; }
  .tdv-gift-wrap { margin-top:8px !important; }

  .tdv-footer {
    width:100vw !important; margin:24px calc(50% - 50vw) 0 !important;
    color:#f4f7fa !important; background:linear-gradient(165deg,#0c3558 0%,#071f38 100%) !important;
  }
  .tdv-footer-container { max-width:1120px !important; margin:0 auto !important; padding:24px 18px calc(24px + env(safe-area-inset-bottom)) !important; }
  .tdv-footer-cta {
    display:grid !important; grid-template-columns:1fr !important; gap:12px !important; margin:0 0 24px !important;
    padding:17px !important; color:#102d4b !important; background:#fff8ee !important; border:1px solid rgba(255,255,255,.6) !important;
    border-radius:18px !important; box-shadow:0 12px 28px rgba(0,0,0,.13) !important;
  }
  .tdv-footer-cta h2 { margin:0 0 4px !important; color:#082b4f !important; font-size:21px !important; }
  .tdv-footer-cta p { margin:0 !important; color:#5b6b7c !important; font-size:13px !important; line-height:1.45 !important; }
  .tdv-footer-buttons { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:8px !important; }
  .tdv-footer-buttons a { min-height:42px !important; display:flex !important; align-items:center !important; justify-content:center !important; padding:9px !important; border-radius:11px !important; font-size:12px !important; }
  .tdv-footer-grid { display:grid !important; grid-template-columns:repeat(2,minmax(0,1fr)) !important; gap:22px 16px !important; width:100% !important; }
  .tdv-footer-grid > div:first-child { grid-column:1 / -1 !important; padding-bottom:16px !important; border-bottom:1px solid rgba(255,255,255,.14) !important; }
  .tdv-footer-grid > div:nth-child(4) { grid-column:1 / -1 !important; }
  .tdv-footer-logo { display:block !important; width:min(170px,60vw) !important; max-height:128px !important; height:auto !important; margin:0 0 12px !important; object-fit:contain !important; }
  .tdv-footer-text { max-width:440px !important; margin:0 !important; color:#d9e5ef !important; font-size:13px !important; line-height:1.5 !important; }
  .tdv-footer-title { margin:0 0 10px !important; color:#fff !important; font-size:14px !important; font-weight:850 !important; }
  .tdv-footer-info { display:grid !important; grid-template-columns:34px minmax(0,1fr) !important; align-items:center !important; gap:9px !important; margin:10px 0 !important; color:#e4edf4 !important; font-size:12px !important; line-height:1.4 !important; }
  .tdv-footer-info .tdv-icon { display:grid !important; width:34px !important; height:34px !important; place-items:center !important; background:rgba(255,255,255,.09) !important; border-radius:11px !important; }
  .tdv-footer-info .tdv-icon img { width:17px !important; height:17px !important; }
  .tdv-footer-grid ul { display:grid !important; gap:7px !important; margin:0 !important; padding:0 !important; list-style:none !important; }
  .tdv-footer-grid > div:nth-child(3) ul { grid-template-columns:1fr !important; }
  .tdv-footer-grid > div:nth-child(4) ul { grid-template-columns:repeat(2,minmax(0,1fr)) !important; }
  .tdv-footer-grid li { margin:0 !important; padding:0 !important; }
  .tdv-footer-grid li a { display:inline-flex !important; min-height:34px !important; align-items:center !important; color:#e5edf4 !important; font-size:12px !important; line-height:1.3 !important; text-decoration:none !important; }
  .tdv-footer-grid li a:hover { color:#ffc342 !important; }
  .p8-tdv-footer-visible .p8-tdv-rewards-home { opacity:0 !important; pointer-events:none !important; transform:translateY(8px) !important; }
  .p8-tdv-home-auth { padding:12px !important; }
  .p8-tdv-home-auth__dialog { max-height:calc(100dvh - 24px) !important; padding:24px 18px 18px !important; border-radius:20px !important; }
}

/* Cart count and a persistent, unmistakable path to checkout. */
.p8-tdv-mobile-nav a[hidden], .p8-tdv-cart-checkout[hidden] { display:none !important; }
.p8-tdv-mobile-nav__icon { position:relative; }
.p8-tdv-cart-count { position:absolute; top:-6px; right:-8px; display:grid; min-width:16px; height:16px; padding:0 4px; place-items:center; color:#fff; background:#d33a2c; border:2px solid #fffdf8; border-radius:999px; font-size:9px; font-weight:900; line-height:1; }
.p8-tdv-cart-count[hidden] { display:none !important; }
.p8-tdv-cart-checkout { display:none; }
@media (max-width:767px) {
  /* The bottom navigation opens the WPCafe drawer; hide its floating tab on phones. */
  .wpc_cart_block > .wpc_cart_icon { display:none !important; }

  .p8-tdv-mobile-nav.has-cart-items { grid-template-columns:repeat(6,minmax(0,1fr)) !important; }
  .p8-tdv-mobile-nav.has-cart-items a[data-nav-key="checkout"] {
    display:grid !important; min-height:52px !important; margin:0 1px !important; padding:4px 2px !important;
    align-content:center !important; justify-items:center !important; gap:3px !important; color:#fff !important;
    background:linear-gradient(145deg,#ff8b12,#e95e00) !important; border-radius:15px !important;
    box-shadow:0 5px 13px rgba(224,91,0,.22) !important; font-size:9px !important; font-weight:900 !important;
  }
  .p8-tdv-mobile-nav.has-cart-items a[data-nav-key="checkout"] .p8-tdv-mobile-nav__icon { width:19px !important; height:19px !important; }
  .p8-tdv-mobile-nav.has-cart-items a[data-nav-key="checkout"] .p8-tdv-mobile-nav__icon svg { stroke-width:2.2; }
  .wpc_cart_block .wpc-menu-mini-cart {
    max-height:100dvh !important; overflow-y:auto !important; overscroll-behavior:contain !important;
    padding-bottom:calc(98px + env(safe-area-inset-bottom)) !important;
  }
  .wpc_cart_block .p8-tdv-cart-checkout {
    position:relative !important; z-index:18 !important; bottom:auto !important;
    display:flex !important; width:100% !important; min-height:52px !important; margin:14px 0 0 !important;
    padding:12px 16px !important; align-items:center !important; justify-content:center !important; gap:9px !important;
    color:#fff !important; background:linear-gradient(110deg,#159447,#08743a) !important;
    border:0 !important; border-radius:15px !important; box-shadow:0 8px 18px rgba(229,91,0,.25) !important;
    font-size:14px !important; font-weight:900 !important; text-decoration:none !important;
  }
  .wpc_cart_block .wpc-woocommerce-mini-cart__buttons a.checkout,
  .wpc_cart_block .woocommerce-mini-cart__buttons a.checkout,
  .wpc_cart_block a.checkout.wc-forward { display:none !important; }
  .wpc_cart_block .p8-tdv-cart-checkout > span { display:grid; width:22px; height:22px; place-items:center; font-size:20px; line-height:1; }
  .wpc_cart_block .p8-tdv-cart-checkout:hover { color:#fff !important; filter:brightness(.97); }
}

/* Keep WPCafe's own drawer geometry; constrain scrolling to its item list. */
@media (max-width:767px) {
  /* Do not force position, dimensions, flex, or overflow on .wpc_cart_block:
     WPCafe controls that outer modal and iOS Safari needs its native geometry. */
  .wpc_cart_block .wpc-menu-mini-cart {
    display:flex !important; flex-direction:column !important; width:100% !important;
    height:100% !important; min-height:0 !important; max-height:100dvh !important; overflow:hidden !important;
    padding-top:54px !important; padding-bottom:env(safe-area-inset-bottom) !important;
  }
  .wpc_cart_block .wpc-menu-mini-cart > .widget_shopping_cart_content {
    display:flex !important; flex:1 1 auto !important; flex-direction:column !important;
    width:100% !important; height:auto !important; min-height:0 !important; overflow:hidden !important;
  }
  .wpc_cart_block .wpc-menu-mini-cart > .widget_shopping_cart_content > .cart-wrapper {
    display:flex !important; flex:1 1 auto !important; flex-direction:column !important;
    width:100% !important; height:auto !important; min-height:0 !important; overflow:hidden !important;
  }
  /* WPCafe uses wpc-woocommerce-mini-cart (not WooCommerce's .woocommerce-mini-cart). */
  .wpc_cart_block ul.wpc-woocommerce-mini-cart,
  .wpc_cart_block ul.woocommerce-mini-cart,
  .wpc_cart_block .woocommerce-mini-cart {
    flex:1 1 auto !important; min-height:0 !important; max-height:none !important; margin:0 !important;
    overflow-x:hidden !important; overflow-y:auto !important; overscroll-behavior:contain !important;
    -webkit-overflow-scrolling:touch; scrollbar-width:thin;
  }
  .wpc_cart_block .woocommerce-mini-cart-item,
  .wpc_cart_block li.mini_cart_item { flex:0 0 auto !important; }
  .wpc_cart_block .wpc-subtotal-wrap {
    position:relative !important; inset:auto !important; z-index:5 !important; flex:0 0 auto !important;
    width:100% !important; max-height:42dvh !important; margin-top:0 !important; overflow-x:hidden !important;
    overflow-y:auto !important; padding-bottom:calc(12px + env(safe-area-inset-bottom)) !important;
    background:#fff !important; box-shadow:0 -10px 24px rgba(8,43,79,.07) !important;
  }
  .wpc_cart_block .p8-tdv-cart-checkout { margin-top:12px !important; }
  .wpc_cart_block .wpc-menu-mini-cart > .p8-tdv-cart-checkout {
    box-sizing:border-box !important; flex:0 0 auto !important; width:100% !important;
    margin:10px 0 0 !important; align-self:stretch !important;
  }
}

.wpc_cart_block .p8-tdv-cart-item-added {
  animation:p8TdvCartItemAdded 1.8s ease-out both !important;
}
@keyframes p8TdvCartItemAdded {
  0%,35% { background-color:#fff0c2 !important; border-color:#ff9a18 !important; box-shadow:0 0 0 3px rgba(255,154,24,.24),0 10px 25px rgba(255,121,0,.13) !important; transform:translateX(4px); }
  100% { background-color:initial; border-color:initial; box-shadow:initial; transform:translateX(0); }
}
@media (prefers-reduced-motion:reduce) {
  .wpc_cart_block .p8-tdv-cart-item-added { animation-duration:.01ms !important; }
}

/* Desktop hero: give the ordering entry point the same visual weight as the menu. */
@media (min-width:768px) {
  .tdv-auto-hero { max-width:1420px !important; margin:30px auto 24px !important; padding:0 28px !important; }
  .tdv-auto-hero .tdv-conversion-header {
    display:grid !important; grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr) !important;
    align-items:center !important; gap:38px !important; padding:38px 42px !important;
    color:#102d4b !important; background:linear-gradient(120deg,#fff 0%,#fffaf3 100%) !important;
    border:1px solid #f0ddc8 !important; border-radius:28px !important;
    box-shadow:0 18px 48px rgba(54,39,24,.11) !important;
  }
  .tdv-auto-hero .tdv-header-title { max-width:720px !important; margin:12px 0 !important; color:#082b4f !important; font-size:clamp(38px,4.2vw,64px) !important; line-height:1.02 !important; }
  .tdv-auto-hero .tdv-header-sub { max-width:580px !important; margin:0 !important; color:#526274 !important; font-size:17px !important; line-height:1.55 !important; }
  .tdv-auto-hero .tdv-header-actions { justify-content:flex-start !important; gap:13px 20px !important; }
  .tdv-auto-hero .tdv-header-actions .tdv-order-pickup { min-height:64px !important; color:#fff !important; background:linear-gradient(110deg,#ff8500,#ed6500) !important; font-size:17px !important; font-weight:900 !important; text-decoration:none !important; }
  .tdv-auto-hero .tdv-header-actions .tdv-fox-delivery,
  .tdv-auto-hero .tdv-header-actions .tdv-doordash-link { display:inline-flex !important; min-height:44px !important; padding:11px 16px !important; align-items:center !important; justify-content:center !important; color:#102d4b !important; background:#fff !important; border:1px solid #ead9c8 !important; border-radius:12px !important; font-weight:800 !important; text-decoration:none !important; }
  .tdv-auto-hero .tdv-header-actions .tdv-header-hours { width:auto !important; padding:12px 15px !important; color:#526274 !important; background:#fff4e3 !important; border-radius:12px !important; text-align:left !important; }
}

@media (max-width:767px) {
  .p8-tdv-rewards-home {
    position:fixed !important; z-index:99980 !important; top:auto !important; right:12px !important;
    bottom:calc(88px + env(safe-area-inset-bottom)) !important; left:auto !important;
    width:min(225px,calc(100vw - 24px)) !important; max-width:225px !important; margin:0 !important;
    padding:8px 9px !important; border-radius:14px !important; box-shadow:0 9px 22px rgba(8,43,79,.16) !important;
  }
  body.p8-tdv-cart-has-items .p8-tdv-rewards-home { display:none !important; }
}

/* TDV storefront refresh: confident hero, clear ordering CTA, polished links. */
.tdv-auto-hero {
  max-width:1480px !important;
  margin:clamp(18px,3vw,42px) auto 28px !important;
  padding:0 clamp(12px,2.4vw,30px) !important;
}
.tdv-auto-hero .tdv-conversion-header {
  position:relative !important;
  overflow:hidden !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(340px,.88fr) !important;
  gap:clamp(24px,4vw,64px) !important;
  align-items:center !important;
  padding:clamp(28px,4vw,58px) !important;
  color:#102d4b !important;
  background:radial-gradient(ellipse at 95% 5%,rgba(255,194,66,.18),transparent 34%),linear-gradient(125deg,#fff 0%,#fff9ef 100%) !important;
  border:1px solid #f0ddc8 !important;
  border-radius:30px !important;
  box-shadow:0 22px 58px rgba(42,34,24,.12) !important;
}
.tdv-auto-hero .tdv-header-copy { position:relative; z-index:1; }
.tdv-auto-hero .tdv-header-eyebrow {
  display:inline-flex !important;
  margin:0 0 12px !important;
  padding:8px 12px !important;
  color:#94600a !important;
  background:#fff0d0 !important;
  border:1px solid #f2d79e !important;
  border-radius:999px !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.12em !important;
  line-height:1.2 !important;
  text-transform:uppercase !important;
}
.tdv-auto-hero .tdv-header-title {
  max-width:760px !important;
  margin:8px 0 16px !important;
  color:#082b4f !important;
  font-size:clamp(38px,5vw,72px) !important;
  font-weight:950 !important;
  letter-spacing:-.045em !important;
  line-height:.98 !important;
  text-wrap:balance !important;
}
.tdv-auto-hero .tdv-header-sub {
  max-width:610px !important;
  margin:0 !important;
  color:#526274 !important;
  font-size:clamp(16px,1.45vw,19px) !important;
  line-height:1.65 !important;
}
.tdv-auto-hero .tdv-header-actions {
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:11px !important;
}
.tdv-auto-hero .tdv-header-actions .tdv-order-pickup {
  position:relative !important;
  display:flex !important;
  flex:1 0 100% !important;
  width:100% !important;
  min-height:64px !important;
  margin:0 0 5px !important;
  padding:16px 22px !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  color:#fff !important;
  background:linear-gradient(110deg,#ff8500,#ed6500) !important;
  border:0 !important;
  border-radius:17px !important;
  box-shadow:0 12px 24px rgba(237,101,0,.22) !important;
  font-size:18px !important;
  font-weight:900 !important;
  letter-spacing:.01em !important;
  text-decoration:none !important;
  transition:transform .18s ease,filter .18s ease,box-shadow .18s ease !important;
}
.tdv-auto-hero .tdv-header-actions .tdv-order-pickup::before { content:"\01F32E"; font-size:21px; }
.tdv-auto-hero .tdv-header-actions .tdv-order-pickup::after { content:"\2192"; position:absolute; right:20px; font-size:22px; }
.tdv-auto-hero .tdv-header-actions .tdv-order-pickup:hover { color:#fff !important; filter:brightness(1.04) !important; transform:translateY(-2px) !important; box-shadow:0 16px 28px rgba(237,101,0,.26) !important; }
.tdv-auto-hero .tdv-header-actions .tdv-fox-delivery,
.tdv-auto-hero .tdv-header-actions .tdv-doordash-link,
.tdv-auto-hero .tdv-header-actions .tdv-gift-main,
.tdv-auto-hero .tdv-header-actions .tdv-action-soft {
  display:inline-flex !important;
  min-height:42px !important;
  margin:0 !important;
  padding:10px 14px !important;
  align-items:center !important;
  justify-content:center !important;
  gap:7px !important;
  color:#173b5f !important;
  background:rgba(255,255,255,.88) !important;
  border:1px solid #ead9c8 !important;
  border-radius:13px !important;
  box-shadow:0 4px 12px rgba(8,43,79,.045) !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  text-decoration:none !important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease !important;
}
.tdv-auto-hero .tdv-header-actions .tdv-gift-main { color:#8d4b00 !important; background:#fff3dd !important; border-color:#f3d39b !important; }
.tdv-auto-hero .tdv-header-actions .tdv-fox-delivery { color:#fff !important; background:#102d4b !important; border-color:#102d4b !important; }
.tdv-auto-hero .tdv-header-actions .tdv-action-soft:hover,
.tdv-auto-hero .tdv-header-actions .tdv-gift-main:hover,
.tdv-auto-hero .tdv-header-actions .tdv-fox-delivery:hover,
.tdv-auto-hero .tdv-header-actions .tdv-doordash-link:hover { transform:translateY(-2px) !important; border-color:#ff9b35 !important; box-shadow:0 8px 17px rgba(8,43,79,.1) !important; text-decoration:none !important; }
.tdv-auto-hero .tdv-header-actions .tdv-header-hours {
  display:inline-flex !important;
  min-height:42px !important;
  margin:0 !important;
  padding:10px 14px !important;
  align-items:center !important;
  color:#526274 !important;
  background:#f3f7f4 !important;
  border:1px solid #dce9e1 !important;
  border-radius:13px !important;
  font-size:12px !important;
  font-weight:750 !important;
}

@media (max-width:767px) {
  .tdv-auto-hero { margin:14px auto 22px !important; padding:0 12px !important; }
  .tdv-auto-hero .tdv-conversion-header {
    grid-template-columns:minmax(0,1fr) !important;
    gap:20px !important;
    padding:24px 19px !important;
    border-radius:24px !important;
  }
  .tdv-auto-hero .tdv-header-eyebrow { margin-bottom:10px !important; font-size:9px !important; letter-spacing:.1em !important; }
  .tdv-auto-hero .tdv-header-title { margin:5px 0 12px !important; font-size:clamp(36px,10vw,51px) !important; line-height:1.02 !important; }
  .tdv-auto-hero .tdv-header-sub { font-size:15px !important; line-height:1.58 !important; }
  .tdv-auto-hero .tdv-header-actions { gap:8px !important; }
  .tdv-auto-hero .tdv-header-actions .tdv-order-pickup { min-height:56px !important; font-size:16px !important; }
  .tdv-auto-hero .tdv-header-actions .tdv-order-pickup::after { right:15px; }
  .tdv-auto-hero .tdv-header-actions .tdv-fox-delivery,
  .tdv-auto-hero .tdv-header-actions .tdv-doordash-link { flex:1 1 calc(50% - 8px) !important; min-height:46px !important; }
  .tdv-auto-hero .tdv-header-actions .tdv-gift-main,
  .tdv-auto-hero .tdv-header-actions .tdv-action-soft { flex:1 1 auto !important; min-height:40px !important; padding:9px 11px !important; font-size:12px !important; }
  .tdv-auto-hero .tdv-header-actions .tdv-header-hours { flex:1 0 100% !important; justify-content:center !important; }
}

/* Branded external-order links and a compact Facebook mark. */
.tdv-auto-hero .tdv-header-actions .tdv-partner-link {
  display:inline-flex !important; align-items:center !important; justify-content:center !important;
  gap:9px !important; min-width:0 !important; font-size:13px !important; line-height:1.1 !important;
}
.tdv-auto-hero .tdv-header-actions .tdv-partner-link::after { content:none !important; display:none !important; }
.tdv-auto-hero .tdv-header-actions .tdv-partner-logo {
  display:block !important; flex:0 0 auto !important; width:auto !important; max-width:94px !important;
  height:24px !important; max-height:24px !important; object-fit:contain !important; border-radius:3px !important;
}
.tdv-auto-hero .tdv-header-actions .tdv-partner-logo--fox { max-width:80px !important; }
.tdv-auto-hero .tdv-header-actions .tdv-partner-logo--doordash { max-width:94px !important; }
.tdv-auto-hero .tdv-header-actions .tdv-fb-icon { min-width:42px !important; min-height:42px !important; padding:7px !important; }
.tdv-auto-hero .tdv-header-actions .tdv-facebook-logo { display:block !important; width:25px !important; height:25px !important; }
@media (max-width:767px) {
  .tdv-auto-hero .tdv-header-actions .tdv-partner-link {
    flex:1 1 calc(50% - 8px) !important; width:auto !important; min-height:46px !important;
    padding:8px 6px !important; font-size:12px !important;
  }
  .tdv-auto-hero .tdv-header-actions .tdv-fox-delivery::after { content:none !important; display:none !important; }
  .tdv-auto-hero .tdv-header-actions .tdv-partner-logo { height:22px !important; max-height:22px !important; }
  .tdv-auto-hero .tdv-header-actions .tdv-partner-logo--fox { max-width:72px !important; }
  .tdv-auto-hero .tdv-header-actions .tdv-fb-icon { flex:0 0 42px !important; }
}

/* TDV app category controls: larger, easier to tap, and visually consistent. */
.tdv-menu-sidebar .tdv-sidebar-cats {
  gap: 8px !important;
}
.tdv-menu-sidebar .tdv-cat-btn {
  display: flex !important;
  width: 100% !important;
  min-height: 54px !important;
  align-items: center !important;
  padding: 14px 16px !important;
  color: #123454 !important;
  background: #fff !important;
  border: 1px solid #ead9c5 !important;
  border-radius: 14px !important;
  font-size: 17px !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  transition: background-color .18s ease, color .18s ease, border-color .18s ease, transform .18s ease !important;
}
.tdv-menu-sidebar .tdv-cat-btn:hover {
  transform: translateX(2px);
  border-color: #ff7900 !important;
}
.tdv-menu-sidebar .tdv-cat-btn.active,
.tdv-mobile-cats .tdv-cat-btn.active {
  color: #fff !important;
  background: #ff7900 !important;
  border-color: #ff7900 !important;
  box-shadow: 0 7px 16px rgba(255,121,0,.2) !important;
}
.tdv-mobile-cats { gap: 10px !important; }
.tdv-mobile-cats .tdv-cat-btn {
  min-height: 60px !important;
  padding: 13px 12px !important;
  color: #123454 !important;
  background: #fff !important;
  border: 1px solid #ead9c5 !important;
  border-radius: 14px !important;
  font-size: 16px !important;
  font-weight: 800 !important;
  line-height: 1.2 !important;
  white-space: normal !important;
}
@media (max-width:767px) {
  .tdv-mobile-cats { gap: 11px !important; }
  .tdv-mobile-cats .tdv-cat-btn {
    min-height: 62px !important;
    padding: 13px 10px !important;
    font-size: 15px !important;
  }
}
