/* Erin Graves: what the Elementor kit cannot say. Colours and fonts come from the kit's global variables. */

html { scroll-behavior: smooth; scroll-padding-top: 84px; scrollbar-color: var(--mint) var(--board-deep); }
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }
::selection { background: var(--butter); color: var(--ink); }
:focus-visible { outline: 3px solid var(--board-deep); outline-offset: 3px; border-radius: 2px; }
.eg-board :focus-visible, .eg-footer :focus-visible, .eg-site-header :focus-visible { outline-color: var(--butter); }

/* Skip link (printed by the child theme at wp_body_open) */
.eg-skip { position: absolute; left: -999px; top: 8px; z-index: 100; padding: 8px 14px; background: var(--butter); color: var(--ink); font: 600 1rem/1 var(--font-ui); text-decoration: none; }
.eg-skip:focus { left: 8px; }

/* Hand-face lists: a pencil tick instead of a bullet */
.eg-note ul, .eg-note ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.eg-note li { position: relative; padding-left: 1.3em; }
.eg-note li::before {
  content: ""; position: absolute; left: 0; top: .32em; width: .9em; height: .9em; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.5 13.2c2 1.4 3.6 3.2 5 5.4 2.6-5.6 6.4-10.4 12-14.2' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.5 13.2c2 1.4 3.6 3.2 5 5.4 2.6-5.6 6.4-10.4 12-14.2' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* The highlighter draws in once on the hook */
.eg-hook em { animation: eg-swipe 1.3s .35s cubic-bezier(.16, 1, .3, 1) both; }
@keyframes eg-swipe { from { background-size: 0% 62%; } to { background-size: 100% 62%; } }
@media (prefers-reduced-motion: reduce) { .eg-hook em { animation: none; } }

/* Covers: the spine edge where the boards hinge */
.eg-cover, .eg-cover-board { position: relative; }
.eg-cover::after, .eg-cover-board::after {
  content: ""; position: absolute; inset: 0 auto 0 0; width: 4.5%; pointer-events: none; border-radius: 2px 0 0 2px;
  background: linear-gradient(90deg, rgba(0,0,0,.18), rgba(255,255,255,.12) 55%, rgba(0,0,0,0));
}

/* Books dropdown: an index card dropped from the tab (desktop) */
.eg-has-menu { position: relative; }
.eg-menu-card {
  position: absolute; top: 100%; left: 0; z-index: 40; min-width: 260px;
  opacity: 0; visibility: hidden; transform: translateY(-4px);
  transition: opacity .2s cubic-bezier(.16, 1, .3, 1), transform .3s cubic-bezier(.16, 1, .3, 1), visibility 0s .2s;
}
.eg-has-menu:hover .eg-menu-card, .eg-has-menu:focus-within .eg-menu-card { opacity: 1; visibility: visible; transform: none; transition-delay: 0s; }

/* The current page's tab (set by eg-menu.js from the URL) */
.eg-tab[aria-current="page"] { padding-top: 18px; }

/* Phone and tablet: the tab row becomes a stack of index cards on the board */
@media (min-width: 821px) {
  .eg-menu-toggle, .eg-menu-close { display: none !important; }
}
@media (max-width: 820px) {
  .eg-site-header { position: static !important; padding: 0 !important; background: none !important; }
  .eg-tabbar { display: none !important; }
  .eg-book:has(> main.eg-sheet-body) { padding-top: 0 !important; } /* the masthead sheet and the page sheet join, no board strip between them */
  html.eg-menu-open .eg-tabbar {
    display: flex !important; position: fixed; inset: 0; z-index: 60; flex-direction: column; align-items: stretch; gap: 8px;
    background: var(--sage, #6FA896); overflow-y: auto; overscroll-behavior: contain; padding: 76px 20px 32px;
  }
  html.eg-menu-open body { overflow: hidden; }
  .eg-menu-close { position: absolute; top: 16px; right: 16px; }
  .eg-tabbar .eg-has-menu { display: flex; flex-direction: column; }
  .eg-tabbar .eg-tab, .eg-tabbar .eg-tab:hover, .eg-tabbar .eg-tab:focus-visible {
    display: flex; align-items: baseline; justify-content: space-between; width: auto;
    transform: none; padding: 18px 20px 16px; margin-right: 28px; border-radius: 0 8px 8px 0; font-size: 1.7rem;
  }
  .eg-tabbar .eg-tab[aria-current="page"] { margin-right: 0; padding-top: 18px; }
  .eg-tabbar .eg-tab[aria-current="page"]::after { content: "you are here"; font: 400 1.05rem/1 var(--font-hand); text-transform: none; color: var(--ink); }
  .eg-tabbar .eg-menu-card, html.eg-menu-open .eg-tabbar .eg-menu-card {
    position: static; opacity: 1; visibility: visible; transform: none; min-width: 0;
    margin: 4px 0 10px; padding: 0 0 0 20px; background: none !important; border: 0 !important; box-shadow: none !important;
  }
  .eg-tabbar .eg-menu-card .eg-menu-item { color: var(--ink) !important; padding: 8px 0 !important; background: none !important; font-size: clamp(1.2rem, 1.1rem + .45vw, 1.45rem); }
  .eg-tabbar .eg-menu-card .eg-menu-item:hover { background: none !important; text-decoration: underline; text-decoration-color: var(--butter); }
  .eg-tabbar .eg-menu-card .eg-menu-item-hand { color: var(--ink) !important; }
}
@media (max-width: 820px) and (prefers-reduced-motion: no-preference) {
  html.eg-menu-open .eg-tabbar > * { animation: eg-card-in .45s cubic-bezier(.16, 1, .3, 1) both; }
  html.eg-menu-open .eg-tabbar > :nth-child(2) { animation-delay: .03s; } html.eg-menu-open .eg-tabbar > :nth-child(3) { animation-delay: .06s; }
  html.eg-menu-open .eg-tabbar > :nth-child(4) { animation-delay: .09s; } html.eg-menu-open .eg-tabbar > :nth-child(5) { animation-delay: .12s; }
  html.eg-menu-open .eg-tabbar > :nth-child(6) { animation-delay: .15s; } html.eg-menu-open .eg-tabbar > :nth-child(7) { animation-delay: .18s; }
  @keyframes eg-card-in { from { transform: translateX(-24px); opacity: .4; } to { transform: none; opacity: 1; } }
}

/* "Check." on the blurb checklist carries the same pencil tick */
.eg-tick { display: inline-flex; align-items: center; gap: .3em; }
.eg-tick::before {
  content: ""; width: 1.2em; height: 1.2em; flex: none; background: currentColor;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.5 13.2c2 1.4 3.6 3.2 5 5.4 2.6-5.6 6.4-10.4 12-14.2' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M3.5 13.2c2 1.4 3.6 3.2 5 5.4 2.6-5.6 6.4-10.4 12-14.2' fill='none' stroke='black' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center / contain no-repeat;
}

/* Pro form fields inherit the sticky note's bare underline look; the kit class sets the rest */
.eg-sticky-note input.eg-field, .eg-sticky-note textarea.eg-field, .eg-sticky-note .eg-field input, .eg-sticky-note .eg-field textarea { outline: none; }
/* Placeholders are pencil notes, not browser grey (all V4 forms and the sticky notes). */
.e-form-base input::placeholder, .e-form-base textarea::placeholder, .eg-sticky-note input::placeholder, .eg-sticky-note textarea::placeholder { color: var(--pencil) !important; opacity: 1; font-family: var(--font-hand); }

/* ---------- The store ---------- */

/* Woo's own screens (cart, checkout, account) sit on the white sheet like every page */
.eg-store-screen main.site-main, .eg-store-screen #content.site-main {
  width: calc(100% - 2 * clamp(12px, 4vw, 56px)); max-width: 1368px; margin: 0 auto;   /* the masthead sheet's width and gutter */
  padding: clamp(24px, 4vw, 48px) clamp(20px, 5vw, 72px) clamp(56px, 8vw, 112px);
  background: var(--page); box-sizing: border-box;
}
.eg-store-screen main.site-main .entry-title, .eg-store-screen .page-title {
  font: 700 clamp(2.6rem, 1.9rem + 3.2vw, 4.6rem)/.95 var(--font-display); letter-spacing: .01em; text-transform: uppercase; color: var(--board); margin: 0 0 24px;
}
@media (max-width: 820px) { .eg-store-screen main.site-main, .eg-store-screen #content.site-main { padding: 20px 16px 48px; } }
@media (max-width: 767px) { .eg-store-screen main.site-main, .eg-store-screen #content.site-main { width: calc(100% - 24px); } }   /* phones: the masthead's fixed 12px gutter */
/* Hello gives wide blocks negative side margins; Woo's cart and checkout blocks stay inside the sheet */
.eg-store-screen #content.site-main .alignwide, .eg-store-screen #content.site-main .alignfull { margin-left: 0; margin-right: 0; max-width: none; width: auto; } /* same 12px board gutter as the masthead above it */

/* Flexible Shipping prints the method description a second time in the block cart and checkout; Woo's own copy stays */
.wc-block-components-radio-control__option .flexible-shipping-method-description-block { display: none; }

/* Buttons Woo prints itself take the kit's button shape */
.woocommerce button.button, .woocommerce a.button, .woocommerce .button, .wc-block-components-button, .wc-block-cart__submit-button,
.single_add_to_cart_button, .checkout-button, .wc-block-components-checkout-place-order-button {
  display: inline-flex !important; align-items: center; justify-content: center; gap: .6em; min-height: 52px; padding: 12px 22px !important;
  font: 600 clamp(1rem, .96rem + .2vw, 1.1rem)/1.1 var(--font-ui) !important; border-radius: 4px !important; border: 2px solid var(--board) !important;
  background: var(--board) !important; color: var(--page) !important; text-decoration: none; transition: background-color .25s, color .25s, transform .25s;
}
.woocommerce button.button:hover, .woocommerce a.button:hover, .wc-block-components-button:hover, .single_add_to_cart_button:hover { background: var(--board-deep) !important; border-color: var(--board-deep) !important; color: var(--page) !important; }
.woocommerce button.button:active, .single_add_to_cart_button:active { transform: translateY(1px); }
.woocommerce button.button.alt.disabled, .woocommerce button.button:disabled { opacity: .6; }

/* The add-to-cart form on the product template: quantity and option fields as bare underlined fields */
.single-product form.cart { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px 16px; margin: 0; }
.single-product form.cart .quantity { display: inline-flex; align-items: center; }
.single-product form.cart .quantity .qty, .single-product form.cart select, .single-product .variations select {
  min-height: 52px; padding: 8px 10px; font: 500 clamp(1rem, .96rem + .2vw, 1.1rem)/1.4 var(--font-ui); color: var(--ink);
  border: 2px solid var(--board); border-radius: 4px; background: var(--page);
}
.single-product form.cart .quantity .qty { width: 5em; text-align: center; }
.single-product table.variations { margin: 0 0 8px; border: 0; }
.single-product table.variations td, .single-product table.variations th { padding: 4px 16px 8px 0; border: 0; vertical-align: middle; }
.single-product table.variations th.label { font: 400 1.15rem/1.2 var(--font-hand); color: var(--pencil); text-transform: lowercase; }
.single-product .reset_variations { font: 400 1rem/1 var(--font-hand); color: var(--board); margin-left: 10px; }
.single-product .woocommerce-variation-price .price, .single-product .woocommerce-variation-price .price .amount { font: 700 clamp(1.5rem, 1.3rem + .9vw, 2rem)/1 var(--font-display) !important; color: var(--board) !important; }
.single-product .woocommerce-variation-availability { font: 400 var(--step--1, .9rem)/1.4 var(--font-ui); color: var(--ink-soft); }
.single-product .eg-fulfilment { flex-basis: 100%; margin: 6px 0 0; font-size: 1.1rem; }
.single-product .product_meta { font: 400 clamp(.84rem, .8rem + .15vw, .92rem)/1.6 var(--font-ui); color: var(--ink-soft); }
.single-product .product_meta .posted_in a, .single-product .product_meta .tagged_as a { color: var(--board); }
.single-product .woocommerce-product-gallery { max-width: 460px; }
.single-product .woocommerce-product-gallery img { border-radius: 4px; box-shadow: 0 1px 1px rgba(0,0,0,.12), 0 18px 40px -18px rgba(14,67,52,.55); }
.single-product .woocommerce-product-gallery__trigger { display: none; }
.single-product .flex-control-thumbs { margin-top: 12px !important; display: flex; gap: 8px; }
.single-product .flex-control-thumbs li { width: 64px !important; margin: 0; }
.single-product .flex-control-thumbs img { border-radius: 3px; box-shadow: none; opacity: .6; }
.single-product .flex-control-thumbs img.flex-active, .single-product .flex-control-thumbs img:hover { opacity: 1; }
.woocommerce-message, .woocommerce-info, .woocommerce-error { border-top-color: var(--board); background: #F3F8F6; color: var(--ink); font-family: var(--font-ui); }
.woocommerce-message::before, .woocommerce-info::before { color: var(--board); }
.woocommerce-store-notice { display: none; }

/* Express-pay buttons (WooPayments) sit beside Add to cart once the account is connected */
.single-product #wcpay-express-checkout-element, .single-product .wcpay-express-checkout-wrapper { flex-basis: 100%; max-width: 420px; margin-top: 4px; }

/* Pro WooCommerce widgets on the product template take the kit's voices (their inner markup is Woo's) */
.screen-reader-text { position: absolute !important; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.single-product .product_title, .single-product h1.product_title {
  font: 700 clamp(3.4rem, 2.2rem + 5.4vw, 6rem)/.9 var(--font-display) !important; letter-spacing: .005em; text-transform: uppercase; color: var(--board) !important; margin: 0;
}
.single-product .elementor-widget-woocommerce-product-price .price, .single-product .elementor-widget-woocommerce-product-price .price .amount {
  font: 700 clamp(1.5rem, 1.3rem + .9vw, 2rem)/1 var(--font-display) !important; color: var(--board) !important; font-variant-numeric: tabular-nums;
}
.single-product .price del, .single-product .price del .amount { opacity: .55; font-weight: 400 !important; }
.single-product .elementor-widget-woocommerce-product-short-description p { font: 400 clamp(1.2rem, 1.1rem + .45vw, 1.45rem)/1.55 var(--font-book); color: var(--ink-soft); max-width: 46ch; margin: 0; }
.single-product .eg-product-content, .single-product .eg-product-content p, .single-product .eg-product-content li {
  font: 400 clamp(1.1rem, 1rem + .3vw, 1.25rem)/1.65 var(--font-book) !important; color: var(--ink) !important; max-width: 60ch;
}
.single-product .eg-product-content p { margin: 0 0 1em; }
.single-product .eg-product-content ul { margin: 0 0 1em 1.2em; padding: 0; }
.single-product .product_meta { font: 400 clamp(.84rem, .8rem + .15vw, .92rem)/1.8 var(--font-ui) !important; color: var(--ink-soft) !important; }
.single-product .product_meta > span { display: block; }
.single-product .product_meta a { color: var(--board); }
.single-product .eg-crumbs .woocommerce-breadcrumb, .single-product .eg-crumbs .woocommerce-breadcrumb a { font: 400 clamp(.84rem, .8rem + .15vw, .92rem)/1.6 var(--font-ui); color: var(--ink-soft); }
.single-product .eg-crumbs .woocommerce-breadcrumb a { color: var(--board); }
.single-product .eg-product-gallery { width: 100%; }
.single-product form.cart .variations select { background: var(--page); }
.single-product table.variations { background: none; }
.single-product table.variations td.value { padding-right: 0; }
.single-product .single_add_to_cart_button.disabled, .single-product .single_add_to_cart_button[disabled] { opacity: .55; }

/* Related products: the shop's cards */
.single-product .eg-related > h2, .single-product .related > h2 { display: none; }
/* Upsells ("Make it a set"): the widget renders nothing when a product has none (merch); eg-menu.js then marks the section eg-empty. */
.single-product section.eg-empty, main section.eg-empty { display: none !important; }   /* also a shop section with no published products; !important over the atomic class's display */
.single-product .eg-upsells > h2, .single-product .up-sells > h2 { display: none; }
.single-product .eg-related ul.products { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 2.4vw, 32px); margin: 0; padding: 0; list-style: none; width: 100%; }
.single-product .eg-related ul.products li.product { width: auto !important; margin: 0 !important; padding: 0; float: none; display: flex; flex-direction: column; align-items: flex-start; }
.single-product .eg-related ul.products li.product > a.woocommerce-LoopProduct-link { display: block; width: 100%; } /* otherwise it shrinks to the thumbnail unless the title is wider */
.single-product .eg-related ul.products li.product img { border-radius: 4px; box-shadow: 0 1px 1px rgba(0,0,0,.12), 0 18px 40px -18px rgba(14,67,52,.55); width: 100%; height: auto; transition: transform .5s; }
.single-product .eg-related ul.products li.product a:hover img { transform: translateY(-6px); }
.single-product .eg-related ul.products .woocommerce-loop-product__title { font: 600 clamp(1rem, .96rem + .2vw, 1.1rem)/1.25 var(--font-book) !important; color: var(--ink) !important; padding: 14px 0 0 !important; margin: 0; }
.single-product .eg-related ul.products .price { font: 700 clamp(1.5rem, 1.3rem + .9vw, 2rem)/1 var(--font-display) !important; color: var(--board) !important; margin: 6px 0 12px; }
.single-product .eg-related ul.products .button { min-height: 44px; padding: 8px 14px !important; font-size: clamp(.84rem, .8rem + .15vw, .92rem) !important; background: var(--page) !important; color: var(--board) !important; }
.single-product .eg-related ul.products .button:hover { background: var(--mint) !important; }
@media (max-width: 767px) { .single-product .eg-related ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

@media (max-width: 1024px) { .single-product .woocommerce-product-gallery { max-width: 100%; width: 100%; } .single-product .woocommerce-product-gallery .flex-viewport, .single-product .woocommerce-product-gallery img { width: 100%; height: auto; } }

/* Turnstile sits above the submit button, full width of the note */
.eg-turnstile { width: 100%; margin: 0 0 12px; min-height: 0; }
.eg-turnstile:empty { display: none; }

/* ---------- QA pass 2026-10-14: tap targets and phone flags ---------- */

/* Every inline link is at least 24px tall to tap */
.eg-text-link, .eg-crumbs a, .eg-small a, .eg-retail a, .eg-lede a, .eg-body a, .eg-note a, .eg-body-book a, .eg-copy-book a,
.eg-store-screen .woocommerce-LostPassword a, .eg-store-screen .woocommerce-privacy-policy-text a, .woocommerce-breadcrumb a {
  display: inline-block; padding: 4px 0; margin: -4px 0;
}
.eg-store-screen .show-password-input { width: 28px; height: 28px; top: 50%; transform: translateY(-50%); }

/* On phones a long flag would poke past the screen: pin flags to the stage's right edge */
@media (max-width: 820px) {
  /* Phones: the stage is too narrow for a flag to peek out beside the cover, so it sits over the cover's top-right edge, whole. */
  .eg-cover-stage .eg-flag { left: auto !important; right: -40px; max-width: none; z-index: 2; }
  .eg-cover-stage .eg-flag ~ .eg-flag { top: 23% !important; } /* the cover is shorter on phones; the second flag would sit on the first */
}
.eg-text-link { padding: 4px 0 !important; min-height: 24px; }

/* Lists are Elementor Icon List widgets (real <ul><li>, no icon) wearing a voice class (eg-note, eg-body...) plus eg-list.
   Selectors carry extra weight because Elementor's own icon-list CSS zeroes the padding and sets the text font. */
.elementor .elementor-element .eg-list ul.elementor-icon-list-items { margin: 0; padding: 0 0 0 1.15em; list-style: disc; display: block; }
.elementor-widget.eg-list .elementor-icon-list-item { display: list-item; margin: 0 0 .35em; padding: 0; position: static; }
.elementor-widget.eg-list .elementor-icon-list-item::marker { color: var(--board); }
.elementor-widget-icon-list.eg-list .elementor-icon-list-item > .elementor-icon-list-text { font: inherit; color: inherit; }
.eg-list .elementor-icon-list-icon { display: none; }
/* Hand-face lists keep the pencil tick from .eg-note li::before instead of a disc */
.elementor .elementor-element .eg-list.eg-note ul.elementor-icon-list-items { list-style: none; padding: 0; display: grid; gap: 2px; }
.elementor-widget.eg-list.eg-note .elementor-icon-list-item { position: relative; padding-left: 1.3em; margin: 0; }
/* WCAG: inline links inside copy get a 24px target; Woo's cart cross-sell buttons take the kit button colours */
.e-paragraph-base a:not(.eg-btn), main a:not([class]) { padding: 3px 0; }
.wc-block-grid__product-add-to-cart .wp-block-button__link, .wc-block-components-product-button .wp-block-button__link { background: var(--board) !important; color: var(--page) !important; border-color: var(--board) !important; }
.wc-block-grid__product-add-to-cart .wp-block-button__link:hover { background: var(--board-deep) !important; }

/* ===== The reader's desk (body.eg-look-desk; inc/desk.php) =====
   Grey board, lilac instead of yellow in the stationery drawer, rose highlighter, Erin's pieces around the page. */
body.eg-look-desk {
  --grey: #E8E8E8;
  --lilac: #CDB9EA;                               /* from the Hidden Vows cover, 9:1 with ink */
  --butter: var(--lilac);                         /* every former yellow: tabs, flags, sticky note, buttons */
  --highlighter: rgba(243, 169, 191, .55);        /* the hook's highlighter is rose */
  background-color: var(--grey);
  background-size: 520px 520px;
}
body.eg-look-desk .eg-sticky-note { background-color: var(--mint); box-shadow: 0 14px 26px -18px rgba(14, 67, 52, .5); }  /* the sticky note is green, not lilac (Ben) */
body.eg-look-desk .eg-sticky-note .eg-field-label { color: var(--pencil); }
body.eg-look-desk ::selection { background: var(--mint); }
body.eg-look-desk .eg-site-header { background-color: var(--grey); }
body.eg-look-desk .eg-btn-butter { color: var(--page); border-color: var(--board); background-color: var(--board); }   /* buttons are green, never lilac (Ben) */
body.eg-look-desk .eg-btn-butter:hover, body.eg-look-desk .eg-btn-butter:focus-visible { color: var(--page); border-color: var(--board-deep); background-color: var(--board-deep); }   /* the tab row sits on the grey desk; the phone menu overlay stays sage */

/* Content warnings accordion (book pages; e-accordion with eg-warnings, eg-warnings-head, eg-warnings-body) */
.eg-warnings-head { list-style: none; }
.eg-warnings-head::-webkit-details-marker { display: none; }
.eg-warnings-head .e-accordion-item-title-base { display: flex; flex-wrap: wrap; align-items: baseline; column-gap: 12px; row-gap: 2px; }
.eg-warnings-head .e-accordion-item-icon-base { width: auto; flex: 0 0 auto; color: var(--board); }
.eg-warnings-head .e-accordion-item-icon-base svg, .eg-warnings-head .e-accordion-item-icon-base i { width: 18px; height: 18px; fill: currentColor; transition: transform .25s; }
details[open] > .eg-warnings-head .e-accordion-item-icon-base svg { transform: rotate(180deg); }
.eg-warnings-body > .eg-body { margin: 4px 0 14px; }

/* Gravity Forms in the sticky notes (Newsletter, Contact): the same look the V4 forms had. Form class eg-gform. */
.eg-gform-wrap .gform_wrapper { margin: 0; }
.eg-gform-wrap .gform_wrapper .gform_fields { row-gap: 0 !important; }
.eg-gform-wrap .gform_wrapper .gfield_label, .eg-gform-wrap .gform_wrapper legend.gfield_label { font: 400 1.15rem/1.2 var(--font-hand) !important; color: var(--pencil) !important; margin: 0 0 2px !important; padding: 0; }
.eg-gform-wrap .gform_wrapper .gfield_required, .eg-gform-wrap .gform_wrapper .gform_required_legend { display: none !important; }
.eg-gform-wrap .gform_wrapper input[type="text"], .eg-gform-wrap .gform_wrapper input[type="email"], .eg-gform-wrap .gform_wrapper textarea {
  width: 100% !important; font: 500 clamp(1rem, .96rem + .2vw, 1.1rem)/1.4 var(--font-ui) !important; color: var(--ink) !important;
  padding: 8px 2px !important; margin: 0 0 18px !important; background: transparent !important; border: 0 !important;
  border-bottom: 2px solid rgba(23, 35, 31, .45) !important; border-radius: 0 !important; box-shadow: none !important; }
.eg-gform-wrap .gform_wrapper textarea { height: 130px !important; min-height: 0 !important; resize: vertical; }
.eg-gform-wrap .gform_wrapper input:focus, .eg-gform-wrap .gform_wrapper textarea:focus { outline: none; border-bottom-color: var(--board) !important; }
.eg-gform-wrap .gform_wrapper .gform_footer { margin: 6px 0 0 !important; padding: 0 !important; }
.eg-gform-wrap .gform_wrapper .gform_button, .eg-gform-wrap .gform_wrapper input[type="submit"] {
  width: 100% !important; min-height: 52px; font: 600 clamp(1rem, .96rem + .2vw, 1.1rem)/1.1 var(--font-ui) !important; color: var(--page) !important;
  background: var(--board) !important; border: 2px solid var(--board) !important; border-radius: 4px !important; padding: 12px 22px !important; cursor: pointer; }
.eg-gform-wrap .gform_wrapper .gform_button:hover, .eg-gform-wrap .gform_wrapper .gform_button:focus-visible { background: var(--board-deep) !important; border-color: var(--board-deep) !important; }
.eg-gform-wrap .gform_confirmation_message { font: 400 1.35rem/1.3 var(--font-hand); color: var(--board-deep); padding: 8px 0; }
.eg-gform-wrap .gform_wrapper .gfield_validation_message, .eg-gform-wrap .gform_wrapper .validation_message { font: 500 .9rem/1.3 var(--font-ui); color: #8a1f1f; background: none; border: 0; padding: 0; margin: -12px 0 14px; }
.eg-gform-wrap .gform_wrapper .gform_validation_errors { display: none; }
.eg-gform-wrap .gform_wrapper .cf-turnstile { margin: 0 0 12px; }
