/* Spain Eats Tools — magazine tokens + readable type scale */
.se-tools{
  --se-terracotta:#B5502E;
  --se-terracotta-dark:#8C3D22;
  --se-olive:#34381D;
  --se-olive-light:#5B6134;
  --se-citrus:#F3A712;
  --se-citrus-light:#FFCF66;
  --se-paper:#F5ECD8;
  --se-paper-dim:#E8DAB8;
  --se-ink:#241A12;
  --se-muted:#5a4b3c;
  --se-line:#E8DAB8;
  --se-ease:cubic-bezier(.22,.68,.32,1);
  --se-fs-body:clamp(1rem, 0.96rem + 0.2vw, 1.125rem);
  --se-fs-lede:clamp(1.05rem, 1rem + 0.35vw, 1.2rem);
  --se-fs-h1:clamp(1.85rem, 1.4rem + 2vw, 2.85rem);
  --se-fs-h2:clamp(1.35rem, 1.15rem + 1vw, 1.75rem);
  --se-fs-h3:clamp(1.1rem, 1.02rem + 0.4vw, 1.3rem);
  --se-fs-btn:clamp(.68rem, 0.64rem + 0.15vw, .75rem);
  font-family:"Karla",system-ui,sans-serif;
  color:var(--se-ink);
  font-size:var(--se-fs-body);
  line-height:1.65;
  max-width:1100px;
  width:100%;
  margin:0 auto;
  padding:0 clamp(1rem, 4vw, 1.75rem) clamp(2rem, 5vw, 3rem);
  box-sizing:border-box;
}
.se-tools *,.se-tools *::before,.se-tools *::after{box-sizing:border-box}
.se-tools h1,.se-tools h2,.se-tools h3{
  font-family:"Fraunces",Georgia,serif;
  letter-spacing:-.02em;
  line-height:1.2;
  font-weight:600;
  color:var(--se-ink);
  margin:0;
  text-wrap:balance;
}
.se-tools h1{font-size:var(--se-fs-h1)}
.se-tools h2{font-size:var(--se-fs-h2)}
.se-tools h3{font-size:var(--se-fs-h3)}
.se-tools p{
  margin:0 0 1rem;
  font-size:var(--se-fs-body);
  line-height:1.65;
  max-width:42rem;
}
.se-tools a{color:var(--se-terracotta-dark)}
.se-tools a:hover{color:var(--se-olive)}
.se-tools .se-kicker{
  font-family:"Space Mono",monospace;
  font-size:clamp(.66rem, 0.62rem + 0.12vw, .74rem);
  font-weight:700;
  letter-spacing:.1em;
  text-transform:uppercase;
  color:var(--se-terracotta);
  margin:0 0 .65rem;
}
.se-tools .se-kicker--light{color:var(--se-citrus-light)}
.se-tools .lede{
  font-size:var(--se-fs-lede);
  line-height:1.55;
  color:var(--se-muted);
  max-width:38rem;
}
.se-tools .se-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:.4rem;
  padding:.85rem 1.15rem;
  min-height:2.75rem;
  background:var(--se-citrus);
  color:var(--se-ink)!important;
  text-decoration:none!important;
  font-family:"Space Mono",monospace;
  font-size:var(--se-fs-btn);
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
  border:0;
  border-radius:2px;
  cursor:pointer;
  line-height:1.25;
  text-align:center;
  width:auto;
  max-width:100%;
}
.se-tools .se-btn:hover{background:var(--se-citrus-light)}
.se-tools .se-btn:disabled{opacity:.5;cursor:not-allowed}
.se-tools .se-btn.alt{background:transparent;color:var(--se-olive)!important;border:1.5px solid var(--se-olive)}
.se-tools .se-btn.alt:hover{border-color:var(--se-terracotta);color:var(--se-terracotta)!important}
.se-tools .se-btn::after,.se-tools .se-btn::before{content:none!important;display:none!important}
.se-tools .cta-row{display:flex;flex-wrap:wrap;gap:.75rem;margin:1.25rem 0;justify-content:flex-start}

/* Hero */
.se-tools-hero{
  position:relative;
  min-height:clamp(240px, 38vw, 380px);
  width:100%;
  max-width:100%;
  margin:0 0 clamp(1.5rem, 4vw, 2.25rem);
  overflow:hidden;
  color:#F5ECD8;
  box-sizing:border-box;
}
.se-tools-hero__media{position:absolute;inset:0}
.se-tools-hero__media img{width:100%;height:100%;object-fit:cover;display:block}
.se-tools-hero__veil{
  position:absolute;inset:0;
  background:
    linear-gradient(105deg,rgba(36,26,18,.82) 0%,rgba(36,26,18,.45) 55%,rgba(181,80,46,.28) 100%),
    linear-gradient(to top,rgba(36,26,18,.65) 0%,transparent 50%);
}
.se-tools-hero__copy{
  position:relative;z-index:2;max-width:1100px;margin:0 auto;
  padding:clamp(1.75rem, 5vw, 3rem) clamp(1.1rem, 4vw, 2rem);
}
.se-tools-hero__copy > div{max-width:36rem}
.se-tools-hero h1{color:#F5ECD8!important;margin-bottom:.5rem}
.se-tools-hero .lede{color:rgba(245,236,216,.92)!important;max-width:34rem}
.se-tools-hero .se-btn{background:var(--se-citrus);color:var(--se-ink)!important}
.se-tools-hero .se-btn.alt{
  border-color:rgba(245,236,216,.75);
  color:#F5ECD8!important;
  background:rgba(36,26,18,.4);
}

/* Featured */
.se-tools-featured{
  display:grid;
  grid-template-columns:1.05fr .95fr;
  gap:clamp(1.15rem, 3vw, 1.75rem);
  align-items:center;
  background:#FBF6E9;
  padding:clamp(1.15rem, 3vw, 1.85rem);
  margin:0 0 clamp(2rem, 5vw, 2.75rem);
  border-radius:4px;
  border-top:3px solid var(--se-terracotta);
}
.se-tools-featured__media{
  aspect-ratio:16/11;
  overflow:hidden;
  border-radius:4px;
  min-height:0;
}
.se-tools-featured__media img{width:100%;height:100%;object-fit:cover;display:block}
.se-tools-featured h2{margin:.25rem 0 .55rem}
.se-tools-featured .lede{margin-bottom:.35rem}
@media (max-width:800px){
  .se-tools-featured{grid-template-columns:1fr}
}

/* Sections */
.se-tools-section{margin:0 0 clamp(2rem, 5vw, 2.85rem)}
.se-tools-section h2{
  margin:0 0 .4rem;
  padding-top:.85rem;
  border-top:1px solid var(--se-line);
}
.se-tools-section > .lede,
.se-tools-section > p.intro{
  color:var(--se-muted);
  margin:0 0 1.35rem;
  max-width:40rem;
  font-size:var(--se-fs-lede);
  line-height:1.55;
}

/* Tool cards — padded + centered content */
.se-tools-grid{
  display:grid;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:clamp(1rem, 2.2vw, 1.35rem);
  width:100%;
  align-items:stretch;
}
@media (max-width:960px){
  .se-tools-grid{grid-template-columns:repeat(2, minmax(0, 1fr))}
}
@media (max-width:600px){
  .se-tools-grid{grid-template-columns:1fr;max-width:26rem;margin-left:auto;margin-right:auto}
}

.se-tools .se-tool-card,
article.se-tool-card{
  background:#FBF6E9 !important;
  padding:clamp(1.35rem, 3vw, 1.75rem) clamp(1.2rem, 2.8vw, 1.6rem) clamp(1.45rem, 3vw, 1.85rem) !important;
  margin:0 !important;
  border-radius:4px;
  border-top:3px solid var(--se-terracotta);
  box-shadow:0 14px 32px -22px rgba(36,26,18,.45);
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  gap:.7rem;
  width:100%;
  max-width:100%;
  min-height:100%;
  box-sizing:border-box !important;
  float:none !important;
  transition:transform .3s var(--se-ease), box-shadow .3s var(--se-ease);
}
.se-tools .se-tool-card:hover,
article.se-tool-card:hover{
  transform:translateY(-3px);
  box-shadow:0 18px 36px -20px rgba(36,26,18,.5);
}
.se-tool-card__icon{
  width:2.15rem;
  height:2.15rem;
  color:var(--se-olive);
  flex-shrink:0;
  margin:0 auto .1rem;
}
.se-tools .se-tool-card h3,
article.se-tool-card h3{
  font-size:var(--se-fs-h3);
  line-height:1.25;
  margin:0;
  max-width:16rem;
  width:100%;
}
.se-tools .se-tool-card p,
article.se-tool-card p{
  color:var(--se-muted);
  font-size:clamp(.95rem, 0.9rem + 0.2vw, 1.05rem);
  line-height:1.55;
  margin:0;
  flex:1 1 auto;
  max-width:18rem;
  width:100%;
}
.se-tools .se-tool-card .se-btn,
article.se-tool-card .se-btn{
  align-self:center;
  margin-top:auto;
  width:100%;
  max-width:14.5rem;
  justify-content:center;
}

/* Forms */
.se-tools-panel{
  background:#FBF6E9;
  padding:clamp(1.15rem, 3vw, 1.75rem);
  border-radius:4px;
  margin:0 0 1.75rem;
}
.se-tools-panel label{
  display:block;
  font-family:"Space Mono",monospace;
  font-size:.7rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--se-terracotta);
  margin:0 0 .4rem;
  font-weight:700;
}
.se-tools-field{margin:0 0 1rem}
.se-tools-row{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));
  gap:.75rem;
  margin:0 0 1rem;
}
.se-tools input[type="text"],
.se-tools input[type="number"],
.se-tools input[type="search"],
.se-tools select,
.se-tools textarea{
  width:100%;
  padding:.8rem .9rem;
  border:1.5px solid var(--se-line);
  border-radius:2px;
  background:#fff;
  color:var(--se-ink);
  font:inherit;
  font-size:1rem;
  min-height:2.85rem;
}
.se-tools input:focus,.se-tools select:focus,.se-tools textarea:focus{
  outline:3px solid var(--se-citrus);
  outline-offset:1px;
  border-color:var(--se-olive);
}
.se-tools textarea{min-height:5.5rem;resize:vertical}
.se-tools .hint{font-size:.9rem;color:var(--se-muted);margin:.35rem 0 0;line-height:1.5}
.se-tools .se-disclaimer{
  font-size:.92rem;
  color:var(--se-muted);
  background:rgba(181,80,46,.08);
  padding:.9rem 1rem;
  border-left:3px solid var(--se-terracotta);
  margin:1rem 0 0;
  line-height:1.55;
  max-width:none;
}

/* Results */
.se-tools-results{display:grid;gap:1rem;margin:1.25rem 0}
.se-result-card{
  display:grid;
  grid-template-columns:120px 1fr;
  gap:1rem;
  background:#fff;
  border-radius:4px;
  overflow:hidden;
  border:1px solid var(--se-line);
}
.se-result-card img{width:120px;height:100%;min-height:110px;object-fit:cover}
.se-result-card__body{padding:.9rem 1rem .9rem 0}
.se-result-card h3{font-size:1.15rem;margin:0 0 .35rem}
.se-result-meta{
  display:flex;flex-wrap:wrap;gap:.5rem .85rem;
  font-family:"Space Mono",monospace;
  font-size:.65rem;text-transform:uppercase;letter-spacing:.06em;
  color:var(--se-muted);margin:.4rem 0;
}
.se-result-tags{font-size:.95rem;color:var(--se-muted);line-height:1.5}
.se-result-tags strong{color:var(--se-olive)}
.se-tools-empty,.se-tools-status{
  padding:1rem 1.15rem;
  background:#FBF6E9;
  border-radius:4px;
  color:var(--se-muted);
  font-size:var(--se-fs-body);
  line-height:1.55;
  max-width:none;
}
.se-tools-empty[hidden],.se-tools-status[hidden],.se-tools-results[hidden]{display:none!important}
@media (max-width:560px){
  .se-result-card{grid-template-columns:1fr}
  .se-result-card img{width:100%;height:160px;min-height:0}
  .se-result-card__body{padding:1rem}
}

/* Scaler rows */
.se-scale-rows{display:grid;gap:.65rem;margin:0 0 1rem}
.se-scale-row{
  display:grid;
  grid-template-columns:1fr .9fr 1.4fr auto;
  gap:.5rem;
  align-items:end;
}
@media (max-width:640px){
  .se-scale-row{grid-template-columns:1fr 1fr}
}
.se-scale-out{background:#fff;border:1px solid var(--se-line);padding:1rem;border-radius:4px}
.se-scale-out li{margin:.35rem 0}

/* Paella / converter outputs */
.se-tools-statgrid{
  display:grid;
  grid-template-columns:repeat(auto-fit, minmax(140px, 1fr));
  gap:.75rem;
  margin:1rem 0;
}
.se-tools-stat{
  background:#fff;
  border-top:2px solid var(--se-citrus);
  padding:1rem 1.05rem;
  border-radius:2px;
  text-align:center;
}
.se-tools-stat strong{
  display:block;
  font-family:"Space Mono",monospace;
  font-size:.65rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  color:var(--se-terracotta);
  margin-bottom:.3rem;
}
.se-tools-stat span{
  font-family:"Fraunces",Georgia,serif;
  font-size:clamp(1.2rem, 1.1rem + 0.4vw, 1.4rem);
  font-weight:600;
}

/* Glossary */
.se-glossary-search{margin:0 0 1.25rem}
.se-glossary-list{display:grid;gap:1rem}
.se-glossary-item{
  background:#FBF6E9;
  padding:clamp(1.1rem, 2.5vw, 1.3rem) clamp(1.1rem, 2.5vw, 1.35rem);
  border-radius:4px;
  border-left:3px solid var(--se-olive);
  scroll-margin-top:5rem;
}
.se-glossary-item[hidden]{display:none!important}
.se-glossary-item h3{font-size:clamp(1.15rem, 1.05rem + 0.35vw, 1.3rem);margin:0 0 .2rem}
.se-glossary-item .en{
  font-family:"Space Mono",monospace;
  font-size:.72rem;
  color:var(--se-terracotta);
  text-transform:uppercase;
  letter-spacing:.06em;
}
.se-glossary-item .pron{font-size:.95rem;color:var(--se-muted);font-style:italic;margin:.25rem 0 .5rem}
.se-glossary-links{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.65rem;padding:0;list-style:none}
.se-glossary-links a{
  display:inline-block;
  padding:.35rem .6rem;
  background:#fff;
  border:1px solid var(--se-line);
  text-decoration:none!important;
  color:var(--se-ink)!important;
  font-size:.9rem;
}

/* Subs */
.se-sub-tiers{display:grid;gap:.75rem;margin:1rem 0}
.se-sub-tier{background:#fff;border:1px solid var(--se-line);padding:1rem 1.1rem;border-radius:4px}
.se-sub-tier .tier-label{
  display:inline-block;
  font-family:"Space Mono",monospace;
  font-size:.62rem;
  text-transform:uppercase;
  letter-spacing:.08em;
  padding:.25rem .5rem;
  margin-bottom:.5rem;
  font-weight:700;
}
.tier-best{background:var(--se-olive);color:#F5ECD8}
.tier-acceptable{background:var(--se-citrus);color:var(--se-ink)}
.tier-emergency{background:var(--se-terracotta);color:#F5ECD8}

/* Prose — readable article-style block */
.se-tools-prose{
  max-width:40rem;
  margin:0 auto 0 0;
}
.se-tools-prose h2{
  margin:clamp(1.75rem, 4vw, 2.25rem) 0 .7rem;
  padding-top:.85rem;
  border-top:1px solid var(--se-line);
  font-size:var(--se-fs-h2);
}
.se-tools-prose p{
  font-size:var(--se-fs-body);
  line-height:1.7;
  color:var(--se-ink);
  max-width:40rem;
}
.se-tools-prose ul{padding-left:1.2rem;margin:0 0 1rem}
.se-tools-prose li{margin:.4rem 0;line-height:1.6}
.se-tools-faq details{
  background:#FBF6E9;
  padding:.95rem 1.1rem;
  margin:0 0 .55rem;
  border-radius:4px;
}
.se-tools-faq summary{
  font-weight:700;
  cursor:pointer;
  font-family:"Fraunces",Georgia,serif;
  font-size:1.05rem;
  line-height:1.35;
}
.se-tools-faq p{margin:.55rem 0 0;color:var(--se-muted);line-height:1.6}

.se-tools noscript{
  display:block;
  padding:1rem;
  background:#fff3cd;
  border:1px solid #e6d39a;
  margin:0 0 1rem;
  border-radius:4px;
}

@media (prefers-reduced-motion: reduce){
  .se-tools .se-tool-card,
  article.se-tool-card{transition:none}
  .se-tools .se-tool-card:hover,
  article.se-tool-card:hover{transform:none}
}
