/*
Theme Name: Rainbuilders
Author: {{HOTEL_NAME}}
Description: Kuopio, North Savo — rainbuilders.com.
Version: 2.1.0
Requires at least: 6.4
Requires PHP: 7.4
Text Domain: rainbuilders
*/

:root{--paper:#f6f7f5;--ink:#1d2422;--primary:#44666b;--dark:#2b494d;--accent:#8a6b3a;--line:#dde0dc;--birch:#ffffff}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--paper);color:var(--ink);font-family:"Source Serif 4",Georgia,serif;font-size:17px;line-height:1.68;overflow-wrap:break-word}
h1,h2,h3{font-family:"Josefin Sans",system-ui,sans-serif;font-weight:600;line-height:1.2;margin:0 0 .6rem;letter-spacing:.01em}
h1{font-size:1.95rem}h2{font-size:1.4rem}h3{font-size:1.04rem}
p{margin:0 0 1.1rem}
a{color:var(--dark)}
a:focus-visible,button:focus-visible{outline:3px solid var(--accent);outline-offset:3px}
img,svg{max-width:100%;height:auto;display:block}

.rain-skip{position:absolute;left:-9999px;background:var(--dark);color:#fff;padding:.7rem 1rem;z-index:60}
.rain-skip:focus{left:0;top:0}
.rain-width{width:100%;max-width:900px;margin:0 auto;padding:0 22px}
.rain-width-wide{width:100%;max-width:1080px;margin:0 auto;padding:0 22px}

.rain-top{padding:22px 0 0}
.rain-top-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.rain-top-name{text-decoration:none;color:var(--ink);min-width:0;font-family:"Josefin Sans",sans-serif}
.rain-top-name span{display:block;font-size:.62rem;letter-spacing:.3em;text-transform:uppercase;color:var(--accent)}
.rain-top-name b{font-size:1.22rem;font-weight:600;letter-spacing:.04em}
.rain-top-key{flex:0 0 auto;font:inherit;font-family:"Josefin Sans",sans-serif;font-size:.74rem;letter-spacing:.18em;text-transform:uppercase;background:none;border:0;border-bottom:2px solid var(--primary);color:var(--primary);padding:0 0 3px;cursor:pointer}
.rain-paths{display:none;padding:12px 0 0}
.rain-paths.unfolded{display:block}
.rain-paths ul{list-style:none;margin:0;padding:0;font-family:"Josefin Sans",sans-serif}
.rain-paths li{border-bottom:1px solid var(--line)}
.rain-paths a{display:block;padding:.5rem 0;text-decoration:none;color:var(--ink);font-size:.92rem;letter-spacing:.04em}
.rain-paths a[aria-current="page"]{color:var(--accent)}
.rain-hr{border:0;border-top:1px solid var(--line);margin:20px 0 0}

.rain-open{padding:36px 0 8px;text-align:center}
.rain-open h1{max-width:19ch;margin-left:auto;margin-right:auto}
.rain-open p{max-width:52ch;margin-left:auto;margin-right:auto;color:#434d4a}
.rain-wide-figure{margin:28px 0 0;background:var(--birch);border:1px solid var(--line);padding:14px}
.rain-wide-figure img{width:100%;max-height:460px;object-fit:cover}
.rain-wide-figure figcaption{font-size:.8rem;color:#5b6462;margin-top:10px;text-align:left}

.rain-counts{display:grid;gap:0;margin:28px 0 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.rain-counts div{padding:16px 0;text-align:center;border-top:1px solid var(--line)}
.rain-counts div:first-child{border-top:0}
.rain-counts b{display:block;font-family:"Josefin Sans",sans-serif;font-size:1.5rem;font-weight:600;color:var(--primary)}
.rain-counts span{display:block;font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:#6d7573;margin-top:5px}

.rain-stack{padding:36px 0;border-bottom:1px solid var(--line)}
.rain-stack-tag{font-family:"Josefin Sans",sans-serif;font-size:.68rem;letter-spacing:.24em;text-transform:uppercase;color:var(--accent);margin:0 0 .4rem;text-align:center}
.rain-stack h2{text-align:center;max-width:24ch;margin-left:auto;margin-right:auto}
.rain-stack-body{max-width:62ch;margin:1.2rem auto 0}
.rain-stack-body p:last-child{margin-bottom:0}
.rain-stack-note{display:block;text-align:center;margin-top:1.4rem;font-family:"Josefin Sans",sans-serif;font-size:.78rem;letter-spacing:.2em;text-transform:uppercase;color:var(--accent)}

.rain-numbered{list-style:none;counter-reset:room;margin:1.4rem 0 0;padding:0;max-width:62ch;margin-left:auto;margin-right:auto}
.rain-numbered li{counter-increment:room;border-top:1px solid var(--line);padding:16px 0 16px 3.2rem;position:relative}
.rain-numbered li::before{content:counter(room,decimal-leading-zero);position:absolute;left:0;top:18px;font-family:"Josefin Sans",sans-serif;font-size:.86rem;letter-spacing:.1em;color:var(--accent)}
.rain-numbered b{display:block;font-family:"Josefin Sans",sans-serif;font-size:1rem;font-weight:600}
.rain-numbered em{font-style:normal;display:block;font-size:.84rem;color:#6d7573;margin-top:.15rem}

.rain-page{padding:32px 0 38px}
.rain-page h1{text-align:center}
.rain-lede{text-align:center;max-width:56ch;margin:0 auto 1.6rem;color:#434d4a}
.rain-text{max-width:62ch;margin:0 auto}
.rain-text h2{margin-top:1.9rem}
.rain-text ul,.rain-text ol{padding-left:1.15rem}
.rain-text li{margin-bottom:.4rem}
.rain-text table{display:block;overflow-x:auto;border-collapse:collapse;width:100%;font-size:.88rem}
.rain-text th,.rain-text td{border:1px solid var(--line);padding:.45rem .55rem;text-align:left;vertical-align:top}

.rain-cells{list-style:none;margin:1.2rem auto 0;padding:0;max-width:62ch;display:grid;gap:12px}
.rain-cells li{border-left:3px solid var(--accent);padding:12px 14px;background:var(--birch)}
.rain-cells b{display:block;font-family:"Josefin Sans",sans-serif;font-size:.68rem;letter-spacing:.2em;text-transform:uppercase;color:var(--primary);margin-bottom:.25rem}

.rain-small{max-width:62ch;margin:0 auto;border-top:1px solid var(--line);padding-top:14px;font-size:.79rem;color:#5b6462}

.rain-foot{background:var(--dark);color:#cfdbda;padding:34px 0 26px;margin-top:30px;font-size:.87rem}
.rain-foot a{color:#eaf4f3}
.rain-foot h2{color:#fff;font-size:.94rem;font-family:"Josefin Sans",sans-serif}
.rain-foot ul{list-style:none;margin:0;padding:0}
.rain-foot li{margin-bottom:.28rem}
.rain-foot-grid{display:grid;gap:20px}
.rain-foot-rule{margin:18px 0 0;padding-top:13px;border-top:1px solid rgba(255,255,255,.18)}
.rain-foot-btn{font:inherit;background:none;border:0;color:#eaf4f3;text-decoration:underline;padding:0;cursor:pointer}

.rain-door{position:fixed;inset:0;z-index:70;background:rgba(27,45,47,.95);display:grid;place-items:start center;overflow-y:auto;padding:24px 16px 150px}
.rain-door[hidden]{display:none}
.rain-door-card{background:var(--birch);max-width:430px;width:100%;padding:26px 22px;margin-top:9vh;text-align:center;border-top:3px solid var(--accent)}
.rain-door-row{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin-top:15px}
.rain-door-row button{font:inherit;font-family:"Josefin Sans",sans-serif;letter-spacing:.06em;padding:.58rem 1.05rem;border:1px solid var(--primary);background:none;color:var(--primary);cursor:pointer}
.rain-door-row button:first-child{background:var(--primary);color:#fff}
.rain-door-no{margin-top:12px;font-size:.92rem;color:var(--accent)}
.rain-door-no[hidden]{display:none}

.rain-shelf{position:fixed;left:0;right:0;bottom:0;z-index:80;background:var(--birch);border-top:1px solid var(--line);box-shadow:0 -1px 14px rgba(0,0,0,.08);padding:13px 0;font-size:.85rem}
.rain-shelf[hidden]{display:none}
.rain-shelf-in{display:grid;gap:9px}
.rain-shelf-row{display:flex;gap:9px;flex-wrap:wrap}
.rain-shelf-row button{font:inherit;font-family:"Josefin Sans",sans-serif;letter-spacing:.06em;padding:.45rem .9rem;border:1px solid var(--primary);background:none;color:var(--primary);cursor:pointer}
.rain-shelf-row button:first-child{background:var(--primary);color:#fff}

@media (min-width:640px){
  h1{font-size:2.4rem}h2{font-size:1.7rem}
  .rain-counts{grid-template-columns:repeat(3,1fr)}
  .rain-counts div{border-top:0;border-left:1px solid var(--line)}
  .rain-counts div:first-child{border-left:0}
  .rain-cells{grid-template-columns:repeat(2,1fr)}
  .rain-foot-grid{grid-template-columns:1.3fr 1fr 1fr}
  .rain-shelf-in{grid-template-columns:1fr auto;align-items:center}
}
@media (min-width:900px){
  .rain-top-key{display:none}
  .rain-paths{display:block;padding:10px 0 0}
  .rain-paths ul{display:flex;justify-content:center;gap:26px}
  .rain-paths li{border-bottom:0}
  .rain-paths a{padding:0;font-size:.85rem}
}
