/* Ajustes móviles extra: el grueso responsive está en style.css */
@media(max-width:560px){body{font-size:16px}.quick-card span{font-size:16px}.recipe-card h3{font-size:19px}.content-card p{font-size:16px}.hero h1{font-size:42px}}





/* v83: logo HTML centrado y doble de grande en móvil */
@media (max-width: 768px){
  .site-header .nav{
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
  }
  .site-header .brand{
    width:100% !important;
    min-height:150px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    margin:0 auto 8px auto !important;
  }
  .site-header .brand-logo{
    height:140px !important;
    max-height:140px !important;
    width:auto !important;
    max-width:96vw !important;
    object-fit:contain !important;
    display:block !important;
    margin:0 auto !important;
  }
}
@media (max-width: 420px){
  .site-header .brand{min-height:132px !important;}
  .site-header .brand-logo{
    height:124px !important;
    max-height:124px !important;
    max-width:96vw !important;
  }
}


/* v89: corrección integral de versión móvil */
html,
body{
  width:100%;
  max-width:100%;
  overflow-x:hidden !important;
}

*,
*::before,
*::after{
  box-sizing:border-box;
}

img,
video,
iframe,
svg{
  max-width:100%;
  height:auto;
}

.site-header,
.nav,
.hero,
.container,
.layout,
.content-card,
.side-card,
.recipe-figure,
.quick,
.footer,
.footer-inner,
.cookbar{
  max-width:100vw;
}

@media (max-width: 768px){
  body{
    min-width:0 !important;
  }

  .site-header{
    width:100%;
    overflow:hidden;
  }

  .site-header .nav{
    width:100% !important;
    max-width:100% !important;
    padding:10px 14px !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    gap:10px !important;
  }

  .site-header .brand{
    width:100% !important;
    max-width:100% !important;
    min-height:120px !important;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    margin:0 auto !important;
    padding:0 !important;
  }

  .site-header .brand-logo{
    display:block !important;
    width:auto !important;
    height:112px !important;
    max-height:112px !important;
    max-width:92vw !important;
    object-fit:contain !important;
    margin:0 auto !important;
  }

  .menu{
    width:100% !important;
    max-width:100% !important;
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    align-items:center !important;
    gap:8px !important;
    overflow:visible !important;
  }

  .menu a,
  .nav a,
  .btn,
  .chip,
  .tag,
  .badge,
  .kicker{
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    line-height:1.25 !important;
  }

  .menu a{
    max-width:100%;
    padding:8px 10px !important;
    font-size:.92rem !important;
    text-align:center !important;
  }

  .hero{
    width:100% !important;
    min-height:auto !important;
    padding:44px 16px 34px !important;
    overflow:hidden !important;
  }

  .hero-content{
    width:100% !important;
    max-width:100% !important;
    padding:0 !important;
  }

  .hero h1{
    font-size:clamp(2rem, 10vw, 3.05rem) !important;
    line-height:1.03 !important;
    overflow-wrap:anywhere !important;
    word-break:normal !important;
    margin-bottom:14px !important;
  }

  .lead,
  .hero p,
  .content-card p,
  .content-card li{
    overflow-wrap:anywhere !important;
  }

  .kicker{
    display:inline-flex !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    justify-content:center !important;
    max-width:100% !important;
    position:static !important;
    margin:0 0 12px 0 !important;
    padding:7px 10px !important;
    line-height:1.25 !important;
    transform:none !important;
  }

  .recipe-figure{
    width:calc(100% - 24px) !important;
    margin:18px auto !important;
    overflow:hidden !important;
    border-radius:18px !important;
  }

  .recipe-figure img{
    width:100% !important;
    max-width:100% !important;
    display:block !important;
  }

  .quick{
    width:calc(100% - 24px) !important;
    max-width:100% !important;
    margin:18px auto !important;
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    overflow:hidden !important;
  }

  .quick-card{
    min-width:0 !important;
    width:100% !important;
    padding:13px 10px !important;
    overflow:hidden !important;
  }

  .quick-card b,
  .quick-card span{
    display:block !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    line-height:1.2 !important;
  }

  .container,
  .layout{
    width:100% !important;
    max-width:100% !important;
    display:block !important;
    padding-left:12px !important;
    padding-right:12px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    overflow:hidden !important;
  }

  .content-card,
  .side-card{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding:20px 15px !important;
    overflow:hidden !important;
  }

  .content-card h2{
    font-size:clamp(1.38rem, 7vw, 2rem) !important;
    line-height:1.12 !important;
    overflow-wrap:anywhere !important;
    scroll-margin-top:16px;
  }

  .content-card h3{
    font-size:1.15rem !important;
    line-height:1.18 !important;
    overflow-wrap:anywhere !important;
  }

  .ingredients{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .ingredient{
    width:100% !important;
    min-width:0 !important;
    display:block !important;
    padding:14px !important;
    overflow:hidden !important;
  }

  .ingredient strong,
  .ingredient span{
    display:block !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    line-height:1.25 !important;
  }

  .steps{
    width:100% !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .step{
    width:100% !important;
    min-width:0 !important;
    display:block !important;
    padding:15px !important;
    overflow:hidden !important;
  }

  .step::before{
    position:static !important;
    display:inline-flex !important;
    margin:0 0 8px 0 !important;
    transform:none !important;
  }

  .step h3,
  .step p{
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }

  .faq details,
  details{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
  }

  summary{
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    line-height:1.25 !important;
  }

  .recipe-detail-table,
  table{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .recipe-detail-table thead,
  .recipe-detail-table tbody,
  .recipe-detail-table tr,
  .recipe-detail-table th,
  .recipe-detail-table td{
    max-width:100%;
  }

  .recipe-detail-table th,
  .recipe-detail-table td,
  table th,
  table td{
    min-width:160px;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    line-height:1.25 !important;
  }

  .side-card.toc,
  .toc{
    position:static !important;
    top:auto !important;
    margin-top:18px !important;
    display:block !important;
  }

  .toc a{
    display:block !important;
    width:100% !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    padding:9px 0 !important;
  }

  .cookbar{
    left:10px !important;
    right:10px !important;
    bottom:10px !important;
    width:auto !important;
    max-width:calc(100vw - 20px) !important;
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    gap:8px !important;
    padding:8px !important;
    overflow:hidden !important;
  }

  .cookbar button{
    flex:1 1 120px !important;
    min-width:0 !important;
    white-space:normal !important;
  }

  .footer,
  .footer-inner{
    width:100% !important;
    max-width:100% !important;
    display:block !important;
    overflow:hidden !important;
    padding-left:14px !important;
    padding-right:14px !important;
  }

  .footer a,
  .footer p,
  .legal-links{
    overflow-wrap:anywhere !important;
  }
}

@media (max-width: 420px){
  .site-header .brand{
    min-height:106px !important;
  }
  .site-header .brand-logo{
    height:98px !important;
    max-height:98px !important;
    max-width:94vw !important;
  }
  .quick{
    grid-template-columns:1fr !important;
  }
  .content-card,
  .side-card{
    padding:18px 13px !important;
  }
}



/* Mantener solo el enlace de cookies del footer visible */
footer .footer-cookie-link,
footer .cookie-footer-link,
.site-footer .footer-cookie-link,
.site-footer .cookie-footer-link {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: .92 !important;
  pointer-events: auto !important;
  width: auto !important;
  height: auto !important;
  position: static !important;
  left: auto !important;
}

/* v118: corrección impresión/PDF para que no se corte */
@media print {
  @page {
    size: A4 portrait;
    margin: 12mm 10mm 14mm 10mm;
  }

  html,
  body {
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    background: #fff !important;
    color: #111 !important;
    print-color-adjust: exact;
    -webkit-print-color-adjust: exact;
  }

  *,
  *::before,
  *::after {
    box-sizing: border-box !important;
    overflow: visible !important;
    max-width: 100% !important;
  }

  .site-header,
  .site-footer,
  footer,
  .cookbar,
  .cookie-banner,
  .cookies-banner,
  .cookie-panel,
  .cookies-panel,
  .cookie-modal,
  .cookies-modal,
  .cookie-consent,
  .adsbygoogle,
  .ad,
  .ad-slot,
  .nav,
  .menu,
  .breadcrumbs,
  .share,
  .print-button,
  .btn-print,
  button,
  iframe {
    display: none !important;
  }

  main,
  article,
  section,
  .container,
  .content-card,
  .recipe-card,
  .recipe-content,
  .recipe-layout,
  .layout,
  .entry,
  .post,
  .print-area,
  .print-version,
  .recipe-print,
  .recipe-printable {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    min-width: 0 !important;
    height: auto !important;
    max-height: none !important;
    min-height: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: visible !important;
    float: none !important;
    position: static !important;
    transform: none !important;
    columns: auto !important;
    column-count: auto !important;
  }

  .hero,
  .recipe-hero,
  .page-hero {
    min-height: 0 !important;
    height: auto !important;
    padding: 0 0 8mm 0 !important;
    background: none !important;
    color: #111 !important;
    overflow: visible !important;
  }

  img,
  picture,
  figure,
  .recipe-figure,
  .hero img,
  .recipe-hero img {
    max-width: 100% !important;
    height: auto !important;
    max-height: 95mm !important;
    object-fit: contain !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  table,
  pre,
  blockquote,
  .ingredient,
  .step,
  .tip,
  .note,
  .recipe-detail-table,
  .quick,
  .quick-card,
  details {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  tr,
  td,
  th {
    page-break-inside: avoid !important;
    break-inside: avoid !important;
  }

  h1,
  h2,
  h3,
  h4 {
    page-break-after: avoid !important;
    break-after: avoid !important;
    page-break-inside: avoid !important;
    break-inside: avoid !important;
    color: #111 !important;
  }

  p,
  li {
    orphans: 3;
    widows: 3;
  }

  a {
    color: #111 !important;
    text-decoration: none !important;
  }

  .ingredients,
  .steps,
  .mega-recipe-guide,
  .recipe-detail-table {
    width: 100% !important;
  }

  .recipe-detail-table {
    border-collapse: collapse !important;
  }

  .recipe-detail-table th,
  .recipe-detail-table td,
  table th,
  table td {
    border: 1px solid #999 !important;
    padding: 4px 5px !important;
    color: #111 !important;
    background: #fff !important;
  }
}



/* v119: ocultar las 3 recetas destacadas en móvil */
@media (max-width: 768px) {
  .mobile-hide-featured-recipes {
    display: none !important;
  }
}

/* v142: mantener centrada la numeracion de los pasos en movil */
.step::before,
.step:before {
  width:44px !important;
  height:44px !important;
  min-width:44px !important;
  min-height:44px !important;
  padding:0 !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  line-height:1 !important;
  box-sizing:border-box !important;
}

/* v215: correccion definitiva del menu hamburguesa cerrado */
.site-header .nav{
  position:relative !important;
  display:flex !important;
  flex-wrap:nowrap !important;
  align-items:center !important;
  justify-content:space-between !important;
  min-height:78px !important;
  padding:10px 76px 10px 18px !important;
}
.site-header .brand{
  width:auto !important;
  max-width:calc(100% - 58px) !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  justify-content:flex-start !important;
  flex:0 1 auto !important;
}
.site-header .brand-logo{
  width:auto !important;
  height:58px !important;
  max-height:58px !important;
  max-width:min(340px,calc(100vw - 110px)) !important;
  margin:0 !important;
  object-fit:contain !important;
}
.site-header .nav > .menu{
  display:none !important;
}
.site-header .nav > .menu.global-menu.is-open{
  display:flex !important;
}
.mobile-menu-toggle{
  display:flex !important;
  position:absolute !important;
  top:50% !important;
  right:16px !important;
  transform:translateY(-50%) !important;
}
.mobile-menu-toggle[aria-expanded="true"]{
  position:fixed !important;
  top:18px !important;
  right:18px !important;
  transform:none !important;
}
@media(max-width:560px){
  .site-header .nav{min-height:70px !important;padding:8px 66px 8px 12px !important}
  .site-header .brand-logo{height:50px !important;max-height:50px !important;max-width:calc(100vw - 94px) !important}
  .mobile-menu-toggle{right:10px !important;width:44px !important;height:44px !important}
  .mobile-menu-toggle[aria-expanded="true"]{top:12px !important;right:12px !important}
}
