/* ==========================================================================
   Interieurpagina — neumorfisme, bewegingsontwerp & componentstyling
   ========================================================================== */

:root{
  --ip-paper:#EDE9E0;
  --ip-card:#EFEBE2;
  --ip-ink:#2A2723;
  --ip-olive:#5E6B49;
  --ip-olive-deep:#48522F;
  --ip-ochre:#BB8A3C;
  --ip-taupe:#8C8578;
  --ip-line:#DAD5C9;
  --ip-nm-lite:#FAF6EC;
  --ip-nm-dark:#CFC8B8;
  --ip-nm-out:-6px -6px 13px var(--ip-nm-lite), 7px 7px 16px var(--ip-nm-dark);
  --ip-nm-out-sm:-3px -3px 7px var(--ip-nm-lite), 4px 4px 9px var(--ip-nm-dark);
  --ip-nm-in:inset 3px 3px 7px var(--ip-nm-dark), inset -3px -3px 7px var(--ip-nm-lite);
  --ip-ease:cubic-bezier(.22,.61,.36,1);
}

body{ -webkit-font-smoothing:antialiased; }

/* ---- eyebrow / labels ---- */
.ip-eyebrow{
  font-size:.75rem;letter-spacing:.18em;text-transform:uppercase;font-weight:600;
  color:var(--ip-olive);margin:0 0 .35rem;
}
.ip-eyebrow a{color:inherit;text-decoration:none;}
.ip-eyebrow.taupe{color:var(--ip-taupe);}
.ip-eyebrow.ochre{color:var(--ip-ochre);}

/* ---- header ---- */
.ip-header .ip-nav a{color:#4a463f;text-decoration:none;transition:color .25s;}
.ip-header .ip-nav a:hover{color:var(--ip-olive);}
.wp-block-search.ip-search{margin:0;}
.wp-block-search.ip-search .wp-block-search__inside-wrapper{border:0;}
.wp-block-search.ip-search .wp-block-search__button{
  background:var(--ip-card);color:var(--ip-taupe);border:0;border-radius:50%;
  width:42px;height:42px;padding:0;display:grid;place-items:center;margin:0;
  box-shadow:var(--ip-nm-out-sm);transition:box-shadow .2s,color .2s;
}
.wp-block-search.ip-search .wp-block-search__button:hover{color:var(--ip-olive);}
.wp-block-search.ip-search .wp-block-search__button:active{box-shadow:var(--ip-nm-in);}
.wp-block-search.ip-search .wp-block-search__button svg{fill:currentColor;}

/* ---- hero ---- */
.ip-hero-title{font-size:clamp(2.4rem,5.4vw,3.75rem);line-height:1.02;letter-spacing:-.01em;margin:.4rem 0 1rem;}
.ip-hero-title em{font-style:italic;color:var(--ip-olive);}
.ip-lead{max-width:44ch;color:#453f38;margin:0;}
.ip-byline .ip-avatar img{box-shadow:var(--ip-nm-out-sm);}
.ip-byline-who{color:var(--ip-taupe);line-height:1.35;margin:0;}
.ip-byline-who strong{color:var(--ip-ink);font-family:var(--wp--preset--font-family--serif);}
.ip-hero-art{box-shadow:var(--ip-nm-out),0 30px 60px -34px rgba(53,42,28,.55);overflow:hidden;}
.ip-hero-tag{font-size:.72rem;letter-spacing:.16em;text-transform:uppercase;margin:0;opacity:.92;}

/* ---- buttons (neumorphic) ---- */
.ip-btn-solid .wp-block-button__link{
  background:linear-gradient(180deg,#68764f,#586845);color:#f6f5ee;border:0;border-radius:10px;
  box-shadow:var(--ip-nm-out);transition:transform .2s var(--ip-ease),box-shadow .2s;
}
.ip-btn-solid .wp-block-button__link:hover{transform:translateY(-2px);}
.ip-btn-solid .wp-block-button__link:active{transform:translateY(0);box-shadow:inset 3px 3px 7px #3d4628,inset -3px -3px 7px #6d7d52;}
.ip-btn-ghost .wp-block-button__link,
.wp-block-button.is-style-outline.ip-btn-ghost .wp-block-button__link{
  background:var(--ip-card);color:var(--ip-ink);border:0;border-radius:10px;
  box-shadow:var(--ip-nm-out-sm);transition:transform .2s var(--ip-ease),box-shadow .2s,color .2s;
}
.ip-btn-ghost .wp-block-button__link:hover{transform:translateY(-2px);color:var(--ip-olive);}
.ip-btn-ghost .wp-block-button__link:active{box-shadow:var(--ip-nm-in);}
.ip-btn-onlight .wp-block-button__link{
  background:#32362a;color:#efe9dd;border:0;border-radius:10px;
  box-shadow:-4px -4px 10px #3a3f30,5px 5px 12px #16140f;transition:transform .2s var(--ip-ease);
}
.ip-btn-onlight .wp-block-button__link:hover{transform:translateY(-2px);color:#fff;}

/* ---- rooms ---- */
.ip-rooms-grid{gap:1.25rem;}
.ip-room{box-shadow:var(--ip-nm-out-sm);overflow:hidden;transition:transform .3s var(--ip-ease),box-shadow .3s;}
.ip-room:hover{transform:translateY(-4px);box-shadow:var(--ip-nm-out);}
.ip-room .wp-block-cover__image-background{transition:transform .5s var(--ip-ease);}
.ip-room:hover .wp-block-cover__image-background{transform:scale(1.05);}
.ip-room-label{margin:0;}
.ip-room-label a{font-family:var(--wp--preset--font-family--serif);font-size:1.2rem;font-weight:600;color:#f7f3ea;text-decoration:none;}

/* ---- story ---- */
.ip-story{box-shadow:0 30px 60px -38px rgba(20,18,14,.7);}
.ip-story-title{line-height:1.12;}

/* ---- cards / query ---- */
.ip-cards{gap:1.6rem;}
.ip-card{
  background:var(--ip-card);border-radius:16px;overflow:hidden;
  box-shadow:var(--ip-nm-out-sm);transition:transform .3s var(--ip-ease),box-shadow .3s;
}
.ip-card:hover{transform:translateY(-5px);box-shadow:var(--ip-nm-out);}
.ip-card-thumb img{width:100%;object-fit:cover;display:block;}
.ip-card-thumb:not(:has(img)){display:none;}
.ip-card-cat a,.ip-card-cat{font-size:.68rem;letter-spacing:.16em;text-transform:uppercase;color:var(--ip-olive);font-weight:600;text-decoration:none;}
.ip-card-title a{font-family:var(--wp--preset--font-family--serif);color:var(--ip-ink);text-decoration:none;line-height:1.2;}
.ip-card-title a:hover{color:var(--ip-olive);}
.ip-card-meta{font-size:.8rem;color:var(--ip-taupe);}
.ip-card-meta .wp-block-post-author-name a,.ip-card-meta .wp-block-post-author-name{color:var(--ip-taupe);text-decoration:none;}
.ip-card-date{font-size:.8rem;color:var(--ip-taupe);margin:0;}

/* ---- single post ---- */
.ip-single-title{font-size:clamp(2rem,4.4vw,3rem);line-height:1.08;max-width:20ch;}
.ip-single-meta{font-size:.9rem;color:var(--ip-taupe);}
.ip-single-meta .wp-block-post-author-name a{color:var(--ip-ink);text-decoration:none;font-weight:600;}
.ip-single-meta .ip-meta-sep{margin:0;color:var(--ip-line);}
.ip-single-hero{box-shadow:var(--ip-nm-out-sm);overflow:hidden;}

/* content typography */
.ip-content{font-size:1.075rem;line-height:1.75;}
.ip-content p{margin:0 0 1.15rem;}
.ip-content h2{font-size:1.7rem;margin:2.4rem 0 .8rem;}
.ip-content h3{font-size:1.3rem;margin:1.8rem 0 .6rem;}
.ip-content ul,.ip-content ol{margin:0 0 1.2rem;padding-left:1.3rem;}
.ip-content li{margin:.35rem 0;}
.ip-content img,.ip-content .wp-block-image img{border-radius:12px;}
.ip-content a{color:var(--ip-olive);text-underline-offset:2px;}
.ip-content blockquote{border-left:3px solid var(--ip-olive);margin:1.6rem 0;padding:.2rem 0 .2rem 1.2rem;font-family:var(--wp--preset--font-family--serif);font-size:1.25rem;color:#3c3830;}

/* author box */
.ip-authorbox{background:var(--ip-card);box-shadow:var(--ip-nm-out-sm);}
.ip-authorbox .ip-author-name a{color:var(--ip-ink);text-decoration:none;}
.ip-authorbox .ip-avatar img,.ip-single-meta .ip-avatar img{border-radius:50%;box-shadow:var(--ip-nm-out-sm);}
.ip-author-bio{margin:0;}

/* post nav */
.ip-postnav a{color:var(--ip-ink);text-decoration:none;font-weight:600;}
.ip-postnav a:hover{color:var(--ip-olive);}

/* archive / query titles */
.ip-archive-title{font-size:clamp(1.9rem,4vw,2.6rem);}

/* pagination */
.wp-block-query-pagination a,.wp-block-query-pagination .wp-block-query-pagination-numbers{color:var(--ip-ink);}
.wp-block-query-pagination .current{color:var(--ip-olive);font-weight:700;}

/* ==========================================================================
   Bewegingsontwerp
   ========================================================================== */
.rv{opacity:0;transform:translateY(22px);transition:opacity .7s var(--ip-ease),transform .7s var(--ip-ease);}
.rv.in{opacity:1;transform:none;}

/* scroll-voortgangsbalk (via motion.js in <body>) */
#ip-progress{position:fixed;top:0;left:0;height:3px;width:0;background:var(--ip-olive);z-index:9999;transition:width .1s linear;}

@media (prefers-reduced-motion: reduce){
  .rv{opacity:1 !important;transform:none !important;transition:none !important;}
  .ip-card,.ip-room,.ip-btn-solid .wp-block-button__link,.ip-btn-ghost .wp-block-button__link{transition:none !important;}
  #ip-progress{display:none;}
}

/* ---- responsive ---- */
@media (max-width:781px){
  .ip-rooms-grid{gap:1rem;}
  .ip-hero-title{font-size:2.4rem;}
}
