/* ==========================================================================
   Muskoka theme styles — ported verbatim from the approved HTML prototype.
   Do not redesign. Any new component styles should be appended at the
   bottom under "Dynamic theme additions" rather than altering the rules
   below, so the file stays diffable against the original prototype.
   ========================================================================== */
:root{
  --pine:#1E3D32;
  --ink:#132A22;
  --granite:#3F5C63;
  --granite-2:#5D8089;
  --birch:#F4F0E4;
  --paper:#FFFFFF;
  --maple:#C33D2E;
  --gold:#D9A441;
  --stone:#5C6B62;
  --line:#DAD9C8;
  --radius:14px;
  --display:'DM Serif Display',serif;
  --body:'DM Sans',sans-serif;
  --mono:'IBM Plex Mono',monospace;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){
  html{scroll-behavior:auto}
  *,*::before,*::after{animation:none!important;transition:none!important}
}
body{font-family:var(--body);color:var(--ink);background:var(--birch);line-height:1.55;font-size:16px}
a{color:var(--granite)}
a:focus-visible,button:focus-visible,input:focus-visible{outline:3px solid var(--gold);outline-offset:2px;border-radius:4px}
.skip{position:absolute;left:-999px;top:0;background:var(--pine);color:#fff;padding:.6rem 1rem;z-index:100}
.skip:focus{left:8px;top:8px}
.wrap{max-width:1120px;margin:0 auto;padding:0 20px}

/* advisory bar */
.advisory{background:var(--gold);color:#2E2205;font-size:.9rem;padding:.55rem 0}
.advisory .wrap{display:flex;gap:.75rem;align-items:center;justify-content:space-between}
.advisory strong{font-weight:700}
.advisory button{background:none;border:1.5px solid #2E2205;border-radius:20px;padding:.1rem .7rem;font:inherit;cursor:pointer;color:#2E2205}

/* nav */
header.site{position:sticky;top:0;z-index:50;background:var(--pine);color:#fff}
.nav{display:flex;align-items:center;justify-content:space-between;padding:.85rem 0}
.brand{display:flex;align-items:center;gap:.65rem;color:#fff;text-decoration:none}
.brand svg{flex:none}
.brand b{font-family:var(--display);font-weight:400;font-size:1.12rem;letter-spacing:.01em;line-height:1.15}
.brand small{display:block;font-family:var(--mono);font-size:.62rem;letter-spacing:.14em;text-transform:uppercase;opacity:.75}
nav.main ul{display:flex;gap:1.4rem;list-style:none}
nav.main a{color:#E9EFE9;text-decoration:none;font-size:.95rem;font-weight:500}
nav.main a:hover{color:var(--gold)}
.book-btn{background:var(--maple);color:#fff;text-decoration:none;font-weight:700;padding:.55rem 1.1rem;border-radius:30px;font-size:.92rem}
.menu-toggle{display:none;background:none;border:1.5px solid #ffffff66;color:#fff;border-radius:8px;padding:.4rem .7rem;font:inherit;cursor:pointer}
@media(max-width:840px){
  nav.main{display:none;position:absolute;top:100%;left:0;right:0;background:var(--pine);padding:1rem 20px 1.4rem;border-top:1px solid #ffffff22}
  nav.main.open{display:block}
  nav.main ul{flex-direction:column;gap:1rem}
  .menu-toggle{display:block}
  .book-btn{display:none}
}

/* hero */
.hero{
    background:
        linear-gradient(
            rgba(15, 36, 30, calc(var(--hero-overlay, .55) * 0.82)),
            rgba(15, 36, 30, var(--hero-overlay, .55))
        ),
        url("https://www.themuskokalake.com/wp-content/uploads/2026/07/muskokahero-1.png");
    background-size: cover;
    background-position: center 35%;
    background-repeat: no-repeat;
    color: #e44b4b;
    position: relative;
    overflow: hidden;
    min-height: 100vh;}
.hero .wrap{position:relative;z-index:2;padding-top:4.2rem;padding-bottom:0}
.hero h1{font-family:var(--display);font-weight:400;font-size:clamp(2.2rem,5.4vw,3.9rem);line-height:1.05;max-width:14ch}
.hero h1 em{font-style:normal;color:var(--gold)}
.hero p.lede{margin:1.1rem 0 1.6rem;font-size:1.08rem;max-width:46ch;color:#DCE6DD}
.hero .cta-row{display:flex;gap:.8rem;flex-wrap:wrap;margin-bottom:2.6rem}
.btn{display:inline-block;text-decoration:none;font-weight:700;padding:.75rem 1.4rem;border-radius:30px;font-size:.98rem}
.btn.primary{background:var(--maple);color:#fff}
.btn.ghost{border:1.5px solid #ffffff77;color:#fff}
.btn.ghost:hover{border-color:var(--gold);color:var(--gold)}
.hero svg.scene{display:block;width:100%;height:auto;margin-bottom:-4px}
.eyebrow{font-family:var(--mono);font-size:.72rem;letter-spacing:.18em;text-transform:uppercase;color:var(--gold);margin-bottom:.9rem;display:block}

/* live conditions strip */
.conditions{background:var(--ink);color:#CFE0D4;font-family:var(--mono);font-size:.82rem}
.conditions .wrap{display:flex;gap:2.2rem;overflow-x:auto;padding:.7rem 20px;white-space:nowrap;align-items:center}
.conditions span b{color:var(--gold);font-weight:500}
.dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#4CC38A;margin-right:.45rem;animation:pulse 2.4s infinite}
@keyframes pulse{0%,100%{opacity:1}50%{opacity:.35}}

/* sections */
section{padding:4rem 0}
h2{font-family:var(--display);font-weight:400;font-size:clamp(1.7rem,3.4vw,2.4rem);line-height:1.14;margin-bottom:.5rem}
.section-head{display:flex;justify-content:space-between;align-items:end;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}
.section-head p{color:var(--stone);max-width:52ch}
.link-more{font-weight:700;text-decoration:none;white-space:nowrap}

/* combo row: events + heritage side by side */
.combo{background:var(--paper)}
.combo-grid{display:grid;grid-template-columns:1fr 1fr;gap:0}
.combo-col{padding:0 2.4rem}
.combo-col:first-child{padding-left:0}
.combo-col:last-child{padding-right:0;border-left:1px solid var(--line)}
@media(max-width:900px){
  .combo-grid{grid-template-columns:1fr}
  .combo-col{padding:0!important;border-left:none!important}
  .combo-col:last-child{margin-top:3rem;padding-top:2.6rem!important;border-top:1px solid var(--line)}
}

/* heritage */
.her-grid{display:grid;grid-template-columns:1fr;gap:1.1rem}
.her{display:grid;grid-template-columns:120px 1fr;gap:1.2rem;border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;background:var(--birch)}
@media(max-width:520px){.her{grid-template-columns:1fr}}
.her .art{border-radius:10px;overflow:hidden;min-height:110px}
.her .art svg,.her .art img{width:100%;height:100%;display:block;object-fit:cover}
.her h3{font-family:var(--display);font-weight:400;font-size:1.12rem;margin-bottom:.3rem}
.her p{font-size:.88rem;color:var(--stone);margin-bottom:.5rem}
.her .est{font-family:var(--mono);font-size:.7rem;letter-spacing:.12em;text-transform:uppercase;color:var(--granite)}

/* events */
.filters{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1.6rem}
.filters button{font:inherit;font-size:.85rem;font-weight:700;border:1.5px solid var(--line);background:var(--paper);color:var(--stone);padding:.4rem 1rem;border-radius:20px;cursor:pointer}
.filters button[aria-pressed=true]{background:var(--pine);border-color:var(--pine);color:#fff}
.event-list{display:grid;gap:.8rem}
.no-events-msg{color:var(--stone);font-size:.9rem;padding:1rem 0}
.no-events-msg a{color:var(--pine);font-weight:700}
.event{display:grid;grid-template-columns:86px 1fr auto;gap:1.2rem;align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.3rem}
@media(max-width:600px){.event{grid-template-columns:70px 1fr}.event .btn-sm{grid-column:2}}
.date{font-family:var(--mono);text-align:center;background:var(--birch);border-radius:10px;padding:.55rem .3rem}
.date b{display:block;font-size:1.25rem;font-weight:500;color:var(--pine)}
.date span{font-size:.68rem;letter-spacing:.12em;text-transform:uppercase;color:var(--stone)}
.event h3{font-family:var(--display);font-weight:400;font-size:1.08rem}
.event p{font-size:.86rem;color:var(--stone)}
.tag{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--granite);margin-bottom:.25rem}
.event.hide{display:none}
.btn-sm{font-size:.85rem;font-weight:700;text-decoration:none;border:1.5px solid var(--pine);color:var(--pine);padding:.45rem 1rem;border-radius:20px;white-space:nowrap;background:transparent;cursor:pointer;font-family:inherit}
.btn-sm:hover{background:var(--pine);color:#fff}

/* trails */
.trails{background:var(--paper)}
.trail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.2rem}
@media(max-width:900px){.trail-grid{grid-template-columns:1fr}}
.trail{border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;background:var(--paper)}
.trail .art{height:140px;position:relative}
.trail .art svg,.trail .art img{width:100%;height:100%;display:block;object-fit:cover}
.chip{position:absolute;top:12px;left:12px;font-size:.72rem;font-weight:700;padding:.22rem .7rem;border-radius:20px;letter-spacing:.03em}
.chip.easy{background:#DEEFE3;color:#1B5C39}
.chip.moderate{background:#FBEECB;color:#7A5A08}
.chip.hard{background:#F7DBD6;color:#8C2F22}
.trail .pad{padding:1.2rem 1.3rem 1.4rem}
.trail h3{font-family:var(--display);font-weight:400;font-size:1.16rem;margin-bottom:.35rem}
.trail p{font-size:.9rem;color:var(--stone);margin-bottom:.9rem}
.stats{display:flex;gap:1.2rem;font-family:var(--mono);font-size:.76rem;color:var(--pine);border-top:1px dashed var(--line);padding-top:.8rem}
.stats b{display:block;font-size:.95rem;font-weight:500}

/* stays row */
.stays{background:var(--birch)}
.stay-row{display:grid;grid-auto-flow:column;grid-auto-columns:280px;gap:1.1rem;overflow-x:auto;padding-bottom:.8rem;scroll-snap-type:x mandatory}
.stay{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;scroll-snap-align:start;display:flex;flex-direction:column}
.stay .art{height:150px;position:relative}
.stay .art svg,.stay .art img{width:100%;height:100%;display:block;object-fit:cover}
.stay .pad{padding:1rem 1.1rem 1.2rem;display:flex;flex-direction:column;flex:1}
.stay .top{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem}
.stay h3{font-family:var(--display);font-weight:400;font-size:1.05rem}
.rate{font-family:var(--mono);font-size:.78rem;color:var(--pine);white-space:nowrap}
.stay p.loc{font-size:.82rem;color:var(--stone);margin:.15rem 0 .6rem}
.amen{display:flex;gap:.9rem;font-family:var(--mono);font-size:.72rem;color:var(--pine);border-top:1px dashed var(--line);padding-top:.7rem;margin-top:auto}
.stay .price{display:flex;justify-content:space-between;align-items:center;margin-top:.8rem}
.stay .price b{font-size:1.05rem}
.stay .price span{font-size:.8rem;color:var(--stone);font-weight:400}
.stay .btn-sm{background:var(--pine);color:#fff;border-color:var(--pine)}

/* alerts band */
.alerts-band{background:var(--pine);color:#fff}
.alerts-band .grid{display:grid;grid-template-columns:1.1fr .9fr;gap:3rem;align-items:center}
@media(max-width:840px){.alerts-band .grid{grid-template-columns:1fr}}
.alerts-band h2{color:#fff}
.alerts-band p{color:#CBDBCF;margin:.6rem 0 1.4rem;max-width:50ch}
.notify{background:#ffffff10;border:1px solid #ffffff2b;border-radius:var(--radius);padding:1.5rem}
.notify label{display:block;font-size:.85rem;margin-bottom:.4rem;color:#DCE6DD}
.notify .row{display:flex;gap:.6rem;flex-wrap:wrap}
.notify input[type=email]{flex:1;min-width:200px;padding:.7rem .9rem;border-radius:10px;border:1px solid #ffffff44;background:#ffffff14;color:#fff;font:inherit}
.notify input::placeholder{color:#ffffff77}
.notify button{background:var(--gold);border:none;color:#2E2205;font:inherit;font-weight:700;padding:.7rem 1.3rem;border-radius:10px;cursor:pointer}
.notify .topics{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.9rem}
.notify .topics label{display:flex;align-items:center;gap:.35rem;font-size:.8rem;background:#ffffff12;border:1px solid #ffffff2b;padding:.3rem .7rem;border-radius:20px;margin:0;cursor:pointer}
.notify .ok{margin-top:.8rem;font-size:.85rem;color:#8FE3B8;display:none}
.notify .err{margin-top:.8rem;font-size:.85rem;color:#F7B5AA;display:none}

/* plan cards */
.plan-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}
@media(max-width:900px){.plan-grid{grid-template-columns:repeat(2,1fr)}}
@media(max-width:520px){.plan-grid{grid-template-columns:1fr}}
.plan-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.4rem;text-decoration:none;color:var(--ink);display:block;transition:transform .15s ease,box-shadow .15s ease}
.plan-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #1E3D3214}
.plan-card .ico{width:42px;height:42px;border-radius:10px;background:var(--birch);display:grid;place-items:center;margin-bottom:.9rem;color:var(--granite)}
.plan-card .ico img{width:24px;height:24px;object-fit:contain}
.plan-card h3{font-family:var(--display);font-weight:400;font-size:1.12rem;margin-bottom:.3rem}
.plan-card p{font-size:.9rem;color:var(--stone)}

/* footer */
footer{background:var(--ink);color:#9FB5A9;padding:3rem 0 2rem;font-size:.9rem}
footer .cols{display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:2rem;margin-bottom:2rem}
@media(max-width:840px){footer .cols{grid-template-columns:1fr 1fr}}
footer h4{color:#fff;font-family:var(--display);font-weight:400;font-size:1rem;margin-bottom:.7rem}
footer ul{list-style:none}
footer li{margin-bottom:.45rem}
footer a{color:#9FB5A9;text-decoration:none}
footer a:hover{color:var(--gold)}
.fineprint{border-top:1px solid #ffffff18;padding-top:1.2rem;font-size:.78rem;font-family:var(--mono)}

/* ==========================================================================
   Dynamic theme additions — new rules needed to wire the static prototype
   to WordPress data. Nothing above this point has been altered.
   ========================================================================== */

/* screen-reader-only utility (WP core convention, used by comments/skip links) */
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
.screen-reader-text:focus{background-color:#f1f1f1;border-radius:4px;box-shadow:0 0 2px 2px rgba(0,0,0,.6);clip:auto!important;clip-path:none;color:#132A22;display:block;font-size:.9rem;font-weight:700;height:auto;left:8px;line-height:normal;padding:1rem 1.4rem;text-decoration:none;top:8px;width:auto;z-index:100000}

/* alignment classes WordPress core/Gutenberg expects every theme to style */
.alignleft{float:left;margin:.4rem 1.5rem 1rem 0}
.alignright{float:right;margin:.4rem 0 1rem 1.5rem}
.aligncenter{display:block;margin-left:auto;margin-right:auto}
.wp-caption{max-width:100%}
.wp-caption-text{font-size:.82rem;color:var(--stone);margin-top:.4rem}
img{max-width:100%;height:auto}

/* pagination, empty states, breadcrumb, blog + booking additions */
.breadcrumb{font-family:var(--mono);font-size:.78rem;color:var(--stone);padding:1rem 0 0}
.breadcrumb a{color:var(--granite);text-decoration:none}
.breadcrumb a:hover{color:var(--gold)}
.page-header{padding:2.4rem 0 0}
.page-header h1{font-family:var(--display);font-weight:400;font-size:clamp(1.9rem,4vw,2.8rem)}
.entry-content{max-width:72ch}
.entry-content > *+*{margin-top:1.1em}
.entry-content h2,.entry-content h3{margin-top:1.6em}
.entry-meta{font-family:var(--mono);font-size:.78rem;color:var(--stone);display:flex;gap:1rem;flex-wrap:wrap;margin:.6rem 0 1.6rem}
.pagination{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:2.4rem}
.pagination a,.pagination span{border:1.5px solid var(--line);border-radius:20px;padding:.4rem 1rem;font-size:.85rem;text-decoration:none;color:var(--stone)}
.pagination .current{background:var(--pine);border-color:var(--pine);color:#fff}
.no-results{padding:3rem 0;color:var(--stone)}
.related-posts{border-top:1px solid var(--line);margin-top:2.6rem;padding-top:2rem}
.share-buttons{display:flex;gap:.6rem;flex-wrap:wrap;margin:1.4rem 0}
.share-buttons a{font-size:.8rem;font-weight:700;border:1.5px solid var(--line);border-radius:20px;padding:.35rem .9rem;text-decoration:none;color:var(--stone)}
.reading-time{font-family:var(--mono)}
.booking-form{display:grid;gap:.9rem;max-width:520px;min-width:0}
.booking-form label{font-size:.85rem;font-weight:600;display:block;margin-bottom:.3rem}
.booking-form input,.booking-form select{width:100%;min-width:0;box-sizing:border-box;padding:.65rem .8rem;border:1px solid var(--line);border-radius:8px;font:inherit}
.booking-form input[type=date]{padding-right:.4rem}
.booking-form .row2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.9rem;min-width:0}
.status-pending{color:var(--gold)}
.status-confirmed{color:#1B5C39}
.status-cancelled{color:var(--maple)}
.widget{margin-bottom:2.2rem}
.widget h2,.widget-title{font-family:var(--display);font-weight:400;font-size:1.2rem;margin-bottom:.9rem}
.faq-item{border:1px solid var(--line);border-radius:var(--radius);padding:1rem 1.3rem;margin-bottom:.8rem;background:var(--paper)}
.faq-item summary{font-weight:700;cursor:pointer;font-family:var(--display);font-size:1.05rem}
.faq-item[open] summary{margin-bottom:.6rem}
.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem}
.gallery-grid img{border-radius:var(--radius);width:100%;height:180px;object-fit:cover}
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1.4rem}
.team-card{text-align:center}
.team-card img{width:120px;height:120px;border-radius:50%;object-fit:cover;margin:0 auto .8rem}
.testimonial-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.2rem}
.testimonial{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);padding:1.3rem}

/* WooCommerce — reuse the .stay card language for products */
.woocommerce-main{padding:2rem 0 4rem}
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(3,1fr);gap:1.1rem;list-style:none;margin:0}
@media(max-width:900px){.woocommerce ul.products{grid-template-columns:repeat(2,1fr)}}
@media(max-width:600px){.woocommerce ul.products{grid-template-columns:1fr}}
.woocommerce ul.products li.product.stay{width:auto;float:none;margin:0}
.woocommerce ul.products li.product .price{font-family:var(--body)}
.woocommerce ul.products li.product .button,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{background:var(--pine);color:#fff;border-radius:20px;border:1.5px solid var(--pine);font-weight:700;font-size:.85rem;padding:.45rem 1rem}
.woocommerce ul.products li.product .button:hover{background:var(--maple);border-color:var(--maple)}
.woocommerce span.onsale{background:var(--maple)}
.woocommerce-message,.woocommerce-info{border-top-color:var(--pine)}
.woocommerce-message::before,.woocommerce-info::before{color:var(--pine)}
.woocommerce div.product form.cart .button,.woocommerce #respond input#submit{background:var(--maple);border-color:var(--maple);border-radius:30px;color:#fff;font-weight:700}

/* blog / archive layout */
.content-sidebar-wrap{display:grid;grid-template-columns:1fr 300px;gap:2.6rem;align-items:start}
@media(max-width:840px){.content-sidebar-wrap{grid-template-columns:1fr}}
.content-sidebar-wrap.no-sidebar{grid-template-columns:1fr}
.post-list{display:grid;gap:1.4rem}
.post-list-grid{grid-template-columns:repeat(2,1fr)}
@media(max-width:700px){.post-list-grid{grid-template-columns:1fr}}
.post-card{display:grid;grid-template-columns:160px 1fr;gap:1.3rem;border:1px solid var(--line);border-radius:var(--radius);padding:1.2rem;background:var(--paper)}
@media(max-width:600px){.post-card{grid-template-columns:1fr}}
.post-card .thumb{border-radius:10px;overflow:hidden;min-height:130px;background:var(--birch)}
.post-card .thumb img{width:100%;height:100%;object-fit:cover;display:block}
.post-card>div{display:grid;grid-template-columns:1fr auto;align-items:center;gap:.3rem 1rem}
.post-card .tag,.post-card h2,.post-card p{grid-column:1}
.post-card h2{font-family:var(--display);font-weight:400;font-size:1.3rem;margin-bottom:.4rem}
.post-card h2 a{color:var(--ink);text-decoration:none}
.post-card p{color:var(--stone);font-size:.92rem}
.post-card .btn-sm{grid-column:2;grid-row:1/4;align-self:center;justify-self:end}
@media(max-width:600px){.post-card>div{grid-template-columns:1fr}.post-card .tag,.post-card h2,.post-card p,.post-card .btn-sm{grid-column:1}.post-card .btn-sm{grid-row:auto;justify-self:start;margin-top:.4rem}}

/* single CPT layout (stay/trail/event/heritage/package) */
.single-cpt-hero{border-radius:var(--radius);overflow:hidden;margin:1.5rem 0}
.single-cpt-hero img{width:100%;height:auto;display:block;max-height:440px;object-fit:cover}
.single-cpt-grid{display:grid;grid-template-columns:1fr 340px;gap:2.4rem;align-items:start}
@media(max-width:900px){.single-cpt-grid{grid-template-columns:1fr}.single-cpt-sidebar{position:static;top:auto}}
.single-cpt-facts{list-style:none;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:1.2rem 1.3rem;font-family:var(--mono);font-size:.85rem}
.single-cpt-facts li{display:flex;justify-content:space-between;gap:1rem;padding:.5rem 0;border-bottom:1px dashed var(--line)}
.single-cpt-facts li:last-child{border-bottom:none}
.single-cpt-sidebar{display:grid;gap:1.4rem;position:-webkit-sticky;position:sticky;top:5.5rem;align-self:start;align-content:start;min-width:0}
.single-cpt-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin:1.5rem 0}
.single-cpt-gallery img{width:100%;height:110px;object-fit:cover;border-radius:8px}

/* Recent reviews (Stay) */
.reviews-block{border-top:1px solid var(--line);margin-top:2.4rem;padding-top:2rem}
.reviews-list{display:grid;gap:1.1rem;margin-top:1rem}
.review-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);padding:1.1rem 1.3rem}
.review-head{display:flex;justify-content:space-between;align-items:baseline;gap:1rem}
.review-head time{font-family:var(--mono);font-size:.78rem;color:var(--stone)}
.review-stars{color:var(--gold);letter-spacing:.1em;margin:.3rem 0}
.review-item p{color:var(--ink);margin-top:.4rem}
.comment-form-rating{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.comment-form-rating .star-input{display:flex;flex-direction:row-reverse;gap:.3rem;font-family:var(--mono)}
.comment-form-rating .star-input label{border:1px solid var(--line);border-radius:6px;padding:.2rem .55rem;cursor:pointer}
.comment-form-rating .star-input input{position:absolute;opacity:0;width:1px;height:1px}
.comment-form-rating .star-input input:checked+label,.comment-form-rating .star-input input:focus-visible+label{background:var(--gold);border-color:var(--gold);color:#2E2205}

/* Where to eat nearby (Stay) */
.eateries-block{border-top:1px solid var(--line);margin-top:2.4rem;padding-top:2rem}
.eateries-grid{display:flex;flex-wrap:wrap;gap:1.1rem;margin-top:1rem}
.eatery-card{flex:1 1 210px;max-width:260px;border:1px solid var(--line);border-radius:var(--radius);background:var(--paper);overflow:hidden}
.eatery-card .eatery-img{position:relative;height:96px;display:flex;align-items:center;justify-content:center}
.eatery-card .eatery-icon{width:34px;height:34px;opacity:.6}
.eatery-card .badge{position:absolute;top:.7rem;left:.7rem;display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.03em;background:var(--paper);color:var(--granite);padding:.28rem .7rem;border-radius:20px;box-shadow:0 1px 3px #1E3D3226}
.eatery-card .eatery-distance{position:absolute;bottom:.6rem;right:.6rem;font-family:var(--mono);font-size:.68rem;background:var(--ink);color:#fff;padding:.22rem .6rem;border-radius:20px}
.eatery-card .pad{padding:.9rem 1rem 1.1rem}
.eatery-card h3{font-family:var(--display);font-weight:400;font-size:1.05rem;margin-bottom:.25rem}
.eatery-card p{font-size:.85rem;color:var(--stone);margin-bottom:.7rem}
.eatery-meta{display:flex;justify-content:space-between;align-items:center;font-family:var(--mono);font-size:.76rem;border-top:1px dashed var(--line);padding-top:.6rem}
.eatery-meta .rate{color:var(--pine)}
.eatery-meta .price{color:var(--stone)}
.eateries-note{font-size:.78rem;color:var(--stone);margin-top:.8rem}
