/* Jovan storefront system: ivory, deep olive, quiet editorial typography. */
body.jovan-studio {
  --studio-ink: #253c34; --studio-muted: #626d65; --studio-paper: #fffefa;
  --studio-cream: #f4f1e9; --studio-line: #dcded5; --studio-sage: #dce4d9;
  --jovan-dark: #253c34; --jovan-pink: #778e7b; --jovan-blue: #c6d5c4; --jovan-cream: #f4f1e9;
  --global-palette1: #253c34; --global-palette2: #45624f; --global-palette3: #253c34;
  --global-palette4: #33473c; --global-palette5: #626d65; --global-palette7: #f4f1e9;
  --global-body-font-family: Arial, Helvetica, sans-serif;
  background: var(--studio-paper) !important; color: var(--studio-ink) !important;
  font-family: Arial, Helvetica, sans-serif; font-size: 15px; line-height: 1.65;
}
.jovan-studio *, .jovan-studio *::before, .jovan-studio *::after { box-sizing: border-box; }
.jovan-studio h1, .jovan-studio h2, .jovan-studio h3 { color: var(--studio-ink); }
.jovan-studio a { text-underline-offset: 4px; }
.jovan-studio :focus-visible { outline: 2px solid #45624f; outline-offset: 5px; }
.studio-wrap { width: min(1280px, calc(100% - 96px)); margin-inline: auto; }
/* Replace disjointed theme navigation and floating controls with one header. */
.jovan-studio #masthead, .jovan-studio > .jovan-cart-button,
.jovan-studio > .jovan-currency-switcher { display: none !important; }
.jovan-studio .jovan-announce-bar { background: var(--studio-ink); font: 11px/1.5 Arial,sans-serif; letter-spacing: .1em; padding: 10px 12px; }
.studio-header { position: relative; z-index: 100; background: var(--studio-paper); border-bottom: 1px solid var(--studio-line); }
.studio-header-main { display: flex; justify-content: space-between; align-items: center; min-height: 106px; gap: 24px; }
.jovan-studio .studio-brand { color: var(--studio-ink); font-family: Georgia,'Times New Roman',serif; font-size: 49px; letter-spacing: -.055em; line-height: .9; text-decoration: none; display: inline-flex; flex-direction: column; }
.studio-brand span { margin-top: 11px; font: 9px/1.2 Arial,sans-serif; letter-spacing: .27em; }
.studio-desktop-nav { display: flex; gap: 32px; align-items: center; }
.studio-desktop-nav a { color: var(--studio-ink); font-size: 13px; text-decoration: none; }
.studio-desktop-nav a:hover { text-decoration: underline; }
.studio-tools { display: flex; gap: 22px; align-items: center; }
.studio-tools svg { width: 22px; height: 22px; }
.jovan-studio .studio-tools .jovan-currency-switcher { background: none; padding: 0; border: 0; display: block; }
.studio-tools .jovan-currency-switcher label { display: none; }
.jovan-studio .studio-tools #jovan-currency-select { appearance: none; -webkit-appearance: none; width: 78px; min-width: 78px; min-height: 44px; padding: 8px 19px 8px 4px; font-size: 12px; border: 0; border-radius: 0; background-color: transparent !important; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6'%3E%3Cpath d='m1 1 4 4 4-4' fill='none' stroke='%23253c34'/%3E%3C/svg%3E"); background-size: 10px 6px; background-repeat: no-repeat; background-position: right 4px center; }
.jovan-studio .studio-tools .jovan-cart-button { position: static; padding: 0; min-height: 44px; min-width: 44px; gap: 5px; background: transparent !important; color: var(--studio-ink) !important; border-radius: 0; box-shadow: none; z-index: auto; }
.jovan-studio .jovan-cart-count { background: var(--studio-sage); color: var(--studio-ink) !important; font-size: 10px; font-weight: 500; min-width: 18px; height: 18px; }
.studio-search { position: relative; }
.studio-search summary { list-style: none; cursor: pointer; display: flex; align-items: center; min-height: 44px; }
.studio-search summary::-webkit-details-marker { display: none; }
.studio-search form { position: absolute; right: -50px; top: 52px; background: var(--studio-paper); border: 1px solid var(--studio-line); padding: 24px; width: 360px; box-shadow: 0 12px 30px #253c3410; }
.studio-search label { display: block; font-size: 12px; margin-bottom: 10px; }
.studio-search form > div { display: flex; }
.studio-search input { width: 100%; min-width: 0; border-radius: 0; font-size: 16px; }
.studio-search button { background: var(--studio-ink); color: white; border-radius: 0; }
.jovan-studio .studio-menu-toggle { display: none; border: 0; padding: 8px; background: transparent; color: var(--studio-ink); box-shadow: none; }
.studio-mobile-nav[hidden] { display: none; }
.studio-mobile-nav { padding: 12px 24px 24px; border-top: 1px solid var(--studio-line); }
.studio-mobile-nav a { display: block; padding: 12px 0; color: var(--studio-ink); text-decoration: none; }
.studio-mobile-search { margin: 10px 0 14px; }
.studio-mobile-search label { display: block; font-size: 11px; margin-bottom: 8px; }
.studio-mobile-search > div { display: flex; }
.studio-mobile-search input { min-width: 0; width: 100%; font-size: 16px; border-radius: 2px 0 0 2px; }
.studio-mobile-search button { background: var(--studio-ink); color: white; border-radius: 0 2px 2px 0; min-width: 48px; }
.studio-mobile-search svg { width: 20px; height: 20px; }
/* Home: a considered sequence, not a stack of widgets. */
.jovan-studio.home .content-container { max-width: none; padding: 0; }
.jovan-studio.home .site-main, .jovan-studio.home .content-area { margin: 0; }
.jovan-studio.home .entry-content-wrap { padding: 0; }
.jovan-studio.home .entry { box-shadow: none; background: none; border-radius: 0; }
.jovan-studio.home .entry-content { margin: 0; }
.studio-hero { display: grid; grid-template-columns: 1fr 1fr; min-height: 600px; background: var(--studio-cream); }
.studio-hero-copy { padding: clamp(50px, 6vw, 96px) clamp(32px, 5.3vw, 90px); display: flex; flex-direction: column; align-items: flex-start; justify-content: center; }
.jovan-studio .studio-eyebrow { font: 10px/1.6 Arial,sans-serif; letter-spacing: .17em; margin: 0 0 24px; font-weight: 600; }
.jovan-studio .studio-hero h1 { font: normal clamp(48px, 4.4vw, 72px)/1.06 Georgia,serif; letter-spacing: -.045em; margin: 0 0 26px; }
.studio-hero h1 em, .studio-story h2 em { font-weight: normal; color: #627b64; }
.studio-hero-description { max-width: 365px; font-size: 15px; line-height: 1.85; margin: 0 0 32px; color: var(--studio-muted); }
.jovan-studio .studio-button { display: inline-flex; align-items: center; justify-content: center; gap: 28px; padding: 16px 23px; background: var(--studio-ink); border: 1px solid var(--studio-ink); color: #fffefa; border-radius: 2px; text-decoration: none; font: 12px/1.6 Arial,sans-serif; transition: background .2s; }
.studio-button svg, .studio-text-link svg { width: 20px; height: 20px; }
.jovan-studio .studio-button:hover { background: #45624f; color: white; }
.studio-hero-caption { font-size: 10px; color: var(--studio-muted); margin-top: 18px; }
.studio-hero-image { position: relative; min-width: 0; overflow: hidden; background: #e5e2d6; }
.studio-hero-image img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 65% center; }
.studio-hero-image > span { position: absolute; right: 24px; bottom: 24px; color: var(--studio-ink); background: #fffefae8; padding: 8px 14px; font: italic 16px Georgia,serif; }
.studio-service-line { display: flex; justify-content: center; flex-wrap: wrap; gap: 20px 72px; padding: 20px; border-bottom: 1px solid var(--studio-line); font-size: 11px; }
.studio-service-line a { color: var(--studio-ink); text-decoration: none; }
.studio-section-top { display: flex; justify-content: space-between; align-items: flex-end; gap: 32px; margin-bottom: 35px; }
.studio-section-top .studio-eyebrow { margin-bottom: 13px; }
.jovan-studio .studio-section-top h2, .jovan-studio .studio-journal h2 { margin: 0; font: normal clamp(32px,3vw,46px)/1.16 Georgia,serif; letter-spacing: -.035em; }
.studio-section-top > p { max-width: 320px; color: var(--studio-muted); font-size: 13px; margin: 0; }
.jovan-studio .studio-text-link { display: inline-flex; align-items: center; gap: 16px; color: var(--studio-ink); font-size: 12px; text-decoration: none; padding-bottom: 6px; border-bottom: 1px solid var(--studio-ink); }
.studio-collections { padding-block: 80px 40px; }
.studio-collection-list { display: grid; grid-template-columns: repeat(5,1fr); border-top: 1px solid var(--studio-line); border-bottom: 1px solid var(--studio-line); }
.studio-collection-list > a { padding: 26px 20px; text-decoration: none; color: var(--studio-ink); border-right: 1px solid var(--studio-line); transition: background .2s; }
.studio-collection-list > a:first-child { padding-left: 0; }
.studio-collection-list > a:last-child { border-right: 0; }
.studio-collection-list > a:hover { background: var(--studio-cream); }
.studio-index { font-size: 10px; color: #798476; }
.jovan-studio .studio-collection-list h3 { font: normal 22px/1.25 Georgia,serif; margin: 12px 0 20px; }
.studio-collection-list svg { width: 19px; height: 19px; }
.studio-products { padding-block: 45px 80px; }
.studio-center { text-align: center; margin-top: 36px; }
.jovan-studio .studio-button-outline { color: var(--studio-ink); background: transparent; }
/* Consistent real product cards, without invented ratings or sale tags. */
.jovan-studio ul.products { grid-template-columns: repeat(4,minmax(0,1fr)) !important; gap: 30px !important; padding: 0 !important; max-width: none; list-style: none; }
.jovan-studio ul.products::before, .jovan-studio ul.products::after { display: none; }
.jovan-studio ul.products li.product { padding: 0; background: transparent; box-shadow: none; border-radius: 0; transform: none; display: flex; flex-direction: column; }
.jovan-studio ul.products li.product:hover { box-shadow: none; transform: none; }
.jovan-studio ul.products li.product img { width: 100%; aspect-ratio: 4/5; object-fit: contain; background: var(--studio-cream); border-radius: 2px !important; margin: 0 0 17px; }
.studio-photo-placeholder { display: flex; aspect-ratio: 4/5; width: 100%; align-items: center; justify-content: center; flex-direction: column; background: #eeeee7; color: #75816f; border-radius: 2px; margin-bottom: 17px; gap: 18px; }
.studio-photo-placeholder svg { width: 46px; height: 46px; stroke-width: .8; opacity: .65; }
.studio-photo-placeholder > span { font: 10px/1.5 Arial,sans-serif; letter-spacing: .035em; }
.jovan-studio li.product:nth-child(2n) .studio-photo-placeholder { background: #f1ebe3; }
.jovan-studio li.product:nth-child(3n) .studio-photo-placeholder { background: #e9eee8; }
.jovan-studio ul.products li.product .woocommerce-loop-product__title { font: 14px/1.45 Arial,sans-serif; padding: 0; margin: 0 0 7px; font-weight: 500; }
.jovan-studio ul.products .product-details { padding: 0 !important; }
.jovan-studio ul.products li.product .price { font: 13px/1.5 Arial,sans-serif; font-weight: 400 !important; margin-bottom: 14px; }
.jovan-studio ul.products li.product .button, .jovan-studio .single_add_to_cart_button { color: white !important; background: var(--studio-ink) !important; border-radius: 2px !important; box-shadow: none; padding: 12px 18px; font-size: 12px; font-weight: 500; text-align: center; }
.jovan-studio ul.products li.product .button { margin-top: auto; }
.jovan-studio .onsale { border-radius: 2px !important; background: var(--studio-ink) !important; }
.studio-story { background: #edf0e8; text-align: center; padding: 70px 28px; }
.jovan-studio .studio-story h2 { font: normal clamp(40px,4vw,60px)/1.12 Georgia,serif; letter-spacing: -.04em; margin: 0 0 22px; }
.studio-story > p:not(.studio-eyebrow) { max-width: 465px; margin: 0 auto 26px; color: var(--studio-muted); font-size: 14px; }
.studio-journal { display: grid; grid-template-columns: 1fr 1fr; gap: 60px; align-items: center; padding-block: 85px; }
.studio-journal > div:last-child { max-width: 340px; justify-self: end; font-size: 14px; color: var(--studio-muted); }
/* Quiet archive and product pages. */
.jovan-studio .entry-hero { background: var(--studio-cream) !important; }
.jovan-studio .entry-hero::before { display: none; }
.jovan-studio .entry-hero h1, .jovan-studio .entry-hero .page-title { font: normal 42px/1.2 Georgia,serif; text-shadow: none; }
.jovan-studio .woocommerce-product-gallery img { border-radius: 2px; background: var(--studio-cream); }
.jovan-studio .summary .product_title { font: normal 38px/1.15 Georgia,serif; }
.jovan-studio .summary .price { color: var(--studio-ink); font-weight: 400; }
/* Checkout stays WooCommerce/Stripe-owned; only the surrounding presentation changes. */
.jovan-studio .jovan-cart-notice, .jovan-studio .jovan-trust-strip,
.jovan-studio .jovan-express-pointer { display: none; }
.jovan-studio.woocommerce-checkout .content-area, .jovan-studio.woocommerce-cart .content-area { margin-top: 36px; }
.jovan-studio .wp-block-woocommerce-checkout-totals-block, .jovan-studio .wp-block-woocommerce-cart-totals-block { border: 1px solid var(--studio-line); border-radius: 4px; background: #f7f7f1 !important; box-shadow: none; }
.jovan-studio .wc-block-components-checkout-step__heading { border-bottom: 1px solid var(--studio-line); }
.jovan-studio .wc-block-components-checkout-step__title { font-weight: 500 !important; font-size: 18px !important; }
.jovan-studio .wc-block-components-text-input input, .jovan-studio .wc-block-components-combobox-control input { border-radius: 4px !important; }
.jovan-studio .wc-block-cart__submit-button, .jovan-studio .wc-block-components-checkout-place-order-button { border-radius: 3px !important; background: var(--studio-ink) !important; color: white !important; box-shadow: none; }
.jovan-studio .jovan-shipping-hint { color: var(--studio-muted); font-size: 12px; }
.studio-wallet-link { font-size: 12px; padding: 10px 0; margin: 0 0 14px; color: var(--studio-muted); }
.studio-wallet-link a { color: var(--studio-ink); }
/* Delivery feels part of the bag, not another promotion. */
.jovan-studio .jovan-delivery-progress { background: #f0f3eb; border: 0; border-radius: 4px; box-shadow: none; padding: 18px 22px; max-width: 1160px; }
.jovan-studio .jovan-delivery-progress-message { font-size: 12px; text-align: left; margin-bottom: 12px; }
.jovan-studio .jovan-delivery-progress-note { color: #626d65; font-size: 10px; text-align: left; }
.jovan-studio .jovan-delivery-progress-track { height: 5px; background: #dce4d6; border: 0; }
.jovan-studio .jovan-delivery-progress-fill { background: linear-gradient(90deg,#829d80,#395a42); }
/* Bag drawer, with a visible close control and proper keyboard behavior. */
.jovan-studio #jovan-cart-drawer { width: 450px; max-width: 100vw; background: var(--studio-paper); border-radius: 0; box-shadow: -12px 0 50px #253c3415; }
.jovan-studio .jovan-cart-drawer-header { padding: 24px; border-bottom: 1px solid var(--studio-line); background: var(--studio-paper); font: normal 28px Georgia,serif; }
.jovan-studio .jovan-cart-drawer-close { color: var(--studio-ink); background: transparent; padding: 8px; min-width: 44px; min-height: 44px; font-size: 26px; box-shadow: none; }
.jovan-studio .jovan-cart-drawer-body { padding: 24px; }
.jovan-studio #jovan-cart-drawer .woocommerce-mini-cart-item { border: 0; border-bottom: 1px solid var(--studio-line); border-radius: 0; background: none; padding: 16px 0; box-shadow: none; font-size: 13px; }
.jovan-studio #jovan-cart-drawer .woocommerce-mini-cart-item img { border-radius: 2px; }
.jovan-studio #jovan-cart-drawer .woocommerce-mini-cart__buttons a { border-radius: 2px; font-size: 12px; box-shadow: none; }
.jovan-studio #jovan-cart-drawer .woocommerce-mini-cart__buttons a.checkout { background: var(--studio-ink) !important; color: white !important; }
.jovan-studio #jovan-cart-drawer .woocommerce-mini-cart__buttons a:not(.checkout) { border: 1px solid var(--studio-line); background: transparent !important; color: var(--studio-ink) !important; }
/* Structured footer: no fake payment logos, no oversized badge wall. */
.jovan-studio #colophon { background: #f1f1e9; border-top: 1px solid var(--studio-line); }
.jovan-studio #colophon .site-footer-row-container-inner { background: transparent; }
.jovan-studio #colophon .site-container { max-width: none; padding: 0; }
.jovan-studio #colophon .site-footer-row { padding: 0; }
.studio-footer { text-align: left; padding-block: 56px 24px; }
.studio-footer-top { display: grid; grid-template-columns: 1.3fr 1fr 1fr 1.2fr; gap: 44px; padding-bottom: 46px; }
.jovan-studio .studio-footer h2 { font: 600 11px/1.6 Arial,sans-serif; letter-spacing: .035em; margin: 0 0 18px; }
.studio-footer-top > div:not(.studio-footer-brand) a { display: block; font-size: 12px; margin-bottom: 10px; text-decoration: none; color: var(--studio-muted); }
.studio-original-logo { display: inline-block; width: 132px; max-width: 100%; }
.studio-original-logo img { display: block; width: 100%; height: auto; border-radius: 3px; }
.studio-footer-brand > p:empty { display: none; }
.studio-footer-top p { font-size: 12px; color: var(--studio-muted); margin: 16px 0 0; }
.studio-footer-bottom { padding-top: 22px; border-top: 1px solid #d4d9cc; display: flex; flex-wrap: wrap; justify-content: space-between; gap: 16px; font-size: 10px; color: var(--studio-muted); }
.studio-footer-bottom a { color: inherit; }
.jovan-studio #archive-container .entry-header::before,
.jovan-studio.single-post .author.vcard a::before { display: none !important; }
.jovan-studio #archive-container.kadence-posts-list .loop-entry { border-radius: 3px; box-shadow: none; border: 1px solid var(--studio-line); }
.jovan-studio #archive-container .post-more-link { border-radius: 2px; background: var(--studio-ink) !important; }
@media (max-width: 1000px) {
  .studio-wrap { width: calc(100% - 48px); }
  .studio-desktop-nav { gap: 20px; }
  .studio-tools { gap: 14px; }
  .studio-hero { min-height: 520px; }
  .studio-hero-copy { padding: 44px 30px; }
  .studio-hero h1 { font-size: 50px !important; }
  .studio-collection-list { grid-template-columns: repeat(3,1fr); border-bottom: 0; }
  .studio-collection-list > a { border-bottom: 1px solid var(--studio-line); }
  .studio-collection-list > a:first-child { padding-left: 20px; }
  .jovan-studio ul.products { gap: 20px !important; }
  .studio-footer-top { gap: 25px; }
}
@media (max-width: 767px) {
  .studio-wrap { width: calc(100% - 40px); }
  .studio-header-main { min-height: 86px; gap: 12px; }
  .jovan-studio .studio-brand { font-size: 40px; }
  .studio-brand span { font-size: 7px; margin-top: 9px; }
  .studio-desktop-nav { display: none; }
  .studio-tools { gap: 10px; }
  .jovan-studio .studio-menu-toggle { display: flex; }
  .studio-search { display: none; }
  .jovan-studio .jovan-announce-bar { font-size: 9px; letter-spacing: .04em; }
  .studio-hero { grid-template-columns: 1fr; }
  .studio-hero-copy { padding: 42px 24px; }
  .jovan-studio .studio-hero h1 { font-size: clamp(43px,11vw,64px) !important; }
  .studio-hero .studio-eyebrow { font-size: 9px; margin-bottom: 18px; }
  .studio-hero-description { font-size: 14px; margin-bottom: 24px; max-width: 400px; }
  .studio-hero-image { min-height: 265px; }
  .studio-hero-image img { object-position: center; }
  .studio-service-line { gap: 10px 22px; font-size: 10px; padding: 16px 20px; }
  .studio-service-line > span:nth-child(2) { display: none; }
  .studio-collections { padding-block: 50px 24px; }
  .studio-section-top { align-items: flex-start; gap: 18px; flex-wrap: wrap; margin-bottom: 26px; }
  .studio-section-top h2 { font-size: 32px; }
  .studio-collection-list { grid-template-columns: 1fr; }
  .studio-collection-list > a, .studio-collection-list > a:first-child { display: flex; align-items: center; gap: 18px; padding: 20px 0; border-right: 0; }
  .studio-collection-list h3 { margin: 0 !important; font-size: 22px !important; flex: 1; }
  .studio-products { padding-block: 28px 48px; }
  .jovan-studio ul.products { grid-template-columns: repeat(2,minmax(0,1fr)) !important; gap: 24px 14px !important; }
  .jovan-studio ul.products li.product .woocommerce-loop-product__title { font-size: 12px; min-height: 35px; }
  .jovan-studio ul.products li.product .button { font-size: 11px; padding: 12px 8px; }
  .studio-photo-placeholder > span { font-size: 9px; }
  .studio-photo-placeholder svg { width: 32px; height: 32px; }
  .studio-story { padding: 46px 24px; }
  .studio-journal { grid-template-columns: 1fr; gap: 22px; padding-block: 50px; }
  .studio-journal > div:last-child { justify-self: start; }
  .studio-footer-top { grid-template-columns: 1fr 1fr; gap: 36px 24px; }
  .studio-footer-bottom { flex-direction: column; }
  .studio-footer { padding-top: 40px; }
  .jovan-studio.woocommerce-checkout .content-area, .jovan-studio.woocommerce-cart .content-area { margin-top: 20px; }
  .jovan-studio .wp-block-woocommerce-checkout-totals-block { padding: 16px !important; }
  .jovan-studio #jovan-cart-drawer { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .jovan-studio *, .jovan-studio *::before, .jovan-studio *::after { scroll-behavior: auto !important; transition: none !important; animation: none !important; }
}
