/*
Theme Name: La Txosa Customizable
Theme URI: https://latxosa.es/
Author: OpenAI
Description: Tema WordPress minimal y editable para La Txosa.
Version: 3.0
Requires at least: 6.0
Tested up to: 6.7
Text Domain: latxosa-customizable
*/

:root{
  --bg:#0f0f10;
  --panel:#151516;
  --text:#f3eee7;
  --muted:#b8afa3;
  --line:rgba(243,238,231,.12);
  --accent:#e7dfd1;
  --max:1240px;
  --gutter:clamp(18px,3vw,40px);
  --hero-pad:clamp(64px,9vw,132px);
  --title:clamp(34px,6vw,74px);
  --h2:clamp(24px,3vw,36px);
  --body:clamp(15px,1.3vw,17px);
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--bg);
  color:var(--text);
  font-family:Helvetica,Arial,sans-serif;
  font-size:var(--body);
  line-height:1.55;
}
img{max-width:100%;height:auto;display:block}
a{color:inherit;text-decoration:none}
p{margin:0 0 1rem}
h1,h2,h3{
  margin:0 0 .8rem;
  font-family:Helvetica,Arial,sans-serif;
  font-weight:700;
  letter-spacing:-.03em;
  line-height:1.02;
}
h1{font-size:var(--title)}
h2{font-size:var(--h2)}
h3{font-size:1.1rem}
ul{margin:0;padding:0;list-style:none}

.site-header{
  position:sticky;
  top:0;
  z-index:100;
  background:rgba(15,15,16,.92);
  backdrop-filter:blur(10px);
  border-bottom:1px solid var(--line);
}
.site-header__inner{
  max-width:var(--max);
  margin:0 auto;
  min-height:78px;
  padding:0 var(--gutter);
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}
.site-branding{
  font-size:clamp(28px,2.2vw,40px);
  letter-spacing:.08em;
  font-weight:700;
  text-transform:uppercase;
  white-space:nowrap;
}
.site-branding img{
  max-height:52px;
  width:auto;
}
.main-nav{margin-left:auto}
.main-nav .menu{
  display:flex;
  align-items:center;
  gap:20px;
}
.main-nav a{
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.09em;
  font-size:12px;
}
.main-nav a:hover,
.main-nav .current-menu-item>a,
.main-nav .current_page_item>a{color:var(--text)}

.menu-toggle{
  display:none;
  border:1px solid var(--line);
  color:var(--text);
  background:transparent;
  padding:10px 12px;
  font-size:14px;
  letter-spacing:.06em;
  text-transform:uppercase;
  cursor:pointer;
}

.container{
  max-width:var(--max);
  margin:0 auto;
  padding:0 var(--gutter);
}

.hero{
  padding:clamp(42px,7vw,72px) 0 18px;
}
.hero__frame{
  min-height:min(76vh,880px);
  border:1px solid var(--line);
  position:relative;
  overflow:hidden;
  background:
    linear-gradient(180deg, rgba(0,0,0,.18), rgba(0,0,0,.62)),
    radial-gradient(circle at 20% 20%, rgba(255,255,255,.10), transparent 40%),
    linear-gradient(135deg, #1f1f22, #0f0f10 60%);
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
}
.hero__content{
  position:absolute;
  inset:auto auto 0 0;
  width:min(760px,100%);
  padding:var(--hero-pad) clamp(24px,4vw,54px) clamp(28px,4vw,44px);
}
.eyebrow{
  display:inline-block;
  margin-bottom:14px;
  color:var(--muted);
  text-transform:uppercase;
  letter-spacing:.14em;
  font-size:11px;
}
.hero__lead{
  max-width:560px;
  color:var(--accent);
  font-size:clamp(16px,1.5vw,20px);
}
.hero__meta{
  margin-top:22px;
  display:flex;
  gap:14px;
  flex-wrap:wrap;
}
.pill{
  border:1px solid var(--line);
  color:var(--muted);
  padding:10px 14px;
  font-size:12px;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.section{padding:42px 0 0}
.section--spaced{padding:62px 0 0}
.section__head{
  display:flex;
  justify-content:space-between;
  align-items:end;
  gap:20px;
  padding-bottom:16px;
  border-bottom:1px solid var(--line);
  margin-bottom:22px;
}
.section__kicker{
  color:var(--muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.12em;
}
.grid{display:grid;gap:22px}
.grid--3{grid-template-columns:repeat(3,1fr)}
.grid--2{grid-template-columns:repeat(2,1fr)}

.card{
  background:var(--panel);
  border:1px solid var(--line);
  min-height:240px;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.card__image{
  aspect-ratio:16/10;
  background:
    radial-gradient(circle at 30% 20%, rgba(255,255,255,.12), transparent 34%),
    linear-gradient(135deg, #2a2b2f, #151516 65%);
  border-bottom:1px solid var(--line);
}
.card__body{padding:18px}
.card__meta{
  color:var(--muted);
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.1em;
  margin-bottom:8px;
}
.card p{color:var(--muted)}

.page-wrap{padding:44px 0 68px}
.page-title{
  padding-bottom:18px;
  margin-bottom:24px;
  border-bottom:1px solid var(--line);
}

.site-footer{
  margin-top:68px;
  border-top:1px solid var(--line);
}
.site-footer__inner{
  max-width:var(--max);
  margin:0 auto;
  padding:22px var(--gutter) 34px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:16px;
  flex-wrap:wrap;
  color:var(--muted);
  font-size:13px;
}
.site-footer__nav{
  display:flex;
  gap:18px;
  flex-wrap:wrap;
}
.screen-reader-text{
  position:absolute!important;
  clip:rect(1px,1px,1px,1px);
  padding:0;border:0;height:1px;width:1px;overflow:hidden;
}

@media (max-width:980px){
  .grid--3{grid-template-columns:1fr 1fr}
}
@media (max-width:820px){
  .menu-toggle{display:inline-flex;align-items:center;justify-content:center}
  .main-nav{display:none;width:100%;margin:0;padding:0 0 16px}
  .main-nav.is-open{display:block}
  .site-header__inner{
    min-height:auto;
    padding-top:18px;
    padding-bottom:18px;
    flex-wrap:wrap;
  }
  .main-nav .menu{
    flex-direction:column;
    align-items:flex-start;
    gap:12px;
    border-top:1px solid var(--line);
    padding-top:16px;
  }
}
@media (max-width:680px){
  .grid--3,.grid--2{grid-template-columns:1fr}
  .hero__frame{min-height:62vh}
  .section__head{align-items:flex-start;flex-direction:column}
}



/* ===== PATCH v3-stable ===== */

/* smaller page titles */
.page-title h1,
.page-wrap h1:first-child{
  font-size:clamp(28px,3.2vw,42px);
  line-height:1.02;
  letter-spacing:-0.03em;
}

/* breathing space in pages */
.page-wrap{
  padding-top:48px;
  padding-bottom:72px;
}

.entry-content{
  max-width:1100px;
  margin:0 auto;
  padding-left:12px;
  padding-right:12px;
}

.entry-content > * + *{
  margin-top:1.2rem;
}

/* footer layout */
.site-footer{
  margin-top:80px;
}

.site-footer__inner{
  padding:24px 24px 36px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  flex-wrap:wrap;
  gap:20px;
}

.site-footer__nav .menu{
  display:flex !important;
  flex-direction:row !important;
  gap:18px;
  flex-wrap:wrap;
  list-style:none;
  margin:0;
  padding:0;
}

.site-footer__nav .menu li{
  margin:0;
  padding:0;
}

/* mobile adjustments */
@media (max-width:680px){
  .page-wrap{
    padding-top:32px;
    padding-bottom:56px;
  }
  .entry-content{
    padding-left:0;
    padding-right:0;
  }
  .site-footer__inner{
    align-items:flex-start;
  }
}

