/* Intimateplace site footer — scoped under .ip-footer (plum ground, paper text). */

.ip-footer {
  --ipf-paper: #f7f4ee;
  --ipf-rose: #eadbd6;
  --ipf-sand: #e9dfd1;
  --ipf-serif: Georgia, "Times New Roman", serif;
  --ipf-sans: Arial, "Helvetica Neue", sans-serif;
  background: #51263b;
  color: var(--ipf-paper);
  padding: 0;
  margin-top: 0;
}
.ip-footer * { box-sizing: border-box; }
/* Footer scope: strip WP constrained inner sizing (Block Element renders outside .entry-content). */
.ip-footer .wp-block-group__inner-container { max-width: none; padding: 0; }
.ip-footer a { color: #f0e3e8; text-decoration: none; border-bottom: 0; }
.ip-footer a:hover { color: var(--ipf-paper); text-decoration: underline; text-underline-offset: 4px; }
.ip-footer h2 { font-family: var(--ipf-serif); font-weight: 400; letter-spacing: -0.035em; line-height: 1.1; font-size: 43px; max-width: 420px; margin: 0 0 14px; }
.ip-footer h2 em { font-style: italic; color: inherit; }
.ip-footer h3 { font-family: var(--ipf-sans); font-size: 10px; letter-spacing: 0.13em; text-transform: uppercase; font-weight: 400; line-height: 1.3; margin: 0 0 14px; color: #e4cbd7; }
.ip-footer p { font-family: var(--ipf-sans); font-size: 12px; line-height: 1.65; }
/* The wp:group .ip-footer-top renders inner container between the grid and its content —
   apply the design grid there (content blocks are the inner container's children).
   Box mirrors design .footer-top: 1264px centered, padding-block 55, no inline padding. */
.ip-footer .ip-footer-top { grid-template-columns: none; padding-block: 55px; padding-inline: 0; border-bottom: 1px solid #815a6d; max-width: 1264px; margin-inline: auto; display: block; }
.ip-footer .ip-footer-top > .wp-block-group__inner-container { display: grid; grid-template-columns: 1.12fr 1fr; gap: 90px; align-items: start; }
.ip-footer .ip-footer-top p { color: #dcc7d0; margin: 14px 0 0; max-width: 365px; }
.ip-footer .ip-footer-news { max-width: 420px; justify-self: end; }
/* p.-prefixed selectors beat the catch-all ".ip-footer .ip-footer-top p" rule
   (fs11/mt15) that was flattening the label and note. */
.ip-footer .ip-footer-top p.ip-footer-label { font-size: 10px; letter-spacing: 0.13em; text-transform: uppercase; margin: 0 0 8px; color: #e8d7de; max-width: none; }
/* Newsletter field (design .newsletter-field): underline input + 50x50 arrow button. */
.ip-footer .ip-footer-field { border-bottom: 1px solid #b994a8; display: flex; align-items: center; }
.ip-footer .ip-footer-field input { background: none; border: 0; color: var(--ipf-paper); width: 100%; min-width: 0; padding: 14px 0; font-family: var(--ipf-sans); font-size: 14px; line-height: 1.65; }
.ip-footer .ip-footer-field input::placeholder { color: #d5bac7; }
.ip-footer .ip-footer-field input:focus { outline: none; }
.ip-footer .ip-footer-field button { min-width: 50px; min-height: 50px; color: var(--ipf-paper); display: flex; align-items: center; justify-content: center; background: none; border: 0; border-radius: 0; padding: 1px; margin: 0; cursor: pointer; }
.ip-footer .ip-footer-field button svg { width: 21px; height: 21px; }
/* design .newsletter-form .small{font-size:10px;color:#d6bdc9;margin-top:12px} */
.ip-footer .ip-footer-top p.ip-footer-note { font-size: 10px; line-height: 1.65; color: #d6bdc9; margin: 12px 0 0; max-width: none; }
/* Box mirrors design .footer-columns: 1264px centered, padding-block 45, no inline padding.
   margin-bottom:0 kills GP's default wp-block-columns margin (26.25px @1.75em). */
.ip-footer .ip-footer-cols { display: grid; grid-template-columns: 1.6fr 1fr 1fr 1fr; gap: 40px; max-width: 1264px; margin: 0 auto; padding: 45px 0; }
/* Column links are separate <a> rows inside one <p> (with <br> separators): hide the <br>,
   each .ip-footer-cols p a is a block-level flex row of min-height 33px (design .footer-column a).
   The brand anchor is a bare wp:html child (not inside a p) — excluded here so it keeps
   the design .brand metrics: fs15 inherited, h39 (svg), no min-height/padding. */
.ip-footer .ip-footer-cols br { display: none; }
.ip-footer .ip-footer-cols p { margin: 0; }
.ip-footer .ip-footer-cols p a { font-size: 11px; min-height: 33px; display: flex; align-items: center; padding: 4px 0; }
.ip-footer .ip-footer-brand { display: flex; align-items: center; min-width: 250px; gap: 10px; line-height: 1; white-space: nowrap; font-family: var(--ipf-serif); margin: 0 0 24px; color: var(--ipf-paper); text-decoration: none; }
.ip-footer .ip-footer-brand svg { display: inline-block; width: 24px; height: 39px; flex: none; }
.ip-footer .ip-footer-brand-word { font-family: var(--ipf-serif); font-size: 31px; line-height: 0.9; letter-spacing: -1.7px; }
.ip-footer .ip-footer-brand + p { color: #d5bbc6; font-size: 11px; max-width: 275px; margin: 0; }
/* Box mirrors design .footer-bottom: 1264px centered, padding-block 23, no inline padding,
   border-top hairline. margin:0 auto kills GP's default wp-block-paragraph margins. */
.ip-footer .ip-footer-bottom { display: flex; justify-content: space-between; align-items: center; gap: 22px; max-width: 1264px; margin: 0 auto; border-top: 1px solid #815a6d; padding: 23px 0; font-size: 9px; color: #d9c3ce; letter-spacing: 0.05em; }
.ip-footer .ip-footer-bottom a { margin-left: 0; font-size: 9px; }
.ip-footer .ip-footer-bottom a + a { margin-left: 21px; }
/* Age-notice control: pinned to the design kit's computed button metrics
   (fs9 / lh 14.85 / UA padding 1px 6px / no border / transparent) so the
   bottom row renders 16.8px tall like .footer-bottom in the design. */
.ip-footer .ip-footer-bottom button { margin-left: 21px; font-family: var(--ipf-sans); font-size: 9px; line-height: 1.65; letter-spacing: normal; text-transform: none; text-decoration: none; color: #d9c3ce; background: none; border: 0; padding: 1px 6px; }

@media (max-width: 980px) {
  /* design @980: footer content sits inside .container (padding-inline 32),
     .footer-top keeps grid 1.12fr 1fr with gap 50, h2 stays 43px. */
  .ip-footer { padding-inline: 32px; }
  .ip-footer .ip-footer-top, .ip-footer .ip-footer-cols, .ip-footer .ip-footer-bottom { max-width: none; margin-inline: 0; padding-inline: 0; }
  .ip-footer .ip-footer-top > .wp-block-group__inner-container { gap: 50px; }
  .ip-footer .ip-footer-cols { grid-template-columns: 1.5fr 1fr 1fr; gap: 25px; }
  .ip-footer .ip-footer-cols .wp-block-column:last-child { display: none; }
}
@media (max-width: 720px) {
  .ip-footer { padding-inline: 21px; }
  .ip-footer .ip-footer-top { padding-block: 39px; }
  /* the grid lives on the inner container (outer .ip-footer-top is display:block) */
  .ip-footer .ip-footer-top > .wp-block-group__inner-container { grid-template-columns: 1fr; gap: 28px; }
  .ip-footer .ip-footer-news { justify-self: start; }
  /* (.ip-footer .ip-footer-top h2 beats .ip-home h2{font-size:37px} which loads later) */
  .ip-footer .ip-footer-top h2 { font-size: 40px; max-width: 300px; }
  .ip-footer .ip-footer-top p { font-size: 11px; margin-top: 15px; }
  .ip-footer .ip-footer-top p.ip-footer-label { font-size: 9px; }
  .ip-footer .ip-footer-field input { font-size: 12px; }
  .ip-footer .ip-footer-top p.ip-footer-note { font-size: 9px; }
  .ip-footer .ip-footer-cols { grid-template-columns: 1fr 1fr; gap: 32px 25px; padding-block: 32px; }
  .ip-footer .ip-footer-cols .wp-block-column:last-child { display: block; }
  .ip-footer .ip-footer-cols .wp-block-column:first-child { grid-column: 1 / -1; }
  /* design @720: .brand-mark{width:20px;height:29px} (global) applies to the footer
     brand too; anchor keeps fs15 (no font-size override) and margin-bottom 0 —
     design .brand has no margin, so brand block = 29 + p(mt17) + p. */
  .ip-footer .ip-footer-brand { margin-bottom: 0; }
  .ip-footer .ip-footer-brand svg { width: 20px; height: 29px; }
  .ip-footer .ip-footer-brand + p { font-size: 10px; max-width: 300px; margin-top: 17px; }
  .ip-footer .ip-footer-cols h3 { font-size: 9px; margin-bottom: 10px; }
  .ip-footer .ip-footer-cols p a { font-size: 10px; min-height: 32px; }
  .ip-footer .ip-footer-bottom { flex-direction: column; align-items: flex-start; gap: 13px; padding-block: 22px 45px; font-size: 8px; }
  .ip-footer .ip-footer-bottom a { font-size: 8px; }
  /* design bottom inherits fs8 — the age button drops to fs8 too (row 15.2 = 13.2+2). */
  .ip-footer .ip-footer-bottom button { font-size: 8px; }
  .ip-footer .ip-footer-bottom a + a { margin-left: 16px; }
}
@media (prefers-reduced-motion: reduce) {
  .ip-footer * { transition: none !important; }
}