/* Ever After — considered refinements to the established design system. */
:root { --ea-rose-ink: #68433d; --ea-soft-border: #ded2c9; }

/* A single, persistent quote action lives with the shared header utilities. */
.ea-header-quote {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:40px; padding:9px 16px; border:1px solid #b9897e; border-radius:2px;
  background:#FFF8F3; color:#4A3B36; font-size:.7rem; font-weight:600;
  letter-spacing:.025em; text-decoration:none; white-space:nowrap;
  transition:background .2s, border-color .2s, color .2s;
}
.ea-header-quote:hover { background:#D69C92; border-color:#ad776b; color:#302B29; }
.ea-header-quote:focus-visible,.ea-quote-banner__button:focus-visible { outline:2px solid #68433d; outline-offset:3px; }
.ea-header-main { column-gap:clamp(14px,2vw,30px); }
.ea-header-actions { gap:5px; }
.ea-menu { gap:clamp(12px,1.2vw,20px); }
.ea-menu a[aria-current="page"] { color:#68433d; text-decoration:underline; text-underline-offset:7px; }
.ea-collection-menu { position:relative; }
.ea-collection-menu summary { padding:12px 0; cursor:pointer; font-size:.75rem; font-weight:500; }
.ea-menu .ea-collection-menu__links {
  position:absolute; z-index:1100; top:100%; left:0; display:grid;
  width:280px; max-height:65vh; overflow:auto; padding:12px;
  border:1px solid var(--ea-line); background:#FFFDFC; box-shadow:0 14px 30px #302b290d;
}
.ea-collection-menu:not(:has(details[open])) .ea-collection-menu__links { display:none; }
.ea-menu .ea-collection-menu__links li { width:100%; }
.ea-menu .ea-collection-menu__links a { display:block; padding:9px 12px; font-size:.78rem; white-space:normal; }
.ea-menu .ea-collection-menu__links .is-current { background:#f5e7e2; }

/* Refined product search, with the existing product-only query and keyboard controls. */
.ea-search-panel { padding:18px 0; box-shadow:0 8px 18px #302b2908; }
.ea-search-form { overflow:hidden; border:1px solid #d8c9c1; border-radius:6px; background:#FAF7F3; }
.ea-search-form:focus-within { border-color:#9c655a; box-shadow:0 0 0 3px #d69c9226; }
.ea-search-form input[type="search"] {
  min-width:0; min-height:44px; padding:10px 14px; border:0; background:transparent;
  font-size:.86rem; outline:none;
}
.ea-search-form button { min-width:44px; min-height:44px; padding:8px 14px; background:transparent; color:#514741; font-size:.72rem; }
.ea-search-form button svg { width:18px; height:18px; }
.ea-search-close { font-size:.73rem; }

/* Only the quote invitation follows the owner's centered reference composition. */
.ea-quote-banner { padding:30px 0 28px; border-top:0; border-bottom:10px solid #F1E5D8; background:#FFF7EF; text-align:center; }
.ea-quote-banner > .ea-container { display:flex; flex-direction:column; align-items:center; }
.ea-quote-banner .ea-kicker { margin-bottom:10px; }
.ea-quote-banner h2 { margin:0 0 18px; color:#302B29; font-size:clamp(2rem,3vw,2.45rem); line-height:1.1; }
.ea-quote-banner__text { max-width:620px; margin:0 0 20px; color:#4A3B36; font-size:.875rem; line-height:1.65; }
.ea-quote-banner__button {
  display:inline-flex; min-height:40px; align-items:center; justify-content:center;
  padding:9px 24px; border:1px solid #c18a80; border-radius:2px;
  background:#D69C92; color:#302B29; font-size:.8rem; font-weight:600; line-height:1.4;
  text-decoration:none; transition:background .2s, border-color .2s;
}
.ea-quote-banner__button:hover { background:#e3b2a9; border-color:#ad776b; }

/* Warm footer and an uninterrupted closing-section transition. */
.ea-site-footer { margin:0; border-top:1px solid #d8c9c1; background:#E9DED7; color:#514741; }
.ea-footer-grid { padding-block:50px 42px; grid-template-columns:minmax(210px,1.4fr) repeat(4,minmax(0,1fr)); gap:32px; }
.ea-footer-title { margin-bottom:18px; color:#514741; font-size:.67rem; letter-spacing:.12em; }
.ea-footer-brand p { margin:0 0 18px; color:#655a53; font-size:1.15rem; }
.ea-footer-logo { width:200px; height:auto; margin-bottom:15px; padding:0; background:transparent; filter:none; border:0; }
.ea-footer-logo--circular { width:160px; height:auto; aspect-ratio:1; object-fit:contain; }
.ea-site-footer a { color:#514741; font-size:.78rem; }
.ea-site-footer a:hover { color:#68433d; text-decoration:underline; text-underline-offset:4px; }
.ea-site-footer li + li { margin-top:9px; }
.ea-footer-story-link { display:inline-flex; align-items:center; gap:8px; }
.ea-footer-story-link svg { width:17px; height:17px; }
.ea-footer-social a { display:inline-flex; align-items:center; gap:10px; min-height:32px; }
.ea-footer-social svg { width:20px; height:20px; flex-shrink:0; transition:transform .2s; }
.ea-footer-social a:hover svg { transform:translateY(-2px); }
.ea-footer-bottom { padding-block:20px; border-top:1px solid #d8c9c1; color:#6c5f58; font-size:.65rem; }
.ea-footer-bottom div { display:flex; gap:24px; }
.ea-full-width-page, .ea-page-content--full { margin-bottom:0; padding-bottom:0; }
.ea-page-content--full > :last-child, .ea-site-main > :last-child { margin-bottom:0; }
.ea-section--dark:has(.ea-values-editorial) { margin-bottom:0; }

/* Our Story uses the owner's original words, with an intentionally quiet composition. */
.ea-story-hero { background:#F6F0E9; padding:38px 0; }
.ea-story-hero__grid { display:grid; grid-template-columns:.9fr 1.1fr; align-items:center; gap:60px; }
.ea-story-hero h1 { margin:10px 0 16px; font-size:clamp(3.25rem,6vw,5.5rem); line-height:1; }
.ea-story-lead { max-width:340px; margin:0; color:#766052; font-family:var(--ea-display); font-size:1.65rem; line-height:1.3; }
.ea-story-hero figure { margin:0; }
.ea-story-hero img { display:block; width:100%; height:310px; object-fit:cover; object-position:center; border-radius:1px 1px 80px 1px; }
.ea-story-chapter { padding:68px 0; }
.ea-story-chapter__grid { display:grid; grid-template-columns:.65fr 1.35fr; gap:70px; }
.ea-story-chapter .ea-kicker { margin-top:12px; }
.ea-story-chapter h2 { margin:0 0 24px; font-size:clamp(2.5rem,4vw,3.6rem); }
.ea-story-chapter p:not(.ea-kicker) { max-width:680px; color:#665b55; font-size:.95rem; line-height:1.85; }
.ea-story-difference { padding:52px 0; background:#FAF7F3; }
.ea-story-difference h2 { margin:0 0 35px; font-size:clamp(2.3rem,4vw,3.3rem); }
.ea-story-values { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:30px 42px; }
.ea-story-values > div { padding-top:20px; border-top:1px solid #d8c9c1; }
.ea-story-values h3 { margin:0 0 10px; font-size:1.55rem; }
.ea-story-values p { margin:0; color:#6b5e56; font-size:.85rem; }
.ea-story-quote { padding:56px 0; background:#E9D7CF; text-align:center; }
.ea-story-quote blockquote { max-width:800px; margin:0 auto; border:0; padding:0; color:#684844; font-family:var(--ea-display); font-size:clamp(1.9rem,3.2vw,2.7rem); font-style:italic; line-height:1.3; }
.ea-story-promise { margin:0; padding:62px 0; background:#F7F2EC; text-align:center; }
.ea-story-promise h2 { margin:0 0 22px; font-size:clamp(2.5rem,4vw,3.6rem); }
.ea-story-promise p:not(.ea-kicker) { max-width:650px; margin:0 auto 14px; color:#665b55; font-size:.9rem; }
.ea-story-promise .ea-button { margin-top:14px; }
.ea-info-intro { color:#78544c; font-family:var(--ea-display); font-size:1.7rem; }

/* Account experience — a quiet personal space, using native Woo endpoints. */
.woocommerce-account .ea-page-header { padding-top:28px; padding-bottom:20px; }
.woocommerce-account .ea-page-content.ea-prose { padding-bottom:48px; }
.woocommerce-account .ea-page-header h1 { font-size:clamp(2.8rem,4.5vw,4rem); }
.woocommerce-account.logged-in { background:#FAF7F2; }
.woocommerce-account .woocommerce-MyAccount-navigation { padding:14px; border-color:#e2d8d0; background:#FFFDFC; border-radius:6px; }
.woocommerce-account .woocommerce-MyAccount-navigation li { border:0; }
.woocommerce-account .woocommerce-MyAccount-navigation a { min-height:46px; padding:13px 16px; border-radius:4px; letter-spacing:.04em; }
.woocommerce-account .woocommerce-MyAccount-navigation .is-active a { color:#68433d; background:#f4e6e0; }
.woocommerce-account .woocommerce-MyAccount-content { min-width:0; border-color:#e2d8d0; border-radius:6px; background:#FFFDFC; }
.woocommerce-account.logged-in .ea-page-content > .woocommerce::before,
.woocommerce-account.logged-in .ea-page-content > .woocommerce::after { display:none; content:none; }
.woocommerce-account.logged-in .woocommerce-MyAccount-navigation { grid-column:1; grid-row:1; }
.woocommerce-account.logged-in .woocommerce-MyAccount-content { grid-column:2; grid-row:1; }
.ea-account-identity { display:flex; align-items:center; gap:13px; margin-bottom:26px; padding-bottom:22px; border-bottom:1px solid #e5dad3; }
.ea-account-identity > span { display:grid; place-items:center; width:42px; height:42px; border-radius:50%; background:#ead6cb; color:#68433d; font-family:var(--ea-display); font-size:1.4rem; }
.ea-account-identity strong,.ea-account-identity small { display:block; }
.ea-account-identity strong { font-size:.85rem; }.ea-account-identity small { color:#766B65; font-size:.7rem; }
.ea-account-form-panel form .input-text, .woocommerce-account form .input-text, .woocommerce-account select {
  min-height:46px; border:1px solid #d8ccc3; border-radius:4px; background:#FFFDFC; color:#302B29; font-size:.9rem;
}
.woocommerce-account form .input-text:focus, .ea-account-form-panel .input-text:focus { border-color:#a56f64; outline:2px solid #D69C9226; }
.woocommerce-account form label { color:#514741; font-size:.75rem; font-weight:500; }
.ea-account-form-panel .ea-account-note { color:#756359; font-size:.75rem; line-height:1.55; }
.woocommerce-account form.edit-account { display:flow-root; }
.woocommerce-account form.edit-account fieldset { padding:22px; border-radius:4px; background:#FAF7F3; }
.woocommerce-account form.edit-account legend { padding:0 9px; color:#68433d; font-family:var(--ea-display); font-size:1.55rem; }
.woocommerce-account .woocommerce-Addresses { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.woocommerce-account .woocommerce-Addresses::before,.woocommerce-account .woocommerce-Addresses::after { display:none; }
.woocommerce-account .woocommerce-Addresses .u-column1,.woocommerce-account .woocommerce-Addresses .u-column2 { float:none; width:100%; min-width:0; padding:20px; border:1px solid #e2d8d0; border-radius:4px; background:#FAF7F3; }
.woocommerce-account .woocommerce-Addresses h2 { margin-bottom:10px; font-size:1.7rem; }
.woocommerce-account .woocommerce-Addresses address { color:#6b5b53; font-size:.84rem; font-style:normal; }
.woocommerce-account .woocommerce-Addresses .edit { padding:5px 0; color:#68433d; font-size:.75rem; text-underline-offset:4px; }
.woocommerce-account .woocommerce-orders-table { border:0; font-size:.82rem; }
.woocommerce-account .woocommerce-orders-table th { padding:12px; background:#F6F0E9; color:#66554b; font-size:.65rem; letter-spacing:.07em; text-transform:uppercase; }
.woocommerce-account .woocommerce-orders-table td { padding:16px 12px; border-color:#e7ddd5; }
.woocommerce-account .woocommerce-order-details h2,.woocommerce-account .woocommerce-customer-details h2 { font-size:1.8rem; }
.woocommerce-account .woocommerce-order-details,.woocommerce-account .woocommerce-customer-details { margin-top:30px; }
.woocommerce-account .woocommerce-customer-details address { padding:20px; border:1px solid #e2d8d0; background:#FAF7F3; line-height:1.8; font-size:.85rem; }
.woocommerce-account .woocommerce-Button,.woocommerce-account .woocommerce-button,.woocommerce-account button.button { background:#D69C92; border-color:#bd867c; color:#302B29; border-radius:4px; }
.ea-account-recent { margin-top:30px; padding-top:25px; border-top:1px solid #e2d8d0; }
.ea-account-recent__heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:15px; }
.ea-account-recent h3 { margin:0; font-size:1.7rem; }.ea-account-recent__heading > a { font-size:.72rem; color:#68433d; }
.ea-account-recent > p { color:#756359; font-size:.85rem; }
.ea-account-recent ul { margin:0; padding:0; list-style:none; }
.ea-account-recent li a { display:grid; grid-template-columns:.7fr 1.2fr 1fr auto; align-items:center; gap:14px; padding:15px 0; border-bottom:1px solid #e7ddd5; color:#514741; text-decoration:none; font-size:.76rem; }
.ea-order-status { padding:5px 9px; border-radius:3px; background:#f1e6de; font-size:.65rem; }

/* Verification page is part of the same account journey. */
.ea-verification-card { max-width:620px; margin:36px auto 54px; padding:36px; border:1px solid #dfd0c6; border-radius:6px; background:#FAF7F3; }
.ea-verification-card h1 { margin:10px 0 20px; font-size:3.2rem; }
.ea-verification-card > p { color:#66564f; font-size:.9rem; }
.ea-verification-card form { margin:25px 0; }.ea-verification-card label { display:block; margin-bottom:8px; font-size:.75rem; }
.ea-verification-card input[type="email"] { width:100%; min-height:46px; border:1px solid #d8c9c1; border-radius:4px; padding:10px; background:#FFFDFC; }
.ea-verification-card .ea-button { width:100%; margin-top:14px; background:#D69C92; color:#302B29; border-color:#bd867c; }
.ea-verification-card a { color:#68433d; text-underline-offset:4px; }
.ea-checkout-account-note { margin-bottom:18px; font-size:.8rem; color:#6e5d53; }
.woocommerce-checkout #place_order,.woocommerce-cart .wc-proceed-to-checkout a.checkout-button { color:#302B29; }
#billing_city_field { order:55; } #billing_area_field { order:57; } #billing_delivery_instructions_field { order:80; }
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_email_field,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_phone_field,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_first_name_field,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_last_name_field,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_country_field,
.woocommerce-checkout .woocommerce-billing-fields__field-wrapper #billing_city_field { grid-column:auto; }
.woocommerce-checkout #billing_phone_field label { white-space:normal; }
.ea-department-baby .ea-collection-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:18px; }
.ea-department-baby .ea-collection-card img { max-height:145px; object-fit:contain; padding:24px; background:#F3F6F7; }
.ea-department-baby .ea-collection-card:nth-child(even) img { background:#FCF0F1; }
.ea-department-baby .ea-collection-card span { padding:16px 0; }
.ea-department-baby .ea-collection-card strong { font-size:1.24rem; }
.ea-collection-card--text { display:flex; min-height:132px; align-items:flex-end; padding:20px; border:1px solid #dde2e4; background:#eef4f7; transition:background .2s; }
.ea-collection-card--text:nth-child(2n) { background:#faedef; border-color:#ecd8dd; }
.ea-collection-card--text:nth-child(3n) { background:#f6f2eb; border-color:#e7ded3; }
.ea-collection-card--text:hover { background:#e8e2d7; }
.ea-collection-card--text span,.ea-department-baby .ea-collection-card--text span { padding:0; }
.ea-collection-card--text small { display:block; margin-top:10px; color:#6c625d; font-size:.68rem; }
.ea-department-plushies .ea-collection-card--text { background:#f5ede6; }
.ea-empty-gifts { padding:35px; background:#F6EFE6; }.ea-empty-gifts p { color:#6e5d53; }
.ea-product-care-link { margin-top:15px; font-size:.77rem; }.ea-product-care-link a { color:#765349; text-underline-offset:4px; }

/* A 3px horizontal-only increase for the eight-item main navigation. */
@media(min-width:1181px) {
  .ea-primary-nav > .ea-menu:not(.ea-department-menu) { column-gap:calc(clamp(12px,1.2vw,20px) + 3px); }
}
@media(min-width:1181px) and (max-width:1390px) {
  .ea-header-main { grid-template-columns:142px minmax(0,1fr) auto; gap:15px; }
  .ea-brand,.ea-brand__logo { width:142px; }.ea-menu { gap:12px; }.ea-menu a { font-size:.67rem; }
  .ea-header-quote { padding-inline:10px; font-size:.65rem; }.ea-icon-button { width:34px; }
  .ea-primary-nav > .ea-menu:not(.ea-department-menu) { column-gap:15px; }
}
@media(max-width:1180px) {
  .ea-menu .ea-collection-menu__links { position:static; width:100%; max-height:none; box-shadow:none; border:0; border-left:1px solid #d8c9c1; }
  .ea-collection-menu summary { font-size:1.2rem; }.ea-menu .ea-collection-menu__links a { font-size:.88rem; }
  .ea-footer-grid { grid-template-columns:1.3fr repeat(2,minmax(0,1fr)); }
}
@media(max-width:760px) {
  .ea-footer-grid { grid-template-columns:repeat(2,minmax(0,1fr)); padding-block:36px; gap:30px 24px; }.ea-footer-brand { grid-column:1/-1; }
  .ea-quote-banner { padding:28px 0; }
  .ea-story-hero__grid { grid-template-columns:1fr; gap:26px; }.ea-story-hero { padding:30px 0; }.ea-story-hero img { height:235px; border-radius:1px 1px 45px 1px; }
  .ea-story-hero h1 { font-size:3.4rem; }.ea-story-lead { font-size:1.4rem; }
  .ea-story-chapter { padding:38px 0; }.ea-story-chapter__grid { grid-template-columns:1fr; gap:12px; }
  .ea-story-values { grid-template-columns:repeat(2,minmax(0,1fr)); gap:25px; }.ea-story-difference { padding:36px 0; }
  .ea-story-quote,.ea-story-promise { padding:38px 0; }
  .ea-department-baby .ea-collection-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .ea-verification-card { width:calc(100% - 36px); margin:26px auto; padding:25px; }.ea-verification-card h1 { font-size:2.6rem; }
  .woocommerce-account .woocommerce-Addresses { grid-template-columns:1fr; }
  .woocommerce-account .woocommerce-MyAccount-navigation { margin-bottom:18px; padding:0; background:transparent; border:0; }
  .woocommerce-account .woocommerce-MyAccount-navigation a { min-height:44px; font-size:.65rem; }
  .woocommerce-account form.edit-account fieldset { padding:16px; }
  .ea-account-recent li a { grid-template-columns:1fr 1fr; gap:9px; }
}
@media(max-width:620px) {
  .ea-header-main { grid-template-columns:28px minmax(85px,1fr) auto; gap:8px; }
  .ea-brand,.ea-brand__logo { width:105px; }.ea-header-quote { min-height:40px; padding:8px 10px; font-size:.7rem; }
  .ea-header-actions { gap:1px; }.ea-header-actions .ea-icon-button { width:31px; }.ea-menu-toggle { width:28px; }
  .ea-search-panel .ea-container { flex-direction:row; align-items:center; gap:10px; }
  .ea-search-form input[type="search"] { padding:9px 11px; font-size:.8rem; }.ea-search-form button { padding:8px; }
  .ea-search-close { font-size:.68rem; align-self:auto; }
  .ea-account-intro { min-height:210px; padding:28px 22px; }.ea-account-intro h1 { font-size:2.9rem; }
  .ea-account-form-panel { padding:28px 22px 34px; }.ea-account-name-fields { gap:12px; }
  .ea-site-footer a { font-size:.76rem; }.ea-footer-bottom { align-items:flex-start; gap:14px; }
}
@media(max-width:380px) {
  .ea-brand,.ea-brand__logo { width:88px; }.ea-header-main { gap:5px; }.ea-header-quote { padding-inline:7px; font-size:.65rem; }
  .ea-header-actions .ea-icon-button { width:28px; }.ea-footer-grid { column-gap:16px; }
}
@media(prefers-reduced-motion:reduce) { .ea-header-quote,.ea-quote-banner__button,.ea-footer-social svg { transition:none; transform:none; } }
