/* ===================== Kidon internal pages — shared stylesheet ===================== */
:root{
  --red:#C62828;
  --red-deep:#921E1E;
  --charcoal:#1B1A19;
  --charcoal-2:#262422;
  --white:#FFFFFF;
  --stone:#EDE7DC;
  --stone-2:#DFD5C4;
  --line: rgba(27,26,25,0.12);
  --font-display:'Rubik', sans-serif;
  --font-body:'Heebo', sans-serif;
}
*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  font-family:var(--font-body);
  color:var(--charcoal);
  background:var(--white);
  line-height:1.75;
  -webkit-font-smoothing:antialiased;
}
img{display:block; max-width:100%;}
a{color:inherit; text-decoration:none;}
button{font-family:inherit; cursor:pointer; border:none; background:none;}
a:focus-visible, button:focus-visible{outline:2.5px solid var(--red); outline-offset:2px;}
.container{max-width:1080px; margin:0 auto; padding:0 24px;}
.container-narrow{max-width:820px; margin:0 auto; padding:0 24px;}

/* ---------- Header ---------- */
.ip-header{
  padding:16px 0; border-bottom:1px solid var(--line);
  position:sticky; top:0; background:rgba(255,255,255,.92); backdrop-filter:blur(10px); z-index:40;
}
.ip-header-inner{display:flex; align-items:center; justify-content:space-between; gap:16px; flex-wrap:wrap;}
.ip-logo{display:flex; align-items:center;}
.ip-logo img{height:34px; width:auto;}
.ip-header-actions{display:flex; align-items:center; gap:10px; flex-wrap:wrap;}
.ip-back-link{
  font-family:var(--font-display); font-weight:700; font-size:13.5px; color:var(--charcoal);
  border:1.5px solid var(--charcoal); border-radius:2px; padding:11px 18px;
  display:inline-flex; align-items:center; gap:6px;
  transition:border-color .2s ease, color .2s ease, background .2s ease, transform .2s ease;
}
.ip-back-link:hover{border-color:var(--red); color:var(--red); background:rgba(198,40,40,.05); transform:translateY(-1px);}
.ip-btn{
  font-family:var(--font-display); font-weight:700; font-size:13.5px; padding:11px 18px; border-radius:2px;
  display:inline-flex; align-items:center; gap:6px; transition:background .2s ease, transform .2s ease;
}
.ip-btn-primary{background:var(--red); color:#fff;}
.ip-btn-primary:hover{background:var(--red-deep); transform:translateY(-1px);}
.ip-btn-wa{background:#25D366; color:#fff;}
.ip-btn-wa:hover{background:#1EBE59; transform:translateY(-1px);}
.ip-btn-wa svg{width:15px; height:15px;}
@media (max-width:640px){
  .ip-header-actions{width:100%; justify-content:flex-start;}
  .ip-btn{font-size:12.5px; padding:10px 14px;}
  .ip-back-link{font-size:12.5px; padding:10px 14px;}
}

/* ---------- Breadcrumbs ---------- */
.ip-breadcrumbs{
  padding:16px 0; font-size:13px; color:#7a756e;
}
.ip-breadcrumbs ol{list-style:none; display:flex; flex-wrap:wrap; gap:6px; align-items:center;}
.ip-breadcrumbs a{color:#7a756e; transition:color .2s ease;}
.ip-breadcrumbs a:hover{color:var(--red);}
.ip-breadcrumbs li:not(:last-child)::after{content:'←'; margin-inline-start:6px; color:#c4bfb5; font-size:11px;}
.ip-breadcrumbs li[aria-current]{color:var(--charcoal); font-weight:600;}

/* ---------- Hero / intro block ---------- */
.ip-hero{padding:28px 0 8px;}
.ip-eyebrow{
  font-family:var(--font-display); font-weight:700; font-size:12.5px; letter-spacing:.12em; color:var(--red);
  display:flex; align-items:center; gap:10px; margin-bottom:14px;
}
.ip-eyebrow::before{content:''; width:24px; height:2px; background:var(--red); display:block;}
h1.ip-h1{
  font-family:var(--font-display); font-weight:800; font-size:clamp(28px,4.2vw,42px); line-height:1.2;
  color:var(--charcoal); margin-bottom:16px;
}
.ip-lede{font-size:17px; line-height:1.8; color:#4a4744; max-width:70ch;}

/* ---------- Article body typography ---------- */
.ip-article{padding:8px 0 40px;}
.ip-article h2{
  font-family:var(--font-display); font-weight:700; font-size:24px; color:var(--charcoal);
  margin-top:42px; margin-bottom:14px; scroll-margin-top:90px;
}
.ip-article h3{
  font-family:var(--font-display); font-weight:700; font-size:18px; color:var(--charcoal);
  margin-top:26px; margin-bottom:10px;
}
.ip-article p{font-size:16px; line-height:1.85; color:#3f3c38; margin-bottom:16px; max-width:75ch;}
.ip-article ul, .ip-article ol{padding-inline-start:22px; margin-bottom:16px; max-width:75ch;}
.ip-article li{font-size:16px; line-height:1.8; color:#3f3c38; margin-bottom:8px;}
.ip-article strong{color:var(--charcoal);}
.ip-note{
  background:var(--stone); border-right:3px solid var(--red); padding:16px 20px; border-radius:3px;
  font-size:14.5px; color:#5a564f; margin:24px 0; max-width:75ch;
}

/* ---------- Table of contents ---------- */
.ip-toc{
  background:var(--stone); border-radius:6px; padding:22px 24px; margin:28px 0; max-width:75ch;
}
.ip-toc-title{font-family:var(--font-display); font-weight:700; font-size:14px; margin-bottom:12px;}
.ip-toc ol{list-style:decimal; padding-inline-start:20px; margin-bottom:0;}
.ip-toc li{font-size:14.5px; margin-bottom:7px;}
.ip-toc a{color:var(--charcoal); transition:color .2s ease;}
.ip-toc a:hover{color:var(--red); text-decoration:underline;}

/* ---------- Cards: city grid / guide grid ---------- */
.ip-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:18px; margin:28px 0;}
.ip-card{
  background:var(--white); border:1px solid var(--line); border-radius:6px; padding:26px 22px;
  transition:border-color .2s ease, transform .2s ease, box-shadow .2s ease;
}
.ip-card:hover{border-color:var(--red); transform:translateY(-3px); box-shadow:0 16px 32px -20px rgba(27,26,25,.25);}
.ip-card h3{font-family:var(--font-display); font-weight:700; font-size:18px; margin-bottom:8px;}
.ip-card p{font-size:14.5px; color:#5a564f; line-height:1.7; margin-bottom:14px;}
.ip-card a.ip-card-link{
  font-family:var(--font-display); font-weight:700; font-size:13.5px; color:var(--red);
  display:inline-flex; align-items:center; gap:5px;
}
@media (max-width:900px){ .ip-grid{grid-template-columns:repeat(2,1fr);} }
@media (max-width:600px){ .ip-grid{grid-template-columns:1fr;} }

/* ---------- FAQ ---------- */
.ip-faq-item{border-top:1px solid var(--line); padding:18px 0;}
.ip-faq-item:last-child{border-bottom:1px solid var(--line);}
.ip-faq-q{font-family:var(--font-display); font-weight:700; font-size:16px; margin-bottom:8px; color:var(--charcoal);}
.ip-faq-a{font-size:15px; line-height:1.75; color:#4a4744; max-width:75ch;}

/* ---------- Related links panel ---------- */
.ip-related{
  background:var(--stone); border-radius:6px; padding:26px 24px; margin:36px 0;
}
.ip-related-title{font-family:var(--font-display); font-weight:700; font-size:15px; margin-bottom:14px;}
.ip-related-links{display:flex; flex-direction:column; gap:10px;}
.ip-related-links a{
  font-size:14.5px; color:var(--charcoal); display:flex; align-items:center; gap:8px;
  transition:color .2s ease;
}
.ip-related-links a:hover{color:var(--red);}
.ip-related-links a::before{content:'←'; color:var(--red); font-size:13px;}

/* ---------- Other areas strip ---------- */
.ip-other-areas{margin:32px 0; padding-top:24px; border-top:1px solid var(--line);}
.ip-other-areas-title{font-family:var(--font-display); font-weight:700; font-size:14px; margin-bottom:12px; color:#7a756e;}
.ip-other-areas-links{display:flex; flex-wrap:wrap; gap:10px;}
.ip-other-areas-links a{
  font-size:13.5px; padding:8px 14px; border:1px solid var(--line); border-radius:20px; color:var(--charcoal);
  transition:border-color .2s ease, color .2s ease;
}
.ip-other-areas-links a:hover{border-color:var(--red); color:var(--red);}

/* ---------- Final CTA block ---------- */
.ip-cta-block{
  background:var(--charcoal); border-radius:8px; padding:clamp(28px,5vw,44px); margin:40px 0 8px; text-align:center;
}
.ip-cta-block h2{color:#fff; font-family:var(--font-display); font-weight:800; font-size:clamp(22px,3vw,28px); margin-bottom:12px;}
.ip-cta-block p{color:rgba(255,255,255,.7); font-size:15px; margin-bottom:22px;}
.ip-cta-actions{display:flex; align-items:center; justify-content:center; gap:14px; flex-wrap:wrap;}
.ip-cta-actions .ip-btn{font-size:15px; padding:15px 28px;}

/* ---------- Footer (mirrors main site) ---------- */
.ip-footer{background:var(--charcoal); color:rgba(255,255,255,.6); padding:40px 0 26px; margin-top:50px;}
.ip-footer-inner{display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:18px;}
.ip-footer-logo{height:26px; width:auto;}
.ip-footer-links{display:flex; gap:20px; font-size:13px; flex-wrap:wrap;}
.ip-footer-links a:hover{color:#fff;}
.ip-footer-bottom{
  margin-top:24px; padding-top:20px; border-top:1px solid rgba(255,255,255,.1); font-size:12px;
  display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px;
}
@media (max-width:640px){
  .ip-footer-inner{flex-direction:column; align-items:flex-start;}
}

@media (prefers-reduced-motion: reduce){
  *{animation-duration:.001ms !important; transition-duration:.001ms !important;}
}
