/*
Theme Name:   Ivory Petal (child)
Theme URI:    https://ivorypetal.one-stop.com/
Description:  Ivory Petal — bridal-party and wedding-day keepsakes, Printful print-on-demand. One Stop Enterprises, 2026-10-21.
Author:       One Stop Enterprises
Template:     rara-ecommerce-pro
Version:      1.0
Text Domain:  ivorypetal-child
*/

/* ---------------------------------------------------------------- tokens */
:root{
  --ground:#FBF7F0; --paper:#FFFDF8; --ink:#3B342F; --muted:#7A6F66; --line:#E8DDCC;
  --gold:#A9814F; --gold-d:#8C6738; --champ:#E7D2AE; --blush:#F4E6E1; --blush-d:#D9AFA6; --sage:#9DAA8E; --sage-d:#76866A;
  --mocha:#4A3B30; --mocha-d:#3A2E25;
  --display:'Cormorant Garamond', Georgia, 'Times New Roman', serif;
  --body:'Jost', -apple-system, 'Segoe UI', sans-serif;
  --script:'Pinyon Script', 'Snell Roundhand', cursive;
  --r:14px; --shadow:0 10px 30px rgba(74,59,48,.10);
  --wrap:1200px;
}
*,*::before,*::after{ box-sizing:border-box; }
html{ scroll-behavior:smooth; -webkit-text-size-adjust:100%; }
body.ivp{ margin:0; background:var(--ground); color:var(--ink); font:400 17px/1.65 var(--body); overflow-x:hidden; }
body.ivp img{ max-width:100%; height:auto; display:block; }
body.ivp a{ color:var(--gold-d); text-decoration-thickness:1px; text-underline-offset:3px; }
body.ivp a:hover{ color:var(--ink); }
body.ivp h1, body.ivp h2, body.ivp h3{ font-family:var(--display); font-weight:500; color:var(--ink); line-height:1.12; margin:0 0 .45em; letter-spacing:.005em; }
body.ivp h1{ font-size:clamp(2.4rem, 5.4vw, 4.2rem); }
body.ivp h2{ font-size:clamp(1.9rem, 3.6vw, 2.8rem); }
body.ivp h3{ font-size:1.45rem; }
body.ivp p{ margin:0 0 1em; }
.screen-reader-text{ position:absolute !important; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); white-space:nowrap; }
.screen-reader-text:focus{ position:fixed !important; top:8px; left:8px; width:auto; height:auto; clip:auto; background:#fff; padding:8px 12px; z-index:999; }
.ivp-wrap{ width:100%; max-width:var(--wrap); margin:0 auto; padding-left:20px; padding-right:20px; }
.ivp-script{ font-family:var(--script); font-weight:400; color:var(--gold); font-size:1.12em; letter-spacing:0; line-height:1; }
.ivp-kicker{ font:500 .76rem/1.4 var(--body); text-transform:uppercase; letter-spacing:.26em; color:var(--gold-d); margin:0 0 14px; }
.ivp-center{ text-align:center; }
.ivp-small{ font-size:.88rem; color:var(--muted); }
.ivp-note{ background:var(--paper); border:1px dashed var(--champ); border-radius:var(--r); padding:12px 16px; font-size:.92rem; color:var(--muted); }
.ivp-flag{ display:inline-block; background:var(--blush); color:var(--mocha); border:1px solid var(--blush-d); border-radius:999px; padding:4px 14px; font:500 .74rem/1.5 var(--body); letter-spacing:.08em; text-transform:uppercase; margin-bottom:14px; }
.ivp-beat{ font-family:var(--display); font-style:italic; font-size:1.5rem; color:var(--gold-d); }
.ivp-lead{ font-size:1.2rem; }

/* ---------------------------------------------------------------- buttons */
.ivp-btn, body.ivp button.ivp-btn{ display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:48px; padding:12px 26px; border-radius:999px; border:1px solid var(--mocha); background:var(--mocha); color:#FFF8EE !important; font:500 .86rem/1 var(--body); text-transform:uppercase; letter-spacing:.16em; text-decoration:none; cursor:pointer; transition:background .2s, color .2s, border-color .2s; }
.ivp-btn:hover, body.ivp button.ivp-btn:hover{ background:var(--gold-d); border-color:var(--gold-d); color:#fff !important; }
.ivp-btn--ghost{ background:transparent; color:var(--mocha) !important; }
.ivp-btn--ghost:hover{ background:var(--mocha); color:#FFF8EE !important; }
.ivp-btn--block{ width:100%; }
.ivp-btns{ display:flex; flex-wrap:wrap; gap:12px; margin-top:22px; }
.ivp-btns--center{ justify-content:center; }

/* ---------------------------------------------------------------- preview strip */
.ivp-poc{ background:var(--mocha-d); color:#EADFCF; font-size:.8rem; text-align:center; padding:7px 16px; line-height:1.45; }
.ivp-poc strong{ color:var(--champ); }

/* ---------------------------------------------------------------- header */
.ivp-header{ background:rgba(255,253,248,.96); border-bottom:1px solid var(--line); position:sticky; top:0; z-index:50; backdrop-filter:blur(6px); }
.admin-bar .ivp-header{ top:32px; }
.ivp-header__bar{ display:flex; align-items:center; gap:18px; min-height:76px; }
.ivp-brand{ display:flex; align-items:center; gap:10px; text-decoration:none; flex:0 0 auto; }
.ivp-brand img{ width:46px; height:46px; }
.ivp-brand__name{ font:500 1.55rem/1 var(--display); letter-spacing:.16em; text-transform:uppercase; color:var(--ink); white-space:nowrap; }
.ivp-header__tools{ display:none; align-items:center; gap:6px; margin-left:auto; }
.ivp-burger{ background:none; border:0; color:var(--ink); width:44px; height:44px; padding:8px; cursor:pointer; }
.ivp-nav{ margin-left:auto; }
.ivp-nav > ul{ list-style:none; display:flex; align-items:center; gap:4px 20px; margin:0; padding:0; }
.ivp-nav > ul > li > a{ display:inline-flex; align-items:center; gap:6px; color:var(--ink); text-decoration:none; font:500 .78rem/1 var(--body); text-transform:uppercase; letter-spacing:.14em; padding:8px 0; border-bottom:1px solid transparent; }
.ivp-nav > ul > li > a:hover, .ivp-nav > ul > li.is-current > a{ color:var(--gold-d); border-bottom-color:var(--gold); }
/* OSE POC Commerce header items, mapped into the shell */
.ivp-header .ivp-nav .ose-hdr > a{ color:var(--ink); font:500 .78rem/1 var(--body); text-transform:uppercase; letter-spacing:.12em; padding:8px 0; gap:6px; }
.ivp-header .ivp-nav .ose-hdr > a:hover, .ivp-header .ivp-nav .ose-hdr.is-current > a{ color:var(--gold-d); }
.ivp-header .ivp-nav .ose-hdr--acct > a{ border:1px solid var(--champ); border-radius:999px; padding:9px 14px; }
.ivp-header .ivp-nav .ose-hdr--cart .ose-hdr__label{ display:none; }
.ivp-header .ivp-nav .ose-hdr__sub a{ text-transform:none; letter-spacing:0; font-size:.95rem; color:var(--ink) !important; padding:10px 14px !important; }
.ivp-header .ose-hdr-bar{ color:var(--ink); }
.ivp-header .ose-cartcount{ background:var(--gold); color:#fff; }
@media (min-width:1001px) and (max-width:1240px){
  .ivp-nav > ul{ gap:4px 14px; }
  .ivp-header .ivp-nav .ose-hdr--status span, .ivp-nav > ul > li:nth-child(6){ display:none; }
}
@media (max-width:1000px){
  .ivp-header__tools{ display:flex; }
  .ivp-header .ose-hdr-bar{ display:inline-flex; }
  .ivp-header .ose-hdr-bar__l{ display:none; }
  .ivp-header .ose-hdr-bar--acct{ width:40px; height:40px; padding:0; justify-content:center; }
  .ivp-nav{ display:none; position:absolute; left:0; right:0; top:100%; background:var(--paper); border-bottom:1px solid var(--line); box-shadow:0 18px 30px rgba(74,59,48,.12); max-height:calc(100vh - 110px); overflow:auto; }
  .ivp-nav.is-open{ display:block; }
  .ivp-nav > ul{ flex-direction:column; align-items:stretch; gap:0; padding:8px 20px 20px; }
  .ivp-nav > ul > li > a, .ivp-header .ivp-nav .ose-hdr > a{ display:flex !important; padding:14px 0 !important; border:0 !important; border-bottom:1px solid var(--line) !important; border-radius:0 !important; font-size:.9rem; }
  .ivp-header .ivp-nav .ose-hdr{ display:block; }
  .ivp-header .ivp-nav .ose-hdr--cart .ose-hdr__label{ display:inline; }
  .ivp-header .ivp-nav .ose-hdr__sub{ display:flex !important; position:static; box-shadow:none; border:0; background:none; padding:0 0 6px 18px; min-width:0; }
  .ivp-header .ivp-nav .ose-hdr__sub a{ padding:10px 0 !important; }
  .ivp-header__bar{ position:relative; min-height:64px; }
  .ivp-brand__name{ font-size:1.25rem; letter-spacing:.12em; }
  .ivp-brand img{ width:40px; height:40px; }
}

/* ---------------------------------------------------------------- page title band */
.ivp-band{ position:relative; overflow:hidden; background:linear-gradient(180deg, var(--paper), var(--ground)); border-bottom:1px solid var(--line); padding:64px 0 54px; text-align:center; }
.ivp-band__art{ position:absolute; width:300px; left:-40px; bottom:-60px; opacity:.55; pointer-events:none; }
.ivp-band__art--r{ left:auto; right:-40px; transform:scaleX(-1); }
.ivp-band__inner{ position:relative; }
.ivp-band h1{ margin-bottom:.25em; }
.ivp-band h1 .ivp-script{ display:inline-block; font-size:1.18em; }
.ivp-band__sub{ max-width:640px; margin:0 auto; color:var(--muted); font-size:1.08rem; }
@media (max-width:700px){ .ivp-band{ padding:44px 0 38px; } .ivp-band__art{ width:170px; bottom:-40px; left:-50px; opacity:.4; } .ivp-band__art--r{ right:-50px; left:auto; } }

/* ---------------------------------------------------------------- home hero */
.ivp-hero{ background:radial-gradient(1200px 500px at 85% 20%, #F6EBDD, transparent 60%), var(--paper); border-bottom:1px solid var(--line); overflow:hidden; }
.ivp-hero__grid{ display:grid; grid-template-columns:1.05fr 1fr; gap:40px; align-items:center; padding-top:56px; padding-bottom:64px; }
.ivp-hero__title{ display:flex; flex-direction:column; gap:6px; margin-bottom:18px !important; }
.ivp-hero__name{ font-family:var(--display); font-weight:500; text-transform:uppercase; letter-spacing:.14em; font-size:clamp(2.6rem, 6vw, 4.6rem); line-height:1; }
.ivp-hero__title .ivp-script{ font-size:clamp(2rem, 4vw, 3.2rem); }
.ivp-hero__tag{ font:500 .9rem/1.5 var(--body); text-transform:uppercase; letter-spacing:.2em; color:var(--mocha); }
.ivp-hero__sub{ font-size:1.1rem; max-width:520px; color:#544A42; }
.ivp-hero__art{ position:relative; min-height:520px; }
.ivp-hero__bouquet{ position:absolute; width:78%; left:12%; top:-4%; opacity:.95; }
.ivp-hero__tile{ position:absolute; margin:0; background:#fff; border-radius:var(--r); box-shadow:var(--shadow); overflow:hidden; border:6px solid #fff; }
.ivp-hero__tile img{ width:100%; aspect-ratio:1; object-fit:cover; }
.ivp-hero__tile--1{ width:44%; left:0; bottom:4%; transform:rotate(-4deg); }
.ivp-hero__tile--2{ width:40%; left:32%; bottom:-2%; z-index:2; }
.ivp-hero__tile--3{ width:40%; right:0; bottom:10%; transform:rotate(5deg); }
@media (max-width:900px){
  .ivp-hero__grid{ grid-template-columns:1fr; padding-top:36px; gap:18px; }
  .ivp-hero__art{ min-height:0; aspect-ratio:1.15; }
}

/* ---------------------------------------------------------------- sections */
.ivp-section{ padding:76px 0; }
.ivp-section--paper{ background:var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line); }
.ivp-section--blush{ background:var(--blush); }
.ivp-head{ text-align:center; max-width:720px; margin:0 auto 38px; }
.ivp-head p{ color:var(--muted); }
.ivp-prose{ max-width:720px; }
.ivp-center.ivp-prose{ margin:0 auto; }
@media (max-width:700px){ .ivp-section{ padding:52px 0; } }

.ivp-split{ display:grid; grid-template-columns:1fr 1fr; gap:56px; align-items:center; }
.ivp-split--top{ align-items:start; }
.ivp-split--rev .ivp-split__art{ order:2; }
.ivp-split__art{ position:relative; }
.ivp-split__art--stack{ display:grid; grid-template-columns:1fr 1fr; gap:16px; }
.ivp-split__art--stack img{ border-radius:var(--r); box-shadow:var(--shadow); background:#fff; }
.ivp-split__art--stack img:nth-child(2){ margin-top:40px; }
@media (max-width:860px){ .ivp-split{ grid-template-columns:1fr; gap:32px; } .ivp-split--rev .ivp-split__art{ order:0; } }

.ivp-story{ background:var(--ground); }
.ivp-story__mark{ position:absolute; left:50%; top:50%; transform:translate(-50%,-50%); font-size:3.6rem; }
.ivp-ticks{ list-style:none; padding:0; margin:0 0 20px; }
.ivp-ticks li{ position:relative; padding-left:28px; margin:8px 0; }
.ivp-ticks li::before{ content:""; position:absolute; left:4px; top:.55em; width:12px; height:12px; border-radius:50% 0 50% 0; background:var(--sage); transform:rotate(45deg); }
.ivp-ol{ padding-left:1.2em; } .ivp-ol li{ margin:0 0 12px; }

/* collections */
.ivp-colls{ display:grid; grid-template-columns:repeat(5, 1fr); gap:18px; }
.ivp-coll{ display:flex; flex-direction:column; align-items:center; text-align:center; text-decoration:none; color:var(--ink) !important; }
.ivp-coll__img{ display:block; width:100%; aspect-ratio:1; border-radius:50% 50% var(--r) var(--r); overflow:hidden; background:#fff; border:1px solid var(--line); box-shadow:var(--shadow); transition:transform .25s; }
.ivp-coll:hover .ivp-coll__img{ transform:translateY(-4px); }
.ivp-coll__img img{ width:100%; height:100%; object-fit:cover; }
.ivp-coll__name{ font:500 1.2rem/1.2 var(--display); margin-top:14px; }
.ivp-coll__n{ font-size:.78rem; text-transform:uppercase; letter-spacing:.18em; color:var(--muted); }
@media (max-width:900px){ .ivp-colls{ grid-template-columns:repeat(3, 1fr); } }
@media (max-width:560px){ .ivp-colls{ grid-template-columns:repeat(2, 1fr); gap:14px; } }

/* product cards */
.ivp-grid{ display:grid; grid-template-columns:repeat(4, 1fr); gap:22px; }
@media (max-width:1100px){ .ivp-grid{ grid-template-columns:repeat(3, 1fr); } }
@media (max-width:760px){ .ivp-grid{ grid-template-columns:repeat(2, 1fr); gap:14px; } }
.ivp-card{ display:flex; flex-direction:column; background:var(--paper); border:1px solid var(--line); border-radius:var(--r); overflow:hidden; transition:box-shadow .25s, transform .25s; }
.ivp-card:hover{ box-shadow:var(--shadow); transform:translateY(-2px); }
.ivp-card[hidden]{ display:none; }
.ivp-card__img{ position:relative; background:#fff; aspect-ratio:1; }
.ivp-card__img img{ width:100%; height:100%; object-fit:cover; }
.ivp-card__flag{ position:absolute; left:10px; top:10px; background:var(--paper); border:1px solid var(--champ); color:var(--gold-d); border-radius:999px; font:500 .68rem/1 var(--body); letter-spacing:.12em; text-transform:uppercase; padding:6px 10px; }
.ivp-card__body{ display:flex; flex-direction:column; flex:1; padding:16px 16px 18px; }
.ivp-card__type{ font:500 .68rem/1.3 var(--body); text-transform:uppercase; letter-spacing:.18em; color:var(--sage-d); margin:0 0 6px; }
.ivp-card__name{ font-size:1.25rem !important; margin:0 0 6px !important; }
.ivp-card__name .ose-dish{ font:inherit; color:inherit; text-align:left; background:none; border:0; padding:0; cursor:pointer; text-decoration:underline; text-decoration-color:rgba(169,129,79,.35); text-underline-offset:4px; }
.ivp-card__name .ose-dish:hover{ color:var(--gold-d); }
.ivp-card__desc{ font-size:.9rem; color:var(--muted); margin:0 0 10px; }
.ivp-card__price{ margin:auto 0 4px; display:flex; flex-wrap:wrap; align-items:center; gap:6px; }
.ivp-card__price > span:first-child{ font:600 1.15rem/1 var(--display); color:var(--ink); }
.ivp-card__price .ose-samplebadge{ font-size:.66rem; }
.ivp-card__made{ font-size:.72rem; color:var(--muted); margin:0 0 12px; }
.ivp-card__buy .ose-qa{ flex-wrap:wrap; gap:8px; }
.ivp-card__buy .ose-add{ background:var(--mocha); color:#FFF8EE; border-radius:999px; text-transform:uppercase; letter-spacing:.12em; font-size:.74rem; }
.ivp-card__buy .ose-add:hover{ background:var(--gold-d); }
@media (max-width:760px){
  .ivp-card__body{ padding:12px 12px 14px; }
  .ivp-card__name{ font-size:1.08rem !important; }
  .ivp-card__desc{ display:none; }
  .ivp-card__buy .ose-step__btn, .ivp-card__buy .ose-step__n{ width:28px; }
  .ivp-card__buy .ose-qa .ose-add{ padding:8px 12px; min-width:0; flex:1; }
}

/* shop page */
.ivp-shopbar{ display:flex; flex-wrap:wrap; gap:14px 24px; align-items:center; justify-content:space-between; margin-bottom:18px; }
.ivp-shopnav{ display:flex; flex-wrap:wrap; gap:8px; }
.ivp-shopnav a{ text-decoration:none; color:var(--ink) !important; border:1px solid var(--line); background:var(--paper); border-radius:999px; padding:8px 14px; font-size:.84rem; }
.ivp-shopnav a:hover{ border-color:var(--gold); }
.ivp-shopnav small{ color:var(--muted); }
.ivp-filter{ display:flex; gap:8px; flex:1 1 360px; max-width:520px; }
.ivp-filter input, .ivp-filter select{ min-height:44px; border:1px solid var(--line); border-radius:999px; padding:0 16px; background:#fff; font:400 .95rem var(--body); color:var(--ink); }
.ivp-filter input{ flex:1; min-width:0; }
.ivp-group{ margin-top:48px; scroll-margin-top:100px; }
.ivp-group[hidden]{ display:none; }
.ivp-group__head{ display:flex; flex-wrap:wrap; align-items:baseline; gap:6px 18px; border-bottom:1px solid var(--champ); padding-bottom:10px; margin-bottom:22px; }
.ivp-group__head h2{ margin:0; }
.ivp-group__head p{ margin:0; color:var(--muted); }
.ivp-cta-band{ margin-top:60px; display:flex; flex-wrap:wrap; gap:18px; align-items:center; justify-content:space-between; background:var(--mocha); color:#F3EADF; border-radius:var(--r); padding:28px 32px; }
.ivp-cta-band h2{ color:#FFF8EE !important; margin:0 0 4px; font-size:1.9rem; }
.ivp-cta-band p{ margin:0; color:#E2D5C4; }
.ivp-cta-band .ivp-btn{ background:var(--champ); color:var(--mocha-d) !important; border-color:var(--champ); }
.ivp-cta-band .ivp-btn:hover{ background:#fff; border-color:#fff; }

/* bridal party */
.ivp-steps{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; margin-bottom:56px; }
.ivp-step{ background:var(--paper); border:1px solid var(--line); border-radius:var(--r); padding:26px; text-align:center; }
.ivp-step__n{ display:inline-grid; place-items:center; width:42px; height:42px; border-radius:50%; background:var(--blush); color:var(--gold-d); font:600 1.2rem var(--display); margin-bottom:10px; }
@media (max-width:760px){ .ivp-steps{ grid-template-columns:1fr; } }

/* custom orders */
.ivp-minis{ display:grid; grid-template-columns:repeat(4,1fr); gap:10px; margin:10px 0 18px; }
.ivp-mini{ text-decoration:none; color:var(--ink) !important; font-size:.76rem; line-height:1.3; }
.ivp-mini img{ border-radius:10px; border:1px solid var(--line); background:#fff; margin-bottom:6px; }
@media (max-width:560px){ .ivp-minis{ grid-template-columns:repeat(3,1fr); } }

/* forms */
.ivp-formcard{ background:var(--paper); border:1px solid var(--line); border-radius:var(--r); padding:30px; box-shadow:var(--shadow); }
.ivp-formcard h2{ font-size:1.9rem; }
.ivp-form p{ margin:0 0 14px; }
.ivp-form label{ display:block; font:500 .78rem/1.4 var(--body); text-transform:uppercase; letter-spacing:.12em; color:var(--mocha); margin-bottom:6px; }
body.ivp .ivp-form input, body.ivp .ivp-form select, body.ivp .ivp-form textarea{ width:100%; min-height:46px; border:1px solid var(--line); border-radius:10px; background:#fff; padding:10px 14px; font:400 1rem var(--body); color:var(--ink); }
body.ivp .ivp-form textarea{ min-height:110px; }
body.ivp .ivp-form input:focus, body.ivp .ivp-form select:focus, body.ivp .ivp-form textarea:focus{ outline:2px solid var(--champ); border-color:var(--gold); }
.ivp-form__2{ display:grid; grid-template-columns:1fr 1fr; gap:0 14px; }
@media (max-width:560px){ .ivp-form__2{ grid-template-columns:1fr; } .ivp-formcard{ padding:22px 18px; } }
.ivp-req{ color:var(--blush-d); }
.ivp-hp{ position:absolute; left:-9999px; }
.ivp-alert{ background:#EEF2E8; border:1px solid var(--sage); border-radius:10px; padding:12px 16px; margin-bottom:16px; }
.ivp-alert--soft{ background:var(--blush); border-color:var(--blush-d); }

/* quotes / reviews */
.ivp-quotes{ display:grid; grid-template-columns:repeat(3,1fr); gap:20px; }
.ivp-quote{ margin:0; background:var(--paper); border:1px solid var(--line); border-radius:var(--r); padding:26px 24px; }
.ivp-quote p{ font:italic 400 1.2rem/1.45 var(--display); }
.ivp-quote footer{ font-size:.82rem; color:var(--muted); }
.ivp-reviews-sample{ margin-top:48px; }
@media (max-width:860px){ .ivp-quotes{ grid-template-columns:1fr; } }

/* about */
.ivp-why dt{ font:500 1.25rem var(--display); color:var(--gold-d); margin-top:16px; }
.ivp-why dd{ margin:2px 0 0; }
.ivp-about-art{ position:sticky; top:110px; }

/* faq */
.ivp-faq{ max-width:860px; }
.ivp-faq h2{ margin-top:40px; font-size:2rem; }
.ivp-faq__summary{ display:grid; grid-template-columns:repeat(3,1fr); gap:14px; }
.ivp-faq__summary div{ background:var(--paper); border:1px solid var(--line); border-radius:var(--r); padding:18px; text-align:center; }
.ivp-faq__summary strong{ display:block; font:600 1.35rem/1.2 var(--display); color:var(--gold-d); }
.ivp-faq__summary span{ font-size:.86rem; color:var(--muted); }
.ivp-qa{ border-bottom:1px solid var(--line); padding:4px 0; }
.ivp-qa summary{ cursor:pointer; list-style:none; padding:14px 30px 14px 0; position:relative; font-weight:500; }
.ivp-qa summary::-webkit-details-marker{ display:none; }
.ivp-qa summary::after{ content:"+"; position:absolute; right:4px; top:10px; font:400 1.5rem var(--display); color:var(--gold); }
.ivp-qa[open] summary::after{ content:"–"; }
.ivp-qa p{ color:#544A42; }
@media (max-width:700px){ .ivp-faq__summary{ grid-template-columns:1fr; } }

/* contact */
.ivp-contact p{ display:grid; grid-template-columns:90px 1fr; gap:10px; border-bottom:1px solid var(--line); padding:10px 0; margin:0; }
.ivp-contact span{ font:500 .74rem/1.9 var(--body); text-transform:uppercase; letter-spacing:.16em; color:var(--muted); }
.ivp-contact + p{ margin-top:20px; }

/* promise strip + close */
.ivp-promise{ background:var(--paper); border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:48px 0; }
.ivp-promise__grid{ display:grid; grid-template-columns:repeat(3,1fr); gap:28px; text-align:center; }
.ivp-promise h3{ font-size:1.4rem; color:var(--gold-d); }
.ivp-promise p{ margin:0; color:#544A42; font-size:.95rem; }
@media (max-width:760px){ .ivp-promise__grid{ grid-template-columns:1fr; } }
.ivp-close{ background:radial-gradient(800px 300px at 50% 0%, #F3E6D6, transparent 70%), var(--ground); }
.ivp-close h2 .ivp-script{ display:block; margin-top:6px; }

/* ---------------------------------------------------------------- footer */
.ivp-footer{ background:var(--mocha); color:#E8DCCB; padding:60px 0 26px; }
.ivp-footer a{ color:#F3E7D5 !important; text-decoration:none; }
.ivp-footer a:hover{ color:var(--champ) !important; text-decoration:underline; }
.ivp-footer h3{ color:var(--champ) !important; font-size:1.2rem; letter-spacing:.06em; }
.ivp-footer ul{ list-style:none; margin:0; padding:0; }
.ivp-footer li{ margin:0 0 8px; font-size:.94rem; }
.ivp-footer__cols{ display:grid; grid-template-columns:1.4fr 1fr 1fr 1fr; gap:36px; }
.ivp-footer__name{ font:500 1.6rem/1 var(--display); letter-spacing:.18em; text-transform:uppercase; color:#FFF8EE; margin:12px 0 10px; }
.ivp-footer__brand p{ font-size:.94rem; }
.ivp-footer__bottom{ display:flex; flex-wrap:wrap; justify-content:space-between; gap:10px; border-top:1px solid rgba(231,210,174,.25); margin-top:36px; padding-top:18px; font-size:.82rem; color:#CDBDA8; }
@media (max-width:860px){ .ivp-footer__cols{ grid-template-columns:1fr 1fr; } .ivp-footer__brand{ grid-column:1 / -1; } }
@media (max-width:480px){ .ivp-footer__cols{ grid-template-columns:1fr; } }

/* ---------------------------------------------------------------- WooCommerce + OSE POC Commerce */
.ivp-shoppage .ivp-wrap{ max-width:1100px; }
.ivp-back a{ text-decoration:none; font-size:.86rem; text-transform:uppercase; letter-spacing:.14em; }
.ivp-made{ background:var(--paper); border:1px solid var(--line); border-radius:var(--r); padding:14px 18px; margin:16px 0; font-size:.92rem; }
.ivp-made p{ margin:0 0 4px; }
body.ivp .woocommerce .button, body.ivp .woocommerce button.button, body.ivp .woocommerce a.button, body.ivp .woocommerce #place_order{ background:var(--mocha); color:#FFF8EE; border-radius:999px; font:500 .84rem/1 var(--body); text-transform:uppercase; letter-spacing:.12em; padding:14px 22px; border:0; }
body.ivp .woocommerce .button:hover, body.ivp .woocommerce #place_order:hover{ background:var(--gold-d); color:#fff; }
body.ivp .woocommerce table.shop_table{ border-color:var(--line); border-radius:var(--r); background:var(--paper); }
body.ivp .woocommerce table.shop_table td, body.ivp .woocommerce table.shop_table th{ border-color:var(--line); }
body.ivp .woocommerce-info, body.ivp .woocommerce-message{ border-top-color:var(--gold); background:var(--paper); }
body.ivp .woocommerce-info::before, body.ivp .woocommerce-message::before{ color:var(--gold); }
body.ivp .woocommerce form .form-row input.input-text, body.ivp .woocommerce form .form-row textarea, body.ivp .woocommerce form .form-row select{ border:1px solid var(--line); border-radius:10px; padding:10px 12px; background:#fff; min-height:44px; }
body.ivp .ose-field input, body.ivp .ose-field textarea{ border-color:var(--line); border-radius:10px; }
.ivp-wcshop .ose-ocat h2{ border-bottom:1px solid var(--champ); padding-bottom:8px; }
.ivp-wcshop .ose-jump{ --ose-sticky-top:86px; background:var(--ground); }
.ose-steps b, .ose-ready{ background:var(--sage-d); }
body.ivp .ose-panel h2, body.ivp .ose-panel h3{ font-family:var(--display); }

/* ---------------------------------------------------------------- fixes after the first render (2026-10-21) */
.ivp-nav > ul > li > a, .ivp-header .ivp-nav .ose-hdr > a{ white-space:nowrap; }
@media (min-width:1001px){ .ivp-nav > ul{ gap:4px 16px; } .ivp-nav > ul > li > a{ letter-spacing:.1em; } }
@media (min-width:1001px) and (max-width:1300px){ .ivp-brand__name{ font-size:1.3rem; letter-spacing:.12em; } .ivp-nav > ul{ gap:4px 12px; } .ivp-nav > ul > li > a, .ivp-header .ivp-nav .ose-hdr > a{ font-size:.72rem; } }
.ivp-band .ivp-band__sub{ margin:0 auto; }
.ivp-head .ivp-kicker, .ivp-head p{ margin-left:auto; margin-right:auto; }
p.ivp-center{ margin-top:30px; }
@media (max-width:700px){ .ivp-filter{ flex:1 1 100%; max-width:100%; } .ivp-filter select{ max-width:44%; } }
@media (max-width:760px){
  .ivp-card__buy .ose-qa{ display:flex; flex-wrap:wrap; gap:8px; }
  .ivp-card__buy .ose-step{ flex:1 1 100%; justify-content:space-between; }
  .ivp-card__buy .ose-qa .ose-add{ flex:1 1 100%; min-height:40px; }
}
