/* ================================================================
   TAWA CERIA — FRONTEND FINAL POLISH v2.1
   Loaded AFTER tawaceria-perfect.css. This file intentionally
   overrides layout/spacing only, so all public routes remain compatible.
   ================================================================ */

:root{
  --tc-shell:min(1240px,calc(100% - 56px));
  --tc-header-h:86px;
  --tc-section-space:72px;
  --tc-soft-shadow:0 14px 34px rgba(111,62,77,.08);
  --tc-card-border:#eedee4;
}

body{
  background:#fffaf8;
  line-height:1.5;
}

.tc-shell{width:var(--tc-shell)}

/* ---------- Header ---------- */
.tc-site-header{
  height:var(--tc-header-h);
}
.tc-site-header.is-scrolled,
body:not(.tc-home-page) .tc-site-header{
  background:rgba(255,250,248,.96);
  border-bottom:1px solid rgba(238,222,228,.8);
  box-shadow:0 8px 26px rgba(92,49,64,.06);
}
.tc-header-inner{
  grid-template-columns:150px minmax(0,1fr) auto;
  gap:28px;
}
.tc-brand img{
  width:92px;
  height:66px;
  border-radius:0;
}
.tc-desktop-nav{gap:32px;font-size:.9rem}
.tc-nav-cta{padding:12px 22px}

/* ---------- Hero ---------- */
.tc-hero{
  height:min(760px,82vh);
  min-height:650px;
}
.tc-hero-image{background-position:center 45%}
.tc-hero-overlay{
  background:
    linear-gradient(90deg,rgba(50,27,23,.78) 0%,rgba(50,27,23,.56) 34%,rgba(49,27,24,.18) 69%,rgba(49,27,24,.12) 100%),
    linear-gradient(180deg,rgba(0,0,0,.08),rgba(0,0,0,.08));
}
.tc-hero-content{padding-top:calc(var(--tc-header-h) + 10px)}
.tc-hero-copy{max-width:540px}
.tc-hero-kicker{font-size:.76rem;letter-spacing:.12em}
.tc-hero h1{
  font-size:clamp(3.7rem,6.3vw,6.25rem);
  line-height:.89;
  max-width:560px;
}
.tc-hero-copy p{font-size:1rem;max-width:430px;margin-top:20px}
.tc-hero-location{font-weight:700}
.tc-hero-actions{margin-top:4px}
.tc-hero-dots{bottom:26px}
.tc-hero-arrow{width:50px;height:50px}
.tc-doodle-flower{left:4.5%;bottom:78px;font-size:4.3rem}
.tc-doodle-loop{left:58%;bottom:62px;font-size:4.8rem}
.tc-doodle-spark{right:7%;top:23%;font-size:5rem}

.tc-marquee{height:38px}
.tc-marquee-track{gap:30px;font-size:.7rem}

/* ---------- Global section rhythm ---------- */
.tc-section{padding:var(--tc-section-space) 0}
.tc-section h2{letter-spacing:-.04em}
.tc-section-sidecopy{align-self:center}
.tc-section-sidecopy h2{font-size:clamp(2rem,2.7vw,2.6rem)}
.tc-section-sidecopy p{max-width:245px}
.tc-section-sidecopy .tc-btn{margin-top:3px}

/* ---------- About ---------- */
.tc-about-section{
  padding:66px 0 62px;
  background:linear-gradient(100deg,#fff9f4 0%,#fffdfb 52%,#fff8f5 100%);
}
.tc-about-grid{
  grid-template-columns:minmax(0,1.04fr) minmax(0,.96fr);
  gap:72px;
  min-height:360px;
}
.tc-about-visual{min-height:330px}
.tc-polaroid-main{
  width:min(74%,420px);
  height:260px;
  left:7%;
  top:26px;
}
.tc-polaroid-small{
  width:190px;
  height:148px;
  right:6%;
  bottom:8px;
}
.tc-about-copy{max-width:520px;padding-right:24px}
.tc-about-copy .tc-script{font-size:2.1rem}
.tc-about-copy h2{font-size:clamp(2.8rem,4.2vw,3.55rem)}
.tc-about-copy>p:not(.tc-script){margin:14px 0 20px;line-height:1.65}
.tc-face-doodle{right:0;bottom:4px;font-size:4rem;opacity:.88}

/* ---------- Categories ---------- */
.tc-category-section{
  padding:50px 0 64px;
  background:#fff;
}
.tc-section-heading h2{font-size:clamp(1.8rem,2.8vw,2.35rem)}
.tc-category-grid{gap:14px;margin-top:30px}
.tc-category-card{
  min-height:124px;
  border-radius:20px;
  box-shadow:0 5px 18px rgba(74,40,48,.045);
}
.tc-category-card:hover{transform:translateY(-5px)}
.tc-category-icon{width:50px;height:50px}
.tc-category-card strong{max-width:120px}

/* ---------- Upcoming workshops ---------- */
.tc-happening-section{
  padding:66px 0;
  background:linear-gradient(90deg,#fff5f8,#fff8fa);
}
.tc-happening-grid{
  grid-template-columns:250px minmax(0,1fr);
  gap:42px;
  align-items:center;
}
.tc-workshop-scroller{
  gap:18px;
  padding:4px 2px 12px;
  grid-auto-columns:minmax(245px,31.5%);
}
.tc-workshop-card{
  border-radius:20px;
  min-width:0;
  box-shadow:0 6px 22px rgba(90,48,62,.055);
}
.tc-workshop-image-wrap{height:165px}
.tc-workshop-body{padding:18px 17px 17px}
.tc-workshop-body h3{
  font-size:1rem;
  min-height:2.4em;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.tc-workshop-meta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.tc-workshop-price{font-size:1rem;margin-top:10px}

/* ---------- Schedule ---------- */
.tc-schedule-section{padding:52px 0 58px}
.tc-schedule-grid{grid-template-columns:250px minmax(0,1fr);gap:38px}
.tc-timeline{gap:12px}
.tc-timeline:before{top:35px}
.tc-timeline-dot{width:70px;height:70px}
.tc-timeline-item>strong{font-size:.74rem;max-width:124px}

/* ---------- Gallery ---------- */
.tc-gallery-section{
  padding:70px 0;
  background:#fffaf3;
}
.tc-gallery-layout{
  grid-template-columns:250px minmax(0,1fr);
  gap:42px;
  align-items:center;
}
.tc-gallery-grid{
  grid-template-columns:1.2fr .75fr 1fr 1fr;
  grid-template-rows:145px 145px;
  gap:8px;
  min-height:298px;
}
.tc-gallery-item{border-radius:14px;box-shadow:0 5px 18px rgba(80,44,56,.05)}
.tc-gallery-item img{filter:saturate(.94) contrast(.98)}
.tc-gallery-item:hover img{transform:scale(1.045);filter:saturate(1.02)}

/* ---------- Testimonials ---------- */
.tc-testimonial-section{
  padding:64px 0 70px;
  background:linear-gradient(90deg,#fff7f9,#fff1f5);
}
.tc-testimonial-layout{grid-template-columns:250px minmax(0,1fr);gap:42px;align-items:center}
.tc-testimonial-scroller{gap:16px;padding:3px 2px 10px;grid-auto-columns:minmax(300px,1fr)}
.tc-testimonial-card{
  min-height:190px;
  border-radius:18px;
  padding:24px;
  display:flex;
  flex-direction:column;
  justify-content:space-between;
  box-shadow:0 8px 24px rgba(98,49,69,.055);
}
.tc-testimonial-card>p{font-size:.9rem;line-height:1.58;margin:12px 0 20px}
.tc-testimonial-scroller:has(.tc-testimonial-card:only-child){
  display:block;
}
.tc-testimonial-scroller:has(.tc-testimonial-card:only-child) .tc-testimonial-card{
  max-width:720px;
  min-height:180px;
}

/* ---------- Collaboration ---------- */
.tc-collab-section{
  grid-template-columns:minmax(280px,.95fr) minmax(500px,1.45fr) minmax(270px,.85fr);
  min-height:260px;
  background:#fff9ef;
}
.tc-collab-photo{min-height:260px}
.tc-collab-copy{padding:34px 46px;grid-template-columns:64px 1fr}
.tc-collab-copy h2{font-size:2.05rem}
.tc-collab-copy p:not(.tc-script){max-width:520px}
.tc-collab-paper img{width:138px}

/* ---------- Instagram ---------- */
.tc-instagram-strip{padding:24px 0;background:#fff}
.tc-instagram-grid{grid-template-columns:190px minmax(0,1fr) auto;gap:18px}
.tc-instagram-copy small{font-weight:700}
.tc-instagram-photos{gap:8px}
.tc-instagram-photos img{height:72px;border-radius:11px}

/* ---------- Footer ---------- */
.tc-footer-top{padding:42px 0 34px}
.tc-footer-grid{grid-template-columns:1.55fr repeat(3,1fr);gap:48px}
.tc-footer-brand img{width:112px}
.tc-footer-brand p{font-size:.83rem;max-width:260px}
.tc-footer h4{font-size:.78rem}
.tc-footer a{font-size:.77rem;margin:8px 0}
.tc-footer-bottom{padding:14px 0}

/* ---------- Micro interaction ---------- */
.tc-workshop-card,
.tc-category-card,
.tc-testimonial-card,
.tc-gallery-item,
.tc-btn{
  will-change:transform;
}

/* ---------- Responsive ---------- */
@media (max-width:1180px){
  :root{--tc-shell:min(100% - 40px,1080px)}
  .tc-header-inner{grid-template-columns:120px minmax(0,1fr) auto;gap:18px}
  .tc-desktop-nav{gap:22px}
  .tc-about-grid{gap:44px}
  .tc-happening-grid,.tc-gallery-layout,.tc-testimonial-layout,.tc-schedule-grid{grid-template-columns:220px minmax(0,1fr);gap:28px}
  .tc-workshop-scroller{grid-auto-columns:minmax(235px,48%)}
  .tc-collab-section{grid-template-columns:.85fr 1.5fr .75fr}
  .tc-collab-copy{padding:30px}
  .tc-instagram-grid{grid-template-columns:170px minmax(0,1fr)}
  .tc-instagram-grid>.tc-btn{grid-column:1/-1;justify-self:end}
}

@media (max-width:900px){
  :root{--tc-header-h:74px;--tc-shell:calc(100% - 30px);--tc-section-space:60px}
  .tc-header-inner{grid-template-columns:1fr auto}
  .tc-desktop-nav,.tc-nav-cta{display:none}
  .tc-menu-toggle{display:flex}
  .tc-brand img{width:82px;height:58px}
  .tc-mobile-menu{display:block}

  .tc-hero{height:700px;min-height:640px}
  .tc-hero-content{align-items:flex-end;padding-bottom:112px}
  .tc-hero-copy{max-width:88%}
  .tc-hero h1{font-size:clamp(3.3rem,12vw,5.4rem)}
  .tc-hero-overlay{background:linear-gradient(180deg,rgba(42,22,20,.14),rgba(42,22,20,.72) 82%)}
  .tc-doodle-loop{display:none}

  .tc-about-grid{grid-template-columns:1fr;gap:24px}
  .tc-about-visual{min-height:320px;max-width:650px;width:100%;margin:auto}
  .tc-about-copy{text-align:center;margin:auto;padding-right:0}
  .tc-face-doodle{display:none}

  .tc-category-grid{grid-template-columns:repeat(3,1fr)}
  .tc-happening-grid,.tc-gallery-layout,.tc-testimonial-layout,.tc-schedule-grid{grid-template-columns:1fr;gap:30px}
  .tc-section-sidecopy{text-align:center;max-width:560px;margin-inline:auto}
  .tc-section-sidecopy p{max-width:480px;margin-inline:auto}
  .tc-workshop-scroller{grid-auto-columns:minmax(240px,70%)}
  .tc-timeline{overflow-x:auto;grid-template-columns:repeat(5,150px);padding:0 8px 15px}
  .tc-gallery-grid{grid-template-rows:130px 130px;min-height:270px}
  .tc-testimonial-scroller{grid-auto-columns:minmax(300px,82%)}
  .tc-collab-section{grid-template-columns:1fr 1.25fr}
  .tc-collab-paper{display:none}
  .tc-instagram-grid{grid-template-columns:1fr}
  .tc-instagram-copy{text-align:center}
  .tc-instagram-photos{grid-template-columns:repeat(3,1fr);max-width:700px;width:100%;margin:auto}
  .tc-instagram-photos img{height:100px}
  .tc-instagram-grid>.tc-btn{grid-column:auto;justify-self:center}
  .tc-footer-grid{grid-template-columns:1.3fr 1fr 1fr;gap:30px}
  .tc-footer-grid>div:last-child{grid-column:1/-1}
}

@media (max-width:600px){
  :root{--tc-shell:calc(100% - 24px);--tc-section-space:52px}
  .tc-hero{height:670px;min-height:610px}
  .tc-hero-content{padding-bottom:104px}
  .tc-hero-copy{max-width:100%}
  .tc-hero h1{font-size:clamp(3rem,16vw,4.7rem)}
  .tc-hero-copy p{font-size:.92rem;max-width:340px}
  .tc-hero-arrow{width:42px;height:42px}
  .tc-hero-prev{left:10px}.tc-hero-next{right:10px}
  .tc-hero-dots{bottom:20px}
  .tc-doodle-flower{font-size:3.2rem;bottom:82px}
  .tc-doodle-spark{font-size:3.8rem;right:4%;top:21%}

  .tc-about-section{padding:52px 0}
  .tc-about-visual{min-height:270px}
  .tc-polaroid-main{width:80%;height:205px;left:2%;top:22px}
  .tc-polaroid-small{width:142px;height:112px;right:1%;bottom:5px}
  .tc-about-copy h2{font-size:2.65rem}
  .tc-about-copy .tc-script{font-size:1.8rem}

  .tc-category-grid{grid-template-columns:repeat(2,1fr);gap:10px}
  .tc-category-card{min-height:116px}

  .tc-workshop-scroller{grid-auto-columns:86%}
  .tc-workshop-image-wrap{height:175px}
  .tc-schedule-section{padding:48px 0}
  .tc-timeline{margin-inline:-12px}

  .tc-gallery-grid{grid-template-columns:1fr 1fr;grid-template-rows:130px 130px 130px;gap:6px}
  .tc-gallery-item-1{grid-row:1/2}
  .tc-gallery-item-2{grid-row:1/3}
  .tc-gallery-item-3{grid-row:2/3}
  .tc-gallery-item-4{grid-row:3/4}
  .tc-gallery-item-5{grid-row:3/4}
  .tc-gallery-item-6{display:none}

  .tc-testimonial-scroller{grid-auto-columns:92%}
  .tc-collab-section{grid-template-columns:1fr}
  .tc-collab-photo{height:210px;min-height:210px}
  .tc-collab-copy{grid-template-columns:46px 1fr;padding:28px 20px}
  .tc-collab-copy .tc-script{font-size:1.8rem}
  .tc-collab-copy h2{font-size:1.75rem}

  .tc-instagram-photos{grid-template-columns:repeat(3,1fr);gap:5px}
  .tc-instagram-photos img{height:78px}

  .tc-footer-grid{grid-template-columns:1fr 1fr;gap:24px}
  .tc-footer-brand{grid-column:1/-1}
  .tc-footer-grid>div:last-child{grid-column:1/-1}
  .tc-footer-bottom .tc-shell{flex-direction:column;align-items:center;text-align:center}
}

/* Workshop card click hotfix */
.tc-workshop-card-link{
  display:block;
  color:inherit;
  text-decoration:none;
  cursor:pointer;
  transition:transform .22s ease, box-shadow .22s ease, border-color .22s ease;
}
.tc-workshop-card-link:visited{color:inherit}
.tc-workshop-card-link:hover{
  color:inherit;
  text-decoration:none;
  transform:translateY(-4px);
  box-shadow:0 14px 34px rgba(90,48,62,.11);
}
.tc-workshop-card-link:focus-visible{
  outline:3px solid rgba(239,96,151,.28);
  outline-offset:4px;
}
.tc-workshop-card-link .tc-workshop-image-wrap,
.tc-workshop-card-link .tc-workshop-body,
.tc-workshop-card-link .tc-workshop-image,
.tc-workshop-card-link .tc-workshop-badge,
.tc-workshop-card-link .tc-workshop-date{
  pointer-events:none;
}
