/*
Theme Name: Sixto Theme
Theme URI: https://sixtocarreon.com
Author: Sixto Carreon
Author URI: https://sixtocarreon.com
Description: Editorial block theme foundation for SixtoCarreon.com and the Phoenix publishing platform.
Version: 0.5.0
Requires at least: 6.6
Requires PHP: 8.0
Text Domain: sixto-theme
Tags: block-patterns, full-site-editing, food-and-drink, blog, accessibility-ready
*/

/* Foundation only. Primary design tokens live in theme.json. */

html {
  scroll-behavior: smooth;
}

body {
  text-rendering: optimizeLegibility;
  -webkit-font-smoothing: antialiased;
}

a {
  text-underline-offset: 0.18em;
  text-decoration-thickness: 0.08em;
}

:focus-visible {
  outline: 3px solid var(--wp--preset--color--emerald);
  outline-offset: 3px;
}

img {
  max-width: 100%;
  height: auto;
}

.sixto-card {
  border: 1px solid var(--wp--preset--color--sand);
  border-radius: var(--wp--custom--radius--card);
  overflow: hidden;
  background: var(--wp--preset--color--paper);
}

.sixto-card__body {
  padding: var(--wp--preset--spacing--40);
}

.sixto-eyebrow {
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
}

.sixto-site-header {
  position: relative;
  z-index: 20;
  border-bottom: 1px solid var(--wp--preset--color--sand);
  background: color-mix(in srgb, var(--wp--preset--color--paper) 96%, transparent);
}

.sixto-site-footer {
  border-top: 1px solid var(--wp--preset--color--sand);
}

.sixto-content-shell {
  width: min(100% - 2rem, var(--wp--style--global--wide-size));
  margin-inline: auto;
}

.sixto-reading-shell {
  width: min(100% - 2rem, var(--wp--style--global--content-size));
  margin-inline: auto;
}

.wp-block-post-featured-image img {
  border-radius: var(--wp--custom--radius--media);
}

.wp-block-post-template {
  gap: var(--wp--preset--spacing--50);
}

@media (max-width: 781px) {
  .sixto-desktop-only {
    display: none !important;
  }
}

@media (min-width: 782px) {
  .sixto-mobile-only {
    display: none !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  html {
    scroll-behavior: auto;
  }

  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}


/* ----------------------------------------------------------
   Sixto Theme 0.2 — Core Templates + legacy design-token bridge
   ---------------------------------------------------------- */

.sixto-shell {
  width: min(100% - 2rem, var(--wp--style--global--wide-size));
  margin-inline: auto;
}

.sixto-section {
  padding-block: var(--wp--preset--spacing--70);
}

.sixto-section--soft {
  background: var(--wp--preset--color--warm-cream);
}

.sixto-section--dark {
  background: var(--wp--preset--color--deep-emerald);
  color: var(--wp--preset--color--clean-ivory);
}

.sixto-section--dark a {
  color: inherit;
}

.sixto-grid-3 {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: var(--wp--preset--spacing--50);
}

.sixto-grid-4 {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: var(--wp--preset--spacing--40);
}

.sixto-link-card {
  display: block;
  height: 100%;
  padding: var(--wp--preset--spacing--50);
  border: 1px solid var(--wp--preset--color--sand);
  border-radius: var(--wp--custom--radius--card);
  background: var(--wp--preset--color--clean-ivory);
  color: var(--wp--preset--color--ink);
  text-decoration: none;
}

.sixto-link-card:hover {
  border-color: var(--wp--preset--color--burnt-orange);
  transform: translateY(-1px);
}

.sixto-hero {
  padding-block: clamp(3.5rem, 7vw, 7rem);
}

.sixto-hero__title {
  max-width: 13ch;
}

.sixto-kicker {
  margin: 0 0 0.75rem;
  color: var(--wp--preset--color--deep-terracotta);
  font-size: var(--wp--preset--font-size--small);
  font-weight: 800;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.sixto-knowledge-index .wp-block-post-content > .wp-block-group:first-child {
  margin-top: 0;
}

/* Harmonize Phoenix recipe output without taking ownership of recipe logic. */
.srfm-recipe {
  --srfm-theme-paper: var(--wp--preset--color--clean-ivory);
  --srfm-theme-cream: var(--wp--preset--color--warm-cream);
  --srfm-theme-ink: var(--wp--preset--color--ink);
  --srfm-theme-accent: var(--wp--preset--color--burnt-orange);
  --srfm-theme-emerald: var(--wp--preset--color--deep-emerald);
  color: var(--srfm-theme-ink);
}

.srfm-recipe .srfm-hero {
  gap: var(--wp--preset--spacing--60);
}

.srfm-recipe .srfm-card,
.srfm-recipe .srfm-extra-sections > section {
  border-radius: var(--wp--custom--radius--card);
}

.srfm-recipe .srfm-btn {
  border-radius: 999px;
}

.single-post .wp-block-post-title {
  max-width: 18ch;
}

/* Existing editorial pages use these theme preset class names. */
.has-clean-ivory-background-color { background-color: var(--wp--preset--color--clean-ivory) !important; }
.has-clean-ivory-color { color: var(--wp--preset--color--clean-ivory) !important; }
.has-warm-cream-background-color { background-color: var(--wp--preset--color--warm-cream) !important; }
.has-soft-apricot-border-color { border-color: var(--wp--preset--color--soft-apricot) !important; }
.has-deep-terracotta-color { color: var(--wp--preset--color--deep-terracotta) !important; }
.has-burnt-orange-background-color { background-color: var(--wp--preset--color--burnt-orange) !important; }

@media (max-width: 960px) {
  .sixto-grid-4 {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 781px) {
  .sixto-grid-3,
  .sixto-grid-4 {
    grid-template-columns: 1fr;
  }

  .sixto-section {
    padding-block: var(--wp--preset--spacing--60);
  }
}

/* 0.3 Navigation + Secondary Templates */
.sixto-nav-shell{min-height:74px}.sixto-brand-lockup{display:flex;align-items:center;gap:.75rem;min-width:max-content}.sixto-brand-lockup .wp-block-site-title{margin:0;font-family:var(--wp--preset--font-family--quiet-luxury);font-size:clamp(1rem,2.3vw,1.25rem);font-weight:800;letter-spacing:.08em;text-transform:uppercase}.sixto-primary-nav .wp-block-navigation-item__content{padding-block:.45rem;text-decoration:none}.sixto-primary-nav .wp-block-navigation-item__content:hover,.sixto-primary-nav .current-menu-item>.wp-block-navigation-item__content{color:var(--wp--preset--color--burnt-orange)}.sixto-primary-nav .wp-block-navigation__submenu-container{min-width:220px;padding:.5rem;border:1px solid var(--wp--preset--color--sand);border-radius:16px;background:var(--wp--preset--color--clean-ivory);box-shadow:0 12px 32px rgba(48,37,31,.10)}.sixto-primary-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content{padding:.65rem .8rem;border-radius:10px}.sixto-page-hero{padding-block:clamp(3rem,6vw,6rem);background:var(--wp--preset--color--warm-cream)}.sixto-page-hero .wp-block-post-title{max-width:15ch}.sixto-reading-intro{max-width:62ch;font-size:1.1rem;color:var(--wp--preset--color--warm-muted)}.sixto-secondary-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--wp--preset--spacing--60)}.sixto-journal-card,.sixto-book-card,.sixto-place-card{height:100%;overflow:hidden;border:1px solid var(--wp--preset--color--sand);border-radius:18px;background:var(--wp--preset--color--clean-ivory)}.sixto-journal-card__body,.sixto-book-card__body,.sixto-place-card__body{padding:var(--wp--preset--spacing--40)}.sixto-author-band{border-radius:28px;background:var(--wp--preset--color--deep-emerald);color:var(--wp--preset--color--clean-ivory);padding:clamp(2rem,5vw,4rem)}.sixto-author-band a{color:var(--wp--preset--color--soft-apricot)}.sixto-utility-links{font-size:.9rem}.sixto-footer-grid{align-items:start}.sixto-footer-heading{margin-top:0;font-size:1rem;font-family:var(--wp--preset--font-family--system);font-weight:800;letter-spacing:.04em;text-transform:uppercase}.sixto-footer-links a{text-decoration:none}.sixto-footer-links a:hover{text-decoration:underline}.sixto-search-button .wp-block-search__button{border-radius:999px}@media(max-width:1080px){.sixto-primary-nav{font-size:.9rem}}@media(max-width:781px){.sixto-nav-shell{min-height:64px}.sixto-site-header{position:sticky;top:0;backdrop-filter:blur(14px)}.sixto-primary-nav .wp-block-navigation__responsive-container.is-menu-open{padding:1.25rem;background:var(--wp--preset--color--clean-ivory)}.sixto-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container{gap:.25rem;align-items:stretch}.sixto-primary-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content{width:100%;padding:.75rem 0;font-size:1.1rem}.sixto-primary-nav .wp-block-navigation__submenu-container{position:static!important;width:100%!important;min-width:0;padding:.35rem 0 .35rem 1rem;border:0;border-left:2px solid var(--wp--preset--color--soft-apricot);border-radius:0;box-shadow:none}}


/* ----------------------------------------------------------
   Sixto Theme 0.4 — Recipe/Knowledge Polish + Performance
   ---------------------------------------------------------- */

.sixto-skip-link {
  position: fixed;
  left: 1rem;
  top: 1rem;
  z-index: 999999;
  transform: translateY(-180%);
  padding: 0.75rem 1rem;
  border-radius: 999px;
  background: var(--wp--preset--color--deep-emerald);
  color: var(--wp--preset--color--clean-ivory);
  font-weight: 800;
  text-decoration: none;
}

.sixto-skip-link:focus {
  transform: translateY(0);
}

#main-content {
  scroll-margin-top: 6rem;
}

.sixto-reading-shell > p,
.sixto-reading-shell > ul,
.sixto-reading-shell > ol {
  max-width: 72ch;
}

.sixto-reading-shell > h2,
.sixto-reading-shell > h3 {
  scroll-margin-top: 6rem;
}

.sixto-section-heading {
  max-width: 18ch;
}

.sixto-meta-row {
  color: var(--wp--preset--color--warm-muted);
  font-size: var(--wp--preset--font-size--small);
}

.sixto-rule {
  border: 0;
  border-top: 1px solid var(--wp--preset--color--sand);
}

/* Phoenix native recipe renderer: presentation-only harmonisation. */
.single-post .srfm-recipe {
  width: min(100%, var(--wp--style--global--wide-size));
  margin-inline: auto;
}

.single-post .srfm-recipe .srfm-hero {
  align-items: start;
  margin-top: var(--wp--preset--spacing--40);
}

.single-post .srfm-recipe .srfm-kicker {
  color: var(--wp--preset--color--deep-terracotta);
  letter-spacing: 0.1em;
}

.single-post .srfm-recipe .srfm-subtitle {
  max-width: 50ch;
  font-family: var(--wp--preset--font-family--serif);
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  line-height: 1.45;
}

.single-post .srfm-recipe .srfm-hero-image img {
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  border-radius: var(--wp--custom--radius--media);
}

.single-post .srfm-recipe .srfm-actions {
  gap: 0.5rem;
}

.single-post .srfm-recipe .srfm-btn {
  min-height: 44px;
  padding-inline: 1rem;
  border: 1px solid var(--wp--preset--color--sand);
  background: var(--wp--preset--color--clean-ivory);
  color: var(--wp--preset--color--deep-emerald);
  font-weight: 750;
}

.single-post .srfm-recipe .srfm-btn:hover {
  border-color: var(--wp--preset--color--burnt-orange);
  color: var(--wp--preset--color--burnt-orange);
}

.single-post .srfm-recipe .srfm-card {
  border: 1px solid var(--wp--preset--color--sand);
  background: var(--wp--preset--color--clean-ivory);
  box-shadow: none;
}

.single-post .srfm-recipe .srfm-info-grid {
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--wp--preset--color--sand);
  border-radius: 16px;
}

.single-post .srfm-recipe .srfm-info-grid > div {
  padding: 0.8rem 1rem;
  border-bottom: 1px solid var(--wp--preset--color--sand);
}

.single-post .srfm-recipe .srfm-info-grid dt {
  color: var(--wp--preset--color--warm-muted);
  font-size: 0.75rem;
  font-weight: 800;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.single-post .srfm-recipe .srfm-info-grid dd {
  margin: 0.2rem 0 0;
  font-weight: 700;
}

.single-post .srfm-recipe .srfm-extra-sections > section {
  border-top: 1px solid var(--wp--preset--color--sand);
  padding-block: var(--wp--preset--spacing--50);
}

/* Knowledge reference pages. */
.sixto-knowledge-index .wp-block-post-content {
  --sixto-reference-gap: var(--wp--preset--spacing--60);
}

.sixto-knowledge-index .wp-block-post-content > .wp-block-group {
  margin-block: var(--sixto-reference-gap);
}

.sixto-knowledge-index .wp-block-post-content h2 {
  margin-top: var(--wp--preset--spacing--70);
}

.sixto-knowledge-index .wp-block-post-content h3 {
  font-family: var(--wp--preset--font-family--serif);
}

.sixto-knowledge-index .wp-block-post-content .wp-block-columns {
  gap: var(--wp--preset--spacing--40);
}

.sixto-knowledge-index .wp-block-post-content .wp-block-column > .wp-block-group {
  height: 100%;
}

.sixto-knowledge-index .wp-block-post-content ul li + li {
  margin-top: 0.6rem;
}

/* Reduce layout work below the fold without hiding accessible content. */
@supports (content-visibility: auto) {
  .wp-block-query .sixto-card,
  .wp-block-query .sixto-journal-card {
    content-visibility: auto;
    contain-intrinsic-size: 420px;
  }
}

@media (max-width: 781px) {
  .single-post .srfm-recipe .srfm-hero {
    grid-template-columns: 1fr;
  }

  .single-post .srfm-recipe .srfm-actions {
    display: grid;
    grid-template-columns: 1fr;
  }

  .single-post .srfm-recipe .srfm-btn {
    width: 100%;
  }

  .single-post .srfm-recipe .srfm-info-grid {
    grid-template-columns: 1fr 1fr;
  }
}

@media (max-width: 480px) {
  .single-post .srfm-recipe .srfm-info-grid {
    grid-template-columns: 1fr;
  }
}

@media print {
  .sixto-site-header,
  .sixto-site-footer,
  .sixto-skip-link,
  .single-post .wp-block-post-navigation-link {
    display: none !important;
  }

  body {
    background: #fff !important;
    color: #000 !important;
  }

  .single-post .srfm-recipe {
    width: 100%;
  }
}


/* Sixto Theme 0.5 — Release Candidate hardening */
:where(.wp-site-blocks){overflow-wrap:break-word}
:where(button,input,textarea,select,.wp-element-button){font:inherit}
:where(input,textarea,select){max-width:100%;border:1px solid var(--wp--preset--color--sand);border-radius:12px;background:var(--wp--preset--color--clean-ivory);color:var(--wp--preset--color--espresso)}
:where(input,textarea,select):focus{border-color:var(--wp--preset--color--deep-emerald);outline:3px solid color-mix(in srgb,var(--wp--preset--color--emerald) 22%,transparent);outline-offset:2px}
.wp-block-search__input{min-height:46px}
.sixto-site-header{box-shadow:0 1px 0 rgba(48,37,31,.04)}
.sixto-site-header .wp-block-navigation__responsive-container-open,.sixto-site-header .wp-block-navigation__responsive-container-close{min-width:44px;min-height:44px}
.sixto-site-header .wp-block-navigation__responsive-container-open svg,.sixto-site-header .wp-block-navigation__responsive-container-close svg{width:28px;height:28px}
.wp-block-post-title a{text-decoration:none}.wp-block-post-title a:hover{color:var(--wp--preset--color--burnt-orange)}
.sixto-card,.sixto-journal-card{transition:transform .18s ease,border-color .18s ease}.sixto-card:hover,.sixto-journal-card:hover{transform:translateY(-2px);border-color:var(--wp--preset--color--soft-apricot)}
.sixto-archive-intro{max-width:68ch;color:var(--wp--preset--color--warm-muted)}
.sixto-no-results{padding:var(--wp--preset--spacing--60);border:1px dashed var(--wp--preset--color--sand);border-radius:18px;text-align:center}
@media (prefers-reduced-motion:reduce){.sixto-card,.sixto-journal-card{transition:none}.sixto-card:hover,.sixto-journal-card:hover{transform:none}}
@media (max-width:600px){.wp-block-query .wp-block-post-template{grid-template-columns:1fr!important}.sixto-page-hero,.sixto-hero{padding-inline:var(--wp--preset--spacing--40)}}
