/* ================================================================
   YumNaturals Commerce — lightweight Woo presentation layer
   Mirrors the V6.6 Hugo visual language without changing Woo logic.
   ================================================================ */

:root{
  --yn-cocoa:#412D1B;
  --yn-earth:#2E2118;
  --yn-olive:#97A245;
  --yn-olive-dark:#717C33;
  --yn-orange:#F09E4E;
  --yn-gold:#C19F55;
  --yn-parchment:#F8F0D4;
  --yn-cream:#FFF9EE;
  --yn-paper:#FFFDF9;
  --yn-canvas:#FBF8F1;
  --yn-ink:#292722;
  --yn-muted:#706B63;
  --yn-line:#E8E0D3;
  --yn-soft-green:#EEF1E0;
  --yn-shadow:0 18px 55px rgba(65,45,27,.10);
  --yn-shadow-soft:0 10px 30px rgba(65,45,27,.07);
  --yn-radius:24px;
  --yn-radius-sm:16px;
  --yn-max:1240px;
}

*{box-sizing:border-box}
html{scroll-behavior:smooth}
body.yn-commerce-theme{margin:0;background:var(--yn-paper);color:var(--yn-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;line-height:1.67}
body.yn-commerce-theme img{max-width:100%;height:auto}
body.yn-commerce-theme a{color:inherit}
body.yn-commerce-theme button,body.yn-commerce-theme input,body.yn-commerce-theme select,body.yn-commerce-theme textarea{font:inherit}
body.yn-commerce-theme h1,body.yn-commerce-theme h2,body.yn-commerce-theme h3,body.yn-commerce-theme h4{font-family:Georgia,"Times New Roman",serif;color:var(--yn-earth);font-weight:500;line-height:1.11}

.yn-wrap{width:min(var(--yn-max),calc(100% - 44px));margin:auto}
.yn-skip{position:absolute;left:-9999px;top:8px;z-index:1000;background:#fff;padding:10px 14px;border-radius:8px}.yn-skip:focus{left:8px}

/* Ecosystem bar */
.yn-ecosystem-bar{background:var(--yn-earth);color:#F9F4E9;font-size:.72rem}
.yn-ecosystem-bar .yn-wrap{min-height:38px;display:flex;align-items:center;justify-content:center;gap:6px;flex-wrap:wrap}
.yn-ecosystem-bar span{opacity:.55;margin-right:5px;letter-spacing:.09em;text-transform:uppercase;font-weight:800}
.yn-ecosystem-bar a{padding:5px 9px;border-radius:999px;text-decoration:none;opacity:.76}
.yn-ecosystem-bar a:hover,.yn-ecosystem-bar a.active{opacity:1;background:rgba(255,255,255,.11)}

/* Shared Hugo-style header */
.yn-site-header{position:sticky;top:0;z-index:999;background:rgba(255,253,249,.95);backdrop-filter:blur(14px);border-bottom:1px solid rgba(232,224,211,.92)}
.admin-bar .yn-site-header{top:32px}
.yn-site-header .yn-wrap{min-height:94px;display:flex;align-items:center;justify-content:space-between;gap:28px}
.yn-logo{display:flex;align-items:center;text-decoration:none;flex:0 0 auto}.yn-logo img{width:270px;max-height:74px;object-fit:contain;object-position:left center}
.yn-main-nav{display:flex;align-items:center;justify-content:flex-end;gap:18px}
.yn-main-nav a{text-decoration:none;font-size:.84rem;font-weight:900;letter-spacing:.10em;text-transform:uppercase;color:#534B42;white-space:nowrap}
.yn-main-nav a:hover{color:var(--yn-cocoa)}
.yn-main-nav .yn-cart{padding:10px 14px;border:1px solid var(--yn-line);border-radius:999px;background:#fff}
.yn-menu-toggle{display:none;border:1px solid var(--yn-line);background:#fff;color:var(--yn-earth);border-radius:12px;padding:10px 12px;font-size:.75rem;font-weight:900;letter-spacing:.1em;text-transform:uppercase}

/* Generic content shell */
.yn-page-main,#primary.site-main{background:linear-gradient(180deg,#FFFDF9 0%,#FBF8F1 100%);min-height:55vh}
.yn-content-wrap,#primary.site-main{width:min(var(--yn-max),calc(100% - 44px));margin-inline:auto;padding-top:58px;padding-bottom:84px}
.yn-page-heading{max-width:880px;margin-bottom:30px}.yn-page-heading h1,.woocommerce-products-header__title.page-title{font-size:clamp(2.5rem,5vw,4.8rem);letter-spacing:-.045em;margin:0 0 .35em}
.yn-page-content{background:#fff;border:1px solid rgba(65,45,27,.09);border-radius:22px;padding:30px;box-shadow:var(--yn-shadow-soft)}
.yn-empty{padding:90px 0;max-width:760px}.yn-empty h1{font-size:clamp(2.4rem,5vw,4.8rem);margin-bottom:.3em}.yn-eyebrow{font-size:.78rem;letter-spacing:.15em;text-transform:uppercase;color:var(--yn-olive-dark);font-weight:900;margin-bottom:12px}
.yn-btns{display:flex;gap:11px;flex-wrap:wrap;margin-top:24px}.yn-btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:13px 21px;border-radius:999px;border:1px solid var(--yn-cocoa);text-decoration:none;font-size:.75rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.yn-btn-primary{background:var(--yn-cocoa);color:#fff!important}.yn-btn-secondary{background:#fff;color:var(--yn-cocoa)!important}

/* Woo breadcrumbs and archive tools */
.woocommerce .woocommerce-breadcrumb{font-size:.76rem;color:#81786F;margin:0 0 24px}.woocommerce .woocommerce-breadcrumb a{text-decoration:none;color:var(--yn-olive-dark)}
.woocommerce .woocommerce-result-count{color:var(--yn-muted);font-size:.85rem}
.woocommerce .woocommerce-ordering select{border:1px solid var(--yn-line);border-radius:999px;padding:10px 34px 10px 14px;background:#fff;color:#514A43}

/* Product grid — native Woo markup, new YumNaturals presentation */
.woocommerce ul.products{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px;margin:30px 0 0!important;padding:0!important}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important}
.woocommerce ul.products li.product{width:auto!important;margin:0!important;padding:16px 16px 18px!important;background:rgba(255,255,255,.94);border:1px solid rgba(65,45,27,.10);border-radius:20px;box-shadow:var(--yn-shadow-soft);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;display:flex;flex-direction:column;min-width:0}
.woocommerce ul.products li.product:hover{transform:translateY(-3px);box-shadow:0 18px 42px rgba(65,45,27,.11);border-color:rgba(151,162,69,.44)}
.woocommerce ul.products li.product a img{border-radius:15px;background:#F7F2E9;aspect-ratio:1/1;object-fit:contain;margin:0 0 16px!important}
.woocommerce ul.products li.product .woocommerce-loop-product__title{font-family:Georgia,"Times New Roman",serif;font-size:1.16rem!important;line-height:1.28!important;color:var(--yn-cocoa);padding:0!important;margin:0 0 8px!important}
.woocommerce ul.products li.product .price{color:var(--yn-olive-dark)!important;font-size:.96rem!important;font-weight:800;margin-bottom:14px!important}
.woocommerce ul.products li.product .star-rating{color:var(--yn-gold);font-size:.86rem;margin:0 0 10px}
.woocommerce ul.products li.product .button{margin-top:auto!important;border-radius:999px!important;background:var(--yn-cocoa)!important;color:#fff!important;padding:12px 15px!important;text-align:center;font-size:.72rem!important;font-weight:900!important;letter-spacing:.06em;text-transform:uppercase}
.woocommerce span.onsale{background:var(--yn-orange)!important;color:#fff!important;min-width:auto!important;min-height:auto!important;line-height:1!important;border-radius:999px!important;padding:8px 10px!important;font-size:.68rem!important;letter-spacing:.05em;top:14px!important;left:14px!important;margin:0!important}

/* Pagination */
.woocommerce nav.woocommerce-pagination{margin:42px 0 10px}.woocommerce nav.woocommerce-pagination ul{border:0!important;display:flex;gap:7px;justify-content:center}.woocommerce nav.woocommerce-pagination ul li{border:0!important}.woocommerce nav.woocommerce-pagination ul li a,.woocommerce nav.woocommerce-pagination ul li span{display:grid!important;place-items:center;min-width:42px;min-height:42px;border:1px solid var(--yn-line);border-radius:50%;background:#fff;color:var(--yn-cocoa)!important}.woocommerce nav.woocommerce-pagination ul li span.current{background:var(--yn-cocoa);border-color:var(--yn-cocoa);color:#fff!important}

/* Single product foundation */
.single-product #primary.site-main{padding-top:62px}
.woocommerce div.product{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.86fr);column-gap:58px;align-items:start}
.woocommerce div.product div.images,.woocommerce div.product div.summary{float:none!important;width:auto!important;margin:0!important}
.woocommerce div.product div.images img{border-radius:20px;background:#F8F4EB}
.woocommerce div.product .product_title{font-size:clamp(2.35rem,4vw,4rem);letter-spacing:-.035em;margin:0 0 12px!important}
.woocommerce div.product p.price,.woocommerce div.product span.price{color:var(--yn-olive-dark)!important;font-size:1.35rem!important;font-weight:800}
.woocommerce div.product .woocommerce-product-rating{margin:0 0 18px}.woocommerce .star-rating{color:var(--yn-gold)}
.woocommerce div.product .woocommerce-product-details__short-description{color:#5E5851;font-size:1rem;line-height:1.7}
.woocommerce div.product form.cart{display:flex;flex-wrap:wrap;gap:10px;margin-top:24px!important}.woocommerce div.product form.cart .button{border-radius:999px!important;background:var(--yn-cocoa)!important;color:#fff!important;min-height:50px;padding:0 24px!important;font-weight:900!important;letter-spacing:.06em;text-transform:uppercase}
.woocommerce .quantity .qty{min-height:50px;border:1px solid var(--yn-line);border-radius:999px;padding:8px 10px;background:#fff}
.woocommerce div.product .product_meta{border-top:1px solid var(--yn-line);margin-top:25px;padding-top:18px;color:var(--yn-muted);font-size:.8rem}.woocommerce div.product .product_meta a{color:var(--yn-olive-dark)}
.woocommerce div.product .woocommerce-tabs{grid-column:1/-1;margin-top:64px}.woocommerce div.product .woocommerce-tabs ul.tabs{padding:0!important;border-bottom:1px solid var(--yn-line)}.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none!important}.woocommerce div.product .woocommerce-tabs ul.tabs li{border:0!important;background:transparent!important;margin:0 20px 0 0!important;padding:0!important}.woocommerce div.product .woocommerce-tabs ul.tabs li a{padding:12px 0!important;color:#685F56!important}.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--yn-cocoa)!important;border-bottom:2px solid var(--yn-olive)}
.woocommerce div.product .woocommerce-tabs .panel{background:#fff;border:1px solid rgba(65,45,27,.09);border-radius:18px;padding:25px 28px;box-shadow:var(--yn-shadow-soft)}
.related.products,.up-sells.products{grid-column:1/-1;margin-top:54px}.related.products>h2,.up-sells.products>h2{font-size:clamp(1.9rem,3vw,3rem)}

/* Notices, forms, cart, checkout and account */
.woocommerce-message,.woocommerce-info,.woocommerce-error{background:#fff!important;border:1px solid var(--yn-line)!important;border-top:3px solid var(--yn-olive)!important;border-radius:14px!important;color:#514A43!important;box-shadow:var(--yn-shadow-soft);padding:16px 18px 16px 50px!important}
.woocommerce-error{border-top-color:#B85D4D!important}
.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce form .form-row select,.select2-container--default .select2-selection--single{border:1px solid var(--yn-line)!important;border-radius:12px!important;background:#fff!important;min-height:48px;padding:10px 12px!important}
.woocommerce form .form-row label{font-size:.78rem;font-weight:800;color:#5A5148}
.woocommerce table.shop_table{border:1px solid var(--yn-line)!important;border-radius:16px!important;background:#fff!important;overflow:hidden}.woocommerce table.shop_table th{color:var(--yn-cocoa);font-weight:900}.woocommerce table.shop_table td,.woocommerce table.shop_table th{padding:14px!important}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,.woocommerce-checkout #payment #place_order,.woocommerce a.button,.woocommerce button.button,.woocommerce input.button{border-radius:999px!important}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,.woocommerce-checkout #payment #place_order{background:var(--yn-cocoa)!important;color:#fff!important;font-weight:900!important}
.woocommerce-checkout #payment{background:#F7F2E7!important;border-radius:18px!important}.woocommerce-checkout #payment div.payment_box{background:#fff!important}.woocommerce-checkout #payment div.payment_box::before{border-bottom-color:#fff!important}
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;background:#fff;border:1px solid var(--yn-line);border-radius:16px;overflow:hidden}.woocommerce-account .woocommerce-MyAccount-navigation li a{display:block;padding:12px 16px;text-decoration:none;border-bottom:1px solid #EFE9DF;color:#5B5248;font-weight:800}.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{background:var(--yn-soft-green);color:var(--yn-olive-dark)}

/* Shared footer */
.yn-footer{background:#241A13;color:#D9CEC2;padding:58px 0 26px;margin-top:0}.yn-footer-grid{display:grid;grid-template-columns:1.35fr .85fr .85fr .95fr;gap:42px;align-items:start}.yn-footer h3{font-family:inherit!important;font-size:.76rem!important;color:#fff!important;text-transform:uppercase;letter-spacing:.11em;font-weight:900!important;margin:0 0 14px!important}.yn-footer a{display:block;text-decoration:none;color:#CDBFB2;font-size:.86rem;margin:7px 0}.yn-footer a:hover{color:#fff}.yn-footer-logo{width:260px;max-width:100%;margin-bottom:16px}.yn-footer-copy{font-size:.84rem;color:#BDAFA3;max-width:350px}.yn-legal{margin-top:38px;padding-top:22px;border-top:1px solid rgba(255,255,255,.10);font-size:.74rem;color:#9F9287;display:grid;grid-template-columns:1fr auto;align-items:center;gap:24px}.yn-legal-links{display:flex;align-items:center;justify-content:flex-end;gap:12px;flex-wrap:wrap}.yn-legal-links a{display:inline;margin:0;color:#BFAF9F}.yn-legal-sep{opacity:.4}

@media(max-width:1120px){
  .yn-main-nav{gap:13px}.yn-main-nav a{font-size:.76rem}.yn-logo img{width:240px}
  .woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:880px){
  .admin-bar .yn-site-header{top:46px}.yn-site-header .yn-wrap{min-height:78px}.yn-logo img{width:220px;max-height:62px}.yn-menu-toggle{display:inline-flex}.yn-main-nav{display:none;position:absolute;left:22px;right:22px;top:80px;background:#fff;border:1px solid var(--yn-line);border-radius:18px;padding:18px;box-shadow:var(--yn-shadow);flex-direction:column;align-items:stretch;gap:0}.yn-main-nav.open{display:flex}.yn-main-nav a{font-size:.82rem;padding:12px 6px;border-bottom:1px solid #F0EBE4}.yn-main-nav a:last-child{border-bottom:0}
  .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
  .woocommerce div.product{grid-template-columns:1fr;row-gap:30px}.woocommerce div.product .woocommerce-tabs,.related.products,.up-sells.products{grid-column:auto}
  .yn-footer-grid{grid-template-columns:repeat(2,1fr)}.yn-legal{grid-template-columns:1fr}.yn-legal-links{justify-content:flex-start}
}
@media(max-width:620px){
  .yn-wrap,.yn-content-wrap,#primary.site-main{width:min(100% - 30px,var(--yn-max))}.yn-ecosystem-bar span{display:none}.yn-ecosystem-bar .yn-wrap{gap:1px}
  .woocommerce ul.products{grid-template-columns:1fr;gap:14px}.woocommerce ul.products li.product{padding:14px!important}
  .yn-page-content{padding:20px}.yn-footer-grid{grid-template-columns:1fr}.yn-legal{display:block}.yn-legal-links{margin-top:14px}
}

/* Administrator-only preview banner. */
.yn-preview-notice{
    background:#717C33;
    color:#fff;
    text-align:center;
    font-size:.72rem;
    font-weight:800;
    letter-spacing:.12em;
    padding:7px 18px;
    text-transform:uppercase;
}

/* ================================================================
   Step 3 — Shop / Shop USA hubs
   ================================================================ */
.yn-shop-hero{max-width:950px;margin:0 auto 46px;text-align:center;padding:18px 0 6px}
.yn-shop-hero h1{font-size:clamp(3rem,6vw,5.6rem);letter-spacing:-.05em;margin:0 0 .25em}
.yn-shop-hero>p{max-width:820px;margin:0 auto;color:#625B52;font-size:1.05rem;line-height:1.75}
.yn-shop-hero-usa{max-width:980px}
.yn-usa-note{display:inline-block;margin-top:20px;background:var(--yn-soft-green);border:1px solid rgba(151,162,69,.28);border-radius:999px;padding:9px 15px;color:#5E6828;font-size:.76rem;font-weight:800}
.yn-section-heading{text-align:center;max-width:860px;margin:0 auto 24px}.yn-section-heading h2{font-size:clamp(2.1rem,4vw,3.7rem);letter-spacing:-.035em;margin:.08em 0 .2em}.yn-section-heading-row{max-width:none;text-align:left;display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:22px}.yn-section-heading-row h2{margin-bottom:0}
.yn-shop-categories{padding:38px 0 54px;border-top:1px solid rgba(65,45,27,.06)}
.yn-shop-category-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:15px}
.yn-shop-category-card{display:flex;flex-direction:column;min-height:300px;padding:22px 20px 20px;background:rgba(255,255,255,.94);border:1px solid rgba(65,45,27,.10);border-radius:20px;box-shadow:var(--yn-shadow-soft);text-decoration:none;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.yn-shop-category-card:hover{transform:translateY(-3px);border-color:rgba(151,162,69,.45);box-shadow:0 18px 40px rgba(65,45,27,.11)}
.yn-shop-icon{display:grid;place-items:center;width:56px;height:56px;border:1px solid rgba(151,162,69,.30);border-radius:17px;background:var(--yn-soft-green);margin-bottom:18px}.yn-shop-icon svg{width:31px;height:31px;fill:none;stroke:var(--yn-olive-dark);stroke-linecap:round;stroke-linejoin:round}
.yn-shop-category-card h3{font-size:1.38rem;margin:0 0 9px}.yn-shop-category-card p{margin:0;color:#676057;font-size:.87rem;line-height:1.6}.yn-card-link{margin-top:auto;padding-top:18px;font-size:.72rem;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--yn-cocoa)}
.yn-shop-chips{display:flex;flex-wrap:wrap;justify-content:center;gap:9px;margin-top:24px}.yn-shop-chips a{text-decoration:none;border:1px solid #E4D9CA;background:#fff;border-radius:999px;padding:9px 13px;font-size:.72rem;font-weight:900;letter-spacing:.07em;text-transform:uppercase;color:#5B5147}.yn-shop-chips a:hover{border-color:var(--yn-olive);color:var(--yn-olive-dark)}
.yn-shop-search{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,1.1fr);align-items:center;gap:44px;margin:8px 0 58px;padding:34px 38px;background:linear-gradient(135deg,#F8F0D4 0%,#F4E7C2 100%);border:1px solid rgba(65,45,27,.07);border-radius:24px}.yn-shop-search h2{font-size:clamp(1.9rem,3vw,3rem);margin:.08em 0 .18em}.yn-shop-search p{margin:0;color:#6B6259}.yn-shop-search-box{min-width:0}.yn-shop-search-box form,.yn-shop-search-box .dgwt-wcas-search-wrapp{max-width:none!important;width:100%!important}.yn-shop-search-box input[type="search"],.yn-shop-search-box input[type="text"]{width:100%;min-height:54px;border:1px solid rgba(65,45,27,.16)!important;border-radius:999px!important;background:#fff!important;padding:0 20px!important;box-shadow:0 8px 24px rgba(65,45,27,.05)}
.yn-shop-products{padding:8px 0 24px}.yn-shop-products .woocommerce{width:100%}.yn-empty-state{padding:28px;background:#fff;border:1px solid var(--yn-line);border-radius:18px;color:var(--yn-muted)}

@media(max-width:1120px){.yn-shop-category-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.yn-shop-category-card{min-height:270px}}
@media(max-width:820px){.yn-shop-category-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.yn-shop-search{grid-template-columns:1fr;gap:22px;padding:28px}.yn-section-heading-row{align-items:flex-start;flex-direction:column}.yn-shop-hero{text-align:left;margin-inline:0}.yn-shop-hero>p{margin-inline:0}}
@media(max-width:560px){.yn-shop-category-grid{grid-template-columns:1fr}.yn-shop-category-card{min-height:0}.yn-shop-search{padding:22px 18px}.yn-usa-note{border-radius:14px}.yn-shop-hero h1{font-size:clamp(2.7rem,13vw,4rem)}}

/* ================================================================
   Step 4 — storefront polish
   - Shop / Shop USA hero now uses the approved Customer Voices parchment
   - Main navigation uses the approved YumNaturals cocoa brown
   - Single products are forced into a true two-column desktop layout
   ================================================================ */

/* Match the Hugo/landing-page navigation tone. */
body.yn-commerce-theme .yn-main-nav a{
  color:var(--yn-cocoa);
}
body.yn-commerce-theme .yn-main-nav a:hover,
body.yn-commerce-theme .yn-main-nav a:focus-visible{
  color:var(--yn-olive-dark);
}

/* Compact editorial shop hero using the exact Customer Voices parchment tone. */
body.yn-commerce-theme .yn-shop-hero{
  max-width:none;
  margin:0 0 46px;
  padding:48px 34px 50px;
  background:#F8F0D4;
  border:1px solid rgba(65,45,27,.06);
  border-radius:24px;
  text-align:center;
}
body.yn-commerce-theme .yn-shop-hero h1{
  max-width:980px;
  margin:0 auto;
}
body.yn-commerce-theme .yn-shop-hero .yn-eyebrow{
  margin-bottom:14px;
}
body.yn-commerce-theme .yn-shop-hero-usa{
  max-width:none;
}

/* Explicit desktop product composition. The active Divi theme is still loaded
   underneath the private preview, so these selectors intentionally outrank
   legacy theme layout rules without changing WooCommerce business logic. */
@media(min-width:881px){
  body.yn-commerce-theme.single-product .woocommerce div.product,
  body.yn-commerce-theme.single-product div.product.type-product{
    display:grid!important;
    grid-template-columns:minmax(0,1.02fr) minmax(390px,.98fr)!important;
    grid-template-areas:
      "gallery summary"
      "tabs tabs";
    column-gap:64px!important;
    row-gap:0!important;
    align-items:start!important;
  }

  body.yn-commerce-theme.single-product .woocommerce div.product div.images,
  body.yn-commerce-theme.single-product div.product.type-product div.images{
    grid-area:gallery!important;
    float:none!important;
    width:auto!important;
    max-width:100%!important;
    margin:0!important;
  }

  body.yn-commerce-theme.single-product .woocommerce div.product div.summary,
  body.yn-commerce-theme.single-product div.product.type-product div.summary{
    grid-area:summary!important;
    float:none!important;
    width:auto!important;
    max-width:100%!important;
    margin:0!important;
    padding:8px 0 0!important;
    align-self:start!important;
  }

  body.yn-commerce-theme.single-product .woocommerce div.product .woocommerce-tabs,
  body.yn-commerce-theme.single-product div.product.type-product .woocommerce-tabs{
    grid-area:tabs!important;
    grid-column:1/-1!important;
    width:100%!important;
    margin-top:58px!important;
  }

  body.yn-commerce-theme.single-product .woocommerce div.product div.images img,
  body.yn-commerce-theme.single-product div.product.type-product div.images img{
    width:100%!important;
    max-height:620px;
    object-fit:contain;
  }

  body.yn-commerce-theme.single-product .woocommerce div.product .product_title,
  body.yn-commerce-theme.single-product div.product.type-product .product_title{
    font-size:clamp(2.4rem,3.5vw,4.15rem)!important;
    line-height:1.04!important;
    margin:0 0 14px!important;
  }

  body.yn-commerce-theme.single-product .woocommerce div.product .woocommerce-product-details__short-description,
  body.yn-commerce-theme.single-product div.product.type-product .woocommerce-product-details__short-description{
    max-width:660px;
    font-size:1rem;
    line-height:1.72;
  }
}

@media(max-width:880px){
  body.yn-commerce-theme .yn-shop-hero{
    text-align:left;
    padding:34px 26px 36px;
  }
  body.yn-commerce-theme .yn-shop-hero h1{
    margin-inline:0;
  }
}

/* ================================================================
   Step 4.1 repair — compact full-width shop hero + reliable product grid
   ================================================================ */

/* Shop/USA pages: let the parchment band run edge-to-edge, with much less
   vertical space. The remaining content stays on the normal 1240px grid. */
body.yn-shop-hub-page .yn-content-wrap,
body.yn-shop-usa-page .yn-content-wrap{
  padding-top:0;
}

.yn-shop-hero{
  position:relative;
  left:50%;
  width:100vw;
  max-width:none;
  transform:translateX(-50%);
  margin:0 0 34px;
  padding:24px 22px 26px;
  text-align:center;
  background:var(--yn-parchment);
  border:0;
  border-top:1px solid rgba(65,45,27,.06);
  border-bottom:1px solid rgba(65,45,27,.08);
  border-radius:0;
}
.yn-shop-hero-inner{
  width:min(1160px,calc(100% - 44px));
  margin:0 auto;
}
.yn-shop-hero .yn-eyebrow{
  margin:0 0 7px;
  font-size:.74rem;
}
.yn-shop-hero h1{
  max-width:1120px;
  margin:0 auto!important;
  font-size:clamp(2.65rem,4.25vw,4.45rem);
  line-height:1.04;
  letter-spacing:-.045em;
}
.yn-shop-hero-usa h1{max-width:1060px}
.yn-shop-categories{padding-top:24px}

/* The custom preview shell calls woocommerce_content() directly. Step 4.1
   supplies an explicit .woocommerce wrapper in preview-shell.php and also
   targets the product directly so active Divi float rules cannot win. */
body.single-product .yn-content-wrap{
  padding-top:48px;
}
body.single-product .yn-woo-output{
  width:100%;
}
body.single-product .yn-woo-output > div.product,
body.single-product .yn-woo-output div.product.type-product{
  display:grid!important;
  grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr)!important;
  grid-auto-flow:row!important;
  column-gap:64px!important;
  row-gap:0!important;
  align-items:start!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  clear:both!important;
}
body.single-product .yn-woo-output div.product.type-product::before,
body.single-product .yn-woo-output div.product.type-product::after{
  content:none!important;
  display:none!important;
}
body.single-product .yn-woo-output div.product.type-product > div.images.woocommerce-product-gallery,
body.single-product .yn-woo-output div.product.type-product > div.images{
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  max-width:640px!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  clear:none!important;
  justify-self:start!important;
}
body.single-product .yn-woo-output div.product.type-product > div.summary.entry-summary,
body.single-product .yn-woo-output div.product.type-product > div.summary{
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:6px 0 0!important;
  float:none!important;
  clear:none!important;
  align-self:start!important;
}
body.single-product .yn-woo-output div.product.type-product .product_title{
  margin:0 0 14px!important;
  font-size:clamp(2.35rem,3.25vw,3.65rem)!important;
  line-height:1.04!important;
  letter-spacing:-.038em!important;
}
body.single-product .yn-woo-output div.product.type-product .woocommerce-product-details__short-description{
  max-width:620px;
  margin-top:16px;
  font-size:.98rem;
  line-height:1.72;
}
body.single-product .yn-woo-output div.product.type-product form.cart{
  margin-top:22px!important;
}
body.single-product .yn-woo-output div.product.type-product > .woocommerce-tabs,
body.single-product .yn-woo-output div.product.type-product > section.related,
body.single-product .yn-woo-output div.product.type-product > section.up-sells,
body.single-product .yn-woo-output div.product.type-product > .related.products,
body.single-product .yn-woo-output div.product.type-product > .up-sells.products{
  grid-column:1 / -1!important;
  width:100%!important;
  float:none!important;
  clear:both!important;
}
body.single-product .yn-woo-output div.product.type-product > .woocommerce-tabs{
  margin-top:56px!important;
}
body.single-product .yn-woo-output div.product.type-product > section.related,
body.single-product .yn-woo-output div.product.type-product > section.up-sells,
body.single-product .yn-woo-output div.product.type-product > .related.products,
body.single-product .yn-woo-output div.product.type-product > .up-sells.products{
  margin-top:46px!important;
}

@media(max-width:900px){
  .yn-shop-hero{padding:22px 20px 24px;margin-bottom:28px}
  .yn-shop-hero-inner{width:min(100% - 34px,1160px)}
  body.single-product .yn-woo-output > div.product,
  body.single-product .yn-woo-output div.product.type-product{
    grid-template-columns:1fr!important;
    row-gap:30px!important;
  }
  body.single-product .yn-woo-output div.product.type-product > div.images,
  body.single-product .yn-woo-output div.product.type-product > div.summary,
  body.single-product .yn-woo-output div.product.type-product > .woocommerce-tabs,
  body.single-product .yn-woo-output div.product.type-product > section.related,
  body.single-product .yn-woo-output div.product.type-product > section.up-sells{
    grid-column:1!important;
    grid-row:auto!important;
    max-width:none!important;
  }
}
@media(max-width:620px){
  .yn-shop-hero{padding:20px 15px 22px}
  .yn-shop-hero h1{font-size:clamp(2.35rem,11vw,3.25rem)}
  body.single-product .yn-content-wrap{padding-top:30px}
}


/* ================================================================
   Step 4.2 — storefront hierarchy + exact Divi product wrapper fix
   ================================================================ */

/* Compact editorial shop hero: title + lead, then collection eyebrow below. */
.yn-shop-hero{
  padding:24px 0 26px;
  margin-bottom:22px;
}
.yn-shop-hero .yn-eyebrow{
  margin-bottom:6px;
}
.yn-shop-hero h1{
  font-size:clamp(2.45rem,3.8vw,3.95rem);
  line-height:1.03;
}
.yn-shop-hero .lead{
  max-width:760px;
  margin:12px auto 0;
  color:#625B52;
  font-size:clamp(1.02rem,1.35vw,1.22rem);
  line-height:1.55;
  font-weight:400;
}
.yn-section-heading-compact{
  margin-bottom:18px;
}
.yn-section-heading-compact .yn-eyebrow{
  margin-bottom:0;
}
.yn-shop-categories{
  padding-top:22px;
}

/* Continue Exploring should read as a compact commerce heading beside its CTA. */
#yn-all-products-title{
  font-size:clamp(1.55rem,2.15vw,2.1rem)!important;
  line-height:1.12!important;
  letter-spacing:-.025em!important;
}

/* Product-card image frame: makes white-background photography feel intentional. */
.yn-shop-products .woocommerce ul.products li.product .et_shop_image,
.yn-shop-products .woocommerce ul.products li.product a.woocommerce-loop-product__link > img,
body.single-product .related.products ul.products li.product .et_shop_image,
body.single-product .up-sells.products ul.products li.product .et_shop_image{
  display:block;
  overflow:hidden;
  border:1px solid rgba(65,45,27,.12);
  border-radius:15px;
  background:#fff;
}
.yn-shop-products .woocommerce ul.products li.product .et_shop_image img,
body.single-product .related.products ul.products li.product .et_shop_image img,
body.single-product .up-sells.products ul.products li.product .et_shop_image img{
  border:0!important;
  border-radius:14px!important;
  margin-bottom:0!important;
}
.yn-shop-products .woocommerce ul.products li.product .et_overlay,
body.single-product .related.products ul.products li.product .et_overlay,
body.single-product .up-sells.products ul.products li.product .et_overlay{
  display:none!important;
}

/* Vendor identity is redundant on the YumNaturals-owned storefront. */
body.yn-commerce-preview-shell .wcpv-sold-by-loop,
body.yn-commerce-preview-shell .wcpv-sold-by-single{
  display:none!important;
}

/* Calm, readable price treatment rather than heavy bold green. */
.yn-shop-products .woocommerce ul.products li.product .price,
body.single-product .related.products ul.products li.product .price,
body.single-product .up-sells.products ul.products li.product .price{
  color:var(--yn-olive-dark)!important;
  font-size:1rem!important;
  line-height:1.35!important;
  font-weight:500!important;
  margin:10px 0 12px!important;
}
.yn-shop-products .woocommerce ul.products li.product .price .amount,
body.single-product .related.products ul.products li.product .price .amount,
body.single-product .up-sells.products ul.products li.product .price .amount,
.yn-shop-products .woocommerce ul.products li.product .price ins,
body.single-product .related.products ul.products li.product .price ins,
body.single-product .up-sells.products ul.products li.product .price ins{
  font-weight:500!important;
}

/* Quiet outlined Add to Cart / Select options control. */
.yn-shop-products .woocommerce ul.products li.product .button,
body.single-product .related.products ul.products li.product .button,
body.single-product .up-sells.products ul.products li.product .button{
  display:inline-flex!important;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  margin:4px 0 0!important;
  min-height:40px;
  padding:9px 15px!important;
  border:1px solid rgba(65,45,27,.34)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--yn-cocoa)!important;
  box-shadow:none!important;
  font-size:.68rem!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.yn-shop-products .woocommerce ul.products li.product .button:hover,
body.single-product .related.products ul.products li.product .button:hover,
body.single-product .up-sells.products ul.products li.product .button:hover{
  border-color:var(--yn-olive)!important;
  color:var(--yn-olive-dark)!important;
  background:#FBFBEF!important;
}

/* Rating sits below the commerce action as a quiet footer. */
.yn-card-rating{
  min-height:24px;
  display:flex;
  align-items:center;
  gap:7px;
  margin-top:11px;
  color:#8A8278;
  font-size:.68rem;
  line-height:1.2;
}
.yn-card-rating .star-rating{
  float:none!important;
  margin:0!important;
  color:var(--yn-gold)!important;
  font-size:.76rem!important;
}
.yn-card-rating-count,
.yn-card-rating-empty{
  color:#8A8278;
  font-size:.68rem;
}

/* Keep loop cards vertically tidy as button/rating elements are added. */
.yn-shop-products .woocommerce ul.products li.product,
body.single-product .related.products ul.products li.product,
body.single-product .up-sells.products ul.products li.product{
  display:flex!important;
  flex-direction:column!important;
}
.yn-shop-products .woocommerce ul.products li.product > a.woocommerce-loop-product__link,
body.single-product .related.products ul.products li.product > a.woocommerce-loop-product__link,
body.single-product .up-sells.products ul.products li.product > a.woocommerce-loop-product__link{
  display:flex!important;
  flex-direction:column!important;
  flex:0 0 auto;
  text-decoration:none;
}

/* ----------------------------------------------------------------
   Actual single-product structure seen in the live preview:
   product > .clearfix > gallery + summary.
   Divi inserts that clearfix, so the grid belongs on it, not product.
   ---------------------------------------------------------------- */
body.single-product .yn-woo-output > div.product.type-product{
  display:block!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
}
body.single-product .yn-woo-output > div.product.type-product > .clearfix{
  display:grid!important;
  grid-template-columns:minmax(0,1.02fr) minmax(380px,.98fr)!important;
  column-gap:56px!important;
  row-gap:0!important;
  align-items:start!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  clear:both!important;
}
body.single-product .yn-woo-output > div.product.type-product > .clearfix::before,
body.single-product .yn-woo-output > div.product.type-product > .clearfix::after{
  content:none!important;
  display:none!important;
}
body.single-product .yn-woo-output > div.product.type-product > .clearfix > .woocommerce-product-gallery,
body.single-product .yn-woo-output > div.product.type-product > .clearfix > div.images{
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  max-width:620px!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  clear:none!important;
  justify-self:start!important;
}
body.single-product .yn-woo-output > div.product.type-product > .clearfix > .summary.entry-summary,
body.single-product .yn-woo-output > div.product.type-product > .clearfix > div.summary{
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
  max-width:600px!important;
  margin:0!important;
  padding:22px 24px 24px!important;
  float:none!important;
  clear:none!important;
  align-self:start!important;
  background:rgba(255,255,255,.72);
  border:1px solid rgba(65,45,27,.09);
  border-radius:22px;
  box-shadow:var(--yn-shadow-soft);
}
body.single-product .yn-woo-output > div.product.type-product > .clearfix > .summary .product_title{
  font-size:clamp(2rem,2.7vw,3rem)!important;
  line-height:1.06!important;
  margin:0 0 13px!important;
}
body.single-product .yn-woo-output > div.product.type-product > .clearfix > .summary p.price,
body.single-product .yn-woo-output > div.product.type-product > .clearfix > .summary span.price{
  font-size:1.18rem!important;
  font-weight:500!important;
  line-height:1.35!important;
  color:var(--yn-olive-dark)!important;
  margin:0 0 12px!important;
}
body.single-product .yn-woo-output > div.product.type-product > .clearfix > .summary p.price .amount,
body.single-product .yn-woo-output > div.product.type-product > .clearfix > .summary span.price .amount{
  font-weight:500!important;
}
body.single-product .yn-woo-output > div.product.type-product > .clearfix > .summary .woocommerce-product-details__short-description{
  margin-top:15px;
  font-size:.97rem;
  line-height:1.72;
}
body.single-product .yn-woo-output > div.product.type-product > .woocommerce-tabs,
body.single-product .yn-woo-output > div.product.type-product > section.related,
body.single-product .yn-woo-output > div.product.type-product > section.up-sells{
  width:100%!important;
  max-width:none!important;
  float:none!important;
  clear:both!important;
}

@media(max-width:900px){
  .yn-shop-hero{padding:21px 0 23px}
  .yn-shop-hero .lead{margin-top:10px;text-align:left}
  body.single-product .yn-woo-output > div.product.type-product > .clearfix{
    grid-template-columns:1fr!important;
    row-gap:26px!important;
  }
  body.single-product .yn-woo-output > div.product.type-product > .clearfix > .woocommerce-product-gallery,
  body.single-product .yn-woo-output > div.product.type-product > .clearfix > div.images,
  body.single-product .yn-woo-output > div.product.type-product > .clearfix > .summary.entry-summary,
  body.single-product .yn-woo-output > div.product.type-product > .clearfix > div.summary{
    grid-column:1!important;
    grid-row:auto!important;
    max-width:none!important;
  }
  body.single-product .yn-woo-output > div.product.type-product > .clearfix > .summary.entry-summary,
  body.single-product .yn-woo-output > div.product.type-product > .clearfix > div.summary{
    padding:18px 18px 20px!important;
  }
}

/* ================================================================
   STEP 5 — CLEAN CATALOG CARDS + USA NAVIGATION + PRODUCT PAGE POLISH
   ================================================================ */

/* Keep both lower commerce section headings compact and balanced with CTA. */
#yn-all-products-title,
#yn-usa-products-title{
  font-size:clamp(1.5rem,2vw,2.05rem)!important;
  line-height:1.12!important;
  letter-spacing:-.02em!important;
}

/* ---------------------------------------------------------------
   PRODUCT CARDS
   Clean storefront rhythm inspired by the live shop, while retaining the
   warmer YumNaturals card treatment.
   --------------------------------------------------------------- */
body.yn-commerce-preview-shell .yn-woo-output ul.products li.product,
body.yn-commerce-preview-shell .yn-shop-products .woocommerce ul.products li.product,
body.yn-commerce-preview-shell.single-product .related.products ul.products li.product,
body.yn-commerce-preview-shell.single-product .up-sells.products ul.products li.product{
  position:relative;
  overflow:hidden;
  padding:0 0 18px!important;
  border:1px solid rgba(65,45,27,.10)!important;
  border-radius:20px!important;
  background:#fff!important;
  box-shadow:var(--yn-shadow-soft)!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:100%;
}

body.yn-commerce-preview-shell .yn-woo-output ul.products li.product > a.woocommerce-loop-product__link,
body.yn-commerce-preview-shell .yn-shop-products .woocommerce ul.products li.product > a.woocommerce-loop-product__link,
body.yn-commerce-preview-shell.single-product .related.products ul.products li.product > a.woocommerce-loop-product__link,
body.yn-commerce-preview-shell.single-product .up-sells.products ul.products li.product > a.woocommerce-loop-product__link{
  display:flex!important;
  flex:1 1 auto;
  flex-direction:column!important;
  width:100%;
  text-decoration:none!important;
}

/* Product photography extends to the card edges. A hairline inset outline
   keeps white-background photography visually distinct from the card. */
body.yn-commerce-preview-shell .yn-woo-output ul.products li.product .et_shop_image,
body.yn-commerce-preview-shell .yn-woo-output ul.products li.product > a.woocommerce-loop-product__link > img,
body.yn-commerce-preview-shell .yn-shop-products .woocommerce ul.products li.product .et_shop_image,
body.yn-commerce-preview-shell.single-product .related.products ul.products li.product .et_shop_image,
body.yn-commerce-preview-shell.single-product .up-sells.products ul.products li.product .et_shop_image{
  display:block!important;
  width:100%!important;
  margin:0 0 20px!important;
  border:0!important;
  border-bottom:1px solid rgba(65,45,27,.10)!important;
  border-radius:20px 20px 14px 14px!important;
  background:#fff!important;
  box-shadow:inset 0 0 0 1px rgba(65,45,27,.08)!important;
  overflow:hidden!important;
}
body.yn-commerce-preview-shell .yn-woo-output ul.products li.product .et_shop_image img,
body.yn-commerce-preview-shell .yn-shop-products .woocommerce ul.products li.product .et_shop_image img,
body.yn-commerce-preview-shell.single-product .related.products ul.products li.product .et_shop_image img,
body.yn-commerce-preview-shell.single-product .up-sells.products ul.products li.product .et_shop_image img,
body.yn-commerce-preview-shell .yn-woo-output ul.products li.product > a.woocommerce-loop-product__link > img{
  display:block!important;
  width:100%!important;
  aspect-ratio:1/1!important;
  object-fit:contain!important;
  margin:0!important;
  border:0!important;
  border-radius:20px 20px 14px 14px!important;
  background:#fff!important;
}

/* Center title, stars and price; give the image/content transition breathing room. */
body.yn-commerce-preview-shell .yn-woo-output ul.products li.product .woocommerce-loop-product__title,
body.yn-commerce-preview-shell .yn-shop-products .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.yn-commerce-preview-shell.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
body.yn-commerce-preview-shell.single-product .up-sells.products ul.products li.product .woocommerce-loop-product__title{
  margin:0!important;
  padding:0 18px!important;
  color:var(--yn-cocoa)!important;
  font-size:1.08rem!important;
  line-height:1.28!important;
  text-align:center!important;
}

.yn-card-stars{
  position:relative;
  width:max-content;
  max-width:calc(100% - 36px);
  height:24px;
  margin:7px auto 2px;
  font-family:Arial,sans-serif;
  font-size:1.13rem;
  line-height:1;
  letter-spacing:1px;
  white-space:nowrap;
}
.yn-card-stars-base{
  display:block;
  color:#C9C6C0;
}
.yn-card-stars-fill{
  position:absolute;
  top:0;
  left:0;
  display:block;
  overflow:hidden;
  color:var(--yn-olive-dark);
  white-space:nowrap;
}

body.yn-commerce-preview-shell .yn-woo-output ul.products li.product .price,
body.yn-commerce-preview-shell .yn-shop-products .woocommerce ul.products li.product .price,
body.yn-commerce-preview-shell.single-product .related.products ul.products li.product .price,
body.yn-commerce-preview-shell.single-product .up-sells.products ul.products li.product .price{
  display:block!important;
  margin:4px 0 14px!important;
  padding:0 18px!important;
  color:var(--yn-olive-dark)!important;
  font-size:1rem!important;
  line-height:1.35!important;
  font-weight:400!important;
  text-align:center!important;
}
body.yn-commerce-preview-shell .yn-woo-output ul.products li.product .price *,
body.yn-commerce-preview-shell .yn-shop-products .woocommerce ul.products li.product .price *,
body.yn-commerce-preview-shell.single-product .related.products ul.products li.product .price *,
body.yn-commerce-preview-shell.single-product .up-sells.products ul.products li.product .price *{
  font-weight:400!important;
}

/* Every loop action stays at the bottom. This deliberately overrides bundle
   plugin colors so simple, variable and bundle cards share one quiet control. */
body.yn-commerce-preview-shell .yn-woo-output ul.products li.product > a.button,
body.yn-commerce-preview-shell .yn-woo-output ul.products li.product > .button,
body.yn-commerce-preview-shell .yn-shop-products .woocommerce ul.products li.product > a.button,
body.yn-commerce-preview-shell .yn-shop-products .woocommerce ul.products li.product > .button,
body.yn-commerce-preview-shell.single-product .related.products ul.products li.product > a.button,
body.yn-commerce-preview-shell.single-product .up-sells.products ul.products li.product > a.button,
body.yn-commerce-preview-shell .yn-woo-output ul.products li.product .product_type_bundle,
body.yn-commerce-preview-shell .yn-woo-output ul.products li.product .product_type_variable,
body.yn-commerce-preview-shell .yn-woo-output ul.products li.product .add_to_cart_button{
  width:calc(100% - 36px)!important;
  min-height:44px!important;
  margin:auto 18px 0!important;
  padding:11px 16px!important;
  border:1px solid rgba(65,45,27,.34)!important;
  outline:0!important;
  border-radius:999px!important;
  background:#fff!important;
  background-image:none!important;
  box-shadow:none!important;
  color:var(--yn-cocoa)!important;
  font-size:.70rem!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.11em!important;
  text-align:center!important;
  text-transform:uppercase!important;
}
body.yn-commerce-preview-shell .yn-woo-output ul.products li.product > a.button:hover,
body.yn-commerce-preview-shell .yn-woo-output ul.products li.product > .button:hover,
body.yn-commerce-preview-shell .yn-shop-products .woocommerce ul.products li.product > a.button:hover,
body.yn-commerce-preview-shell.single-product .related.products ul.products li.product > a.button:hover,
body.yn-commerce-preview-shell.single-product .up-sells.products ul.products li.product > a.button:hover{
  border-color:var(--yn-olive)!important;
  background:#FBFBEF!important;
  color:var(--yn-olive-dark)!important;
}
body.yn-commerce-preview-shell .yn-woo-output ul.products li.product a.added_to_cart{
  margin:8px 18px 0;
  text-align:center;
  color:var(--yn-olive-dark);
  font-size:.75rem;
  font-weight:700;
}

/* The old Step 4.2 bottom-rating placeholder is retired. */
.yn-card-rating{display:none!important}

/* ---------------------------------------------------------------
   SINGLE PRODUCT — fewer boxes, stronger typography, cleaner content flow
   --------------------------------------------------------------- */
body.single-product .yn-woo-output > div.product.type-product > .clearfix{
  column-gap:58px!important;
}

/* Main gallery: only a tiny picture outline, not another card. */
body.single-product .yn-woo-output .woocommerce-product-gallery__image{
  overflow:hidden!important;
  border:1px solid rgba(65,45,27,.13)!important;
  border-radius:18px!important;
  background:#fff!important;
}
body.single-product .yn-woo-output .woocommerce-product-gallery__image img{
  display:block!important;
  width:100%!important;
  border-radius:17px!important;
  background:#fff!important;
}
body.single-product .yn-woo-output .flex-control-thumbs{
  display:flex!important;
  gap:12px!important;
  margin-top:16px!important;
  padding:0!important;
}
body.single-product .yn-woo-output .flex-control-thumbs li{
  float:none!important;
  width:78px!important;
  margin:0!important;
}
body.single-product .yn-woo-output .flex-control-thumbs img{
  border:1px solid rgba(65,45,27,.13)!important;
  border-radius:12px!important;
  background:#fff!important;
  opacity:.72;
}
body.single-product .yn-woo-output .flex-control-thumbs img.flex-active{
  border-color:var(--yn-olive)!important;
  opacity:1;
}

/* Remove the large summary card. The purchase information now sits naturally
   beside the gallery with one subtle divider only. */
body.single-product .yn-woo-output > div.product.type-product > .clearfix > .summary.entry-summary,
body.single-product .yn-woo-output > div.product.type-product > .clearfix > div.summary{
  max-width:620px!important;
  padding:4px 0 0 10px!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body.single-product .yn-woo-output .summary .product_title{
  color:var(--yn-cocoa)!important;
  font-size:clamp(2.2rem,3vw,3.45rem)!important;
  line-height:1.04!important;
  margin:0 0 15px!important;
}
body.single-product .yn-woo-output .summary p.price,
body.single-product .yn-woo-output .summary span.price{
  color:var(--yn-olive-dark)!important;
  font-size:1.25rem!important;
  font-weight:400!important;
}
body.single-product .yn-woo-output .summary p.price *,
body.single-product .yn-woo-output .summary span.price *{
  font-weight:400!important;
}
body.single-product .yn-woo-output .summary .woocommerce-product-details__short-description{
  color:#514B45!important;
  font-size:1.04rem!important;
  line-height:1.75!important;
  margin-top:18px!important;
}
body.single-product .yn-woo-output .summary .stock{
  color:var(--yn-olive-dark)!important;
  font-size:.86rem!important;
  font-weight:700!important;
}
body.single-product .yn-woo-output .summary form.cart{
  margin-top:24px!important;
}
body.single-product .yn-woo-output .summary .product_meta{
  margin-top:26px!important;
  padding-top:18px!important;
  border-top:1px solid rgba(65,45,27,.12)!important;
  color:#726B63!important;
  font-size:.79rem!important;
  line-height:1.65!important;
}
body.single-product .yn-woo-output .summary .product_meta a{
  color:var(--yn-olive-dark)!important;
}

/* Tabs become a simple typographic navigation rather than a grey boxed strip. */
body.single-product .yn-woo-output .woocommerce-tabs{
  margin-top:62px!important;
  border-top:1px solid rgba(65,45,27,.10);
  padding-top:4px;
}
body.single-product .yn-woo-output .woocommerce-tabs ul.tabs{
  display:flex!important;
  gap:28px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-bottom:1px solid rgba(65,45,27,.12)!important;
  background:transparent!important;
}
body.single-product .yn-woo-output .woocommerce-tabs ul.tabs::before,
body.single-product .yn-woo-output .woocommerce-tabs ul.tabs::after{
  display:none!important;
}
body.single-product .yn-woo-output .woocommerce-tabs ul.tabs li{
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
body.single-product .yn-woo-output .woocommerce-tabs ul.tabs li::before,
body.single-product .yn-woo-output .woocommerce-tabs ul.tabs li::after{
  display:none!important;
}
body.single-product .yn-woo-output .woocommerce-tabs ul.tabs li a{
  display:block!important;
  padding:14px 0 12px!important;
  border-bottom:2px solid transparent!important;
  color:#6B6259!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:1.02rem!important;
  font-weight:500!important;
  line-height:1.2!important;
  text-decoration:none!important;
}
body.single-product .yn-woo-output .woocommerce-tabs ul.tabs li.active a{
  border-bottom-color:var(--yn-olive)!important;
  color:var(--yn-cocoa)!important;
}

/* Long descriptions: intentionally editorial and easy to expand with future
   h2/h3/h4 sections, lists, tables, notes and richer product content. */
body.single-product .yn-woo-output .woocommerce-tabs .panel{
  max-width:1080px!important;
  margin:0!important;
  padding:30px 0 10px!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  color:#3F3A35!important;
  font-size:1rem!important;
  line-height:1.78!important;
}
body.single-product .yn-woo-output .woocommerce-tabs .panel h2{
  margin:0 0 18px!important;
  color:var(--yn-cocoa)!important;
  font-size:2rem!important;
  line-height:1.16!important;
}
body.single-product .yn-woo-output .woocommerce-tabs .panel h3{
  margin:32px 0 12px!important;
  color:var(--yn-cocoa)!important;
  font-size:1.55rem!important;
  line-height:1.2!important;
}
body.single-product .yn-woo-output .woocommerce-tabs .panel h4{
  margin:26px 0 10px!important;
  color:var(--yn-earth)!important;
  font-size:1.22rem!important;
  line-height:1.25!important;
}
body.single-product .yn-woo-output .woocommerce-tabs .panel p{
  margin:0 0 1.15em!important;
}
body.single-product .yn-woo-output .woocommerce-tabs .panel ul,
body.single-product .yn-woo-output .woocommerce-tabs .panel ol{
  margin:0 0 1.35em 1.35em!important;
  padding:0!important;
}
body.single-product .yn-woo-output .woocommerce-tabs .panel li{
  margin:.28em 0!important;
}
body.single-product .yn-woo-output .woocommerce-tabs .panel strong{
  color:#342C25;
}
body.single-product .yn-woo-output .woocommerce-tabs .shop_attributes{
  border:0!important;
  background:transparent!important;
}
body.single-product .yn-woo-output .woocommerce-tabs .shop_attributes th,
body.single-product .yn-woo-output .woocommerce-tabs .shop_attributes td{
  padding:12px 10px!important;
  border-bottom:1px solid rgba(65,45,27,.09)!important;
  background:transparent!important;
}

@media(max-width:900px){
  body.single-product .yn-woo-output > div.product.type-product > .clearfix > .summary.entry-summary,
  body.single-product .yn-woo-output > div.product.type-product > .clearfix > div.summary{
    padding:2px 0 0!important;
  }
  body.single-product .yn-woo-output .woocommerce-tabs ul.tabs{
    gap:18px!important;
    overflow-x:auto;
  }
  body.single-product .yn-woo-output .woocommerce-tabs .panel{
    padding-top:24px!important;
  }
}


/* YN-FINISHING-PASS-V3 START */
/* Product tabs: retain the approved clean indentation. */
body.yn-commerce-preview-shell.single-product .yn-woo-output .woocommerce-tabs .panel{
  padding:30px 38px 18px!important;
}
body.yn-commerce-preview-shell.single-product .yn-woo-output .woocommerce-tabs .panel > :first-child{
  margin-top:0!important;
}
body.yn-commerce-preview-shell.single-product .yn-woo-output .woocommerce-tabs .panel ul,
body.yn-commerce-preview-shell.single-product .yn-woo-output .woocommerce-tabs .panel ol{
  margin-left:1.55em!important;
  padding-left:.2em!important;
}
body.yn-commerce-preview-shell.single-product .yn-woo-output .woocommerce-tabs .panel li{
  padding-left:.18em!important;
}

/* Keep inherited Divi button arrows at the far-right edge. */
body.yn-commerce-preview-shell .yn-woo-output a.button,
body.yn-commerce-preview-shell .yn-woo-output button.button,
body.yn-commerce-preview-shell .yn-woo-output input.button,
body.yn-commerce-preview-shell .yn-shop-products a.button{
  position:relative!important;
  padding-left:48px!important;
  padding-right:48px!important;
}
body.yn-commerce-preview-shell .yn-woo-output a.button::after,
body.yn-commerce-preview-shell .yn-woo-output button.button::after,
body.yn-commerce-preview-shell .yn-shop-products a.button::after{
  position:absolute!important;
  left:auto!important;
  right:18px!important;
  top:50%!important;
  margin:0!important;
  transform:translateY(-50%)!important;
  line-height:1!important;
}

/* Woo's built-in desktop zoom inserts a large moving img.zoomImg. The live
   preview should stay completely stationary until the shopper opens the image. */
body.yn-commerce-preview-shell.single-product .woocommerce-product-gallery img.zoomImg{
  display:none!important;
  opacity:0!important;
  visibility:hidden!important;
  pointer-events:none!important;
}
body.yn-commerce-preview-shell.single-product .woocommerce-product-gallery__image a,
body.yn-commerce-preview-shell.single-product .woocommerce-product-gallery__image img:not(.zoomImg),
body.yn-commerce-preview-shell.single-product .woocommerce-product-gallery__trigger{
  cursor:zoom-in!important;
}

/* V3 image viewer: stationary product page + wheel zoom in the viewer. */
.yn-v3-image-viewer{
  position:fixed!important;
  inset:0!important;
  z-index:2147483000!important;
  display:none;
  align-items:center;
  justify-content:center;
  padding:24px;
  background:rgba(24,18,13,.93)!important;
  backdrop-filter:blur(5px);
}
.yn-v3-image-viewer.is-open{display:flex!important}
.yn-v3-image-viewer__stage{
  position:relative;
  width:min(96vw,1700px);
  height:min(94vh,1200px);
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  touch-action:none;
}
.yn-v3-image-viewer__image{
  display:block!important;
  max-width:92%!important;
  max-height:92%!important;
  width:auto!important;
  height:auto!important;
  object-fit:contain!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 28px 90px rgba(0,0,0,.38)!important;
  transform:scale(1);
  transform-origin:50% 50%;
  transition:transform .08s linear;
  user-select:none;
  -webkit-user-drag:none;
  cursor:zoom-in!important;
}
.yn-v3-image-viewer__image.is-zoomed{cursor:zoom-out!important}
.yn-v3-image-viewer__zoom{
  position:absolute;
  left:50%;
  bottom:10px;
  transform:translateX(-50%);
  z-index:5;
  min-width:66px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#412D1B;
  text-align:center;
  font:700 12px/1 Arial,sans-serif;
  letter-spacing:.04em;
  pointer-events:none;
  box-shadow:0 6px 20px rgba(0,0,0,.18);
}
.yn-v3-image-viewer__hint{
  position:absolute;
  left:50%;
  top:10px;
  transform:translateX(-50%);
  z-index:5;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.88);
  color:#57483B;
  font:600 11px/1 Arial,sans-serif;
  letter-spacing:.03em;
  pointer-events:none;
  white-space:nowrap;
}
.yn-v3-image-viewer__close,
.yn-v3-image-viewer__prev,
.yn-v3-image-viewer__next{
  position:absolute!important;
  z-index:7!important;
  width:48px!important;
  height:48px!important;
  border:1px solid rgba(255,255,255,.52)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.96)!important;
  color:#412D1B!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:0!important;
  box-shadow:0 8px 28px rgba(0,0,0,.22)!important;
  cursor:pointer!important;
  font:400 30px/1 Georgia,"Times New Roman",serif!important;
}
.yn-v3-image-viewer__close{right:4px!important;top:4px!important;font-size:28px!important}
.yn-v3-image-viewer__prev{left:4px!important;top:50%!important;transform:translateY(-50%)!important}
.yn-v3-image-viewer__next{right:4px!important;top:50%!important;transform:translateY(-50%)!important}
.yn-v3-image-viewer.is-single .yn-v3-image-viewer__prev,
.yn-v3-image-viewer.is-single .yn-v3-image-viewer__next{display:none!important}

@media(max-width:620px){
  body.yn-commerce-preview-shell.single-product .yn-woo-output .woocommerce-tabs .panel{
    padding:24px 18px 14px!important;
  }
  body.yn-commerce-preview-shell .yn-woo-output a.button,
  body.yn-commerce-preview-shell .yn-woo-output button.button,
  body.yn-commerce-preview-shell .yn-shop-products a.button{
    padding-left:42px!important;
    padding-right:42px!important;
  }
  body.yn-commerce-preview-shell .yn-woo-output a.button::after,
  body.yn-commerce-preview-shell .yn-woo-output button.button::after,
  body.yn-commerce-preview-shell .yn-shop-products a.button::after{
    right:14px!important;
  }
  .yn-v3-image-viewer{padding:8px!important}
  .yn-v3-image-viewer__stage{width:100%;height:100%}
  .yn-v3-image-viewer__image{max-width:94%!important;max-height:88%!important}
  .yn-v3-image-viewer__close,
  .yn-v3-image-viewer__prev,
  .yn-v3-image-viewer__next{width:42px!important;height:42px!important}
  .yn-v3-image-viewer__hint{display:none}
}
/* YN-FINISHING-PASS-V3 END */




/* YN-ACCOUNT-PREVIEW-V4 START */
/* -------------------------------------------------------------------------
   MY ACCOUNT V4
   - Account hero now inherits the exact Shop hero geometry/typography
   - Remove YITH pseudo-element separator above Dashboard
   - Make email-confirm notice/button fit cleanly
   - Force Billing/Shipping addresses into a true two-card grid
   ------------------------------------------------------------------------- */

/* No spacer between preview strip and hero. Everything else is inherited
   directly from .yn-shop-hero so My Account matches /shop/. */
body.yn-commerce-preview-shell.woocommerce-account .yn-content-wrap{
  padding-top:0!important;
}
body.yn-commerce-preview-shell.woocommerce-account .yn-account-hero{
  margin-top:0!important;
}

body.yn-commerce-preview-shell.woocommerce-account .yn-account-section{
  position:relative!important;
  padding:18px 0 78px!important;
}
body.yn-commerce-preview-shell.woocommerce-account .yn-account-section::before{
  content:""!important;
  display:block!important;
  width:min(1180px,calc(100% - 44px))!important;
  height:1px!important;
  margin:0 auto 22px!important;
  background:rgba(65,45,27,.12)!important;
}
body.yn-commerce-preview-shell.woocommerce-account .yn-account-panel{
  width:min(1180px,calc(100% - 44px))!important;
  margin:0 auto!important;
}
body.yn-commerce-preview-shell.woocommerce-account .yn-account-runtime,
body.yn-commerce-preview-shell.woocommerce-account .yn-account-runtime > .woocommerce{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
}

/* Actual YITH My Account layout. */
body.yn-commerce-preview-shell.woocommerce-account .yn-account-runtime.is-logged-in > .woocommerce{
  display:grid!important;
  grid-template-columns:260px minmax(0,1fr)!important;
  gap:28px!important;
  align-items:start!important;
}
body.yn-commerce-preview-shell.woocommerce-account #my-account-menu.yith-wcmap{
  grid-column:1!important;
  grid-row:1!important;
  float:none!important;
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  background:#fff!important;
  border:1px solid rgba(65,45,27,.10)!important;
  border-radius:20px!important;
  box-shadow:var(--yn-shadow-soft)!important;
  overflow:hidden!important;
}
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content{
  grid-column:2!important;
  grid-row:1!important;
  float:none!important;
  width:100%!important;
  min-width:0!important;
  min-height:300px!important;
  margin:0!important;
  padding:30px 34px!important;
  box-sizing:border-box!important;
  background:rgba(255,255,255,.97)!important;
  border:1px solid rgba(65,45,27,.10)!important;
  border-radius:20px!important;
  box-shadow:var(--yn-shadow-soft)!important;
  color:#5E5851!important;
  font-size:.97rem!important;
  line-height:1.72!important;
  overflow:visible!important;
}

/* Compact profile. */
body.yn-commerce-preview-shell.woocommerce-account #my-account-menu .user-profile{
  display:grid!important;
  grid-template-columns:58px minmax(0,1fr)!important;
  align-items:center!important;
  gap:14px!important;
  width:100%!important;
  min-height:0!important;
  margin:0!important;
  padding:17px 16px!important;
  box-sizing:border-box!important;
  background:linear-gradient(135deg,#FBF7EC 0%,#F5EBCF 68%,#F0F1DF 100%)!important;
  border:0!important;
  border-bottom:1px solid rgba(65,45,27,.10)!important;
}
body.yn-commerce-preview-shell.woocommerce-account #my-account-menu .user-avatar{
  width:58px!important;
  height:58px!important;
  min-width:58px!important;
  margin:0!important;
  padding:0!important;
  position:relative!important;
}
body.yn-commerce-preview-shell.woocommerce-account #my-account-menu .user-avatar img.avatar{
  display:block!important;
  width:58px!important;
  height:58px!important;
  max-width:58px!important;
  border-radius:50%!important;
  object-fit:cover!important;
  margin:0!important;
}
body.yn-commerce-preview-shell.woocommerce-account #my-account-menu .user-info{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  min-width:0!important;
  gap:2px!important;
  margin:0!important;
  padding:0!important;
}
body.yn-commerce-preview-shell.woocommerce-account #my-account-menu .user-info .username{
  color:var(--yn-cocoa)!important;
  font-size:.84rem!important;
  font-weight:900!important;
  line-height:1.25!important;
  overflow-wrap:anywhere!important;
}
body.yn-commerce-preview-shell.woocommerce-account #my-account-menu .user-info .user-email{
  color:#71685E!important;
  font-size:.72rem!important;
  line-height:1.35!important;
  overflow-wrap:anywhere!important;
}
body.yn-commerce-preview-shell.woocommerce-account #my-account-menu .user-info .logout{
  margin-top:5px!important;
}
body.yn-commerce-preview-shell.woocommerce-account #my-account-menu .user-info .logout a{
  display:inline-flex!important;
  align-items:center!important;
  min-height:26px!important;
  padding:4px 9px!important;
  border:1px solid rgba(65,45,27,.18)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#655B50!important;
  font-size:.62rem!important;
  font-weight:900!important;
  letter-spacing:.05em!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
}

/* YITH navigation. Explicitly suppress YITH/Divi generated separators. */
body.yn-commerce-preview-shell.woocommerce-account #my-account-menu ul.myaccount-menu{
  display:block!important;
  list-style:none!important;
  width:100%!important;
  margin:0!important;
  padding:8px!important;
  box-sizing:border-box!important;
  border:0!important;
}
body.yn-commerce-preview-shell.woocommerce-account #my-account-menu ul.myaccount-menu::before,
body.yn-commerce-preview-shell.woocommerce-account #my-account-menu ul.myaccount-menu::after{
  content:none!important;
  display:none!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
}
body.yn-commerce-preview-shell.woocommerce-account #my-account-menu ul.myaccount-menu > li{
  list-style:none!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:transparent!important;
}
body.yn-commerce-preview-shell.woocommerce-account #my-account-menu ul.myaccount-menu > li > a{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  width:100%!important;
  min-height:45px!important;
  margin:2px 0!important;
  padding:10px 12px!important;
  box-sizing:border-box!important;
  border:0!important;
  border-radius:12px!important;
  background:transparent!important;
  color:#5D554D!important;
  font-size:.83rem!important;
  font-weight:800!important;
  line-height:1.25!important;
  text-decoration:none!important;
  transition:background .18s ease,color .18s ease,transform .18s ease!important;
}
body.yn-commerce-preview-shell.woocommerce-account #my-account-menu ul.myaccount-menu > li > a:hover{
  background:#F8F3E8!important;
  color:var(--yn-cocoa)!important;
  transform:translateX(2px)!important;
}
body.yn-commerce-preview-shell.woocommerce-account #my-account-menu ul.myaccount-menu > li.active > a,
body.yn-commerce-preview-shell.woocommerce-account #my-account-menu ul.myaccount-menu > li.is-active > a{
  background:linear-gradient(135deg,#F2E7C9 0%,#F8F3E8 70%,#EEF0DD 100%)!important;
  color:var(--yn-cocoa)!important;
  box-shadow:inset 3px 0 0 var(--yn-olive)!important;
}
body.yn-commerce-preview-shell.woocommerce-account #my-account-menu ul.myaccount-menu .item-icon{
  flex:0 0 18px!important;
  width:18px!important;
  text-align:center!important;
  color:#7B746C!important;
}
body.yn-commerce-preview-shell.woocommerce-account #my-account-menu ul.myaccount-menu > li.active .item-icon{
  color:var(--yn-olive-dark)!important;
}
body.yn-commerce-preview-shell.woocommerce-account #my-account-menu a.yith-support{
  color:var(--yn-olive-dark)!important;
}

/* Content typography. */
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content > :first-child{
  margin-top:0!important;
}
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content h2,
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content h3{
  color:var(--yn-cocoa)!important;
  margin-top:0!important;
}
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content a:not(.button){
  color:var(--yn-olive-dark)!important;
  text-underline-offset:2px!important;
}

/* Compact account notices. The action may shrink/wrap instead of overflowing. */
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px 16px!important;
  width:100%!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  margin:0 0 22px!important;
  padding:14px 16px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(151,162,69,.24)!important;
  border-left:4px solid var(--yn-olive)!important;
  border-radius:14px!important;
  background:linear-gradient(135deg,#FBF8EF 0%,#F3E9CB 58%,#F1F3E1 100%)!important;
  color:#544B42!important;
  box-shadow:none!important;
  font-size:.93rem!important;
  line-height:1.5!important;
  list-style:none!important;
  overflow:hidden!important;
}
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info::before,
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message::before,
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error::before{
  display:none!important;
  content:none!important;
}
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button,
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error .button{
  float:none!important;
  flex:0 1 auto!important;
  width:auto!important;
  max-width:220px!important;
  min-height:36px!important;
  margin:0 0 0 auto!important;
  padding:8px 12px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(65,45,27,.18)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--yn-cocoa)!important;
  font-size:.62rem!important;
  font-weight:900!important;
  letter-spacing:.07em!important;
  line-height:1.25!important;
  text-align:center!important;
  text-transform:uppercase!important;
  white-space:normal!important;
  overflow-wrap:anywhere!important;
}

/* Orders/payment tables. */
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content table.shop_table{
  width:100%!important;
  margin:18px 0!important;
  border:1px solid rgba(65,45,27,.11)!important;
  border-radius:14px!important;
  background:#fff!important;
  overflow:hidden!important;
  border-collapse:separate!important;
  border-spacing:0!important;
}
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content table.shop_table th,
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content table.shop_table td{
  padding:13px 14px!important;
  vertical-align:middle!important;
}

/* Addresses: generated col2-set pseudo-elements were consuming grid cells.
   Remove them, then place Billing and Shipping in the two real columns. */
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .u-columns.woocommerce-Addresses,
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px!important;
  width:100%!important;
  margin:18px 0 0!important;
  padding:0!important;
}
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .u-columns.woocommerce-Addresses::before,
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .u-columns.woocommerce-Addresses::after,
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::before,
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses::after{
  content:none!important;
  display:none!important;
}
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .u-columns.woocommerce-Addresses > .u-column1.col-1.woocommerce-Address,
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .u-columns.woocommerce-Addresses > .u-column2.col-2.woocommerce-Address,
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses > .woocommerce-Address{
  display:block!important;
  grid-column:auto!important;
  grid-row:auto!important;
  float:none!important;
  clear:none!important;
  position:static!important;
  transform:none!important;
  width:100%!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:22px!important;
  box-sizing:border-box!important;
  background:#FBF8F1!important;
  border:1px solid rgba(65,45,27,.10)!important;
  border-radius:16px!important;
}
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title{
  display:flex!important;
  align-items:flex-start!important;
  justify-content:space-between!important;
  gap:14px!important;
  margin-bottom:12px!important;
}
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h2,
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h3{
  margin:0!important;
  font-size:1.36rem!important;
  line-height:1.2!important;
}
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title .edit{
  flex:0 1 auto!important;
  max-width:48%!important;
  font-size:.72rem!important;
  font-weight:800!important;
  line-height:1.3!important;
  text-align:right!important;
  text-decoration:none!important;
}
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address{
  margin:0!important;
  font-style:normal!important;
  line-height:1.7!important;
}

/* Edit Account: remove legacy floats and keep first/last name aligned. */
body.yn-commerce-preview-shell.woocommerce-account form.woocommerce-EditAccountForm{
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:18px 22px!important;
}
body.yn-commerce-preview-shell.woocommerce-account form.woocommerce-EditAccountForm > *{
  grid-column:1/-1;
  min-width:0!important;
}
body.yn-commerce-preview-shell.woocommerce-account form.woocommerce-EditAccountForm > .form-row-first{
  grid-column:1!important;
}
body.yn-commerce-preview-shell.woocommerce-account form.woocommerce-EditAccountForm > .form-row-last{
  grid-column:2!important;
}
body.yn-commerce-preview-shell.woocommerce-account form.woocommerce-EditAccountForm > .clear{
  display:none!important;
}
body.yn-commerce-preview-shell.woocommerce-account form.woocommerce-EditAccountForm .form-row{
  float:none!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
}
body.yn-commerce-preview-shell.woocommerce-account form.woocommerce-EditAccountForm fieldset{
  width:100%!important;
  margin:2px 0 0!important;
  padding:18px 0 0!important;
  border:0!important;
  border-top:1px solid rgba(65,45,27,.10)!important;
}
body.yn-commerce-preview-shell.woocommerce-account form.woocommerce-EditAccountForm legend{
  padding:0 10px 0 0!important;
  color:var(--yn-cocoa)!important;
  font-weight:900!important;
}
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content input.input-text,
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content input[type="email"],
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content input[type="password"],
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content select,
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content textarea{
  width:100%!important;
  max-width:none!important;
  box-sizing:border-box!important;
}
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .button{
  min-height:42px!important;
}

/* Logged-out account. */
body.yn-commerce-preview-shell.woocommerce-account .yn-account-runtime.is-logged-out .woocommerce-form-login,
body.yn-commerce-preview-shell.woocommerce-account .yn-account-runtime.is-logged-out .woocommerce-form-register{
  max-width:620px!important;
  margin:0 auto!important;
  padding:30px!important;
  background:#fff!important;
  border:1px solid rgba(65,45,27,.10)!important;
  border-radius:20px!important;
  box-shadow:var(--yn-shadow-soft)!important;
}

@media(max-width:900px){
  body.yn-commerce-preview-shell.woocommerce-account .yn-account-runtime.is-logged-in > .woocommerce{
    grid-template-columns:1fr!important;
    gap:20px!important;
  }
  body.yn-commerce-preview-shell.woocommerce-account #my-account-menu.yith-wcmap,
  body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content{
    grid-column:1!important;
    grid-row:auto!important;
  }
  body.yn-commerce-preview-shell.woocommerce-account #my-account-menu ul.myaccount-menu{
    display:flex!important;
    gap:6px!important;
    overflow-x:auto!important;
    padding:8px!important;
    scrollbar-width:thin;
  }
  body.yn-commerce-preview-shell.woocommerce-account #my-account-menu ul.myaccount-menu > li{
    flex:0 0 auto!important;
    width:auto!important;
  }
  body.yn-commerce-preview-shell.woocommerce-account #my-account-menu ul.myaccount-menu > li > a{
    white-space:nowrap!important;
    padding:10px 13px!important;
  }
  body.yn-commerce-preview-shell.woocommerce-account #my-account-menu ul.myaccount-menu > li.active > a,
  body.yn-commerce-preview-shell.woocommerce-account #my-account-menu ul.myaccount-menu > li.is-active > a{
    box-shadow:inset 0 -3px 0 var(--yn-olive)!important;
  }
}

@media(max-width:700px){
  body.yn-commerce-preview-shell.woocommerce-account .yn-account-section{
    padding:14px 0 48px!important;
  }
  body.yn-commerce-preview-shell.woocommerce-account .yn-account-section::before{
    width:min(100% - 28px,1180px)!important;
    margin-bottom:16px!important;
  }
  body.yn-commerce-preview-shell.woocommerce-account .yn-account-panel{
    width:min(100% - 28px,1180px)!important;
  }
  body.yn-commerce-preview-shell.woocommerce-account #my-account-menu .user-profile{
    grid-template-columns:50px minmax(0,1fr)!important;
    padding:14px!important;
  }
  body.yn-commerce-preview-shell.woocommerce-account #my-account-menu .user-avatar,
  body.yn-commerce-preview-shell.woocommerce-account #my-account-menu .user-avatar img.avatar{
    width:50px!important;
    height:50px!important;
    min-width:50px!important;
    max-width:50px!important;
  }
  body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content{
    padding:22px 18px!important;
    border-radius:16px!important;
  }
  body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .u-columns.woocommerce-Addresses,
  body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses{
    grid-template-columns:1fr!important;
  }
  body.yn-commerce-preview-shell.woocommerce-account form.woocommerce-EditAccountForm{
    grid-template-columns:1fr!important;
  }
  body.yn-commerce-preview-shell.woocommerce-account form.woocommerce-EditAccountForm > .form-row-first,
  body.yn-commerce-preview-shell.woocommerce-account form.woocommerce-EditAccountForm > .form-row-last{
    grid-column:1!important;
  }
  body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info,
  body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message,
  body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error{
    align-items:flex-start!important;
    flex-direction:column!important;
  }
  body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
  body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button,
  body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error .button{
    max-width:100%!important;
    margin:0!important;
  }
}


/* -------------------------------------------------------------------------
   SHARED WOOCOMMERCE BUTTON SYSTEM V1
   Centralized here so Cart, Checkout, My Account, product loops and future
   Woo pages inherit one YumNaturals control language. Purchase actions are
   cocoa-filled; ordinary actions are quiet outlined pills.
   ------------------------------------------------------------------------- */
body.yn-commerce-preview-shell .woocommerce a.button,
body.yn-commerce-preview-shell .woocommerce button.button,
body.yn-commerce-preview-shell .woocommerce input.button,
body.yn-commerce-preview-shell .woocommerce .button,
body.yn-commerce-preview-shell a.woocommerce-button,
body.yn-commerce-preview-shell button.woocommerce-button,
body.yn-commerce-preview-shell .wc-forward{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:42px!important;
  width:auto!important;
  max-width:100%!important;
  padding:9px 17px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(65,45,27,.20)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--yn-cocoa)!important;
  box-shadow:none!important;
  font-family:inherit!important;
  font-size:.70rem!important;
  font-weight:900!important;
  letter-spacing:.07em!important;
  line-height:1.2!important;
  text-align:center!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
  white-space:normal!important;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease!important;
}
body.yn-commerce-preview-shell .woocommerce a.button::before,
body.yn-commerce-preview-shell .woocommerce a.button::after,
body.yn-commerce-preview-shell .woocommerce button.button::before,
body.yn-commerce-preview-shell .woocommerce button.button::after,
body.yn-commerce-preview-shell .woocommerce input.button::before,
body.yn-commerce-preview-shell .woocommerce input.button::after,
body.yn-commerce-preview-shell a.woocommerce-button::before,
body.yn-commerce-preview-shell a.woocommerce-button::after{
  content:none!important;
  display:none!important;
}
body.yn-commerce-preview-shell .woocommerce a.button:hover,
body.yn-commerce-preview-shell .woocommerce button.button:hover,
body.yn-commerce-preview-shell .woocommerce input.button:hover,
body.yn-commerce-preview-shell .woocommerce .button:hover,
body.yn-commerce-preview-shell a.woocommerce-button:hover,
body.yn-commerce-preview-shell button.woocommerce-button:hover,
body.yn-commerce-preview-shell .wc-forward:hover{
  border-color:var(--yn-olive)!important;
  background:#FBFBEF!important;
  color:var(--yn-olive-dark)!important;
  transform:translateY(-1px)!important;
}
body.yn-commerce-preview-shell .woocommerce .button:disabled,
body.yn-commerce-preview-shell .woocommerce .button.disabled,
body.yn-commerce-preview-shell .woocommerce .button:disabled[disabled]{
  opacity:.5!important;
  cursor:not-allowed!important;
  transform:none!important;
}

/* Clear primary purchase/save actions. */
body.yn-commerce-preview-shell .woocommerce div.product form.cart .single_add_to_cart_button,
body.yn-commerce-preview-shell .woocommerce .wc-proceed-to-checkout .checkout-button,
body.yn-commerce-preview-shell.woocommerce-checkout #payment #place_order,
body.yn-commerce-preview-shell .woocommerce button[name="save_account_details"],
body.yn-commerce-preview-shell .woocommerce .woocommerce-form-login__submit,
body.yn-commerce-preview-shell .woocommerce .woocommerce-form-register__submit{
  border-color:var(--yn-cocoa)!important;
  background:var(--yn-cocoa)!important;
  color:#fff!important;
}
body.yn-commerce-preview-shell .woocommerce div.product form.cart .single_add_to_cart_button:hover,
body.yn-commerce-preview-shell .woocommerce .wc-proceed-to-checkout .checkout-button:hover,
body.yn-commerce-preview-shell.woocommerce-checkout #payment #place_order:hover,
body.yn-commerce-preview-shell .woocommerce button[name="save_account_details"]:hover,
body.yn-commerce-preview-shell .woocommerce .woocommerce-form-login__submit:hover,
body.yn-commerce-preview-shell .woocommerce .woocommerce-form-register__submit:hover{
  border-color:var(--yn-olive-dark)!important;
  background:var(--yn-olive-dark)!important;
  color:#fff!important;
}

/* Preserve compact notice actions such as Confirm Email Address. */
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button,
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error .button{
  min-height:34px!important;
  padding:7px 11px!important;
  font-size:.60rem!important;
  letter-spacing:.06em!important;
  line-height:1.25!important;
  transform:none!important;
}

/* YN-ACCOUNT-PREVIEW-V4 END */

/* YN-COMMERCE-UNIFIED-V5 START */
/* -------------------------------------------------------------------------
   UNIFIED COMMERCE V5
   - Remove decorative hero/content separator lines
   - Pull page content closer to the hero on all custom commerce hubs
   - Give Cart and Checkout the same hero rhythm as Shop/My Account
   - Normalize every WooCommerce button, including product/bundle/cart states
   ------------------------------------------------------------------------- */

/* Remove only the decorative horizontal separators between hero and content.
   Card/table/input borders remain untouched. */
body.yn-commerce-preview-shell .yn-shop-categories::before,
body.yn-commerce-preview-shell .yn-shop-categories::after,
body.yn-commerce-preview-shell .yn-account-section::before,
body.yn-commerce-preview-shell .yn-account-section::after,
body.yn-commerce-preview-shell .yn-commerce-system-section::before,
body.yn-commerce-preview-shell .yn-commerce-system-section::after{
  content:none!important;
  display:none!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  background:none!important;
}
body.yn-commerce-preview-shell .yn-shop-categories,
body.yn-commerce-preview-shell .yn-account-section,
body.yn-commerce-preview-shell .yn-commerce-system-section{
  border-top:0!important;
  box-shadow:none;
}

/* Pull the first real content section closer to the hero. */
body.yn-commerce-preview-shell .yn-shop-categories{
  padding-top:24px!important;
}
body.yn-commerce-preview-shell.woocommerce-account .yn-account-section{
  padding-top:22px!important;
}
body.yn-commerce-preview-shell .yn-commerce-system-section{
  padding:22px 0 72px!important;
}
body.yn-commerce-preview-shell .yn-commerce-system-panel{
  width:min(1180px,calc(100% - 44px))!important;
  margin:0 auto!important;
  padding:0!important;
}
body.yn-commerce-preview-shell .yn-commerce-system-panel > .woocommerce,
body.yn-commerce-preview-shell .yn-commerce-system-panel .woocommerce{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
}

/* Cart/checkout no longer inherit legacy page-title spacing. */
body.yn-commerce-preview-shell.woocommerce-cart .yn-page-main,
body.yn-commerce-preview-shell.woocommerce-checkout .yn-page-main{
  padding-top:0!important;
}
body.yn-commerce-preview-shell.woocommerce-cart .yn-content-wrap,
body.yn-commerce-preview-shell.woocommerce-checkout .yn-content-wrap{
  padding-top:0!important;
}
body.yn-commerce-preview-shell.woocommerce-cart .entry-title,
body.yn-commerce-preview-shell.woocommerce-checkout .entry-title,
body.yn-commerce-preview-shell.woocommerce-cart .page-title,
body.yn-commerce-preview-shell.woocommerce-checkout .page-title{
  display:none!important;
}

/* -------------------------------------------------------------------------
   SHARED WOOCOMMERCE BUTTON SYSTEM V2
   Catch native Woo, alt buttons, bundle/variation/product-page controls,
   cart actions, account actions and plugin classes under one visual system.
   ------------------------------------------------------------------------- */
body.yn-commerce-preview-shell .woocommerce #respond input#submit,
body.yn-commerce-preview-shell .woocommerce a.button,
body.yn-commerce-preview-shell .woocommerce button.button,
body.yn-commerce-preview-shell .woocommerce input.button,
body.yn-commerce-preview-shell .woocommerce .button,
body.yn-commerce-preview-shell .woocommerce a.button.alt,
body.yn-commerce-preview-shell .woocommerce button.button.alt,
body.yn-commerce-preview-shell .woocommerce input.button.alt,
body.yn-commerce-preview-shell .woocommerce .button.alt,
body.yn-commerce-preview-shell a.woocommerce-button,
body.yn-commerce-preview-shell button.woocommerce-button,
body.yn-commerce-preview-shell .wc-forward,
body.yn-commerce-preview-shell .add_to_cart_button,
body.yn-commerce-preview-shell .product_type_simple,
body.yn-commerce-preview-shell .product_type_variable,
body.yn-commerce-preview-shell .product_type_bundle,
body.yn-commerce-preview-shell .product_type_grouped,
body.yn-commerce-preview-shell .single_add_to_cart_button,
body.yn-commerce-preview-shell .bundle_add_to_cart_button,
body.yn-commerce-preview-shell button[name="update_cart"],
body.yn-commerce-preview-shell button[name="apply_coupon"],
body.yn-commerce-preview-shell button[name="save_account_details"]{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:8px!important;
  min-height:42px!important;
  width:auto!important;
  max-width:100%!important;
  padding:9px 17px!important;
  box-sizing:border-box!important;
  border:1px solid rgba(65,45,27,.20)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--yn-cocoa)!important;
  box-shadow:none!important;
  font-family:inherit!important;
  font-size:.70rem!important;
  font-weight:900!important;
  letter-spacing:.07em!important;
  line-height:1.2!important;
  text-align:center!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
  white-space:normal!important;
  text-shadow:none!important;
  transition:background .18s ease,border-color .18s ease,color .18s ease,transform .18s ease!important;
}

/* Kill Divi/Woo/plugin generated arrows and mixed button overlays. */
body.yn-commerce-preview-shell .woocommerce #respond input#submit::before,
body.yn-commerce-preview-shell .woocommerce #respond input#submit::after,
body.yn-commerce-preview-shell .woocommerce a.button::before,
body.yn-commerce-preview-shell .woocommerce a.button::after,
body.yn-commerce-preview-shell .woocommerce button.button::before,
body.yn-commerce-preview-shell .woocommerce button.button::after,
body.yn-commerce-preview-shell .woocommerce input.button::before,
body.yn-commerce-preview-shell .woocommerce input.button::after,
body.yn-commerce-preview-shell .woocommerce .button::before,
body.yn-commerce-preview-shell .woocommerce .button::after,
body.yn-commerce-preview-shell .single_add_to_cart_button::before,
body.yn-commerce-preview-shell .single_add_to_cart_button::after,
body.yn-commerce-preview-shell .bundle_add_to_cart_button::before,
body.yn-commerce-preview-shell .bundle_add_to_cart_button::after{
  content:none!important;
  display:none!important;
}

body.yn-commerce-preview-shell .woocommerce #respond input#submit:hover,
body.yn-commerce-preview-shell .woocommerce a.button:hover,
body.yn-commerce-preview-shell .woocommerce button.button:hover,
body.yn-commerce-preview-shell .woocommerce input.button:hover,
body.yn-commerce-preview-shell .woocommerce .button:hover,
body.yn-commerce-preview-shell .woocommerce a.button.alt:hover,
body.yn-commerce-preview-shell .woocommerce button.button.alt:hover,
body.yn-commerce-preview-shell .woocommerce input.button.alt:hover,
body.yn-commerce-preview-shell .woocommerce .button.alt:hover,
body.yn-commerce-preview-shell a.woocommerce-button:hover,
body.yn-commerce-preview-shell button.woocommerce-button:hover,
body.yn-commerce-preview-shell .wc-forward:hover,
body.yn-commerce-preview-shell .add_to_cart_button:hover,
body.yn-commerce-preview-shell .product_type_simple:hover,
body.yn-commerce-preview-shell .product_type_variable:hover,
body.yn-commerce-preview-shell .product_type_bundle:hover,
body.yn-commerce-preview-shell .single_add_to_cart_button:hover,
body.yn-commerce-preview-shell .bundle_add_to_cart_button:hover{
  border-color:var(--yn-olive)!important;
  background:#FBFBEF!important;
  color:var(--yn-olive-dark)!important;
  transform:translateY(-1px)!important;
}

/* Primary conversion actions: one consistent cocoa treatment, including
   product-page add-to-cart and bundle add-to-cart. */
body.yn-commerce-preview-shell .woocommerce div.product form.cart .single_add_to_cart_button,
body.yn-commerce-preview-shell .woocommerce div.product form.cart .bundle_add_to_cart_button,
body.yn-commerce-preview-shell.single-product .single_add_to_cart_button,
body.yn-commerce-preview-shell.single-product .bundle_add_to_cart_button,
body.yn-commerce-preview-shell .woocommerce .wc-proceed-to-checkout .checkout-button,
body.yn-commerce-preview-shell.woocommerce-checkout #payment #place_order,
body.yn-commerce-preview-shell .woocommerce button[name="save_account_details"],
body.yn-commerce-preview-shell .woocommerce .woocommerce-form-login__submit,
body.yn-commerce-preview-shell .woocommerce .woocommerce-form-register__submit{
  border-color:var(--yn-cocoa)!important;
  background:var(--yn-cocoa)!important;
  color:#fff!important;
}
body.yn-commerce-preview-shell .woocommerce div.product form.cart .single_add_to_cart_button:hover,
body.yn-commerce-preview-shell .woocommerce div.product form.cart .bundle_add_to_cart_button:hover,
body.yn-commerce-preview-shell.single-product .single_add_to_cart_button:hover,
body.yn-commerce-preview-shell.single-product .bundle_add_to_cart_button:hover,
body.yn-commerce-preview-shell .woocommerce .wc-proceed-to-checkout .checkout-button:hover,
body.yn-commerce-preview-shell.woocommerce-checkout #payment #place_order:hover,
body.yn-commerce-preview-shell .woocommerce button[name="save_account_details"]:hover,
body.yn-commerce-preview-shell .woocommerce .woocommerce-form-login__submit:hover,
body.yn-commerce-preview-shell .woocommerce .woocommerce-form-register__submit:hover{
  border-color:var(--yn-olive-dark)!important;
  background:var(--yn-olive-dark)!important;
  color:#fff!important;
}

/* Cart Update button should look like the ordinary outlined system when live,
   and neutral/quiet while disabled - never bright plugin green. */
body.yn-commerce-preview-shell .woocommerce button[name="update_cart"]{
  border-color:rgba(65,45,27,.20)!important;
  background:#fff!important;
  color:var(--yn-cocoa)!important;
}
body.yn-commerce-preview-shell .woocommerce button[name="update_cart"]:hover:not(:disabled){
  border-color:var(--yn-olive)!important;
  background:#FBFBEF!important;
  color:var(--yn-olive-dark)!important;
}
body.yn-commerce-preview-shell .woocommerce button.button:disabled,
body.yn-commerce-preview-shell .woocommerce button.button.disabled,
body.yn-commerce-preview-shell .woocommerce button.button:disabled[disabled],
body.yn-commerce-preview-shell .woocommerce input.button:disabled,
body.yn-commerce-preview-shell .woocommerce input.button.disabled,
body.yn-commerce-preview-shell .woocommerce a.button.disabled,
body.yn-commerce-preview-shell .woocommerce button[name="update_cart"]:disabled,
body.yn-commerce-preview-shell .woocommerce button[name="update_cart"][disabled]{
  border-color:rgba(65,45,27,.12)!important;
  background:#F3F0E9!important;
  color:#8B837A!important;
  opacity:.72!important;
  cursor:not-allowed!important;
  transform:none!important;
  box-shadow:none!important;
}

/* Keep compact notice actions compact after the global button normalization. */
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-info .button,
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-message .button,
body.yn-commerce-preview-shell.woocommerce-account .woocommerce-MyAccount-content .woocommerce-error .button{
  min-height:34px!important;
  padding:7px 11px!important;
  font-size:.60rem!important;
  letter-spacing:.06em!important;
  line-height:1.25!important;
  transform:none!important;
}

/* Cart / Checkout layout refinements. No legacy Divi card around the page. */
body.yn-commerce-preview-shell.woocommerce-cart .yn-commerce-system-panel,
body.yn-commerce-preview-shell.woocommerce-checkout .yn-commerce-system-panel{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
body.yn-commerce-preview-shell.woocommerce-cart .woocommerce-cart-form,
body.yn-commerce-preview-shell.woocommerce-cart .cart_totals,
body.yn-commerce-preview-shell.woocommerce-checkout form.checkout{
  margin-top:0!important;
}

@media(max-width:700px){
  body.yn-commerce-preview-shell .yn-shop-categories,
  body.yn-commerce-preview-shell.woocommerce-account .yn-account-section,
  body.yn-commerce-preview-shell .yn-commerce-system-section{
    padding-top:16px!important;
  }
  body.yn-commerce-preview-shell .yn-commerce-system-panel{
    width:min(100% - 28px,1180px)!important;
  }
}
/* YN-COMMERCE-UNIFIED-V5 END */

/* YN-COMMERCE-POLISH-V6 START */
/* -------------------------------------------------------------------------
   COMMERCE POLISH V6
   - Remove duplicate injected Cart title inside the new Cart hub
   - Make the existing YayCurrency cart control a compact inline utility
   - Normalize Woo notices to the YumNaturals visual system
   - Make ALL Woo action buttons use the same outlined YumNaturals treatment
   - Ensure disabled variation/cart controls stay neutral rather than brown/green
   ------------------------------------------------------------------------- */

/* The new Cart hub already provides the page H1. This older injected title is
   retained functionally in its source but hidden only inside the private shell. */
body.yn-commerce-preview-shell.woocommerce-cart .ybn-cart-title{
  display:none!important;
}

/* Compact the existing custom/YayCurrency Cart Currency block. Do not alter
   currency logic or the switcher form; this is presentation only. */
body.yn-commerce-preview-shell.woocommerce-cart .ybn-cart-currency,
body.yn-commerce-preview-shell.woocommerce-cart .ybn-checkout-currency.ybn-cart-currency{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
  width:max-content!important;
  max-width:100%!important;
  min-height:0!important;
  margin:0 0 14px auto!important;
  padding:4px 0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body.yn-commerce-preview-shell.woocommerce-cart .ybn-cart-currency-label{
  margin:0!important;
  color:var(--yn-muted,#6b635b)!important;
  font-family:inherit!important;
  font-size:.66rem!important;
  font-weight:800!important;
  letter-spacing:.035em!important;
  line-height:1!important;
  white-space:nowrap!important;
}
body.yn-commerce-preview-shell.woocommerce-cart .ybn-cart-currency .yay-currency-block-switcher,
body.yn-commerce-preview-shell.woocommerce-cart .ybn-cart-currency .yay-currency-single-page-switcher,
body.yn-commerce-preview-shell.woocommerce-cart .ybn-cart-currency .yay-currency-form-switcher,
body.yn-commerce-preview-shell.woocommerce-cart .ybn-cart-currency .yay-currency-custom-select-wrapper,
body.yn-commerce-preview-shell.woocommerce-cart .ybn-cart-currency .yay-currency-custom-select{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body.yn-commerce-preview-shell.woocommerce-cart .ybn-cart-currency .yay-currency-custom-select__trigger{
  display:flex!important;
  align-items:center!important;
  min-width:78px!important;
  min-height:30px!important;
  height:30px!important;
  padding:3px 7px!important;
  border:1px solid rgba(65,45,27,.15)!important;
  border-radius:999px!important;
  background:#fff!important;
  box-shadow:none!important;
  line-height:1!important;
}
body.yn-commerce-preview-shell.woocommerce-cart .ybn-cart-currency .yay-currency-custom-selected-option{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  min-height:0!important;
}
body.yn-commerce-preview-shell.woocommerce-cart .ybn-cart-currency .yay-currency-flag.small{
  width:20px!important;
  height:14px!important;
  min-width:20px!important;
  margin:0!important;
}
body.yn-commerce-preview-shell.woocommerce-cart .ybn-cart-currency .yay-currency-selected-option,
body.yn-commerce-preview-shell.woocommerce-cart .ybn-cart-currency .yay-currency-custom-option.small{
  font-family:inherit!important;
  font-size:.68rem!important;
  font-weight:800!important;
  line-height:1!important;
}
body.yn-commerce-preview-shell.woocommerce-cart .ybn-cart-currency .yay-currency-custom-arrow svg{
  width:14px!important;
  height:14px!important;
}

/* -------------------------------------------------------------------------
   One WooCommerce button language everywhere.
   The V5 primary-action cocoa treatment is intentionally superseded here.
   ------------------------------------------------------------------------- */
body.yn-commerce-preview-shell .woocommerce #respond input#submit,
body.yn-commerce-preview-shell .woocommerce a.button,
body.yn-commerce-preview-shell .woocommerce button.button,
body.yn-commerce-preview-shell .woocommerce input.button,
body.yn-commerce-preview-shell .woocommerce .button,
body.yn-commerce-preview-shell .woocommerce a.button.alt,
body.yn-commerce-preview-shell .woocommerce button.button.alt,
body.yn-commerce-preview-shell .woocommerce input.button.alt,
body.yn-commerce-preview-shell .woocommerce .button.alt,
body.yn-commerce-preview-shell a.woocommerce-button,
body.yn-commerce-preview-shell button.woocommerce-button,
body.yn-commerce-preview-shell .wc-forward,
body.yn-commerce-preview-shell .add_to_cart_button,
body.yn-commerce-preview-shell .product_type_simple,
body.yn-commerce-preview-shell .product_type_variable,
body.yn-commerce-preview-shell .product_type_bundle,
body.yn-commerce-preview-shell .product_type_grouped,
body.yn-commerce-preview-shell .single_add_to_cart_button,
body.yn-commerce-preview-shell .bundle_add_to_cart_button,
body.yn-commerce-preview-shell .woocommerce div.product form.cart .single_add_to_cart_button,
body.yn-commerce-preview-shell .woocommerce div.product form.cart .bundle_add_to_cart_button,
body.yn-commerce-preview-shell .woocommerce .wc-proceed-to-checkout .checkout-button,
body.yn-commerce-preview-shell.woocommerce-checkout #payment #place_order,
body.yn-commerce-preview-shell .woocommerce button[name="save_account_details"],
body.yn-commerce-preview-shell .woocommerce .woocommerce-form-login__submit,
body.yn-commerce-preview-shell .woocommerce .woocommerce-form-register__submit{
  border:1px solid rgba(65,45,27,.20)!important;
  background:#fff!important;
  color:var(--yn-cocoa)!important;
  box-shadow:none!important;
  text-shadow:none!important;
}
body.yn-commerce-preview-shell .woocommerce #respond input#submit:hover,
body.yn-commerce-preview-shell .woocommerce a.button:hover,
body.yn-commerce-preview-shell .woocommerce button.button:hover,
body.yn-commerce-preview-shell .woocommerce input.button:hover,
body.yn-commerce-preview-shell .woocommerce .button:hover,
body.yn-commerce-preview-shell .woocommerce a.button.alt:hover,
body.yn-commerce-preview-shell .woocommerce button.button.alt:hover,
body.yn-commerce-preview-shell .woocommerce input.button.alt:hover,
body.yn-commerce-preview-shell .woocommerce .button.alt:hover,
body.yn-commerce-preview-shell a.woocommerce-button:hover,
body.yn-commerce-preview-shell button.woocommerce-button:hover,
body.yn-commerce-preview-shell .wc-forward:hover,
body.yn-commerce-preview-shell .add_to_cart_button:hover,
body.yn-commerce-preview-shell .product_type_simple:hover,
body.yn-commerce-preview-shell .product_type_variable:hover,
body.yn-commerce-preview-shell .product_type_bundle:hover,
body.yn-commerce-preview-shell .product_type_grouped:hover,
body.yn-commerce-preview-shell .single_add_to_cart_button:hover,
body.yn-commerce-preview-shell .bundle_add_to_cart_button:hover,
body.yn-commerce-preview-shell .woocommerce div.product form.cart .single_add_to_cart_button:hover,
body.yn-commerce-preview-shell .woocommerce div.product form.cart .bundle_add_to_cart_button:hover,
body.yn-commerce-preview-shell .woocommerce .wc-proceed-to-checkout .checkout-button:hover,
body.yn-commerce-preview-shell.woocommerce-checkout #payment #place_order:hover,
body.yn-commerce-preview-shell .woocommerce button[name="save_account_details"]:hover,
body.yn-commerce-preview-shell .woocommerce .woocommerce-form-login__submit:hover,
body.yn-commerce-preview-shell .woocommerce .woocommerce-form-register__submit:hover{
  border-color:var(--yn-olive)!important;
  background:#FBFBEF!important;
  color:var(--yn-olive-dark)!important;
  transform:translateY(-1px)!important;
}

/* High-specificity disabled states so variable-product Add to Cart and cart
   controls cannot inherit the old cocoa or plugin-green state. */
body.yn-commerce-preview-shell.single-product .woocommerce div.product form.cart .single_add_to_cart_button:disabled,
body.yn-commerce-preview-shell.single-product .woocommerce div.product form.cart .single_add_to_cart_button.disabled,
body.yn-commerce-preview-shell.single-product .woocommerce div.product form.cart .single_add_to_cart_button[disabled],
body.yn-commerce-preview-shell.single-product .woocommerce div.product form.cart .bundle_add_to_cart_button:disabled,
body.yn-commerce-preview-shell.single-product .woocommerce div.product form.cart .bundle_add_to_cart_button.disabled,
body.yn-commerce-preview-shell.single-product .woocommerce div.product form.cart .bundle_add_to_cart_button[disabled],
body.yn-commerce-preview-shell .woocommerce button.button:disabled,
body.yn-commerce-preview-shell .woocommerce button.button.disabled,
body.yn-commerce-preview-shell .woocommerce button.button:disabled[disabled],
body.yn-commerce-preview-shell .woocommerce input.button:disabled,
body.yn-commerce-preview-shell .woocommerce input.button.disabled,
body.yn-commerce-preview-shell .woocommerce a.button.disabled,
body.yn-commerce-preview-shell .woocommerce button[name="update_cart"]:disabled,
body.yn-commerce-preview-shell .woocommerce button[name="update_cart"][disabled]{
  border-color:rgba(65,45,27,.12)!important;
  background:#F3F0E9!important;
  color:#8B837A!important;
  opacity:.78!important;
  cursor:not-allowed!important;
  transform:none!important;
  box-shadow:none!important;
}

/* -------------------------------------------------------------------------
   Woo notices: use YumNaturals neutrals/olive instead of Woo/plugin green.
   Keep semantic differences but inside one visual family.
   ------------------------------------------------------------------------- */
body.yn-commerce-preview-shell .woocommerce-notices-wrapper .woocommerce-message,
body.yn-commerce-preview-shell .woocommerce-notices-wrapper .woocommerce-info,
body.yn-commerce-preview-shell .woocommerce .woocommerce-message,
body.yn-commerce-preview-shell .woocommerce .woocommerce-info{
  position:relative!important;
  margin:0 0 24px!important;
  padding:15px 18px 15px 46px!important;
  border:1px solid rgba(65,45,27,.12)!important;
  border-left:3px solid var(--yn-olive)!important;
  border-top:1px solid rgba(65,45,27,.12)!important;
  border-radius:14px!important;
  background:#F7F5ED!important;
  color:var(--yn-cocoa)!important;
  box-shadow:none!important;
  font-family:inherit!important;
  font-size:.92rem!important;
  font-weight:500!important;
  line-height:1.5!important;
}
body.yn-commerce-preview-shell .woocommerce-notices-wrapper .woocommerce-message::before,
body.yn-commerce-preview-shell .woocommerce-notices-wrapper .woocommerce-info::before,
body.yn-commerce-preview-shell .woocommerce .woocommerce-message::before,
body.yn-commerce-preview-shell .woocommerce .woocommerce-info::before{
  color:var(--yn-olive-dark)!important;
  top:50%!important;
  left:17px!important;
  transform:translateY(-50%)!important;
}
body.yn-commerce-preview-shell .woocommerce-notices-wrapper .woocommerce-message .button,
body.yn-commerce-preview-shell .woocommerce-notices-wrapper .woocommerce-info .button,
body.yn-commerce-preview-shell .woocommerce .woocommerce-message .button,
body.yn-commerce-preview-shell .woocommerce .woocommerce-info .button{
  float:right!important;
  min-height:34px!important;
  margin:-5px 0 -5px 14px!important;
  padding:7px 13px!important;
  background:#fff!important;
  color:var(--yn-cocoa)!important;
  border:1px solid rgba(65,45,27,.18)!important;
  font-size:.62rem!important;
}
body.yn-commerce-preview-shell .woocommerce-notices-wrapper .woocommerce-message .button:hover,
body.yn-commerce-preview-shell .woocommerce-notices-wrapper .woocommerce-info .button:hover,
body.yn-commerce-preview-shell .woocommerce .woocommerce-message .button:hover,
body.yn-commerce-preview-shell .woocommerce .woocommerce-info .button:hover{
  background:#FBFBEF!important;
  color:var(--yn-olive-dark)!important;
  border-color:var(--yn-olive)!important;
}

/* Errors remain clearly errors, but avoid the stock Woo red/green strip look. */
body.yn-commerce-preview-shell .woocommerce-notices-wrapper .woocommerce-error,
body.yn-commerce-preview-shell .woocommerce .woocommerce-error{
  margin:0 0 24px!important;
  padding:15px 18px 15px 46px!important;
  border:1px solid rgba(176,92,58,.20)!important;
  border-left:3px solid #B05C3A!important;
  border-top:1px solid rgba(176,92,58,.20)!important;
  border-radius:14px!important;
  background:#FBF1EC!important;
  color:#5C3527!important;
  box-shadow:none!important;
  font-family:inherit!important;
}
body.yn-commerce-preview-shell .woocommerce-notices-wrapper .woocommerce-error::before,
body.yn-commerce-preview-shell .woocommerce .woocommerce-error::before{
  color:#B05C3A!important;
}

@media(max-width:700px){
  body.yn-commerce-preview-shell.woocommerce-cart .ybn-cart-currency,
  body.yn-commerce-preview-shell.woocommerce-cart .ybn-checkout-currency.ybn-cart-currency{
    margin:0 0 12px auto!important;
  }
  body.yn-commerce-preview-shell.woocommerce-cart .ybn-cart-currency-label{
    font-size:.62rem!important;
  }
  body.yn-commerce-preview-shell .woocommerce-notices-wrapper .woocommerce-message,
  body.yn-commerce-preview-shell .woocommerce-notices-wrapper .woocommerce-info,
  body.yn-commerce-preview-shell .woocommerce .woocommerce-message,
  body.yn-commerce-preview-shell .woocommerce .woocommerce-info{
    padding:13px 14px 13px 40px!important;
  }
  body.yn-commerce-preview-shell .woocommerce-notices-wrapper .woocommerce-message .button,
  body.yn-commerce-preview-shell .woocommerce-notices-wrapper .woocommerce-info .button,
  body.yn-commerce-preview-shell .woocommerce .woocommerce-message .button,
  body.yn-commerce-preview-shell .woocommerce .woocommerce-info .button{
    float:none!important;
    margin:10px 0 0!important;
  }
}
/* YN-COMMERCE-POLISH-V6 END */
/* YN-COMMERCE-POLISH-V7 START */
/* -------------------------------------------------------------------------
   COMMERCE POLISH V7
   - Tighten the common commerce hero-to-content spacing to 30px
   - Remove the remaining My Account separator line
   - Apply the compact YayCurrency treatment to Checkout as well as Cart
   - Force rounded pill corners on all WooCommerce action buttons
   - Normalize cross-sell / related / up-sell product-card buttons
   ------------------------------------------------------------------------- */

/* One consistent hero rhythm across Shop, Shop USA, My Account, Cart and Checkout. */
body.yn-commerce-preview-shell .yn-shop-hero{
  margin:0 0 30px!important;
}

/* V4 intentionally added this separator; the design direction is now line-free. */
body.yn-commerce-preview-shell.woocommerce-account .yn-account-section::before{
  content:none!important;
  display:none!important;
  width:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
}

/* With the separator removed, do not leave its old spacer behind. */
body.yn-commerce-preview-shell.woocommerce-account .yn-account-section{
  padding-top:0!important;
}

/* -------------------------------------------------------------------------
   Checkout currency selector: mirror the compact Cart Currency presentation.
   Currency/plugin behavior is untouched; only the existing output is styled.
   ------------------------------------------------------------------------- */
body.yn-commerce-preview-shell.woocommerce-checkout .ybn-checkout-currency{
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:7px!important;
  width:max-content!important;
  max-width:100%!important;
  min-height:0!important;
  margin:0 0 14px auto!important;
  padding:4px 0!important;
  background:transparent!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body.yn-commerce-preview-shell.woocommerce-checkout .ybn-checkout-currency-label{
  margin:0!important;
  color:var(--yn-muted,#6b635b)!important;
  font-family:inherit!important;
  font-size:.66rem!important;
  font-weight:800!important;
  letter-spacing:.035em!important;
  line-height:1!important;
  white-space:nowrap!important;
}
body.yn-commerce-preview-shell.woocommerce-checkout .ybn-checkout-currency .yay-currency-block-switcher,
body.yn-commerce-preview-shell.woocommerce-checkout .ybn-checkout-currency .yay-currency-single-page-switcher,
body.yn-commerce-preview-shell.woocommerce-checkout .ybn-checkout-currency .yay-currency-form-switcher,
body.yn-commerce-preview-shell.woocommerce-checkout .ybn-checkout-currency .yay-currency-custom-select-wrapper,
body.yn-commerce-preview-shell.woocommerce-checkout .ybn-checkout-currency .yay-currency-custom-select{
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  min-height:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
body.yn-commerce-preview-shell.woocommerce-checkout .ybn-checkout-currency .yay-currency-custom-select__trigger{
  display:flex!important;
  align-items:center!important;
  min-width:78px!important;
  min-height:30px!important;
  height:30px!important;
  padding:3px 7px!important;
  border:1px solid rgba(65,45,27,.15)!important;
  border-radius:999px!important;
  background:#fff!important;
  box-shadow:none!important;
  line-height:1!important;
}
body.yn-commerce-preview-shell.woocommerce-checkout .ybn-checkout-currency .yay-currency-custom-selected-option{
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  min-height:0!important;
}
body.yn-commerce-preview-shell.woocommerce-checkout .ybn-checkout-currency .yay-currency-flag.small{
  width:20px!important;
  height:14px!important;
  min-width:20px!important;
  margin:0!important;
}
body.yn-commerce-preview-shell.woocommerce-checkout .ybn-checkout-currency .yay-currency-selected-option,
body.yn-commerce-preview-shell.woocommerce-checkout .ybn-checkout-currency .yay-currency-custom-option.small{
  font-family:inherit!important;
  font-size:.68rem!important;
  font-weight:800!important;
  line-height:1!important;
}
body.yn-commerce-preview-shell.woocommerce-checkout .ybn-checkout-currency .yay-currency-custom-arrow svg{
  width:14px!important;
  height:14px!important;
}

/* -------------------------------------------------------------------------
   Button geometry: preserve the V6 white/outlined language, but force the
   same pill rounding even where Woo/Divi/plugin selectors have more specificity.
   ------------------------------------------------------------------------- */
body.yn-commerce-preview-shell .woocommerce #respond input#submit,
body.yn-commerce-preview-shell .woocommerce a.button,
body.yn-commerce-preview-shell .woocommerce button.button,
body.yn-commerce-preview-shell .woocommerce input.button,
body.yn-commerce-preview-shell .woocommerce .button,
body.yn-commerce-preview-shell a.woocommerce-button,
body.yn-commerce-preview-shell button.woocommerce-button,
body.yn-commerce-preview-shell .wc-forward,
body.yn-commerce-preview-shell .add_to_cart_button,
body.yn-commerce-preview-shell .single_add_to_cart_button,
body.yn-commerce-preview-shell .bundle_add_to_cart_button,
body.yn-commerce-preview-shell .checkout-button,
body.yn-commerce-preview-shell.woocommerce-checkout #payment #place_order{
  border-radius:999px!important;
}

/* Product-page Add to Cart / bundle controls need extra specificity because
   legacy Divi/plugin rules can otherwise flatten their corners. */
body.yn-commerce-preview-shell.single-product .woocommerce div.product form.cart button.single_add_to_cart_button,
body.yn-commerce-preview-shell.single-product .woocommerce div.product form.cart .single_add_to_cart_button,
body.yn-commerce-preview-shell.single-product .woocommerce div.product form.cart button.bundle_add_to_cart_button,
body.yn-commerce-preview-shell.single-product .woocommerce div.product form.cart .bundle_add_to_cart_button{
  border-radius:999px!important;
  overflow:hidden!important;
}

/* Cross-sells (Cart), related products and up-sells use very specific legacy
   product-loop rules. Normalize them explicitly to the shared outlined button. */
body.yn-commerce-preview-shell .woocommerce .cross-sells ul.products li.product a.button,
body.yn-commerce-preview-shell.woocommerce-cart .cross-sells ul.products li.product a.button,
body.yn-commerce-preview-shell.single-product .related.products ul.products li.product a.button,
body.yn-commerce-preview-shell.single-product .up-sells.products ul.products li.product a.button,
body.yn-commerce-preview-shell .woocommerce .cross-sells ul.products li.product .add_to_cart_button,
body.yn-commerce-preview-shell.single-product .related.products ul.products li.product .add_to_cart_button,
body.yn-commerce-preview-shell.single-product .up-sells.products ul.products li.product .add_to_cart_button{
  border:1px solid rgba(65,45,27,.20)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--yn-cocoa)!important;
  box-shadow:none!important;
  text-shadow:none!important;
}
body.yn-commerce-preview-shell .woocommerce .cross-sells ul.products li.product a.button:hover,
body.yn-commerce-preview-shell.woocommerce-cart .cross-sells ul.products li.product a.button:hover,
body.yn-commerce-preview-shell.single-product .related.products ul.products li.product a.button:hover,
body.yn-commerce-preview-shell.single-product .up-sells.products ul.products li.product a.button:hover,
body.yn-commerce-preview-shell .woocommerce .cross-sells ul.products li.product .add_to_cart_button:hover,
body.yn-commerce-preview-shell.single-product .related.products ul.products li.product .add_to_cart_button:hover,
body.yn-commerce-preview-shell.single-product .up-sells.products ul.products li.product .add_to_cart_button:hover{
  border-color:var(--yn-olive)!important;
  background:#FBFBEF!important;
  color:var(--yn-olive-dark)!important;
  transform:translateY(-1px)!important;
}

@media(max-width:700px){
  body.yn-commerce-preview-shell.woocommerce-checkout .ybn-checkout-currency{
    margin:0 0 12px auto!important;
  }
  body.yn-commerce-preview-shell.woocommerce-checkout .ybn-checkout-currency-label{
    font-size:.62rem!important;
  }
}
/* YN-COMMERCE-POLISH-V7 END */

/* YN-COMMERCE-POLISH-V8 START */

/* ---------------------------------------------------------
   1. Consistent content spacing after pages that have a hero
   The hero already supplies 30px of separation, so the first
   content section should not add another top gap.
   --------------------------------------------------------- */
body.yn-commerce-preview-shell .yn-shop-hero + .yn-shop-categories,
body.yn-commerce-preview-shell .yn-account-hero + .yn-account-section,
body.yn-commerce-preview-shell .yn-cart-hero + .yn-cart-section,
body.yn-commerce-preview-shell .yn-checkout-hero + .yn-checkout-section {
  padding-top: 0 !important;
}

/* Keep the shared page-hero breathing room consistent. */
body.yn-commerce-preview-shell .yn-shop-hero,
body.yn-commerce-preview-shell .yn-account-hero,
body.yn-commerce-preview-shell .yn-cart-hero,
body.yn-commerce-preview-shell .yn-checkout-hero {
  margin-bottom: 30px !important;
}

/* Woo product/category/tag/archive pages do not use a hero.
   Give those pages one clean 30px top gap below the preview/header. */
body.yn-commerce-preview-shell.yn-product-preview-page .yn-content-wrap,
body.yn-commerce-preview-shell.single-product .yn-content-wrap,
body.yn-commerce-preview-shell.tax-product_cat .yn-content-wrap,
body.yn-commerce-preview-shell.tax-product_tag .yn-content-wrap,
body.yn-commerce-preview-shell.post-type-archive-product .yn-content-wrap {
  padding-top: 30px !important;
}

/* ---------------------------------------------------------
   2. Woo Product Bundles - individual bundled-item imagery
   Add a little breathing room around white-background product
   images while leaving the plugin's product logic untouched.
   --------------------------------------------------------- */
body.yn-commerce-preview-shell.single-product .bundle_form .bundled_product_images,
body.yn-commerce-preview-shell.single-product .bundle_form .bundled_product_image {
  box-sizing: border-box !important;
}

body.yn-commerce-preview-shell.single-product .bundle_form .bundled_product_image {
  padding: 10px !important;
  background: #fff !important;
  border: 1px solid rgba(65,45,27,.10) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}

body.yn-commerce-preview-shell.single-product .bundle_form .bundled_product_image > a {
  display: block !important;
  line-height: 0 !important;
}

body.yn-commerce-preview-shell.single-product .bundle_form .bundled_product_image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  object-fit: contain !important;
  margin: 0 !important;
  border-radius: 8px !important;
}

/* ---------------------------------------------------------
   3. Frequently Bought Together / bundle-sells presentation
   Turn Woo Product Bundles' default layout into one compact,
   readable YumNaturals recommendation card.
   --------------------------------------------------------- */
body.yn-commerce-preview-shell.single-product .bundle_sells_title {
  margin: 28px 0 12px !important;
  padding: 0 !important;
}

body.yn-commerce-preview-shell.single-product .bundle_sells_title h3 {
  margin: 0 !important;
  color: var(--yn-cocoa) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 1.18rem !important;
  line-height: 1.25 !important;
  font-weight: 500 !important;
}

body.yn-commerce-preview-shell.single-product .bundle_sells_form {
  margin: 0 0 18px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

body.yn-commerce-preview-shell.single-product .bundle_sells_form > .bundled_product {
  display: grid !important;
  grid-template-columns: 92px minmax(0,1fr) !important;
  gap: 16px !important;
  align-items: start !important;
  width: 100% !important;
  margin: 0 0 12px !important;
  padding: 14px !important;
  box-sizing: border-box !important;
  background: rgba(255,255,255,.94) !important;
  border: 1px solid rgba(65,45,27,.11) !important;
  border-radius: 16px !important;
  box-shadow: 0 8px 24px rgba(65,45,27,.05) !important;
  float: none !important;
  clear: both !important;
}

body.yn-commerce-preview-shell.single-product .bundle_sells_form > .bundled_product > .bundled_product_images {
  width: 92px !important;
  min-width: 92px !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

body.yn-commerce-preview-shell.single-product .bundle_sells_form > .bundled_product > .details {
  width: auto !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

body.yn-commerce-preview-shell.single-product .bundle_sells_form .bundled_product_title {
  margin: 0 0 6px !important;
  padding: 0 !important;
  color: var(--yn-cocoa) !important;
  font-family: Georgia, "Times New Roman", serif !important;
  font-size: 1rem !important;
  line-height: 1.3 !important;
  font-weight: 500 !important;
}

body.yn-commerce-preview-shell.single-product .bundle_sells_form .bundled_product_excerpt,
body.yn-commerce-preview-shell.single-product .bundle_sells_form .product_excerpt {
  margin: 0 0 8px !important;
}

body.yn-commerce-preview-shell.single-product .bundle_sells_form .bundled_product_excerpt p,
body.yn-commerce-preview-shell.single-product .bundle_sells_form .product_excerpt p {
  margin: 0 !important;
  color: #655d54 !important;
  font-size: .82rem !important;
  line-height: 1.52 !important;
}

body.yn-commerce-preview-shell.single-product .bundle_sells_form .bundled_product_optional_checkbox {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 4px 6px !important;
  margin: 8px 0 0 !important;
  color: #51483f !important;
  font-size: .82rem !important;
  line-height: 1.35 !important;
}

body.yn-commerce-preview-shell.single-product .bundle_sells_form .bundled_product_optional_checkbox input[type="checkbox"] {
  margin: 0 2px 0 0 !important;
  accent-color: var(--yn-olive) !important;
}

body.yn-commerce-preview-shell.single-product .bundle_sells_form .bundled_product_optional_checkbox .price,
body.yn-commerce-preview-shell.single-product .bundle_sells_form .bundled_product_optional_checkbox .amount {
  color: var(--yn-olive-dark) !important;
  font-size: .84rem !important;
  font-weight: 700 !important;
}

body.yn-commerce-preview-shell.single-product .bundle_sells_form .bundled_product_title_link {
  margin-left: 4px !important;
}

body.yn-commerce-preview-shell.single-product .bundle_sells_form .bundle_data,
body.yn-commerce-preview-shell.single-product .bundle_sells_form .bundle_wrap {
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

/* Keep the parent product quantity + Add to Cart aligned after the
   recommendation card instead of allowing bundle floats to affect them. */
body.yn-commerce-preview-shell.single-product form.cart > .quantity,
body.yn-commerce-preview-shell.single-product form.cart > .single_add_to_cart_button {
  position: relative !important;
  z-index: 1 !important;
}

@media (max-width: 620px) {
  body.yn-commerce-preview-shell.single-product .bundle_sells_form > .bundled_product {
    grid-template-columns: 74px minmax(0,1fr) !important;
    gap: 12px !important;
    padding: 12px !important;
  }

  body.yn-commerce-preview-shell.single-product .bundle_sells_form > .bundled_product > .bundled_product_images {
    width: 74px !important;
    min-width: 74px !important;
  }

  body.yn-commerce-preview-shell.single-product .bundle_form .bundled_product_image {
    padding: 7px !important;
  }
}

/* YN-COMMERCE-POLISH-V8 END */

/* YN-COMMERCE-POLISH-V9 START */

/* ---------------------------------------------------------
   YITH Product Bundles - larger product images with breathing
   room inside each bundled-item row. Presentation only.
   --------------------------------------------------------- */
body.yn-commerce-preview-shell.single-product .yith-wcpb-product-bundled-items > .yith-wcpb-product-bundled-item {
  display: grid !important;
  grid-template-columns: 124px minmax(0, 1fr) !important;
  column-gap: 18px !important;
  align-items: start !important;
  box-sizing: border-box !important;
  padding: 16px 16px !important;
}

body.yn-commerce-preview-shell.single-product .yith-wcpb-product-bundled-item-image {
  width: 124px !important;
  min-width: 124px !important;
  max-width: 124px !important;
  margin: 0 !important;
  padding: 8px !important;
  box-sizing: border-box !important;
  align-self: start !important;
  background: #fff !important;
  border: 1px solid rgba(65,45,27,.10) !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}

body.yn-commerce-preview-shell.single-product .yith-wcpb-product-bundled-item-image .woocommerce-product-gallery__image,
body.yn-commerce-preview-shell.single-product .yith-wcpb-product-bundled-item-image a {
  display: block !important;
  width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  line-height: 0 !important;
}

body.yn-commerce-preview-shell.single-product .yith-wcpb-product-bundled-item-image img {
  display: block !important;
  width: 100% !important;
  height: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 !important;
  object-fit: contain !important;
  border-radius: 8px !important;
}

body.yn-commerce-preview-shell.single-product .yith-wcpb-product-bundled-item-data {
  min-width: 0 !important;
  width: auto !important;
  margin: 0 !important;
}

@media (max-width: 720px) {
  body.yn-commerce-preview-shell.single-product .yith-wcpb-product-bundled-items > .yith-wcpb-product-bundled-item {
    grid-template-columns: 94px minmax(0, 1fr) !important;
    column-gap: 12px !important;
    padding: 12px !important;
  }

  body.yn-commerce-preview-shell.single-product .yith-wcpb-product-bundled-item-image {
    width: 94px !important;
    min-width: 94px !important;
    max-width: 94px !important;
    padding: 6px !important;
    border-radius: 12px !important;
  }
}

/* YN-COMMERCE-POLISH-V9 END */

/* YN-COMMERCE-POLISH-V10 START */

/* ---------------------------------------------------------
   Frequently Bought Together - Woo Product Bundles
   Fix legacy clearfix pseudo-elements becoming CSS Grid items.
   Those invisible pseudo-elements were occupying the first grid
   cells and forcing the real .details block into the narrow image
   column, which made the title/description appear vertical.
   Presentation only; no bundle logic is changed.
   --------------------------------------------------------- */
body.yn-commerce-preview-shell.single-product .bundle_sells_form {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  clear: both !important;
}

body.yn-commerce-preview-shell.single-product .bundle_sells_form > .bundled_product {
  display: grid !important;
  grid-template-columns: 104px minmax(0, 1fr) !important;
  grid-template-rows: auto !important;
  column-gap: 18px !important;
  row-gap: 0 !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  float: none !important;
  clear: both !important;
  box-sizing: border-box !important;
}

/* Critical fix: old Woo/plugin clearfix pseudo-elements must not
   participate as anonymous grid children. */
body.yn-commerce-preview-shell.single-product .bundle_sells_form > .bundled_product::before,
body.yn-commerce-preview-shell.single-product .bundle_sells_form > .bundled_product::after {
  content: none !important;
  display: none !important;
}

body.yn-commerce-preview-shell.single-product .bundle_sells_form > .bundled_product > .bundled_product_images {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 104px !important;
  min-width: 104px !important;
  max-width: 104px !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: none !important;
  box-sizing: border-box !important;
}

body.yn-commerce-preview-shell.single-product .bundle_sells_form > .bundled_product > .details {
  grid-column: 2 !important;
  grid-row: 1 !important;
  display: block !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
  clear: none !important;
  box-sizing: border-box !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;
}

body.yn-commerce-preview-shell.single-product .bundle_sells_form .bundled_product_title,
body.yn-commerce-preview-shell.single-product .bundle_sells_form .bundled_product_title_inner,
body.yn-commerce-preview-shell.single-product .bundle_sells_form .item_title,
body.yn-commerce-preview-shell.single-product .bundle_sells_form .bundled_product_excerpt,
body.yn-commerce-preview-shell.single-product .bundle_sells_form .bundled_product_excerpt p,
body.yn-commerce-preview-shell.single-product .bundle_sells_form .bundled_product_optional_checkbox {
  width: auto !important;
  max-width: 100% !important;
  min-width: 0 !important;
  writing-mode: horizontal-tb !important;
  text-orientation: mixed !important;
  word-break: normal !important;
  overflow-wrap: break-word !important;
  white-space: normal !important;
}

body.yn-commerce-preview-shell.single-product .bundle_sells_form .bundled_product_title_inner,
body.yn-commerce-preview-shell.single-product .bundle_sells_form .item_title {
  display: inline !important;
}

body.yn-commerce-preview-shell.single-product .bundle_sells_form .bundled_product_image {
  width: 104px !important;
  min-width: 104px !important;
  max-width: 104px !important;
  padding: 8px !important;
  box-sizing: border-box !important;
}

body.yn-commerce-preview-shell.single-product .bundle_sells_form .bundled_product_image img {
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  object-fit: contain !important;
}

body.yn-commerce-preview-shell.single-product .bundle_sells_form .bundled_product_optional_checkbox {
  display: flex !important;
  flex-wrap: wrap !important;
  align-items: center !important;
  gap: 5px 7px !important;
}

/* Keep plugin data/error containers out of the product-card grid. */
body.yn-commerce-preview-shell.single-product .bundle_sells_form > .bundle_data {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  clear: both !important;
}

@media (max-width: 620px) {
  body.yn-commerce-preview-shell.single-product .bundle_sells_form > .bundled_product {
    grid-template-columns: 82px minmax(0, 1fr) !important;
    column-gap: 12px !important;
  }

  body.yn-commerce-preview-shell.single-product .bundle_sells_form > .bundled_product > .bundled_product_images,
  body.yn-commerce-preview-shell.single-product .bundle_sells_form .bundled_product_image {
    width: 82px !important;
    min-width: 82px !important;
    max-width: 82px !important;
  }

  body.yn-commerce-preview-shell.single-product .bundle_sells_form .bundled_product_image {
    padding: 6px !important;
  }
}

/* YN-COMMERCE-POLISH-V10 END */

/* YN-LEGAL-PAGES-V2-3 START */
/* Legal/policy refinements: compact spacing + no inherited top spacer. */
body.yn-commerce-preview-shell.page-id-462 .yn-page-main,
body.yn-commerce-preview-shell.page-id-511 .yn-page-main,
body.yn-commerce-preview-shell.page-id-519 .yn-page-main,
body.yn-commerce-preview-shell.page-id-529 .yn-page-main,
body.yn-commerce-preview-shell.page-id-536 .yn-page-main,
body.yn-commerce-preview-shell.page-id-462 .yn-content-wrap,
body.yn-commerce-preview-shell.page-id-511 .yn-content-wrap,
body.yn-commerce-preview-shell.page-id-519 .yn-content-wrap,
body.yn-commerce-preview-shell.page-id-529 .yn-content-wrap,
body.yn-commerce-preview-shell.page-id-536 .yn-content-wrap{
  padding-top:0!important;
}

body.yn-commerce-preview-shell .yn-legal-hero{
  margin-top:0!important;
  padding-top:0!important;
  margin-bottom:30px!important;
}
body.yn-commerce-preview-shell .yn-legal-section{
  padding:0 0 76px!important;
}
body.yn-commerce-preview-shell .yn-legal-content{
  width:min(920px,calc(100% - 44px));
  margin:0 auto;
  color:#5E5851;
  font-size:1rem;
  line-height:1.72;
  overflow-wrap:anywhere;
}
body.yn-commerce-preview-shell .yn-legal-content > :first-child{
  margin-top:0!important;
}
body.yn-commerce-preview-shell .yn-legal-content > :last-child{
  margin-bottom:0!important;
}
body.yn-commerce-preview-shell .yn-legal-content p{
  margin:0 0 .72em!important;
}
body.yn-commerce-preview-shell .yn-legal-content p:empty{
  display:none!important;
}
body.yn-commerce-preview-shell .yn-legal-content h2{
  margin:1.45em 0 .55em!important;
  padding:0!important;
  color:var(--yn-cocoa)!important;
  font-size:clamp(1.35rem,2vw,1.72rem)!important;
  line-height:1.25!important;
  font-weight:800!important;
  border:0!important;
}
body.yn-commerce-preview-shell .yn-legal-content h3,
body.yn-commerce-preview-shell .yn-legal-content h4{
  margin:1.25em 0 .45em!important;
  padding:0!important;
  color:var(--yn-cocoa)!important;
  line-height:1.3!important;
  font-weight:800!important;
  border:0!important;
}
body.yn-commerce-preview-shell .yn-legal-content ul,
body.yn-commerce-preview-shell .yn-legal-content ol{
  margin:.35em 0 .85em 1.35em!important;
  padding-left:.7em!important;
}
body.yn-commerce-preview-shell .yn-legal-content li{
  margin:.24em 0!important;
  padding-left:.18em!important;
}
body.yn-commerce-preview-shell .yn-legal-content a{
  color:var(--yn-olive-dark)!important;
  text-decoration:underline!important;
  text-decoration-thickness:1px!important;
  text-underline-offset:3px!important;
}
body.yn-commerce-preview-shell .yn-legal-content a:hover{
  color:var(--yn-cocoa)!important;
}
body.yn-commerce-preview-shell .yn-legal-content blockquote{
  margin:1em 0!important;
  padding:16px 20px!important;
  background:#F8F3E8!important;
  border:0!important;
  border-radius:14px!important;
  color:#5A5148!important;
}
body.yn-commerce-preview-shell .yn-legal-content table{
  width:100%!important;
  margin:1em 0!important;
  border-collapse:collapse!important;
  font-size:.94rem!important;
}
body.yn-commerce-preview-shell .yn-legal-content th,
body.yn-commerce-preview-shell .yn-legal-content td{
  padding:11px 12px!important;
  vertical-align:top!important;
  border:1px solid rgba(65,45,27,.10)!important;
}
body.yn-commerce-preview-shell .yn-legal-content img{
  max-width:100%!important;
  height:auto!important;
}
body.yn-commerce-preview-shell .yn-legal-content .et_pb_section,
body.yn-commerce-preview-shell .yn-legal-content .et_pb_row,
body.yn-commerce-preview-shell .yn-legal-content .et_pb_column,
body.yn-commerce-preview-shell .yn-legal-content .et_pb_module,
body.yn-commerce-preview-shell .yn-legal-content .et_pb_text_inner{
  width:auto!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  box-shadow:none!important;
  border:0!important;
}
@media (max-width:767px){
  body.yn-commerce-preview-shell .yn-legal-content{
    width:min(100% - 30px,920px);
    font-size:.97rem;
    line-height:1.68;
  }
  body.yn-commerce-preview-shell .yn-legal-section{
    padding-bottom:56px!important;
  }
  body.yn-commerce-preview-shell .yn-legal-content h2{
    margin-top:1.3em!important;
  }
}
/* YN-LEGAL-PAGES-V2-3 END */

/* YN-COMMERCE-HEADER-UNIFICATION-V11 START */
/*
 * One shared hero treatment for all customer-facing system pages.
 * /shop/ remains the visual reference.
 * Product, category and tag pages intentionally remain headerless.
 */
body.yn-commerce-preview-shell .yn-shop-hero,
body.yn-commerce-preview-shell .yn-account-hero,
body.yn-commerce-preview-shell .yn-cart-hero,
body.yn-commerce-preview-shell .yn-checkout-hero,
body.yn-commerce-preview-shell .yn-legal-hero,
body.yn-commerce-preview-shell .yn-system-hero{
  padding:24px 0 26px!important;
  margin:0 0 30px!important;
  text-align:center!important;
}

body.yn-commerce-preview-shell .yn-shop-hero .yn-shop-hero-inner,
body.yn-commerce-preview-shell .yn-account-hero .yn-shop-hero-inner,
body.yn-commerce-preview-shell .yn-cart-hero .yn-shop-hero-inner,
body.yn-commerce-preview-shell .yn-checkout-hero .yn-shop-hero-inner,
body.yn-commerce-preview-shell .yn-legal-hero .yn-shop-hero-inner,
body.yn-commerce-preview-shell .yn-system-hero .yn-shop-hero-inner{
  width:min(1160px,calc(100% - 44px));
  margin:0 auto!important;
}

body.yn-commerce-preview-shell .yn-shop-hero .yn-eyebrow,
body.yn-commerce-preview-shell .yn-account-hero .yn-eyebrow,
body.yn-commerce-preview-shell .yn-cart-hero .yn-eyebrow,
body.yn-commerce-preview-shell .yn-checkout-hero .yn-eyebrow,
body.yn-commerce-preview-shell .yn-legal-hero .yn-eyebrow,
body.yn-commerce-preview-shell .yn-system-hero .yn-eyebrow{
  margin:0 0 6px!important;
}

body.yn-commerce-preview-shell .yn-shop-hero h1,
body.yn-commerce-preview-shell .yn-account-hero h1,
body.yn-commerce-preview-shell .yn-cart-hero h1,
body.yn-commerce-preview-shell .yn-checkout-hero h1,
body.yn-commerce-preview-shell .yn-legal-hero h1,
body.yn-commerce-preview-shell .yn-system-hero h1{
  max-width:1120px!important;
  margin:0 auto!important;
  font-size:clamp(2.45rem,3.8vw,3.95rem)!important;
  line-height:1.03!important;
  letter-spacing:-.045em!important;
}

body.yn-commerce-preview-shell .yn-shop-hero .lead,
body.yn-commerce-preview-shell .yn-account-hero .lead,
body.yn-commerce-preview-shell .yn-cart-hero .lead,
body.yn-commerce-preview-shell .yn-checkout-hero .lead,
body.yn-commerce-preview-shell .yn-legal-hero .lead,
body.yn-commerce-preview-shell .yn-system-hero .lead{
  max-width:760px!important;
  margin:12px auto 0!important;
  color:#625B52!important;
  font-size:clamp(1.02rem,1.35vw,1.22rem)!important;
  line-height:1.65!important;
}

/* Hero pages get their spacing from the hero itself, not the content wrapper. */
body.yn-commerce-preview-shell.yn-shop-hub-page .yn-content-wrap,
body.yn-commerce-preview-shell.yn-shop-usa-page .yn-content-wrap,
body.yn-commerce-preview-shell.woocommerce-account .yn-content-wrap,
body.yn-commerce-preview-shell.woocommerce-cart .yn-content-wrap,
body.yn-commerce-preview-shell.woocommerce-checkout .yn-content-wrap,
body.yn-commerce-preview-shell .yn-legal-page .yn-content-wrap,
body.yn-commerce-preview-shell.yn-legal-page .yn-content-wrap{
  padding-top:0!important;
}

@media(max-width:880px){
  body.yn-commerce-preview-shell .yn-shop-hero,
  body.yn-commerce-preview-shell .yn-account-hero,
  body.yn-commerce-preview-shell .yn-cart-hero,
  body.yn-commerce-preview-shell .yn-checkout-hero,
  body.yn-commerce-preview-shell .yn-legal-hero,
  body.yn-commerce-preview-shell .yn-system-hero{
    padding:21px 0 23px!important;
    text-align:left!important;
  }

  body.yn-commerce-preview-shell .yn-shop-hero h1,
  body.yn-commerce-preview-shell .yn-account-hero h1,
  body.yn-commerce-preview-shell .yn-cart-hero h1,
  body.yn-commerce-preview-shell .yn-checkout-hero h1,
  body.yn-commerce-preview-shell .yn-legal-hero h1,
  body.yn-commerce-preview-shell .yn-system-hero h1,
  body.yn-commerce-preview-shell .yn-shop-hero .lead,
  body.yn-commerce-preview-shell .yn-account-hero .lead,
  body.yn-commerce-preview-shell .yn-cart-hero .lead,
  body.yn-commerce-preview-shell .yn-checkout-hero .lead,
  body.yn-commerce-preview-shell .yn-legal-hero .lead,
  body.yn-commerce-preview-shell .yn-system-hero .lead{
    margin-left:0!important;
    margin-right:0!important;
    text-align:left!important;
  }
}
/* YN-COMMERCE-HEADER-UNIFICATION-V11 END */

/* YN-404-SUPPORT-LANDING-V1 START */
/* 404 utility page uses the exact shared Shop hero family. */
body.yn-commerce-preview-shell.page-id-3657 .yn-content-wrap,
body.yn-commerce-preview-shell.error404 .yn-content-wrap,
body.error404.yn-commerce-theme .yn-content-wrap{
  padding-top:0!important;
}
body.yn-commerce-preview-shell .yn-404-hero,
body.error404.yn-commerce-theme .yn-404-hero{
  margin-bottom:30px!important;
}
body.yn-commerce-preview-shell .yn-404-content,
body.error404.yn-commerce-theme .yn-404-content{
  padding:0 0 74px;
}
body.yn-commerce-preview-shell .yn-404-actions,
body.error404.yn-commerce-theme .yn-404-actions{
  display:flex;
  justify-content:center;
  gap:11px;
  flex-wrap:wrap;
  margin:0 0 32px;
}
body.yn-commerce-preview-shell .yn-support-card,
body.error404.yn-commerce-theme .yn-support-card{
  width:min(940px,100%);
  margin:0 auto;
  padding:28px 30px;
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:32px;
  background:linear-gradient(135deg,#F8F0D4 0%,#F2E8C9 54%,#EEF1E0 100%);
  border-radius:22px;
  box-shadow:0 10px 30px rgba(65,45,27,.06);
}
body.yn-commerce-preview-shell .yn-support-card .yn-eyebrow,
body.error404.yn-commerce-theme .yn-support-card .yn-eyebrow{
  margin-bottom:7px;
}
body.yn-commerce-preview-shell .yn-support-card h2,
body.error404.yn-commerce-theme .yn-support-card h2{
  margin:0 0 8px!important;
  font-size:clamp(1.55rem,2.6vw,2.25rem)!important;
  line-height:1.08!important;
  letter-spacing:-.025em!important;
}
body.yn-commerce-preview-shell .yn-support-card p,
body.error404.yn-commerce-theme .yn-support-card p{
  max-width:690px;
  margin:0!important;
  color:#625B52;
  line-height:1.65;
}
body.yn-commerce-preview-shell .yn-support-action,
body.error404.yn-commerce-theme .yn-support-action{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
@media(max-width:760px){
  body.yn-commerce-preview-shell .yn-404-actions,
  body.error404.yn-commerce-theme .yn-404-actions{
    justify-content:flex-start;
  }
  body.yn-commerce-preview-shell .yn-support-card,
  body.error404.yn-commerce-theme .yn-support-card{
    grid-template-columns:1fr;
    gap:20px;
    padding:24px 20px;
  }
  body.yn-commerce-preview-shell .yn-support-action,
  body.error404.yn-commerce-theme .yn-support-action{
    justify-content:flex-start;
  }
}
/* YN-404-SUPPORT-LANDING-V1 END */

/* YN-SUPPORT-MATCH-V1 START */
/* Make the 404 support area use the same full-width, tight parchment band as the landing page. */
body.yn-commerce-preview-shell .yn-support-match,
body.error404.yn-commerce-theme .yn-support-match{
  position:relative!important;
  left:50%!important;
  width:100vw!important;
  margin-left:-50vw!important;
  margin-right:-50vw!important;
  margin-top:0!important;
  margin-bottom:-74px!important;
  padding:28px 0 30px!important;
  background:linear-gradient(135deg,#F5EACC 0%,#EFE1BD 52%,#F7EFD9 100%)!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body.yn-commerce-preview-shell .yn-support-match-inner,
body.error404.yn-commerce-theme .yn-support-match-inner{
  width:min(var(--yn-max),calc(100% - 44px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(250px,.9fr) minmax(360px,1.55fr) auto;
  gap:42px;
  align-items:center;
}
body.yn-commerce-preview-shell .yn-support-match .yn-eyebrow,
body.error404.yn-commerce-theme .yn-support-match .yn-eyebrow{margin-bottom:7px!important}
body.yn-commerce-preview-shell .yn-support-match h2,
body.error404.yn-commerce-theme .yn-support-match h2{
  margin:0!important;
  font-size:clamp(2rem,3.4vw,3.15rem)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
}
body.yn-commerce-preview-shell .yn-support-match-copy p,
body.error404.yn-commerce-theme .yn-support-match-copy p{
  max-width:760px;
  margin:0!important;
  color:#5F5951!important;
  line-height:1.62!important;
}
body.yn-commerce-preview-shell .yn-support-match-action,
body.error404.yn-commerce-theme .yn-support-match-action{display:flex;justify-content:flex-end;align-items:center}
body.yn-commerce-preview-shell .yn-support-match-action .yn-btn,
body.error404.yn-commerce-theme .yn-support-match-action .yn-btn{white-space:nowrap;background:rgba(255,255,255,.68)!important}
@media(max-width:900px){
  body.yn-commerce-preview-shell .yn-support-match-inner,
  body.error404.yn-commerce-theme .yn-support-match-inner{grid-template-columns:1fr;gap:14px}
  body.yn-commerce-preview-shell .yn-support-match-action,
  body.error404.yn-commerce-theme .yn-support-match-action{justify-content:flex-start}
}
@media(max-width:620px){
  body.yn-commerce-preview-shell .yn-support-match,
  body.error404.yn-commerce-theme .yn-support-match{padding:24px 0 26px!important}
  body.yn-commerce-preview-shell .yn-support-match-inner,
  body.error404.yn-commerce-theme .yn-support-match-inner{width:min(100% - 30px,var(--yn-max))}
  body.yn-commerce-preview-shell .yn-support-match-action .yn-btn,
  body.error404.yn-commerce-theme .yn-support-match-action .yn-btn{width:100%}
}
/* YN-SUPPORT-MATCH-V1 END */

/* YN-GLOBAL-FOOTER-SUPPORT-V1 START */
/* Global customer-support band: visually attached directly to the dark footer. */
body.yn-commerce-theme .yn-footer-support,
body.yn-commerce-preview-shell .yn-footer-support{
  width:100%;
  margin:0!important;
  padding:28px 0 30px!important;
  background:linear-gradient(135deg,#F5EACC 0%,#EFE1BD 52%,#F7EFD9 100%)!important;
  border:0!important;
  border-radius:0!important;
  box-shadow:none!important;
}
body.yn-commerce-theme .yn-footer-support-inner,
body.yn-commerce-preview-shell .yn-footer-support-inner{
  width:min(var(--yn-max),calc(100% - 44px));
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(250px,.9fr) minmax(360px,1.55fr) auto;
  gap:42px;
  align-items:center;
}
body.yn-commerce-theme .yn-footer-support .yn-eyebrow,
body.yn-commerce-preview-shell .yn-footer-support .yn-eyebrow{
  margin-bottom:7px!important;
}
body.yn-commerce-theme .yn-footer-support h2,
body.yn-commerce-preview-shell .yn-footer-support h2{
  margin:0!important;
  font-size:clamp(2rem,3.4vw,3.15rem)!important;
  line-height:1.02!important;
  letter-spacing:-.035em!important;
}
body.yn-commerce-theme .yn-footer-support-copy p,
body.yn-commerce-preview-shell .yn-footer-support-copy p{
  max-width:760px;
  margin:0!important;
  color:#5F5951!important;
  line-height:1.62!important;
}
body.yn-commerce-theme .yn-footer-support-action,
body.yn-commerce-preview-shell .yn-footer-support-action{
  display:flex;
  align-items:center;
  justify-content:flex-end;
}
body.yn-commerce-theme .yn-footer-support-action .yn-btn,
body.yn-commerce-preview-shell .yn-footer-support-action .yn-btn{
  white-space:nowrap;
  background:rgba(255,255,255,.68)!important;
}
body.yn-commerce-theme .yn-footer-support + .yn-footer,
body.yn-commerce-preview-shell .yn-footer-support + .yn-footer{
  margin-top:0!important;
}
@media(max-width:900px){
  body.yn-commerce-theme .yn-footer-support-inner,
  body.yn-commerce-preview-shell .yn-footer-support-inner{
    grid-template-columns:1fr;
    gap:14px;
  }
  body.yn-commerce-theme .yn-footer-support-action,
  body.yn-commerce-preview-shell .yn-footer-support-action{
    justify-content:flex-start;
  }
}
@media(max-width:620px){
  body.yn-commerce-theme .yn-footer-support,
  body.yn-commerce-preview-shell .yn-footer-support{
    padding:24px 0 26px!important;
  }
  body.yn-commerce-theme .yn-footer-support-inner,
  body.yn-commerce-preview-shell .yn-footer-support-inner{
    width:min(100% - 30px,var(--yn-max));
  }
  body.yn-commerce-theme .yn-footer-support-action .yn-btn,
  body.yn-commerce-preview-shell .yn-footer-support-action .yn-btn{
    width:100%;
  }
}
/* YN-GLOBAL-FOOTER-SUPPORT-V1 END */

/* YN-WOO-INFINITE-SCROLL-V1 START */
/* Native Woo pagination remains in the HTML for SEO/no-JS fallback and is
   hidden only after the infinite-scroll script successfully initializes. */
body.yn-commerce-theme .woocommerce-pagination.yn-infinite-pagination-hidden,
body.yn-commerce-theme .wp-pagenavi.yn-infinite-pagination-hidden,
body.yn-commerce-preview-shell .woocommerce-pagination.yn-infinite-pagination-hidden,
body.yn-commerce-preview-shell .wp-pagenavi.yn-infinite-pagination-hidden{
  display:none!important;
}

body.yn-commerce-theme .yn-infinite-scroll,
body.yn-commerce-preview-shell .yn-infinite-scroll{
  width:100%;
  clear:both;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:28px;
  margin:18px 0 16px;
  text-align:center;
}

body.yn-commerce-theme .yn-infinite-scroll-sentinel,
body.yn-commerce-preview-shell .yn-infinite-scroll-sentinel{
  width:100%;
  height:1px;
  pointer-events:none;
}

body.yn-commerce-theme .yn-infinite-scroll-status,
body.yn-commerce-preview-shell .yn-infinite-scroll-status{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:10px;
  min-height:30px;
  color:#746B61;
  font-size:.82rem;
  line-height:1.4;
}

body.yn-commerce-theme .yn-infinite-scroll-spinner,
body.yn-commerce-preview-shell .yn-infinite-scroll-spinner{
  width:17px;
  height:17px;
  flex:0 0 17px;
  border:2px solid rgba(65,45,27,.16);
  border-top-color:var(--yn-olive-dark);
  border-radius:50%;
  animation:ynInfiniteSpin .72s linear infinite;
}

body.yn-commerce-theme .yn-infinite-scroll-retry,
body.yn-commerce-preview-shell .yn-infinite-scroll-retry{
  margin-top:8px!important;
}

body.yn-commerce-theme .yn-infinite-scroll.is-complete,
body.yn-commerce-preview-shell .yn-infinite-scroll.is-complete{
  margin-top:22px;
}

@keyframes ynInfiniteSpin{
  to{transform:rotate(360deg)}
}

@media (prefers-reduced-motion:reduce){
  body.yn-commerce-theme .yn-infinite-scroll-spinner,
  body.yn-commerce-preview-shell .yn-infinite-scroll-spinner{
    animation:none;
    border-top-color:rgba(65,45,27,.16);
  }
}

@media(max-width:620px){
  body.yn-commerce-theme .yn-infinite-scroll,
  body.yn-commerce-preview-shell .yn-infinite-scroll{
    margin:14px 0 10px;
  }
}
/* YN-WOO-INFINITE-SCROLL-V1 END */

/* YN-LIVE-WP-CART-BORDER-V1 START */
/* Keep the WordPress Cart pill visually consistent with the approved Hugo header. */
.yn-main-nav > a.yn-cart,
.yn-main-nav > a[href*="/cart/"],
.yn-header .yn-main-nav a.yn-cart,
.yn-header .yn-main-nav a[href*="/cart/"],
.yn-site-header .yn-main-nav a.yn-cart,
.yn-site-header .yn-main-nav a[href*="/cart/"]{
  border-color:#e8e0d3!important;
}
.yn-main-nav > a.yn-cart:hover,
.yn-main-nav > a.yn-cart:focus-visible,
.yn-main-nav > a[href*="/cart/"]:hover,
.yn-main-nav > a[href*="/cart/"]:focus-visible,
.yn-header .yn-main-nav a[href*="/cart/"]:hover,
.yn-header .yn-main-nav a[href*="/cart/"]:focus-visible,
.yn-site-header .yn-main-nav a[href*="/cart/"]:hover,
.yn-site-header .yn-main-nav a[href*="/cart/"]:focus-visible{
  color:#778133!important;
  border-color:#778133!important;
}
/* YN-LIVE-WP-CART-BORDER-V1 END */

/* ============================================================================
   YN PRODUCTION CONSOLIDATION V1
   Native WooCommerce normalization after permanent Divi retirement.
   This final block intentionally wins over older preview-era compatibility
   rules without changing WooCommerce markup or commerce logic.
   ============================================================================ */

/* ---------------------------------------------------------------------------
   NATIVE SINGLE PRODUCT
   Native Woo markup is: div.product > gallery + summary + tabs + recommendations.
   The old preview-era rule expected Divi's extra .clearfix wrapper and therefore
   changed the product back to display:block. Restore the approved two-column
   product presentation directly on native Woo markup.
   --------------------------------------------------------------------------- */
body.yn-commerce-shell.single-product .yn-content-wrap{
  padding-top:30px!important;
}
body.yn-commerce-shell.single-product .yn-woo-output{
  width:100%!important;
}
body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product{
  display:grid!important;
  grid-template-columns:minmax(0,1.02fr) minmax(380px,.98fr)!important;
  grid-auto-flow:row!important;
  column-gap:56px!important;
  row-gap:0!important;
  align-items:start!important;
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  clear:both!important;
}
body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product::before,
body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product::after{
  content:none!important;
  display:none!important;
}
body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product > .woocommerce-product-gallery,
body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product > div.images{
  grid-column:1!important;
  grid-row:1!important;
  width:100%!important;
  max-width:620px!important;
  margin:0!important;
  padding:0!important;
  float:none!important;
  clear:none!important;
  justify-self:start!important;
}
body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product > .summary.entry-summary,
body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product > div.summary{
  grid-column:2!important;
  grid-row:1!important;
  width:100%!important;
  max-width:600px!important;
  margin:0!important;
  padding:22px 24px 24px!important;
  float:none!important;
  clear:none!important;
  align-self:start!important;
  background:rgba(255,255,255,.72)!important;
  border:1px solid rgba(65,45,27,.09)!important;
  border-radius:22px!important;
  box-shadow:var(--yn-shadow-soft)!important;
}
body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product > .summary .product_title{
  margin:0 0 13px!important;
  font-size:clamp(2rem,2.7vw,3rem)!important;
  line-height:1.06!important;
  letter-spacing:-.035em!important;
}
body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product > .summary p.price,
body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product > .summary span.price{
  margin:0 0 12px!important;
  color:var(--yn-olive-dark)!important;
  font-size:1.18rem!important;
  font-weight:500!important;
  line-height:1.35!important;
}
body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product > .summary .woocommerce-product-details__short-description{
  margin-top:15px!important;
  font-size:.97rem!important;
  line-height:1.72!important;
}
body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product > .woocommerce-tabs,
body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product > section.related,
body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product > section.up-sells,
body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product > .related.products,
body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product > .up-sells.products{
  grid-column:1 / -1!important;
  grid-row:auto!important;
  width:100%!important;
  max-width:none!important;
  float:none!important;
  clear:both!important;
}
body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product > .woocommerce-tabs{
  margin-top:56px!important;
}
body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product > section.related,
body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product > section.up-sells,
body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product > .related.products,
body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product > .up-sells.products{
  margin-top:46px!important;
}

/* Product Vendors is operational metadata, not useful storefront copy. */
body.yn-commerce-shell .wcpv-sold-by-loop,
body.yn-commerce-shell .wcpv-sold-by-single{
  display:none!important;
}

/* ---------------------------------------------------------------------------
   NATIVE PRODUCT CARD RHYTHM
   Preserve standard Woo ratings: real ratings show; unrated products do not
   receive artificial empty stars. Prices stay suppressed by the theme hook.
   --------------------------------------------------------------------------- */
body.yn-commerce-shell .yn-shop-products .woocommerce ul.products li.product,
body.yn-commerce-shell.single-product .related.products ul.products li.product,
body.yn-commerce-shell.single-product .up-sells.products ul.products li.product{
  display:flex!important;
  flex-direction:column!important;
}
body.yn-commerce-shell .yn-shop-products .woocommerce ul.products li.product > a.woocommerce-loop-product__link,
body.yn-commerce-shell.single-product .related.products ul.products li.product > a.woocommerce-loop-product__link,
body.yn-commerce-shell.single-product .up-sells.products ul.products li.product > a.woocommerce-loop-product__link{
  display:flex!important;
  flex-direction:column!important;
  flex:0 0 auto!important;
  text-decoration:none!important;
}
body.yn-commerce-shell .yn-shop-products .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.yn-commerce-shell.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
body.yn-commerce-shell.single-product .up-sells.products ul.products li.product .woocommerce-loop-product__title{
  min-height:2.56em!important;
  margin:0 0 8px!important;
}
body.yn-commerce-shell .yn-shop-products .woocommerce ul.products li.product .star-rating,
body.yn-commerce-shell.single-product .related.products ul.products li.product .star-rating,
body.yn-commerce-shell.single-product .up-sells.products ul.products li.product .star-rating{
  float:none!important;
  color:var(--yn-gold)!important;
  margin:0 0 10px!important;
  font-size:.86rem!important;
}
body.yn-commerce-shell .yn-shop-products .woocommerce ul.products li.product .button,
body.yn-commerce-shell.single-product .related.products ul.products li.product .button,
body.yn-commerce-shell.single-product .up-sells.products ul.products li.product .button{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:40px!important;
  margin-top:auto!important;
  padding:9px 15px!important;
  border:1px solid rgba(65,45,27,.34)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--yn-cocoa)!important;
  box-shadow:none!important;
  font-size:.68rem!important;
  font-weight:800!important;
  line-height:1!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
}
body.yn-commerce-shell .yn-shop-products .woocommerce ul.products li.product .button:hover,
body.yn-commerce-shell.single-product .related.products ul.products li.product .button:hover,
body.yn-commerce-shell.single-product .up-sells.products ul.products li.product .button:hover{
  border-color:var(--yn-olive)!important;
  color:var(--yn-olive-dark)!important;
  background:#FBFBEF!important;
}

/* Cashier opens the side cart after AJAX add-to-cart, so Woo's second View Cart
   link is redundant. */
body.yn-commerce-shell .woocommerce a.added_to_cart.wc-forward{
  display:none!important;
}

/* ---------------------------------------------------------------------------
   SUBSCRIPTION PURCHASE OPTIONS
   Retain the non-Divi layout protection from the former child stylesheet.
   --------------------------------------------------------------------------- */
body.yn-commerce-shell.single-product form.cart:not(.variations_form):not(.bundle_form){
  flex-wrap:wrap!important;
}
body.yn-commerce-shell.single-product form.cart:not(.variations_form):not(.bundle_form) > .wcsatt-options-wrapper{
  flex:1 1 260px!important;
  min-width:240px!important;
}
body.yn-commerce-shell.single-product form.cart:not(.variations_form):not(.bundle_form) > .quantity{
  flex:0 0 88px!important;
  width:88px!important;
  min-width:88px!important;
  max-width:88px!important;
  margin:0!important;
}
body.yn-commerce-shell.single-product form.cart:not(.variations_form):not(.bundle_form) > .quantity input.qty{
  display:block!important;
  width:88px!important;
  min-width:88px!important;
  max-width:88px!important;
  min-height:50px!important;
  padding:0 28px 0 12px!important;
  text-align:center!important;
  opacity:1!important;
  box-sizing:border-box!important;
}
body.yn-commerce-shell.single-product form.cart:not(.variations_form):not(.bundle_form) > .single_add_to_cart_button{
  flex:0 0 auto!important;
  min-width:200px!important;
}

/* ---------------------------------------------------------------------------
   LOST PASSWORD
   Keep the useful Woo form treatment from the former child stylesheet without
   carrying any Divi/ET selectors or module dependencies into production.
   --------------------------------------------------------------------------- */
body.yn-commerce-shell.woocommerce-lost-password .entry-title{
  display:block;
  width:100%;
  margin:36px 0 20px!important;
  text-align:center!important;
  font-size:clamp(2.2rem,4vw,3.3rem)!important;
  line-height:1.05!important;
}
body.yn-commerce-shell.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password{
  max-width:760px;
  margin:0 auto 70px;
  padding:46px 56px 52px;
  background:#fff;
  border:1px solid var(--yn-line);
  border-radius:24px;
  box-shadow:var(--yn-shadow-soft);
  box-sizing:border-box;
}
body.yn-commerce-shell.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password > p:first-child{
  margin:0 0 30px!important;
  text-align:center!important;
  line-height:1.7!important;
}
body.yn-commerce-shell.woocommerce-lost-password form.woocommerce-ResetPassword .form-row,
body.yn-commerce-shell.woocommerce-lost-password form.woocommerce-ResetPassword .form-row-first,
body.yn-commerce-shell.woocommerce-lost-password form.woocommerce-ResetPassword .form-row-last,
body.yn-commerce-shell.woocommerce-lost-password form.woocommerce-ResetPassword .woocommerce-form-row{
  width:100%!important;
  max-width:100%!important;
  float:none!important;
  clear:both!important;
  margin:0 0 22px!important;
  padding:0!important;
}
body.yn-commerce-shell.woocommerce-lost-password form.woocommerce-ResetPassword label{
  display:block;
  width:100%;
  margin-bottom:9px;
  color:var(--yn-earth);
  font-weight:700;
}
body.yn-commerce-shell.woocommerce-lost-password form.woocommerce-ResetPassword input#user_login,
body.yn-commerce-shell.woocommerce-lost-password form.woocommerce-ResetPassword input.input-text{
  display:block;
  width:100%!important;
  max-width:100%!important;
  min-width:100%!important;
  min-height:54px;
  padding:12px 16px;
  border:1px solid var(--yn-line);
  border-radius:12px;
  background:#fff;
  box-sizing:border-box;
}
body.yn-commerce-shell.woocommerce-lost-password form.woocommerce-ResetPassword button.button,
body.yn-commerce-shell.woocommerce-lost-password form.woocommerce-ResetPassword .woocommerce-Button.button{
  width:100%!important;
  min-height:52px!important;
}

/* ---------------------------------------------------------------------------
   CASHIER SIDE CART
   Selected non-Divi brand rules migrated from the former child stylesheet.
   --------------------------------------------------------------------------- */
body.yn-commerce-shell .cfw-sc-modal .cfw-sc-container header{
  border-bottom:2px solid var(--yn-orange)!important;
}
body.yn-commerce-shell .cfw-sc-modal .cfw-sc-container header .title .cart-icon{
  color:var(--yn-olive)!important;
  stroke:var(--yn-olive)!important;
}
body.yn-commerce-shell .cfw-sc-modal .cfw-sc-container header .close-panel:hover,
body.yn-commerce-shell .cfw-sc-modal .cfw-sc-container a:not(.checkout):not(.continue-shopping),
body.yn-commerce-shell .cfw-sc-modal .cfw-sc-container .discount-container a{
  color:var(--yn-olive-dark)!important;
}
body.yn-commerce-shell .cfw-sc-modal .cfw-sc-container .remove:hover,
body.yn-commerce-shell .cfw-sc-modal .cfw-sc-container .remove-item:hover,
body.yn-commerce-shell .cfw-sc-modal .cfw-sc-container .discount-container a.remove,
body.yn-commerce-shell .cfw-sc-modal .cfw-sc-container .discount-container .remove{
  color:var(--yn-orange)!important;
}
body.yn-commerce-shell .cfw-sc-modal .cfw-sc-container .cfw-sc-loader{
  border-top-color:var(--yn-olive)!important;
  border-right-color:var(--yn-olive)!important;
  border-bottom-color:#e5e5e5!important;
  border-left-color:#e5e5e5!important;
  background-color:transparent!important;
  background-image:none!important;
  border-radius:50%!important;
}
body.yn-commerce-shell .cfw-sc-modal .cfw-sc-container .cfw-sc-ft-totals .cart-totals tr:last-child .cfw-sc-ft-amt-value{
  color:var(--yn-olive-dark)!important;
  font-weight:700!important;
}
body.yn-commerce-shell .cfw-sc-modal .cfw-sc-container footer{
  border-top:2px solid var(--yn-orange)!important;
}
body.yn-commerce-shell .cfw-sc-modal .cfw-sc-container footer .cta-container{
  gap:12px!important;
}
body.yn-commerce-shell .cfw-sc-modal .cfw-sc-container footer .cta-container a.continue-shopping,
body.yn-commerce-shell .cfw-sc-modal .cfw-sc-container footer .cta-container a.checkout{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:48px!important;
  padding:10px 18px!important;
  border:1px solid var(--yn-olive)!important;
  border-radius:999px!important;
  font-family:inherit!important;
  font-size:.72rem!important;
  font-weight:800!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  text-decoration:none!important;
  box-shadow:none!important;
}
body.yn-commerce-shell .cfw-sc-modal .cfw-sc-container footer .cta-container a.continue-shopping{
  color:var(--yn-olive-dark)!important;
  background:#fff!important;
}
body.yn-commerce-shell .cfw-sc-modal .cfw-sc-container footer .cta-container a.continue-shopping:hover{
  color:#fff!important;
  background:var(--yn-olive-dark)!important;
}
body.yn-commerce-shell .cfw-sc-modal .cfw-sc-container footer .cta-container a.checkout{
  color:#fff!important;
  background:var(--yn-olive-dark)!important;
}
body.yn-commerce-shell .cfw-sc-modal .cfw-sc-container footer .cta-container a.checkout:hover{
  opacity:.9!important;
}
body.yn-commerce-shell .cfw-sc-opac svg,
body.yn-commerce-shell .cfw-sc-opac svg path{
  fill:var(--yn-olive)!important;
}
body.yn-commerce-shell .cfw-sc-opac .cfw-sc-total,
body.yn-commerce-shell .cfw-sc-opac .cfw-total-qty{
  background:var(--yn-orange)!important;
  color:#fff!important;
}

@media(max-width:900px){
  body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product{
    grid-template-columns:1fr!important;
    row-gap:30px!important;
  }
  body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product > .woocommerce-product-gallery,
  body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product > div.images,
  body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product > .summary.entry-summary,
  body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product > div.summary,
  body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product > .woocommerce-tabs,
  body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product > section.related,
  body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product > section.up-sells{
    grid-column:1!important;
    grid-row:auto!important;
    max-width:none!important;
  }
  body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product > .summary.entry-summary,
  body.yn-commerce-shell.single-product .yn-woo-output > div.product.type-product > div.summary{
    padding:20px!important;
  }
}
@media(max-width:620px){
  body.yn-commerce-shell.woocommerce-lost-password form.woocommerce-ResetPassword.lost_reset_password{
    padding:30px 20px 36px;
  }
}
@media(max-width:480px){
  body.yn-commerce-shell .cfw-sc-modal .cfw-sc-container footer .cta-container{
    display:flex!important;
    flex-direction:column!important;
    gap:8px!important;
  }
  body.yn-commerce-shell .cfw-sc-modal .cfw-sc-container footer .cta-container a.continue-shopping,
  body.yn-commerce-shell .cfw-sc-modal .cfw-sc-container footer .cta-container a.checkout{
    width:100%!important;
  }
}
/* YN PRODUCTION CONSOLIDATION V1 END */

/* =========================================================
   YumNaturals Production Polish V1.1
   Final WooCommerce visual cleanup
   ========================================================= */

/* ---------------------------------------------------------
   SHOP / SHOP USA product cards
   --------------------------------------------------------- */
.woocommerce ul.products li.product .woocommerce-loop-product__link img{
    display:block;
    margin:0 !important;
    border-radius:18px 18px 0 0 !important; /* keep top rounding only */
}

.woocommerce ul.products li.product .woocommerce-loop-product__title{
    margin:14px 0 !important;
    padding:0 14px !important;
    line-height:1.2 !important;
    text-align:center;
}

.woocommerce ul.products li.product .star-rating{
    display:block;
    margin:10px auto 10px !important;
    float:none !important;
}

.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{
    margin-top:12px !important;
}

/* ---------------------------------------------------------
   SINGLE PRODUCT image wrappers
   Remove the extra outline/border
   --------------------------------------------------------- */
body.single-product .woocommerce-product-gallery__wrapper,
body.single-product .woocommerce-product-gallery__image,
body.single-product .flex-viewport,
body.single-product .flex-control-thumbs li img{
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
}

/* ---------------------------------------------------------
   SINGLE PRODUCT variation dropdown
   Fix font and inner spacing
   --------------------------------------------------------- */
body.single-product form.cart .variations select,
body.single-product form.cart select{
    font-family:inherit !important;
    font-size:16px !important;
    line-height:1.2 !important;
    color:inherit !important;
    padding:0 42px 0 16px !important;
    min-height:48px !important;
    text-indent:0 !important;
}

/* ---------------------------------------------------------
   BUNDLE child-item prices
   Override YITH blue color
   --------------------------------------------------------- */
body.single-product .yith-wcpb-product-bundled-item-data__price .price,
body.single-product .yith-wcpb-product-bundled-item-data__price .price .amount,
body.single-product .yith-wcpb-product-bundled-item-data__price .price ins,
body.single-product .yith-wcpb-product-bundled-item-data__price .price ins .amount,
body.single-product .yith-wcpb-product-bundled-item-data__price .price bdi{
    color:#96a73d !important; /* green price tone */
}

body.single-product .yith-wcpb-product-bundled-item-data__price .price del,
body.single-product .yith-wcpb-product-bundled-item-data__price .price del .amount{
    color:rgba(59,45,27,.55) !important;
}

/* ---------------------------------------------------------
   Product tabs / description
   Reduce left indent
   --------------------------------------------------------- */
body.single-product .woocommerce-tabs{
    margin-top:28px !important;
}

body.single-product .woocommerce-tabs ul.tabs{
    margin-left:0 !important;
    padding-left:0 !important;
}

body.single-product .woocommerce-tabs .panel{
    margin:0 !important;
    padding:20px 0 0 !important;
}

body.single-product .woocommerce-tabs .panel > h2,
body.single-product .woocommerce-tabs .panel p,
body.single-product .woocommerce-tabs .panel ul,
body.single-product .woocommerce-tabs .panel ol,
body.single-product .woocommerce-tabs .panel table,
body.single-product .woocommerce-tabs .panel .shop_attributes{
    margin-left:0 !important;
}

/* ---------------------------------------------------------
   Compact sale badges
   Prevent stretched full-width badge
   --------------------------------------------------------- */
.woocommerce span.onsale,
.woocommerce ul.products li.product .onsale,
body.single-product span.onsale{
    display:inline-flex !important;
    align-items:center;
    justify-content:center;
    width:auto !important;
    max-width:max-content !important;
    min-width:0 !important;
    min-height:0 !important;
    line-height:1 !important;
    padding:8px 12px !important;
    border-radius:999px !important;
    white-space:nowrap !important;
    left:14px !important;
    right:auto !important;
    top:14px !important;
    margin:0 !important;
}

/* ---------------------------------------------------------
   Optional small cleanup: keep archive price row neutral
   even though prices are hidden there
   --------------------------------------------------------- */
.woocommerce ul.products li.product .price{
    margin-top:0 !important;
}

/* YN-FINAL-LAUNCH-POLISH-V1 START */
/* Final launch visual normalization: Shop cards, recommendations, Cart
   cross-sells, variable selects, tabs and newsletter. */

/* Unify Shop, Related, Up-sell and Cart cross-sell cards. */
body.yn-commerce-shell .yn-shop-products .woocommerce ul.products li.product,
body.yn-commerce-shell.single-product .related.products ul.products li.product,
body.yn-commerce-shell.single-product .up-sells.products ul.products li.product,
body.yn-commerce-shell.woocommerce-cart .cross-sells ul.products li.product {
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:100%!important;
  overflow:hidden!important;
  padding:0 0 16px!important;
  margin:0!important;
  background:#fff!important;
  border:1px solid rgba(65,45,27,.10)!important;
  border-radius:20px!important;
  box-shadow:var(--yn-shadow-soft)!important;
}
body.yn-commerce-shell .yn-shop-products .woocommerce ul.products li.product > a.woocommerce-loop-product__link,
body.yn-commerce-shell.single-product .related.products ul.products li.product > a.woocommerce-loop-product__link,
body.yn-commerce-shell.single-product .up-sells.products ul.products li.product > a.woocommerce-loop-product__link,
body.yn-commerce-shell.woocommerce-cart .cross-sells ul.products li.product > a.woocommerce-loop-product__link {
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  width:100%!important;
  text-decoration:none!important;
}

/* Photography meets the title area on a straight edge. */
body.yn-commerce-shell .yn-shop-products .woocommerce ul.products li.product .et_shop_image,
body.yn-commerce-shell .yn-shop-products .woocommerce ul.products li.product > a.woocommerce-loop-product__link > img,
body.yn-commerce-shell.single-product .related.products ul.products li.product .et_shop_image,
body.yn-commerce-shell.single-product .related.products ul.products li.product > a.woocommerce-loop-product__link > img,
body.yn-commerce-shell.single-product .up-sells.products ul.products li.product .et_shop_image,
body.yn-commerce-shell.single-product .up-sells.products ul.products li.product > a.woocommerce-loop-product__link > img,
body.yn-commerce-shell.woocommerce-cart .cross-sells ul.products li.product .et_shop_image,
body.yn-commerce-shell.woocommerce-cart .cross-sells ul.products li.product > a.woocommerce-loop-product__link > img {
  display:block!important;
  width:100%!important;
  margin:0!important;
  overflow:hidden!important;
  border:0!important;
  border-bottom:1px solid rgba(65,45,27,.10)!important;
  border-radius:19px 19px 0 0!important;
  background:#fff!important;
  box-shadow:none!important;
}
body.yn-commerce-shell .yn-shop-products .woocommerce ul.products li.product .et_shop_image img,
body.yn-commerce-shell.single-product .related.products ul.products li.product .et_shop_image img,
body.yn-commerce-shell.single-product .up-sells.products ul.products li.product .et_shop_image img,
body.yn-commerce-shell.woocommerce-cart .cross-sells ul.products li.product .et_shop_image img,
body.yn-commerce-shell .yn-shop-products .woocommerce ul.products li.product > a.woocommerce-loop-product__link > img,
body.yn-commerce-shell.single-product .related.products ul.products li.product > a.woocommerce-loop-product__link > img,
body.yn-commerce-shell.single-product .up-sells.products ul.products li.product > a.woocommerce-loop-product__link > img,
body.yn-commerce-shell.woocommerce-cart .cross-sells ul.products li.product > a.woocommerce-loop-product__link > img {
  display:block!important;
  width:100%!important;
  aspect-ratio:1 / 1!important;
  object-fit:contain!important;
  margin:0!important;
  border:0!important;
  outline:0!important;
  border-radius:19px 19px 0 0!important;
  background:#fff!important;
  box-shadow:none!important;
}

/* Equal breathing room above and below every product title. */
body.yn-commerce-shell .yn-shop-products .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.yn-commerce-shell.single-product .related.products ul.products li.product .woocommerce-loop-product__title,
body.yn-commerce-shell.single-product .up-sells.products ul.products li.product .woocommerce-loop-product__title,
body.yn-commerce-shell.woocommerce-cart .cross-sells ul.products li.product .woocommerce-loop-product__title {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:calc(2.56em + 28px)!important;
  margin:0!important;
  padding:14px 16px!important;
  color:var(--yn-cocoa)!important;
  text-align:center!important;
  line-height:1.28!important;
}

/* Only genuinely rated products show Woo stars; center them when present. */
body.yn-commerce-shell .yn-shop-products .woocommerce ul.products li.product .star-rating,
body.yn-commerce-shell.single-product .related.products ul.products li.product .star-rating,
body.yn-commerce-shell.single-product .up-sells.products ul.products li.product .star-rating,
body.yn-commerce-shell.woocommerce-cart .cross-sells ul.products li.product .star-rating {
  float:none!important;
  margin:0 auto 12px!important;
  color:var(--yn-gold)!important;
}

/* Recommendation cards follow the same browse-first rule as Shop: no prices. */
body.yn-commerce-shell.single-product .related.products ul.products li.product .price,
body.yn-commerce-shell.single-product .up-sells.products ul.products li.product .price,
body.yn-commerce-shell.woocommerce-cart .cross-sells ul.products li.product .price {
  display:none!important;
}

/* Shared card buttons, inset equally from both sides. */
body.yn-commerce-shell .yn-shop-products .woocommerce ul.products li.product .button,
body.yn-commerce-shell.single-product .related.products ul.products li.product .button,
body.yn-commerce-shell.single-product .up-sells.products ul.products li.product .button,
body.yn-commerce-shell.woocommerce-cart .cross-sells ul.products li.product .button {
  width:calc(100% - 32px)!important;
  max-width:none!important;
  min-height:40px!important;
  margin:auto 16px 0!important;
  padding:9px 15px!important;
  border:1px solid rgba(65,45,27,.28)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--yn-cocoa)!important;
  box-shadow:none!important;
  text-align:center!important;
}

/* Cart cross-sells were inheriting the global four-column grid inside a
   half-width container. Give them useful Shop-card widths instead. */
body.yn-commerce-shell.woocommerce-cart .cross-sells ul.products {
  display:grid!important;
  grid-template-columns:repeat(auto-fit,minmax(220px,260px))!important;
  gap:18px!important;
  justify-content:start!important;
  align-items:stretch!important;
}
body.yn-commerce-shell.woocommerce-cart .cross-sells ul.products li.product {
  width:100%!important;
  max-width:260px!important;
}

/* Compact sale pills everywhere, including recommendation loops. */
body.yn-commerce-shell .woocommerce span.onsale,
body.yn-commerce-shell .woocommerce ul.products li.product span.onsale,
body.yn-commerce-shell.single-product span.onsale {
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:auto!important;
  max-width:max-content!important;
  min-width:0!important;
  min-height:0!important;
  height:auto!important;
  line-height:1!important;
  padding:8px 12px!important;
  margin:0!important;
  left:14px!important;
  right:auto!important;
  top:14px!important;
  border-radius:999px!important;
  white-space:nowrap!important;
  background:var(--yn-orange)!important;
  color:#fff!important;
}

/* Native Woo variation/select controls, rounded like Default Sorting. */
body.yn-commerce-shell.single-product .woocommerce div.product form.cart .variations select,
body.yn-commerce-shell.single-product .woocommerce div.product form.cart select {
  min-height:48px!important;
  padding:0 44px 0 16px!important;
  border:1px solid rgba(65,45,27,.28)!important;
  border-radius:14px!important;
  background-color:#fff!important;
  color:#3f3a35!important;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif!important;
  font-size:1rem!important;
  line-height:1.2!important;
  text-indent:0!important;
  box-shadow:none!important;
}

/* Remove stray outlines from native Woo gallery frames. */
body.yn-commerce-shell.single-product .yn-woo-output .woocommerce-product-gallery__wrapper,
body.yn-commerce-shell.single-product .yn-woo-output .woocommerce-product-gallery__image,
body.yn-commerce-shell.single-product .yn-woo-output .woocommerce-product-gallery__image a,
body.yn-commerce-shell.single-product .yn-woo-output .woocommerce-product-gallery__image img:not(.zoomImg),
body.yn-commerce-shell.single-product .yn-woo-output .flex-viewport {
  border:0!important;
  outline:0!important;
  box-shadow:none!important;
}

/* Older YITH bundle CSS uses a slate/blue price. Keep bundle prices in the
   same olive language as the rest of YumNaturals. */
body.yn-commerce-shell.single-product .yith-wcpb-product-bundled-item-data__price,
body.yn-commerce-shell.single-product .yith-wcpb-product-bundled-item-data__price .price,
body.yn-commerce-shell.single-product .yith-wcpb-product-bundled-item-data__price .amount,
body.yn-commerce-shell.single-product .yith-wcpb-product-bundled-item-data__price bdi,
body.yn-commerce-shell.single-product .yith-wcpb-product-bundled-item-data__price ins,
body.yn-commerce-shell.single-product .yith-wcpb-product-bundled-item-data__price ins .amount {
  color:var(--yn-olive-dark)!important;
}
body.yn-commerce-shell.single-product .yith-wcpb-product-bundled-item-data__price del,
body.yn-commerce-shell.single-product .yith-wcpb-product-bundled-item-data__price del .amount {
  color:rgba(65,45,27,.52)!important;
}

/* The legacy preview-compatibility selector had 38px horizontal padding.
   Production descriptions should begin much closer to the tab edge. */
body.yn-commerce-shell.yn-commerce-preview-shell.single-product .yn-woo-output .woocommerce-tabs .panel,
body.yn-commerce-shell.single-product .yn-woo-output .woocommerce-tabs .panel {
  max-width:1080px!important;
  margin:0!important;
  padding:24px 10px 12px!important;
}
body.yn-commerce-shell.yn-commerce-preview-shell.single-product .yn-woo-output .woocommerce-tabs .panel ul,
body.yn-commerce-shell.yn-commerce-preview-shell.single-product .yn-woo-output .woocommerce-tabs .panel ol,
body.yn-commerce-shell.single-product .yn-woo-output .woocommerce-tabs .panel ul,
body.yn-commerce-shell.single-product .yn-woo-output .woocommerce-tabs .panel ol {
  margin-left:1.1em!important;
  padding-left:.15em!important;
}

/* One extra HOME item fits more comfortably on desktop. */
body.yn-commerce-theme .yn-main-nav { gap:14px; }

/* -------------------------------------------------------------------------
   WordPress newsletter band: visually matches the Hugo newsletter section.
   ------------------------------------------------------------------------- */
.yn-site-newsletter {
  position:relative;
  overflow:hidden;
  padding:54px 0;
  color:#fff;
  background:
    radial-gradient(circle at 8% 12%,rgba(151,162,69,.22),transparent 31%),
    radial-gradient(circle at 90% 88%,rgba(240,158,78,.13),transparent 32%),
    linear-gradient(135deg,#392719 0%,#513722 52%,#6A4930 100%);
}
.yn-site-newsletter::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.025),transparent 45%,rgba(255,255,255,.018));
  pointer-events:none;
}
.yn-site-newsletter .yn-wrap { position:relative; z-index:2; }
.yn-site-newsletter-grid {
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:54px;
  align-items:center;
}
.yn-site-newsletter-copy { position:relative; }
.yn-site-newsletter .yn-eyebrow { color:#F6CA91; }
.yn-site-newsletter h2 {
  margin:0 0 12px;
  color:#fff;
  font-family:Georgia,"Times New Roman",serif;
  font-size:clamp(2rem,3.3vw,3.45rem);
  font-weight:500;
  line-height:1.08;
  letter-spacing:-.035em;
}
.yn-site-newsletter p { margin:.45em 0 1em; color:#F1E9DE; }
.yn-site-newsletter-watermark {
  position:absolute;
  width:300px;
  height:300px;
  left:-128px;
  top:50%;
  transform:translateY(-50%);
  opacity:.075;
  color:#DDE8B8;
  pointer-events:none;
}
.ybn-newsletter-form {
  position:relative;
  display:flex;
  gap:10px;
  padding:7px;
  border:1px solid rgba(255,255,255,.18);
  border-radius:999px;
  background:rgba(255,255,255,.08);
  box-shadow:0 18px 50px rgba(25,16,10,.12);
}
.ybn-newsletter-form input[type="email"] {
  flex:1;
  min-width:0;
  min-height:46px;
  padding:0 15px;
  border:0!important;
  outline:0;
  background:transparent!important;
  color:#fff!important;
  box-shadow:none!important;
}
.ybn-newsletter-form input[type="email"]::placeholder { color:rgba(255,255,255,.70); }
.ybn-newsletter-form button {
  min-height:46px;
  padding:12px 18px;
  border:0;
  border-radius:999px;
  background:#fff;
  color:var(--yn-cocoa);
  font-size:.69rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
  cursor:pointer;
}
.ybn-newsletter-form button[disabled] { opacity:.65; cursor:wait; }
.ybn-newsletter-honeypot { position:absolute!important; left:-5000px!important; width:1px!important; height:1px!important; overflow:hidden!important; }
.ybn-newsletter-status { min-height:1.25em; margin:10px 8px 0; color:#F1E9DE; font-size:.76rem; }
.yn-site-newsletter-note {
  margin-top:20px;
  display:grid;
  grid-template-columns:80px 1fr;
  gap:16px;
  align-items:center;
  padding:15px 17px;
  border:1px solid rgba(255,255,255,.16);
  border-radius:18px;
  background:rgba(255,255,255,.065);
}
.yn-site-newsletter-seal { width:80px; height:80px; color:#DDE8B8; }
.yn-site-newsletter-note strong { display:block; margin-bottom:3px; color:#F6CA91; font-size:.68rem; letter-spacing:.12em; text-transform:uppercase; }
.yn-site-newsletter-note p { margin:0; font-size:.80rem; line-height:1.5; }
.yn-site-newsletter-privacy { margin:8px 8px 0!important; color:#DCCFC3!important; font-size:.68rem!important; }

@media(max-width:880px) {
  .yn-site-newsletter-grid { grid-template-columns:1fr; gap:30px; }
  .yn-site-newsletter-watermark { left:auto; right:-120px; }
}
@media(max-width:620px) {
  .ybn-newsletter-form { flex-direction:column; border-radius:18px; }
  .yn-site-newsletter-note { grid-template-columns:64px 1fr; }
  .yn-site-newsletter-seal { width:64px; height:64px; }
  body.yn-commerce-shell.woocommerce-cart .cross-sells ul.products { grid-template-columns:1fr!important; }
  body.yn-commerce-shell.woocommerce-cart .cross-sells ul.products li.product { max-width:none!important; }
}
/* YN-FINAL-LAUNCH-POLISH-V1 END */

/* YN-FINAL-LAUNCH-POLISH-V1-3 START */
/* Final pre-launch header/newsletter alignment. */

/* WordPress: let the normal nav gap separate Cart and Search. Unified Search
   still carries an older negative margin intended for the preview header. */
body.yn-commerce-theme .yn-main-nav .ybn-site-search-trigger,
body.yn-commerce-shell .yn-main-nav .ybn-site-search-trigger {
  margin-left:0!important;
}

/* Make the WordPress newsletter an exact visual sibling of the Hugo band. */
body.yn-commerce-theme .yn-site-newsletter,
body.yn-commerce-shell .yn-site-newsletter {
  position:relative!important;
  overflow:hidden!important;
  padding:58px 0!important;
  color:#fff!important;
  background:
    radial-gradient(circle at 8% 12%,rgba(151,162,69,.22),transparent 31%),
    radial-gradient(circle at 90% 88%,rgba(240,158,78,.13),transparent 32%),
    linear-gradient(135deg,#392719 0%,#513722 52%,#6A4930 100%)!important;
}
body.yn-commerce-theme .yn-site-newsletter::before,
body.yn-commerce-shell .yn-site-newsletter::before {
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(90deg,rgba(255,255,255,.025),transparent 45%,rgba(255,255,255,.018));
  pointer-events:none;
}
body.yn-commerce-theme .yn-site-newsletter .yn-wrap,
body.yn-commerce-shell .yn-site-newsletter .yn-wrap { position:relative; z-index:2; }
body.yn-commerce-theme .yn-site-newsletter-grid,
body.yn-commerce-shell .yn-site-newsletter-grid {
  display:grid;
  grid-template-columns:.92fr 1.08fr;
  gap:54px;
  align-items:center;
}
body.yn-commerce-theme .yn-site-newsletter-copy,
body.yn-commerce-shell .yn-site-newsletter-copy { position:relative; }
body.yn-commerce-theme .yn-site-newsletter .yn-eyebrow,
body.yn-commerce-shell .yn-site-newsletter .yn-eyebrow {
  color:#F6CA91!important;
  margin:0 0 16px!important;
  font-size:.84rem!important;
  letter-spacing:.17em!important;
  text-transform:uppercase!important;
  font-weight:900!important;
}
body.yn-commerce-theme .yn-site-newsletter h2,
body.yn-commerce-shell .yn-site-newsletter h2 {
  margin:0 0 .55em!important;
  color:#fff!important;
  font-family:Georgia,"Times New Roman",serif!important;
  font-size:clamp(2.15rem,4.3vw,4rem)!important;
  font-weight:500!important;
  line-height:1.11!important;
  letter-spacing:-.04em!important;
}
body.yn-commerce-theme .yn-site-newsletter p,
body.yn-commerce-shell .yn-site-newsletter p {
  color:#F1E9DE!important;
}
body.yn-commerce-theme .yn-site-newsletter-copy > p,
body.yn-commerce-shell .yn-site-newsletter-copy > p {
  margin:.45em 0 1em!important;
  font-size:1rem!important;
  line-height:1.67!important;
}
body.yn-commerce-theme .yn-site-newsletter-watermark,
body.yn-commerce-shell .yn-site-newsletter-watermark {
  position:absolute!important;
  width:330px!important;
  height:330px!important;
  left:-145px!important;
  top:50%!important;
  transform:translateY(-50%)!important;
  opacity:.075!important;
  color:#DDE8B8!important;
  pointer-events:none!important;
}
body.yn-commerce-theme .yn-site-newsletter .ybn-newsletter-form,
body.yn-commerce-shell .yn-site-newsletter .ybn-newsletter-form {
  display:flex!important;
  gap:10px!important;
  padding:7px!important;
  border:1px solid rgba(255,255,255,.18)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.08)!important;
  box-shadow:0 18px 50px rgba(25,16,10,.12)!important;
}
body.yn-commerce-theme .yn-site-newsletter .ybn-newsletter-form input[type="email"],
body.yn-commerce-shell .yn-site-newsletter .ybn-newsletter-form input[type="email"] {
  flex:1!important;
  min-width:0!important;
  min-height:46px!important;
  padding:0 15px!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  color:#fff!important;
  box-shadow:none!important;
}
body.yn-commerce-theme .yn-site-newsletter .ybn-newsletter-form input[type="email"]::placeholder,
body.yn-commerce-shell .yn-site-newsletter .ybn-newsletter-form input[type="email"]::placeholder {
  color:rgba(255,255,255,.70)!important;
}
body.yn-commerce-theme .yn-site-newsletter .ybn-newsletter-form button,
body.yn-commerce-shell .yn-site-newsletter .ybn-newsletter-form button {
  min-height:46px!important;
  padding:13px 18px!important;
  border:0!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#412D1B!important;
  font-size:.69rem!important;
  font-weight:900!important;
  letter-spacing:.09em!important;
  text-transform:uppercase!important;
  cursor:pointer!important;
}
body.yn-commerce-theme .yn-site-newsletter .ybn-newsletter-status,
body.yn-commerce-shell .yn-site-newsletter .ybn-newsletter-status {
  min-height:1.25em;
  margin:10px 8px 0;
  color:#F1E9DE!important;
  font-size:.76rem;
}
body.yn-commerce-theme .yn-site-newsletter-note,
body.yn-commerce-shell .yn-site-newsletter-note {
  margin-top:20px!important;
  display:grid!important;
  grid-template-columns:94px 1fr!important;
  gap:17px!important;
  align-items:center!important;
  padding:17px 18px!important;
  border:1px solid rgba(255,255,255,.16)!important;
  border-radius:19px!important;
  background:rgba(255,255,255,.065)!important;
  box-shadow:0 14px 34px rgba(25,16,10,.10)!important;
}
body.yn-commerce-theme .yn-site-newsletter-seal,
body.yn-commerce-shell .yn-site-newsletter-seal {
  width:94px!important;
  height:94px!important;
  color:#DDE8B8!important;
  filter:drop-shadow(0 8px 18px rgba(0,0,0,.12));
}
body.yn-commerce-theme .yn-site-newsletter-note .yn-heart-kicker,
body.yn-commerce-shell .yn-site-newsletter-note .yn-heart-kicker {
  margin-bottom:4px;
  color:#F6CA91!important;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.13em;
  text-transform:uppercase;
}
body.yn-commerce-theme .yn-site-newsletter-note p,
body.yn-commerce-shell .yn-site-newsletter-note p {
  margin:0!important;
  color:#F3EADF!important;
  font-size:.82rem!important;
  line-height:1.55!important;
}
body.yn-commerce-theme .yn-site-newsletter-note p strong,
body.yn-commerce-shell .yn-site-newsletter-note p strong { color:#fff!important; }
.yn-site-newsletter-yam-controls {
  display:flex;
  align-items:center;
  gap:11px;
  flex-wrap:wrap;
  margin-top:11px;
}
.yn-site-newsletter-yam-button {
  display:inline-flex;
  align-items:center;
  gap:8px;
  min-height:37px;
  border:1px solid rgba(255,255,255,.42);
  border-radius:999px;
  background:rgba(255,255,255,.10);
  color:#fff;
  padding:8px 13px;
  font-size:.66rem;
  font-weight:900;
  letter-spacing:.09em;
  text-transform:uppercase;
  cursor:pointer;
  transition:.18s ease;
}
.yn-site-newsletter-yam-button:hover {
  transform:translateY(-1px);
  background:rgba(255,255,255,.16);
  border-color:rgba(246,202,145,.7);
}
.yn-site-newsletter-yam-button[aria-pressed="true"] {
  background:#F7F0DE;
  color:#412D1B;
  border-color:#F7F0DE;
}
.yn-site-newsletter-yam-note {
  color:#DCCFC3;
  font-size:.68rem;
  line-height:1.4;
  max-width:420px;
}
@media(max-width:880px) {
  body.yn-commerce-theme .yn-site-newsletter-grid,
  body.yn-commerce-shell .yn-site-newsletter-grid { grid-template-columns:1fr; gap:30px; }
  body.yn-commerce-theme .yn-site-newsletter-watermark,
  body.yn-commerce-shell .yn-site-newsletter-watermark { left:auto!important; right:-120px!important; top:42%!important; }
}
@media(max-width:620px) {
  body.yn-commerce-theme .yn-site-newsletter .ybn-newsletter-form,
  body.yn-commerce-shell .yn-site-newsletter .ybn-newsletter-form { flex-direction:column!important; border-radius:18px!important; }
  body.yn-commerce-theme .yn-site-newsletter-note,
  body.yn-commerce-shell .yn-site-newsletter-note { grid-template-columns:72px 1fr!important; padding:15px!important; }
  body.yn-commerce-theme .yn-site-newsletter-seal,
  body.yn-commerce-shell .yn-site-newsletter-seal { width:72px!important; height:72px!important; }
}
/* YN-FINAL-LAUNCH-POLISH-V1-3 END */

/* YN-FINAL-LAUNCH-POLISH-V1-4 START */
/* Last pre-launch refinements: archive cards, header parity, newsletter input. */

/* Match Cart -> Search spacing between WordPress and Hugo. The normal WP nav
   gap is 14px at this stage; -7px leaves a deliberate 7px visual gap. */
body.yn-commerce-theme .yn-main-nav .ybn-site-search-trigger,
body.yn-commerce-shell .yn-main-nav .ybn-site-search-trigger {
  margin-left:-7px!important;
}

/* Product tag/category/search archives should use the exact same card treatment
   as the curated /shop/ product loop. */
body.yn-commerce-shell.tax-product_tag .yn-woo-output ul.products li.product,
body.yn-commerce-shell.tax-product_cat .yn-woo-output ul.products li.product,
body.yn-commerce-shell.post-type-archive-product .yn-woo-output ul.products li.product,
body.yn-commerce-shell.search-results .yn-woo-output ul.products li.product {
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  min-height:100%!important;
  overflow:hidden!important;
  padding:0 0 16px!important;
  margin:0!important;
  background:#fff!important;
  border:1px solid rgba(65,45,27,.10)!important;
  border-radius:20px!important;
  box-shadow:var(--yn-shadow-soft)!important;
}
body.yn-commerce-shell.tax-product_tag .yn-woo-output ul.products li.product > a.woocommerce-loop-product__link,
body.yn-commerce-shell.tax-product_cat .yn-woo-output ul.products li.product > a.woocommerce-loop-product__link,
body.yn-commerce-shell.post-type-archive-product .yn-woo-output ul.products li.product > a.woocommerce-loop-product__link,
body.yn-commerce-shell.search-results .yn-woo-output ul.products li.product > a.woocommerce-loop-product__link {
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  width:100%!important;
  text-decoration:none!important;
}
body.yn-commerce-shell.tax-product_tag .yn-woo-output ul.products li.product > a.woocommerce-loop-product__link > img,
body.yn-commerce-shell.tax-product_cat .yn-woo-output ul.products li.product > a.woocommerce-loop-product__link > img,
body.yn-commerce-shell.post-type-archive-product .yn-woo-output ul.products li.product > a.woocommerce-loop-product__link > img,
body.yn-commerce-shell.search-results .yn-woo-output ul.products li.product > a.woocommerce-loop-product__link > img {
  display:block!important;
  width:100%!important;
  aspect-ratio:1/1!important;
  object-fit:contain!important;
  margin:0!important;
  border:0!important;
  border-bottom:1px solid rgba(65,45,27,.10)!important;
  outline:0!important;
  border-radius:19px 19px 0 0!important;
  background:#fff!important;
  box-shadow:none!important;
}
body.yn-commerce-shell.tax-product_tag .yn-woo-output ul.products li.product .woocommerce-loop-product__title,
body.yn-commerce-shell.tax-product_cat .yn-woo-output ul.products li.product .woocommerce-loop-product__title,
body.yn-commerce-shell.post-type-archive-product .yn-woo-output ul.products li.product .woocommerce-loop-product__title,
body.yn-commerce-shell.search-results .yn-woo-output ul.products li.product .woocommerce-loop-product__title {
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:calc(2.56em + 28px)!important;
  margin:0!important;
  padding:14px 16px!important;
  text-align:center!important;
  line-height:1.28!important;
  color:var(--yn-cocoa)!important;
}
body.yn-commerce-shell.tax-product_tag .yn-woo-output ul.products li.product .star-rating,
body.yn-commerce-shell.tax-product_cat .yn-woo-output ul.products li.product .star-rating,
body.yn-commerce-shell.post-type-archive-product .yn-woo-output ul.products li.product .star-rating,
body.yn-commerce-shell.search-results .yn-woo-output ul.products li.product .star-rating {
  float:none!important;
  margin:0 auto 12px!important;
  color:var(--yn-gold)!important;
}
body.yn-commerce-shell.tax-product_tag .yn-woo-output ul.products li.product .button,
body.yn-commerce-shell.tax-product_cat .yn-woo-output ul.products li.product .button,
body.yn-commerce-shell.post-type-archive-product .yn-woo-output ul.products li.product .button,
body.yn-commerce-shell.search-results .yn-woo-output ul.products li.product .button {
  width:calc(100% - 32px)!important;
  max-width:none!important;
  min-height:40px!important;
  margin:auto 16px 0!important;
  padding:9px 15px!important;
  border:1px solid rgba(65,45,27,.28)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--yn-cocoa)!important;
  box-shadow:none!important;
  text-align:center!important;
}

/* Keep the newsletter input visually inside its dark rounded field even while
   focused/autofilled by Chrome/Safari. */
body.yn-commerce-theme .yn-site-newsletter .ybn-newsletter-form,
body.yn-commerce-shell .yn-site-newsletter .ybn-newsletter-form {
  overflow:hidden!important;
}
body.yn-commerce-theme .yn-site-newsletter .ybn-newsletter-form input[type="email"],
body.yn-commerce-shell .yn-site-newsletter .ybn-newsletter-form input[type="email"] {
  border-radius:999px!important;
  background:transparent!important;
  color:#fff!important;
  caret-color:#fff!important;
  font-size:.82rem!important;
  -webkit-text-fill-color:#fff!important;
}
body.yn-commerce-theme .yn-site-newsletter .ybn-newsletter-form input[type="email"]:focus,
body.yn-commerce-shell .yn-site-newsletter .ybn-newsletter-form input[type="email"]:focus {
  background:transparent!important;
  box-shadow:none!important;
}
body.yn-commerce-theme .yn-site-newsletter .ybn-newsletter-form input[type="email"]:-webkit-autofill,
body.yn-commerce-theme .yn-site-newsletter .ybn-newsletter-form input[type="email"]:-webkit-autofill:hover,
body.yn-commerce-theme .yn-site-newsletter .ybn-newsletter-form input[type="email"]:-webkit-autofill:focus,
body.yn-commerce-shell .yn-site-newsletter .ybn-newsletter-form input[type="email"]:-webkit-autofill,
body.yn-commerce-shell .yn-site-newsletter .ybn-newsletter-form input[type="email"]:-webkit-autofill:hover,
body.yn-commerce-shell .yn-site-newsletter .ybn-newsletter-form input[type="email"]:-webkit-autofill:focus {
  -webkit-text-fill-color:#fff!important;
  caret-color:#fff!important;
  -webkit-box-shadow:0 0 0 1000px #5A3E2A inset!important;
  box-shadow:0 0 0 1000px #5A3E2A inset!important;
  border-radius:999px!important;
  transition:background-color 9999s ease-out 0s!important;
}

/* Keep the YUM/YAM explanation as one compact paragraph, like Hugo. */
body.yn-commerce-theme .yn-site-newsletter-note p,
body.yn-commerce-shell .yn-site-newsletter-note p {
  margin:0!important;
  font-size:.75rem!important;
  line-height:1.5!important;
}
body.yn-commerce-theme .yn-site-newsletter-note p strong,
body.yn-commerce-shell .yn-site-newsletter-note p strong {
  display:inline!important;
  margin:0!important;
  color:#fff!important;
  font-size:inherit!important;
  line-height:inherit!important;
  letter-spacing:normal!important;
  text-transform:none!important;
}

/* Hard visual fallback for the legacy Checkout Field Editor notice. PHP also
   removes it from Woo's checkout field array below. */
body.yn-commerce-shell.woocommerce-checkout #shipping_delay_field {
  display:none!important;
}
/* YN-FINAL-LAUNCH-POLISH-V1-4 END */

/* YUMNATURALS USA-ELIGIBLE LOOP BUTTON V1 */
/* Normalize the custom <a><button> output used on USA-restricted product cards
   so it visually matches the rounded YumNaturals/WooCommerce catalog actions. */
.woocommerce ul.products li.product > a[href*="/usa-eligible-products/"]{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:calc(100% - 28px)!important;
  min-height:38px!important;
  margin:12px 14px 14px!important;
  padding:9px 11px!important;
  border:1px solid rgba(65,45,27,.28)!important;
  border-radius:999px!important;
  background:#fff!important;
  color:#412d1b!important;
  font-family:inherit!important;
  font-size:.67rem!important;
  font-weight:800!important;
  letter-spacing:.065em!important;
  line-height:1.15!important;
  text-align:center!important;
  text-decoration:none!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  cursor:pointer!important;
  transition:border-color .18s ease,color .18s ease,background .18s ease!important;
}
.woocommerce ul.products li.product > a[href*="/usa-eligible-products/"] > button{
  all:unset!important;
  display:inline!important;
  color:inherit!important;
  font:inherit!important;
  letter-spacing:inherit!important;
  line-height:inherit!important;
  text-align:inherit!important;
  text-transform:inherit!important;
  white-space:inherit!important;
  pointer-events:none!important;
}
.woocommerce ul.products li.product > a[href*="/usa-eligible-products/"]:hover,
.woocommerce ul.products li.product > a[href*="/usa-eligible-products/"]:focus-visible{
  border-color:#74834a!important;
  color:#66753f!important;
  background:#fff!important;
}
@media(max-width:560px){
  .woocommerce ul.products li.product > a[href*="/usa-eligible-products/"]{
    font-size:.64rem!important;
    letter-spacing:.045em!important;
    white-space:normal!important;
  }
}

