/* The Purnam Store: one look for every page (header, footer, notices, shop, product, cart, checkout, account).
   Loaded site-wide by mu-plugins/purnam-store-design.php after the theme. Brand: docs/brand/purnam-colours.json. */
:root {
  --psd-numbers: lining-nums;
  --psd-ivory: #FFFAF3;
  --psd-paper: #F6EFE3;
  --psd-navy: #09304D;
  --psd-blue: #005495;
  --psd-ink: #2A3D50;
  --psd-muted: #5B6B78;
  --psd-gold: #FFBE3D;
  --psd-gold-text: #C2780C;
  --psd-line: rgba(9, 48, 77, .12);
  --psd-serif: "Playfair Display", Georgia, serif;
  --psd-sans: "Lato", system-ui, -apple-system, "Segoe UI", sans-serif;
  --psd-ease: cubic-bezier(.25, .1, .25, 1);
  --psd-gold-fill: linear-gradient(120deg, #FFDC8C 0%, #FFBE3D 48%, #F7A21B 100%);
  --psd-shadow: 0 30px 60px -40px rgba(9, 48, 77, .45);
}

/* ---------- Base ---------- */
body.theme-Divi { font-family: var(--psd-sans) !important; color: var(--psd-ink); -webkit-font-smoothing: antialiased; }
body.theme-Divi .amount, body.theme-Divi .price { font-variant-numeric: lining-nums; }
body.theme-Divi #page-container { background: var(--psd-ivory); }
body.woocommerce-page .et-l--body .et_pb_section,
body.woocommerce .et-l--post .et_pb_section,
body.woocommerce-page #main-content { background: var(--psd-ivory) !important; background-image: none !important; }

/* ---------- Header: the purnamcommunity.in header's style, with the store's links ---------- */
#main-header, #top-header { display: none !important; }
body.theme-Divi #page-container { padding-top: 0 !important; margin-top: 0 !important; }
:root { --psh-h: 84px; }
.psh-spacer { height: var(--psh-h); }
#psh { position: fixed; z-index: 99990; left: 0; right: 0; top: 0; font-family: "Lato", system-ui, sans-serif; color: #09304D; }
.admin-bar #psh { top: 32px; }
#psh * { box-sizing: border-box; }
#psh a { text-decoration: none; }
#psh .psh-bar { display: flex; align-items: center; gap: 28px; height: var(--psh-h); padding: 0 max(28px, calc((100% - 1180px) / 2 + 28px)); background: #fff; border-bottom: 1px solid rgba(9, 48, 77, .08); transition: height .5s ease, box-shadow .5s ease; }
#psh.is-scrolled .psh-bar { height: 64px; box-shadow: 0 10px 30px -18px rgba(9, 48, 77, .35); }
#psh .psh-logo { display: flex; align-items: center; gap: 14px; }
#psh .psh-logo img { display: block; height: 58px; width: auto; transition: height .5s ease; }
#psh.is-scrolled .psh-logo img { height: 44px; }
#psh .psh-brand { display: flex; flex-direction: column; padding-left: 14px; border-left: 1px solid rgba(9, 48, 77, .14); line-height: 1.15; }
#psh .psh-brand small { color: #C9852A; font: 700 10px/1.2 "Lato", sans-serif; letter-spacing: .22em; text-transform: uppercase; }
#psh .psh-brand b { margin-top: 3px; color: #09304D; font: 500 19px/1.1 "Playfair Display", Georgia, serif; }
#psh .psh-nav { display: flex; gap: 4px; flex: 1; justify-content: center; margin: 0; padding: 0; list-style: none; }
#psh .psh-nav > li { margin: 0; padding: 0; list-style: none; }
#psh .psh-nav > li::before { display: none; }
#psh .psh-top { display: inline-flex; align-items: center; gap: 6px; padding: 12px 14px; border-radius: 10px; color: #09304D; font: 700 14px/1 "Lato", sans-serif; letter-spacing: .01em; transition: background .6s ease; }
#psh .psh-ext { width: 11px; height: 11px; opacity: .7; }
#psh .psh-top:hover, #psh .psh-top.is-here { background: rgba(0, 84, 149, .07); }
#psh a:focus-visible, #psh button:focus-visible { outline: 2px solid #005495; outline-offset: 2px; }
#psh .psh-right { display: flex; align-items: center; gap: 8px; margin-left: auto; }
#psh .psh-icon { position: relative; display: grid; place-items: center; width: 44px; height: 44px; border-radius: 12px; color: #09304D; transition: background .6s ease; }
#psh .psh-icon:hover, #psh .psh-icon.is-here { background: rgba(0, 84, 149, .07); }
#psh .psh-count { position: absolute; top: 4px; right: 2px; min-width: 18px; height: 18px; padding: 0 5px; border-radius: 999px; display: none; place-items: center; background: linear-gradient(135deg, #FFDFAE, #FFBD59 55%, #E6A23C); color: #09304D; font: 900 10.5px/18px "Lato", sans-serif; text-align: center; }
#psh .psh-count.is-on { display: block; animation: psh-pop .6s ease; }
.psh-gold { display: inline-flex; align-items: center; gap: 8px; margin-left: 8px; padding: 13px 22px; border-radius: 999px; color: #09304D !important; background: linear-gradient(135deg, #FFDFAE, #FFBD59 55%, #E6A23C); font: 900 14px/1 "Lato", sans-serif; letter-spacing: .01em; white-space: nowrap; box-shadow: 0 10px 24px -10px rgba(230, 162, 60, .8); transition: transform .6s ease; }
.psh-gold:hover { transform: translateY(-1px); }
#psh .psh-acct { position: relative; }
#psh .psh-acct > button { border: 0; background: none; cursor: pointer; padding: 0; }
#psh .psh-acct.is-open > button { background: rgba(0, 84, 149, .07); }
#psh .psh-dot { position: absolute; right: 8px; bottom: 9px; width: 8px; height: 8px; border-radius: 50%; background: #2E9E5B; box-shadow: 0 0 0 2px #fff; }
#psh .psh-acct-menu { position: absolute; top: calc(100% + 10px); right: -8px; z-index: 10; width: 268px; padding: 10px; border-radius: 18px; background: #fff; border: 1px solid rgba(9, 48, 77, .1); box-shadow: 0 24px 50px -20px rgba(9, 48, 77, .45); opacity: 0; transform: translateY(-6px); pointer-events: none; transition: opacity .35s ease, transform .35s ease; }
#psh .psh-acct.is-open .psh-acct-menu { opacity: 1; transform: none; pointer-events: auto; }
#psh .psh-acct-who { display: flex; flex-direction: column; gap: 3px; margin: 0 0 6px !important; padding: 10px 12px 14px !important; border-bottom: 1px solid rgba(9, 48, 77, .08); font: 400 13.5px/1.45 "Lato", sans-serif; color: #5B6B78; }
#psh .psh-acct-who small { font: 700 10.5px/1.3 "Lato", sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #B26D0B; }
#psh .psh-acct-who b { font: 700 15.5px/1.3 "Lato", sans-serif; color: #09304D; }
#psh .psh-acct-who span { overflow-wrap: anywhere; }
#psh .psh-acct-menu a { display: block; padding: 11px 12px; border-radius: 10px; color: #09304D; font: 700 14.5px/1.3 "Lato", sans-serif; transition: background .4s ease; }
#psh .psh-acct-menu a:hover { background: rgba(0, 84, 149, .06); }
#psh .psh-acct-menu a.psh-acct-main { margin: 4px 0 2px; text-align: center; background: linear-gradient(135deg, #FFDFAE, #FFBD59 55%, #E6A23C); }
#psh .psh-acct-menu a.psh-acct-out { margin-top: 4px; border-top: 1px solid rgba(9, 48, 77, .08); border-radius: 0 0 10px 10px; color: #A23B2A; }
.psd-signed-in { margin: 0 0 18px !important; padding: 12px 16px !important; border-radius: 12px; background: #FFF7E8; border: 1px solid rgba(194, 120, 12, .2); font: 400 14.5px/1.5 "Lato", sans-serif; color: var(--psd-muted); }
.psd-signed-in b { color: var(--psd-navy); }
.psd-signed-in a { color: var(--psd-blue) !important; font-weight: 700; }
#psh .psh-burger { display: none; width: 44px; height: 44px; border: 0; border-radius: 12px; background: rgba(0, 84, 149, .07); color: #09304D; cursor: pointer; place-items: center; }
#psh .psh-burger .psh-x { display: none; }
#psh.is-menu .psh-burger .psh-x { display: block; }
#psh.is-menu .psh-burger .psh-lines { display: none; }
#psh .psh-drawer { display: none; position: fixed; left: 0; right: 0; bottom: 0; top: var(--psh-h); overflow: auto; padding: 24px 22px 120px; background: linear-gradient(170deg, #09304D, #0B3A62); color: #fff; }
.admin-bar #psh .psh-drawer { top: calc(var(--psh-h) + 46px); }
#psh.is-menu .psh-drawer { display: block; animation: psh-in .3s ease; }
#psh .psh-k { margin: 0 0 12px; padding: 0; color: #FFDFAE; opacity: .85; font: 700 10px/1 "Lato", sans-serif; letter-spacing: .24em; text-transform: uppercase; }
#psh .psh-step { display: block; padding: 14px 0; border-bottom: 1px solid rgba(255, 255, 255, .08); color: #fff; }
#psh .psh-step b { display: block; font: 500 20px/1.2 "Playfair Display", Georgia, serif; }
#psh .psh-step span { display: block; margin-top: 3px; color: rgba(255, 255, 255, .62); font: 400 13px/1.35 "Lato", sans-serif; }
#psh .psh-links { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; margin-top: 26px; }
#psh .psh-links a { padding: 13px 14px; border-radius: 12px; background: rgba(255, 255, 255, .06); color: #fff; font: 700 14px/1.2 "Lato", sans-serif; }
@keyframes psh-in { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@keyframes psh-pop { 0% { transform: scale(.4); } 70% { transform: scale(1.15); } 100% { transform: none; } }
@media (max-width: 1100px) { #psh .psh-brand { display: none; } }
@media (max-width: 980px) {
  :root { --psh-h: 68px; }
  #psh .psh-bar { padding: 0 16px; gap: 8px; }
  #psh .psh-nav, #psh .psh-right .psh-gold { display: none; }
  #psh .psh-right .psh-gold.is-checkout { display: inline-flex; margin-left: 2px; padding: 11px 16px; font-size: 13.5px; }
  #psh .psh-right .psh-gold.is-checkout span[aria-hidden] { display: none; }
  #psh .psh-acct { position: static; }
  #psh .psh-acct-menu { position: absolute; top: calc(100% + 6px); left: 12px; right: 12px; width: auto; }
  #psh .psh-logo { flex: none; }
  #psh .psh-logo img { width: auto; }
  #psh .psh-burger { display: grid; }
  #psh .psh-brand { display: flex; }
  #psh .psh-brand b { font-size: 17px; }
  #psh .psh-logo img, #psh.is-scrolled .psh-logo img { height: 46px; }
  #psh.is-scrolled .psh-bar { height: var(--psh-h); }
}
@media (max-width: 782px) { .admin-bar #psh { top: 46px; } }
@media (max-width: 600px) { .admin-bar #psh { top: 0; } .admin-bar #psh .psh-drawer { top: var(--psh-h); } }
@media (max-width: 380px) { #psh .psh-brand { display: none; } }

/* ---------- Buttons ---------- */
body.woocommerce .button, body.woocommerce-page .button,
body.woocommerce button.button, body.woocommerce-page button.button,
body.woocommerce a.button, body.woocommerce-page a.button,
body.woocommerce input.button, body.woocommerce-page input.button,
body.woocommerce-page .et_pb_button, body.woocommerce .et_pb_button,
body.woocommerce-page .wc-block-components-button {
  font-family: var(--psd-sans) !important; font-size: 15px !important; line-height: 1.2 !important; font-weight: 700 !important;
  letter-spacing: .06em !important; text-transform: none !important;
  border-radius: 999px !important; border: 1px solid rgba(194, 120, 12, .55) !important;
  background: transparent !important; color: var(--psd-navy) !important;
  padding: 15px 30px !important; min-height: 50px; box-shadow: none !important;
  transition: transform 1.4s var(--psd-ease), box-shadow 1.4s var(--psd-ease), background-color 1s var(--psd-ease), border-color 1s var(--psd-ease) !important;
}
body.woocommerce .button::after, body.woocommerce-page .button::after, body.woocommerce-page .et_pb_button::after { display: none !important; }
body.woocommerce .button:hover, body.woocommerce-page .button:hover, body.woocommerce-page .et_pb_button:hover {
  background: rgba(255, 190, 61, .14) !important; border-color: var(--psd-gold) !important; transform: translateY(-1px);
}
/* The one main action on each page gets the gold fill. */
body .single_add_to_cart_button, body .checkout-button, body #place_order, body .woocommerce-form-login__submit,
body .woocommerce-form-register__submit, body.woocommerce-checkout .button.alt, body.woocommerce-cart .button.alt,
body .psp-pay-button {
  background: var(--psd-gold-fill) !important; border-color: transparent !important; color: #0A2E4A !important;
  box-shadow: 0 14px 30px -18px rgba(247, 162, 27, .75), inset 0 1px 0 rgba(255, 255, 255, .55) !important;
}
body .single_add_to_cart_button:hover, body .checkout-button:hover, body #place_order:hover, body .psp-pay-button:hover,
body .woocommerce-form-login__submit:hover, body .woocommerce-form-register__submit:hover {
  background: var(--psd-gold-fill) !important; box-shadow: 0 20px 38px -20px rgba(247, 162, 27, .8), inset 0 1px 0 rgba(255, 255, 255, .55) !important;
}
body .single_add_to_cart_button.disabled { opacity: .55 !important; }
body .single_add_to_cart_button.is-loading { pointer-events: none; opacity: .92; }
.psd-spin { width: 16px; height: 16px; border-radius: 50%; border: 2px solid rgba(10, 46, 74, .25); border-top-color: #0A2E4A; animation: psd-spin .8s linear infinite; display: inline-block; }
@keyframes psd-spin { to { transform: rotate(360deg); } }
.psd-toast {
  position: fixed; right: 24px; bottom: 24px; z-index: 100000; display: flex; align-items: center; gap: 12px; flex-wrap: nowrap; max-width: min(620px, calc(100vw - 32px)); padding-right: 40px !important;
  background: #fff; border: 1px solid rgba(194, 120, 12, .25); border-left: 4px solid var(--psd-gold); border-radius: 18px; padding: 16px 18px;
  box-shadow: 0 30px 60px -24px rgba(9, 48, 77, .45); font-family: var(--psd-sans);
  opacity: 0; transform: translateY(16px); pointer-events: none; transition: opacity .9s var(--psd-ease), transform 1.1s var(--psd-ease);
}
.psd-toast.is-on { opacity: 1; transform: none; pointer-events: auto; }
.psd-toast__icon { flex: none; width: 34px; height: 34px; border-radius: 50%; display: grid; place-items: center; background: var(--psd-gold-fill); color: #0A2E4A; font-weight: 700; }
.psd-toast__icon--warn { background: #FBE3E0; color: #C0392B; }
.psd-toast__text { display: flex; flex-direction: column; flex: 1 1 180px; font-size: 14.5px; line-height: 1.4; color: var(--psd-muted); }
.psd-toast__text strong { color: var(--psd-navy); font-size: 15.5px; }
.psd-toast__link { font-size: 14px; font-weight: 700; color: var(--psd-navy) !important; padding: 9px 16px; border-radius: 999px; border: 1px solid rgba(194, 120, 12, .5); }
.psd-toast__link--gold { background: var(--psd-gold-fill); border-color: transparent; }
.psd-toast__close { position: absolute; top: 6px; right: 10px; border: 0; background: none; font-size: 20px; line-height: 1; color: var(--psd-muted); cursor: pointer; }
.psd-toast__link { white-space: nowrap; }
@media (max-width: 720px) { .psd-toast { left: 16px; right: 16px; bottom: 16px; max-width: none; flex-wrap: wrap; } .psd-toast__text { flex-basis: calc(100% - 50px); } .psd-toast__link { flex: 1; text-align: center; } }

/* ---------- Form fields ---------- */
body.woocommerce-page .input-text, body.woocommerce-page select, body.woocommerce-page textarea,
body.woocommerce .input-text, body.woocommerce select, body.woocommerce textarea,
body.woocommerce-page .select2-container .select2-selection--single {
  font-family: var(--psd-sans) !important; font-size: 16px !important; line-height: 1.5 !important; color: var(--psd-ink) !important;
  background: #fff !important; border: 1px solid rgba(9, 48, 77, .18) !important; border-radius: 12px !important;
  padding: 13px 16px !important; min-height: 50px; box-shadow: none !important; transition: border-color .8s var(--psd-ease), box-shadow .8s var(--psd-ease);
}
body.woocommerce-page .select2-container .select2-selection--single { height: auto !important; }
body.woocommerce-page .select2-container .select2-selection__rendered { line-height: 1.5 !important; padding: 0 !important; color: var(--psd-ink) !important; }
body.woocommerce-page .select2-selection__arrow { top: 12px !important; right: 10px !important; }
body.woocommerce-page .input-text:focus, body.woocommerce-page select:focus, body.woocommerce-page textarea:focus {
  border-color: var(--psd-gold) !important; box-shadow: 0 0 0 4px rgba(255, 190, 61, .2) !important; outline: none;
}
body.woocommerce-page form .form-row label, body.woocommerce form .form-row label {
  font-family: var(--psd-sans) !important; font-size: 13px !important; font-weight: 700; letter-spacing: .04em; color: var(--psd-ink) !important;
}
body.woocommerce-page .quantity .qty { width: 84px !important; text-align: center; border-radius: 999px !important; }

/* ---------- Notices ---------- */
body .woocommerce-message, body .woocommerce-info, body .woocommerce-error, body .woocommerce-notices-wrapper .wc-block-components-notice-banner {
  font-family: var(--psd-sans) !important; font-size: 16px !important; line-height: 1.6 !important; color: var(--psd-ink) !important;
  background: #fff !important; border: 1px solid rgba(194, 120, 12, .25) !important; border-left: 4px solid var(--psd-gold) !important;
  border-radius: 14px !important; padding: 18px 22px !important; box-shadow: var(--psd-shadow) !important;
  display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap;
}
body .woocommerce-error { border-left-color: #C0392B !important; }
body #page-container .et_pb_module .woocommerce-message, body #page-container .et_pb_module .woocommerce-info,
body #page-container .woocommerce-notices-wrapper .woocommerce-message, body #page-container .woocommerce-notices-wrapper .woocommerce-info {
  background-color: #fff !important; background-image: none !important; color: var(--psd-ink) !important; font-family: var(--psd-sans) !important; font-size: 16px !important;
}
body #page-container .woocommerce-message .button, body #page-container .woocommerce-info .button { background: var(--psd-gold-fill) !important; color: #0A2E4A !important; border-color: transparent !important; padding: 12px 24px !important; min-height: 0; }
body .woocommerce-message::before, body .woocommerce-info::before, body .woocommerce-error::before { display: none !important; }
body .woocommerce-message .button, body .woocommerce-info .button { order: 2; margin: 0 !important; }
body .woocommerce-message a:not(.button), body .woocommerce-info a:not(.button) { color: var(--psd-blue) !important; }

/* ---------- Breadcrumbs ---------- */
body .woocommerce-breadcrumb {
  font-family: var(--psd-sans) !important; font-size: 12px !important; line-height: 1.6 !important; font-weight: 700 !important;
  letter-spacing: .2em !important; text-transform: uppercase; color: var(--psd-muted) !important;
}
body .woocommerce-breadcrumb a { color: var(--psd-gold-text) !important; }

/* ---------- Product page ---------- */
body.single-product .et_pb_section_0_tb_body { padding-top: 40px !important; }
body.single-product .et_pb_wc_images .woocommerce-product-gallery__image img,
body.single-product .et_pb_wc_images .flex-viewport { border-radius: 20px !important; }
body.single-product .et_pb_wc_images .flex-viewport, body.single-product .et_pb_wc_images .woocommerce-product-gallery__wrapper > div:first-child { box-shadow: var(--psd-shadow); }
body.single-product .et_pb_wc_images .flex-control-thumbs { display: grid !important; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin-top: 14px !important; }
body.single-product .et_pb_wc_images .flex-control-thumbs li { width: auto !important; margin: 0 !important; float: none !important; }
body.single-product .et_pb_wc_images .flex-control-thumbs img { border-radius: 12px; opacity: .6 !important; transition: opacity 1s var(--psd-ease); }
body.single-product .et_pb_wc_images .flex-control-thumbs img.flex-active, body.single-product .et_pb_wc_images .flex-control-thumbs img:hover { opacity: 1 !important; }
body.single-product .woocommerce-product-gallery__trigger { background: rgba(255, 250, 243, .92) !important; box-shadow: 0 6px 18px -8px rgba(9, 48, 77, .4); }
body.single-product .et_pb_column_3_tb_body {
  background: #fff !important; border-radius: 24px !important; border: 1px solid var(--psd-line);
  box-shadow: var(--psd-shadow) !important; padding: clamp(28px, 4vw, 52px) !important;
}
body.single-product .et_pb_text_0_tb_body .et_pb_text_inner {
  font-family: var(--psd-serif) !important; font-weight: 400 !important; font-size: clamp(34px, 3.6vw, 48px) !important;
  line-height: 1.12 !important; letter-spacing: -.01em; text-transform: none !important; color: var(--psd-navy) !important;
}
body.single-product .et_pb_text_0_tb_body::after { content: ""; display: block; width: 56px; height: 2px; margin-top: 20px; background: linear-gradient(90deg, var(--psd-gold), transparent); }
body.single-product .et_pb_wc_description, body.single-product .et_pb_wc_description p {
  font-family: var(--psd-sans) !important; font-size: 16.5px !important; line-height: 1.8 !important; color: var(--psd-muted) !important;
}
body.single-product .et_pb_wc_description strong { color: var(--psd-ink); }
body.single-product #page-container .et_pb_wc_price .price, body.single-product #page-container .et_pb_wc_price .price .amount {
  font-family: var(--psd-sans) !important; font-weight: 700 !important; font-size: clamp(24px, 2.2vw, 28px) !important; line-height: 1.3 !important; letter-spacing: .01em; color: var(--psd-navy) !important; font-variant-numeric: lining-nums tabular-nums;
}
body.single-product table.variations { margin: 6px 0 4px !important; border: 0 !important; }
body.single-product table.variations th, body.single-product table.variations td { padding: 0 0 8px !important; border: 0 !important; display: block; width: 100% !important; }
body.single-product table.variations th label {
  font-family: var(--psd-sans) !important; font-size: 11.5px !important; font-weight: 700 !important; letter-spacing: .22em; text-transform: uppercase; color: var(--psd-gold-text) !important;
}
body.single-product table.variations select { width: 100% !important; padding-right: 44px !important; }
body.single-product .reset_variations { font-size: 13px !important; color: var(--psd-muted) !important; letter-spacing: .04em; }
body.single-product #page-container .woocommerce-variation-price .price, body.single-product #page-container .woocommerce-variation-price .price .amount {
  font-family: var(--psd-sans) !important; font-weight: 700 !important; font-size: 20px !important; color: var(--psd-navy) !important; font-variant-numeric: lining-nums;
}
body.single-product .woocommerce-variation-price { margin: 6px 0 2px; }
body.single-product .woocommerce-variation-add-to-cart, body.single-product form.cart:not(.variations_form) { display: flex !important; align-items: stretch; gap: 12px; flex-wrap: wrap; margin-top: 14px; }
body.single-product #page-container table.variations select { border: 1px solid rgba(9, 48, 77, .2) !important; border-radius: 14px !important; min-height: 54px; background-color: #fff !important; font-size: 16px !important; color: var(--psd-ink) !important; }
body #page-container .quantity.psd-stepper { display: inline-flex !important; align-items: center; height: 54px; border: 1px solid rgba(9, 48, 77, .2); border-radius: 999px; background: #fff; padding: 0 6px; margin: 0 !important; }
body #page-container .quantity.psd-stepper .qty {
  width: 38px !important; min-height: 0; height: 52px; border: 0 !important; background: transparent !important; padding: 0 !important; text-align: center; font-size: 17px !important; font-weight: 700; color: var(--psd-navy) !important; box-shadow: none !important; -moz-appearance: textfield;
}
body #page-container .quantity.psd-stepper .qty::-webkit-outer-spin-button, body #page-container .quantity.psd-stepper .qty::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.psd-step { width: 40px; height: 40px; border-radius: 50%; border: 0; background: transparent; color: var(--psd-navy); font-size: 20px; line-height: 1; cursor: pointer; transition: background 1s var(--psd-ease); }
.psd-step:hover { background: #FFF3DA; }
body.single-product #page-container .single_add_to_cart_button { min-height: 54px !important; height: auto; padding: 0 32px !important; display: inline-flex !important; align-items: center; justify-content: center; gap: 10px; }
body.single-product .single_add_to_cart_button { flex: 1 1 200px; padding: 17px 32px !important; font-size: 16px !important; }
body.single-product .et_pb_accordion .et_pb_toggle { background: transparent !important; border: 0 !important; border-top: 1px solid var(--psd-line) !important; border-radius: 0 !important; padding: 20px 4px !important; margin: 0 !important; }
body.single-product .et_pb_accordion .et_pb_toggle:last-child { border-bottom: 1px solid var(--psd-line) !important; }
body.single-product .et_pb_accordion .et_pb_toggle_title { font-family: var(--psd-serif) !important; font-weight: 400 !important; font-size: 20px !important; color: var(--psd-navy) !important; }
body.single-product .et_pb_accordion .et_pb_toggle_title::before { color: var(--psd-gold-text) !important; }
body.single-product .et_pb_accordion .et_pb_toggle_content { font-size: 15.5px !important; line-height: 1.75 !important; color: var(--psd-muted) !important; }

/* Divi writes module colours with module-numbered selectors; these match them. */
body #page-container .et-l--body .et_pb_module button.single_add_to_cart_button.button,
body #page-container .et-l--body .et_pb_module button.single_add_to_cart_button.button:hover {
  background-image: var(--psd-gold-fill) !important; background-color: #FFBE3D !important; color: #0A2E4A !important; border-color: transparent !important;
}
body.single-product #page-container .et-l--body .et_pb_accordion .et_pb_toggle h5.et_pb_toggle_title,
body.single-product #page-container .et-l--body .et_pb_accordion .et_pb_toggle.et_pb_toggle_open h5.et_pb_toggle_title,
body.single-product #page-container .et-l--body .et_pb_accordion .et_pb_toggle.et_pb_toggle_close h5.et_pb_toggle_title {
  font-family: var(--psd-serif) !important; font-weight: 400 !important; font-size: 20px !important; color: var(--psd-navy) !important;
}
body #page-container .et-l--body .et_pb_wc_related_products section.related > h2,
body #page-container .et-l--body .et_pb_wc_related_products h2,
body #page-container .et-l--body .et_pb_wc_cross_sells h2 {
  font-family: var(--psd-serif) !important; font-weight: 400 !important; font-size: clamp(28px, 3vw, 38px) !important; color: var(--psd-navy) !important; text-transform: none !important;
}
body #page-container .et-l--body .et_pb_wc_related_products ul.products li.product .woocommerce-loop-product__title,
body #page-container .et-l--body .et_pb_wc_cross_sells ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--psd-serif) !important; font-weight: 400 !important; font-size: 19px !important; color: var(--psd-navy) !important;
}
body #page-container .et-l--body .et_pb_wc_related_products ul.products li.product .price,
body #page-container .et-l--body .et_pb_wc_related_products ul.products li.product .price .amount {
  font-family: var(--psd-sans) !important; font-size: 14.5px !important; color: var(--psd-muted) !important; font-weight: 400 !important;
}

body #page-container .et-l--body .et_pb_module .button:not(.single_add_to_cart_button):not(.checkout-button):not(.alt),
body #page-container .et-l--post .et_pb_module .button:not(.single_add_to_cart_button):not(.checkout-button):not(.alt) {
  background-image: none !important; background-color: transparent !important; color: var(--psd-navy) !important; border: 1px solid rgba(194, 120, 12, .55) !important;
}
body #page-container .et-l--body .et_pb_module .checkout-button, body #page-container .et-l--body .et_pb_module .button.alt {
  background-image: var(--psd-gold-fill) !important; background-color: #FFBE3D !important; color: #0A2E4A !important; border-color: transparent !important;
}
body.woocommerce-page .et_pb_post_title h1, body.woocommerce-page .et_pb_text h1, body.woocommerce-page .et_pb_text h2 {
  font-family: var(--psd-serif) !important; font-weight: 400 !important; color: var(--psd-navy) !important; letter-spacing: -.01em;
}
body.woocommerce-page .et_pb_text p { font-family: var(--psd-sans) !important; }

/* ---------- Product page: richer frame ---------- */
body.single-product #page-container .et_pb_section_0_tb_body {
  background:
    radial-gradient(45% 55% at 22% 38%, rgba(255, 210, 122, .32), transparent 70%),
    radial-gradient(40% 50% at 90% 10%, rgba(80, 149, 179, .12), transparent 70%),
    linear-gradient(180deg, #FFFDF8, var(--psd-ivory)) !important;
}
body.single-product .et_pb_wc_images .woocommerce-product-gallery { background: #fff; padding: 14px; border-radius: 26px; box-shadow: 0 40px 80px -46px rgba(9, 48, 77, .55); }
body.single-product .et_pb_wc_images .flex-viewport { box-shadow: none !important; border-radius: 16px !important; }
.psd-eyebrow { display: flex; align-items: center; gap: 12px; margin: 0 0 14px !important; padding: 0 !important; font: 700 11.5px/1.4 "Lato", sans-serif; letter-spacing: .24em; text-transform: uppercase; color: var(--psd-gold-text); }
.psd-eyebrow::before { content: ""; width: 26px; height: 1px; background: currentColor; }
.psd-types { display: flex; flex-wrap: wrap; gap: 10px; margin: 4px 0 6px; }
.psd-type {
  flex: 1 1 140px; min-height: 54px; padding: 10px 16px; border-radius: 14px; border: 1px solid rgba(9, 48, 77, .18); background: #fff; cursor: pointer; text-align: left;
  font: 700 15px/1.3 "Lato", sans-serif; color: var(--psd-navy); transition: border-color .9s var(--psd-ease), background .9s var(--psd-ease), box-shadow .9s var(--psd-ease);
}
.psd-type small { display: block; margin-top: 2px; font-weight: 400; font-size: 13px; color: var(--psd-muted); }
.psd-type:hover { border-color: rgba(194, 120, 12, .55); }
.psd-type.is-on { border-color: var(--psd-gold); background: #FFF8EA; box-shadow: 0 0 0 3px rgba(255, 190, 61, .22); }
body.single-product.psd-has-types #page-container table.variations select { position: absolute !important; opacity: 0; pointer-events: none; width: 1px !important; height: 1px; min-height: 0; }
body.single-product.psd-has-types .reset_variations { display: none !important; }
body.single-product.psd-has-types table.variations td.value span::after { display: none !important; content: none !important; border: 0 !important; }
.psd-promise { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 22px 0 6px; padding: 0 !important; list-style: none !important; }
.psd-promise li { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 8px; padding: 14px 8px !important; border-radius: 14px; background: #FFFAF3; border: 1px solid rgba(194, 120, 12, .16); font: 700 12.5px/1.35 "Lato", sans-serif; color: var(--psd-navy); list-style: none !important; }
.psd-promise li::before { content: none !important; }
.psd-promise svg { width: 22px; height: 22px; fill: none; stroke: var(--psd-gold-text); stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.psd-related-head { text-align: center; margin: 0 0 40px; }
.psd-related-head .psd-eyebrow { justify-content: center; }
.psd-related-head h2 { font-family: var(--psd-serif) !important; font-weight: 400 !important; font-size: clamp(30px, 3.4vw, 44px) !important; line-height: 1.15 !important; color: var(--psd-navy) !important; padding: 0 !important; }
.psd-related-head h2 em { color: var(--psd-gold-text); }
body #page-container .et_pb_wc_related_products section.related > h2 { display: none !important; }
body #page-container .et_pb_wc_related_products ul.products li.product, body #page-container .et_pb_wc_cross_sells ul.products li.product {
  background: #fff; border-radius: 22px; padding: 12px 12px 22px !important; border: 1px solid rgba(9, 48, 77, .08);
  box-shadow: 0 26px 50px -40px rgba(9, 48, 77, .5); transition: transform 1.4s var(--psd-ease), box-shadow 1.4s var(--psd-ease);
}
body #page-container .et_pb_wc_related_products ul.products li.product:hover { transform: translateY(-3px); box-shadow: 0 36px 64px -40px rgba(9, 48, 77, .55); }
body #page-container .et_pb_wc_related_products ul.products li.product a img { box-shadow: none !important; }
.psd-view { display: inline-block; margin-top: 12px; font: 700 13px/1.2 "Lato", sans-serif; letter-spacing: .06em; color: var(--psd-gold-text); }
.psd-view span { display: inline-block; transition: transform 1.2s var(--psd-ease); }
li.product:hover .psd-view span { transform: translateX(4px); }
@media (max-width: 720px) {
  .psd-promise { gap: 8px; }
  .psd-promise li { font-size: 11.5px; padding: 12px 6px !important; }
  body.single-product .et_pb_wc_images .woocommerce-product-gallery { padding: 10px; border-radius: 20px; }
}

/* ---------- Research round: product, cart, checkout ---------- */
.psd-type { padding: 14px 18px !important; }
.psd-type__top { display: flex; justify-content: space-between; align-items: baseline; gap: 10px; }
.psd-type__top b { font: 700 15px/1.2 "Lato", sans-serif; color: var(--psd-navy); font-variant-numeric: lining-nums; }
.psd-type small { margin-top: 4px; }
.psd-ask { display: inline-flex; align-items: center; gap: 8px; margin: 18px 0 4px; font: 700 14px/1.3 "Lato", sans-serif; letter-spacing: .04em; color: var(--psd-navy) !important; border-bottom: 1px solid rgba(194, 120, 12, .45); padding-bottom: 3px; }
.psd-ask span { color: var(--psd-gold-text); transition: transform 1.2s var(--psd-ease); }
.psd-ask:hover span { transform: translateX(4px); }
@media (min-width: 981px) {
  body.single-product #page-container .et_pb_column_2_tb_body { position: sticky; top: 110px; align-self: flex-start; }
  body.single-product #page-container .et_pb_row:has(.et_pb_column_2_tb_body) { display: flex !important; align-items: flex-start; }
}
.psd-buybar {
  position: fixed; left: 50%; bottom: 20px; z-index: 99970; display: flex; align-items: center; gap: 14px; width: min(640px, calc(100vw - 24px));
  padding: 10px 10px 10px 12px; border-radius: 20px; background: rgba(255, 255, 255, .96); -webkit-backdrop-filter: blur(10px); backdrop-filter: blur(10px);
  border: 1px solid rgba(194, 120, 12, .2); box-shadow: 0 24px 50px -24px rgba(9, 48, 77, .5);
  transform: translate(-50%, 140%); transition: transform 1s var(--psd-ease);
}
.psd-buybar.is-on { transform: translate(-50%, 0); }
.psd-buybar__text em, .psd-buybar__go, .psd-buybar.is-added .psd-buybar__text span, .psd-buybar.is-added button.psd-buybar__btn { display: none; }
.psd-buybar.is-added .psd-buybar__text em { display: block; font: 700 13.5px/1.3 "Lato", sans-serif; color: #2E7D4F; }
.psd-buybar.is-added .psd-buybar__go { display: inline-flex; align-items: center; gap: 8px; color: #0A2E4A !important; text-decoration: none; }
body:has(.psd-buybar.is-on) .psd-toast { bottom: 104px; }
.psd-buybar img { width: 48px; height: 48px; object-fit: cover; border-radius: 10px; }
.psd-buybar__text { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.psd-buybar__text b { font: 500 17px/1.2 "Playfair Display", Georgia, serif; color: var(--psd-navy); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.psd-buybar__text span { font: 700 13.5px/1.3 "Lato", sans-serif; color: var(--psd-muted); }
.psd-buybar__btn { flex: none; min-height: 46px; padding: 0 22px; border: 0; border-radius: 999px; background: var(--psd-gold-fill); color: #0A2E4A; font: 700 14.5px/1 "Lato", sans-serif; letter-spacing: .04em; cursor: pointer; box-shadow: 0 10px 22px -12px rgba(247, 162, 27, .8); }
body.woocommerce-cart a.remove.psd-remove { width: auto !important; height: auto !important; border: 0 !important; border-bottom: 1px solid rgba(9, 48, 77, .25) !important; border-radius: 0 !important; font-size: 13px !important; font-weight: 400 !important; line-height: 1.4 !important; color: var(--psd-muted) !important; background: none !important; padding: 0 !important; }
body.woocommerce-cart a.remove.psd-remove:hover { color: #B03A2E !important; border-bottom-color: #B03A2E !important; }
body.woocommerce-cart .quantity.psd-one .psd-step { display: none; }
body.psd-auto-cart #page-container table.cart td.actions button[name=update_cart] { display: none !important; }
body.psd-auto-cart #page-container table.cart tr:has(> td.actions):not(:has(.coupon)) { display: none !important; }
body.psd-cart-empty #page-container .wc-empty-cart-message, body.psd-cart-empty #page-container .return-to-shop, body.psd-cart-empty #page-container .cart-empty,
body.psd-cart-empty #page-container .et_pb_wc_cart_notice:not(:has(.woocommerce-message)), body.psd-cart-empty .psd-cartbar,
body.psd-cart-empty #page-container .et-l--body .et_pb_row_1-4_1-2_1-4 > .et_pb_column:last-child { display: none !important; }
body.psd-cart-empty #page-container .et-l--body .et_pb_row_1-4_1-2_1-4 > .et_pb_column:nth-child(2) { flex: 1 1 auto; width: 100% !important; max-width: 720px; margin: 0 auto !important; float: none !important; }
body.psd-cart-empty #page-container .et-l--body .et_pb_row_1-4_1-2_1-4 { justify-content: center; }
.psd-empty { margin: 8px auto 40px; padding: clamp(32px, 5vw, 52px) clamp(22px, 5vw, 48px); width: min(560px, calc(100% - 32px)); box-sizing: border-box; text-align: center; background: #fff; border: 1px solid var(--psd-line); border-radius: 26px; box-shadow: var(--psd-shadow); }
.psd-empty__icon { display: inline-grid; place-items: center; width: 64px; height: 64px; margin-bottom: 18px; border-radius: 50%; background: #FFF7E8; border: 1px solid rgba(194, 120, 12, .2); }
.psd-empty__icon svg { width: 28px; height: 28px; fill: none; stroke: var(--psd-gold-text); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.psd-empty h2 { margin: 0 0 10px !important; padding: 0 !important; font: 400 clamp(26px, 3.4vw, 32px)/1.2 "Playfair Display", Georgia, serif !important; color: var(--psd-navy) !important; }
.psd-empty p { margin: 0 auto 26px !important; padding: 0 !important; max-width: 400px; font: 400 16px/1.65 "Lato", sans-serif; color: var(--psd-muted); }
.psd-empty__btn { display: inline-flex; align-items: center; gap: 10px; padding: 16px 30px; border-radius: 999px; background: var(--psd-gold-fill); color: #0A2E4A !important; font: 700 15.5px/1 "Lato", sans-serif; letter-spacing: .03em; box-shadow: 0 14px 28px -14px rgba(247, 162, 27, .85); transition: transform .6s ease; }
.psd-empty__btn:hover { transform: translateY(-1px); }
body #page-container .psd-empty .psd-empty__undo, .psd-empty .psd-empty__undo { margin: 28px 0 0 !important; padding: 18px 0 0 !important; border-top: 1px solid var(--psd-line); font: 400 14px/1.5 "Lato", sans-serif; color: var(--psd-muted); }
.psd-empty__undo a { color: var(--psd-blue) !important; font-weight: 700; }
.woocommerce-message.psd-fade { opacity: 0; transition: opacity 1s ease; }
body.woocommerce-cart .quantity.psd-one { border-color: transparent !important; background: transparent !important; }
.psd-reassure { margin: 22px 0 0 !important; padding: 18px 0 0 !important; list-style: none !important; border-top: 1px solid var(--psd-line); display: grid; gap: 10px; }
.psd-reassure li { display: flex; align-items: flex-start; gap: 10px; padding: 0 !important; font: 400 13.5px/1.5 "Lato", sans-serif; color: var(--psd-muted); list-style: none !important; }
.psd-reassure li::before { content: none !important; }
.psd-reassure svg { flex: none; width: 17px; height: 17px; margin-top: 1px; fill: none; stroke: var(--psd-gold-text); stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.psd-reassure a { color: var(--psd-navy) !important; overflow-wrap: break-word; }
.psd-cartbar { display: none; }
@media (max-width: 980px) {
  .psd-cartbar { display: flex; position: fixed; z-index: 99970; left: 12px; right: 12px; bottom: 12px; align-items: center; justify-content: space-between; gap: 12px; padding: 10px 10px 10px 18px; border-radius: 18px; background: rgba(9, 48, 77, .97); color: #fff; box-shadow: 0 16px 30px -12px rgba(0, 0, 0, .5); }
  .psd-cartbar small { display: block; font: 700 10px/1.2 "Lato", sans-serif; letter-spacing: .16em; text-transform: uppercase; color: #FFDFAE; }
  .psd-cartbar b { font: 700 18px/1.3 "Lato", sans-serif; }
  .psd-cartbar__btn { display: inline-flex; align-items: center; gap: 8px; padding: 13px 22px; border-radius: 999px; background: var(--psd-gold-fill); color: #0A2E4A !important; font: 700 14.5px/1 "Lato", sans-serif; }
  body.woocommerce-cart #page-container { padding-bottom: 90px; }
  .psd-buybar { bottom: 12px; }
  body:has(.psd-buybar.is-on) .psd-toast { bottom: 92px; }
}
body.woocommerce-cart .cart-empty.woocommerce-info { justify-content: center; text-align: center; font-family: var(--psd-serif) !important; font-size: 24px !important; border-left-width: 1px !important; padding: 34px 22px !important; }
body.woocommerce-cart .return-to-shop { text-align: center; margin-top: 18px; }
body.woocommerce-cart .return-to-shop .button { background: var(--psd-gold-fill) !important; border-color: transparent !important; }
body.psd-checkout #psh .psh-nav, body.psd-checkout #psh .psh-gold, body.psd-checkout #psh .psh-burger { display: none !important; }
body.psd-checkout #psh .psh-right::before { content: "Secure checkout"; display: inline-flex; align-items: center; gap: 6px; margin-right: 8px; font: 700 12px/1 "Lato", sans-serif; letter-spacing: .16em; text-transform: uppercase; color: var(--psd-gold-text); }
.psd-hidden { display: none !important; }
@media (max-width: 600px) { body.psd-checkout #psh .psh-right::before { display: none; } }
@media (max-width: 360px) { #psh .psh-bar { gap: 4px; padding: 0 12px; } #psh .psh-right { gap: 2px; } #psh .psh-right .psh-gold.is-checkout { padding: 10px 12px; font-size: 13px; } #psh .psh-brand { display: none; } }
#psh .psh-brand b { white-space: nowrap; }
.psd-add-extra { grid-column: 1 / -1; justify-self: start; margin: -4px 0 14px; padding: 0; border: 0; background: none; cursor: pointer; font: 700 13.5px/1.4 "Lato", sans-serif; color: var(--psd-blue); }
.psd-hint { display: block; margin-top: 6px; font: 400 12.5px/1.4 "Lato", sans-serif; color: var(--psd-muted); }
.psd-sumbar { display: none; }
@media (max-width: 980px) {
  .psd-sumbar { display: flex; justify-content: space-between; align-items: center; width: min(1180px, 100% - 32px); margin: 0 auto 14px; padding: 16px 18px; border-radius: 16px; border: 1px solid rgba(194, 120, 12, .25); background: #fff; cursor: pointer; font: 700 14.5px/1.2 "Lato", sans-serif; color: var(--psd-navy); }
  .psd-sumbar i { font-style: normal; color: var(--psd-gold-text); }
  .psd-sumbar b { font-size: 17px; }
  body.woocommerce-checkout #page-container .et_pb_wc_checkout_order_details { width: min(1180px, 100% - 32px); margin: 0 auto 18px !important; }
  body.woocommerce-checkout #page-container .et_pb_wc_checkout_order_details.psd-collapsed { display: none !important; }
}

/* Cart items as cards on phones */
@media (max-width: 1180px) {
  body.woocommerce-cart #page-container table.cart thead { display: none !important; }
  body.woocommerce-cart #page-container table.cart tr.cart_item {
    display: grid !important; grid-template-columns: 84px minmax(0, 1fr) auto; grid-template-areas: "img name name" "img price price" "img qty remove";
    gap: 6px 14px; align-items: center; padding: 18px 16px !important; border-bottom: 1px solid var(--psd-line);
  }
  body.woocommerce-cart #page-container table.cart tr.cart_item td { display: block !important; border: 0 !important; padding: 0 !important; text-align: left !important; background: none !important; }
  body.woocommerce-cart #page-container table.cart tr.cart_item td::before { display: none !important; content: none !important; }
  body.woocommerce-cart #page-container table.cart td.product-thumbnail { display: block !important; grid-area: img; width: auto !important; align-self: start; }
  body.woocommerce-cart #page-container table.cart td.product-thumbnail img { width: 84px !important; min-width: 0; }
  body.woocommerce-cart #page-container table.cart td.product-name { grid-area: name; }
  body.woocommerce-cart #page-container table.cart td.product-name a { font-size: 18px !important; }
  body.woocommerce-cart #page-container table.cart td.product-price { grid-area: price; font-weight: 700; color: var(--psd-navy); }
  body.woocommerce-cart #page-container table.cart td.product-quantity { grid-area: qty; }
  body.woocommerce-cart #page-container table.cart tr.cart_item td.product-subtotal { display: none !important; }
  body.woocommerce-cart #page-container .cart_totals table.shop_table td::before { float: left; font-weight: 400 !important; color: var(--psd-muted); }
  body.woocommerce-cart #page-container table.cart td.product-remove { grid-area: remove; justify-self: end; }
  body.woocommerce-cart #page-container table.cart td.product-remove a.remove { font-size: 13px !important; line-height: 1.4 !important; }
  body.woocommerce-cart #page-container table.cart td.actions { display: block !important; padding: 14px 16px !important; }
  body.woocommerce-cart #page-container table.cart td.actions::before { display: none !important; }
}
body #page-container .et_pb_section .et_pb_module .checkout-button, body #page-container .et_pb_section .et_pb_module button[name=update_cart], body #page-container .et_pb_section .et_pb_module #place_order,
body #page-container .et_pb_section .et_pb_module table.cart td.actions button.button[name=update_cart] {
  text-transform: none !important; letter-spacing: .04em !important; font-family: var(--psd-sans) !important;
}

/* ---------- Product grids: shop, related, cross-sells ---------- */
body.woocommerce ul.products, body.woocommerce-page ul.products { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(20px, 2.6vw, 36px); margin: 0 !important; }
body.woocommerce ul.products::before, body.woocommerce ul.products::after { display: none !important; }
body.woocommerce ul.products li.product, body.woocommerce-page ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; text-align: left; }
body.woocommerce ul.products li.product .et_shop_image { display: block; border-radius: 14px; overflow: hidden; }
body.woocommerce ul.products li.product a img {
  border-radius: 14px !important; margin: 0 !important; box-shadow: 0 22px 44px -32px rgba(9, 48, 77, .5);
  transition: transform 2.4s var(--psd-ease), box-shadow 1.4s var(--psd-ease) !important;
}
body.woocommerce ul.products li.product a:hover img { transform: translateY(-3px); box-shadow: 0 32px 56px -36px rgba(9, 48, 77, .5); }
body.woocommerce ul.products li.product .woocommerce-loop-product__title {
  font-family: var(--psd-serif) !important; font-weight: 400 !important; font-size: 19px !important; line-height: 1.3 !important; color: var(--psd-navy) !important; padding: 0 !important; margin: 18px 0 0 !important;
}
body.woocommerce ul.products li.product .price, body.woocommerce ul.products li.product .price .amount {
  font-family: var(--psd-sans) !important; font-size: 14.5px !important; color: var(--psd-muted) !important; font-weight: 400 !important; letter-spacing: .03em;
}
body.woocommerce ul.products li.product .et_overlay { display: none !important; }
body.woocommerce ul.products li.product.outofstock { opacity: .55; }
body #page-container .et_pb_wc_related_products ul.products li.product, body #page-container .et_pb_wc_cross_sells ul.products li.product { text-align: center !important; }
body #page-container .et_pb_module ul.products li.product .woocommerce-loop-product__title { margin: 18px 0 0 !important; padding: 0 !important; }
body #page-container .et_pb_module ul.products li.product .price { display: block; margin: 6px 0 0 !important; padding: 0 !important; }
body #page-container .et_pb_wc_related_products ul.products li.product .price { text-align: center !important; }
body.woocommerce .related > h2, body.woocommerce .up-sells > h2, body.woocommerce .cross-sells > h2, body.woocommerce-page .et_pb_wc_related_products h2 {
  font-family: var(--psd-serif) !important; font-weight: 400 !important; font-size: clamp(28px, 3vw, 38px) !important; line-height: 1.2 !important; color: var(--psd-navy) !important; text-align: center; margin-bottom: 36px !important; text-transform: none !important;
}
body.woocommerce .woocommerce-result-count { font-size: 14px !important; color: var(--psd-muted) !important; }
body #page-container .woocommerce-pagination { margin: 56px 0 24px !important; padding-top: 32px; border-top: 1px solid rgba(9, 48, 77, .1); }
body.woocommerce .woocommerce-pagination ul.page-numbers { border: 0 !important; display: flex; justify-content: center; gap: 8px; }
body.woocommerce .woocommerce-pagination ul.page-numbers li { border: 0 !important; }
body.woocommerce .woocommerce-pagination .page-numbers a, body.woocommerce .woocommerce-pagination .page-numbers span {
  width: 44px; height: 44px; line-height: 44px !important; padding: 0 !important; border-radius: 50%; border: 1px solid var(--psd-line) !important; color: var(--psd-navy) !important; background: #fff !important;
}
body.woocommerce .woocommerce-pagination .page-numbers span.current { background: var(--psd-gold-fill) !important; border-color: transparent !important; }

body #page-container .et_pb_module ul.products { display: grid !important; grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: clamp(20px, 2.6vw, 36px) !important; }
body #page-container .et_pb_module ul.products li.product { width: auto !important; margin: 0 !important; float: none !important; clear: none !important; }
@media (max-width: 980px) { body #page-container .et_pb_module ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; } }
@media (max-width: 720px) { body #page-container .et_pb_module ul.products { gap: 24px 14px !important; } }

/* ---------- Cart ---------- */
body.woocommerce-cart table.shop_table { border: 0 !important; border-radius: 20px !important; background: #fff; box-shadow: var(--psd-shadow); overflow: hidden; border-collapse: separate !important; }
body.woocommerce-cart table.shop_table th {
  font-family: var(--psd-sans) !important; font-size: 11.5px !important; font-weight: 700 !important; letter-spacing: .2em; text-transform: uppercase; color: var(--psd-gold-text) !important; padding: 18px 16px !important; border: 0 !important;
}
body.woocommerce-cart table.shop_table td { border-top: 1px solid var(--psd-line) !important; padding: 18px 16px !important; font-size: 16px; color: var(--psd-ink); }
body.woocommerce-cart table.cart td.product-thumbnail { width: 96px !important; }
body.woocommerce-cart table.cart img { width: 76px !important; min-width: 76px; height: auto; border-radius: 10px; box-shadow: 0 10px 22px -14px rgba(9, 48, 77, .5); }
body.woocommerce-cart table.cart button[name=update_cart][disabled] { opacity: .45 !important; }
body.woocommerce-cart table.cart td.product-name a { font-family: var(--psd-serif) !important; font-size: 18px; color: var(--psd-navy) !important; }
body.woocommerce-cart a.remove { color: var(--psd-muted) !important; border: 1px solid var(--psd-line); font-weight: 400 !important; transition: all 1s var(--psd-ease); }
body.woocommerce-cart a.remove:hover { background: #fff2f0 !important; color: #C0392B !important; }
body.woocommerce-cart .cart_totals, body.woocommerce-checkout #order_review, body.woocommerce-checkout .woocommerce-checkout-review-order {
  background: #fff; border-radius: 22px; border: 1px solid var(--psd-line); box-shadow: var(--psd-shadow); padding: clamp(22px, 3vw, 36px) !important;
}
body.woocommerce-cart .cart_totals h2, body.woocommerce-checkout h3#order_review_heading, body.woocommerce-checkout .woocommerce-billing-fields h3, body.woocommerce-checkout .woocommerce-shipping-fields h3, body.woocommerce-checkout .woocommerce-additional-fields h3 {
  font-family: var(--psd-serif) !important; font-weight: 400 !important; font-size: 28px !important; color: var(--psd-navy) !important; text-transform: none !important;
}
body.woocommerce-cart .cart_totals table.shop_table { box-shadow: none; border-radius: 0 !important; background: transparent; }
body.woocommerce-cart .cart_totals table.shop_table th {
  font-size: 13px !important; letter-spacing: .04em !important; text-transform: none !important; color: var(--psd-muted) !important; padding: 14px 10px 14px 0 !important; width: 38%; vertical-align: top;
}
body.woocommerce-cart .cart_totals table.shop_table td { padding: 14px 0 !important; font-size: 15px; line-height: 1.6; text-align: right; }
body.woocommerce-cart .cart_totals table.shop_table tr:first-child th, body.woocommerce-cart .cart_totals table.shop_table tr:first-child td { border-top: 0 !important; }
body.woocommerce-cart .cart_totals .woocommerce-shipping-destination, body.woocommerce-cart .cart_totals .includes_tax { font-size: 13px; color: var(--psd-muted); display: block; }
body.woocommerce-cart .cart_totals .order-total .amount { font-family: var(--psd-sans); font-weight: 700; font-size: 20px; color: var(--psd-navy); }
body.woocommerce-cart .wc-proceed-to-checkout .checkout-button { width: 100%; padding: 18px !important; font-size: 16px !important; }

body #page-container .quantity.psd-stepper { display: inline-flex !important; align-items: center; height: 50px; border: 1px solid rgba(9, 48, 77, .2); border-radius: 999px; background: #fff; padding: 0 4px; margin: 0 !important; }
body #page-container .quantity.psd-stepper .qty { width: 34px !important; min-height: 0; height: 46px; border: 0 !important; background: transparent !important; padding: 0 !important; text-align: center; font-size: 16px !important; font-weight: 700; color: var(--psd-navy) !important; box-shadow: none !important; -moz-appearance: textfield; }
body #page-container .quantity.psd-stepper .qty::-webkit-inner-spin-button, body #page-container .quantity.psd-stepper .qty::-webkit-outer-spin-button { -webkit-appearance: none; margin: 0; }
body.woocommerce-cart .quantity.psd-stepper .psd-step { width: 34px; height: 34px; font-size: 18px; }
@media (min-width: 981px) {
  body.woocommerce-cart #page-container .et-l--body .et_pb_row_1-4_1-2_1-4 { display: flex !important; gap: 48px; width: min(1280px, 100% - 64px) !important; max-width: none !important; align-items: flex-start; }
  body.woocommerce-cart #page-container .et-l--body .et_pb_row_1-4_1-2_1-4 > .et_pb_column { width: auto !important; margin: 0 !important; float: none !important; border: 0 !important; }
  body.woocommerce-cart #page-container .et-l--body .et_pb_row_1-4_1-2_1-4 > .et_pb_column:nth-child(2) { flex: 1 1 auto; min-width: 0; }
  body.woocommerce-cart #page-container .et-l--body .et_pb_row_1-4_1-2_1-4 > .et_pb_column:last-child { flex: 0 0 360px; position: sticky; top: 120px; }
}
body.woocommerce-cart table.cart td.product-name { min-width: 160px; }
body.woocommerce-cart .et_pb_blurb .et_pb_module_header, body.woocommerce-cart .et_pb_blurb h4 { font-family: var(--psd-sans) !important; font-size: 15px !important; font-weight: 700 !important; letter-spacing: .04em; }
body #page-container .cart_totals .includes_tax, body #page-container .cart_totals .includes_tax .amount, body #page-container .cart_totals .includes_tax .woocommerce-Price-currencySymbol {
  font-family: var(--psd-sans) !important; font-size: 13px !important; font-weight: 400 !important; line-height: 1.5 !important; color: var(--psd-muted) !important;
}
body #page-container .wc-proceed-to-checkout .checkout-button, body #page-container #place_order {
  text-transform: none !important; letter-spacing: .04em !important; font-size: 16px !important; white-space: nowrap; display: flex !important; align-items: center; justify-content: center; min-height: 56px;
}

/* ---------- Checkout ---------- */
body.woocommerce-checkout #order_review table.shop_table { border: 0 !important; }
body.woocommerce-checkout #order_review table.shop_table th, body.woocommerce-checkout #order_review table.shop_table td { border-top: 1px solid var(--psd-line) !important; padding: 14px 4px !important; }
body.woocommerce-checkout #payment { background: transparent !important; border-radius: 0 !important; border: 0 !important; padding: 0 !important; }
body.woocommerce-checkout #page-container .et_pb_wc_checkout_payment_info, body.woocommerce-checkout #page-container .et_pb_wc_checkout_payment_info .et_pb_module_inner { border: 0 !important; padding: 0 !important; background: transparent !important; }
body.woocommerce-checkout #page-container .et_pb_wc_checkout_payment_info { background: #fff !important; border-radius: 22px !important; border: 1px solid var(--psd-line) !important; box-shadow: var(--psd-shadow); padding: clamp(20px, 3vw, 30px) !important; }
body.woocommerce-checkout #page-container .et-l--body .et_pb_column, body.woocommerce-cart #page-container .et-l--body .et_pb_column { background-color: transparent !important; background-image: none !important; }
body #page-container .woocommerce-checkout-review-order-table th, body #page-container .woocommerce-checkout-review-order-table thead th {
  font-family: var(--psd-sans) !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: .16em; text-transform: uppercase; color: var(--psd-gold-text) !important;
}
body #page-container .woocommerce-checkout-review-order-table tfoot th { letter-spacing: .04em; text-transform: none; font-size: 14px !important; color: var(--psd-muted) !important; }
body #page-container .woocommerce-checkout-review-order-table td { font-size: 15px !important; color: var(--psd-ink) !important; }
body #page-container .woocommerce-checkout-review-order-table .order-total .amount { font-size: 19px !important; font-weight: 700; color: var(--psd-navy) !important; }
body #page-container .woocommerce-checkout-review-order-table .includes_tax, body #page-container .woocommerce-checkout-review-order-table .includes_tax .amount { font-size: 12.5px !important; font-weight: 400 !important; color: var(--psd-muted) !important; display: block; }
body #page-container .woocommerce-terms-and-conditions-wrapper { font-size: 14px; line-height: 1.6; color: var(--psd-muted); }
body.woocommerce-checkout #payment ul.payment_methods { border: 0 !important; padding: 0 !important; display: grid; gap: 12px; }
body.woocommerce-checkout #payment ul.payment_methods li {
  list-style: none !important; background: var(--psd-ivory); border: 1px solid var(--psd-line); border-radius: 14px; padding: 16px 18px !important; transition: border-color 1s var(--psd-ease), background 1s var(--psd-ease);
}
body.woocommerce-checkout #payment ul.payment_methods li:has(input:checked) { border-color: var(--psd-gold); background: #FFF7E8; }
body.woocommerce-checkout #payment ul.payment_methods li label { font-family: var(--psd-sans); font-weight: 700; color: var(--psd-navy); }
body.woocommerce-checkout #payment div.payment_box { background: transparent !important; padding: 6px 0 0 28px !important; margin: 0 !important; color: var(--psd-muted) !important; font-size: 14.5px !important; }
body.woocommerce-checkout #payment div.payment_box::before { display: none !important; }
body.woocommerce-checkout #payment .place-order { padding: 20px 0 0 !important; }
body.woocommerce-checkout #place_order { width: 100%; padding: 18px !important; font-size: 16px !important; }
body .psp-pay { background: #fff; border: 1px solid var(--psd-line); border-radius: 22px; box-shadow: var(--psd-shadow); padding: 28px; display: flex; flex-direction: column; align-items: flex-start; gap: 14px; }
body .psp-pay p { font-size: 16.5px; color: var(--psd-ink); }
body .psp-pay-button { padding: 17px 36px !important; font-size: 16px !important; border-radius: 999px !important; cursor: pointer; }

/* ---------- Checkout and cart, premium layout ---------- */
body.woocommerce-checkout #page-container .et_pb_section_0_tb_body, body.woocommerce-cart #page-container .et_pb_section_0_tb_body {
  background:
    radial-gradient(40% 40% at 85% 8%, rgba(255, 210, 122, .22), transparent 70%),
    radial-gradient(35% 40% at 5% 30%, rgba(80, 149, 179, .10), transparent 70%),
    linear-gradient(180deg, #FFFDF8, var(--psd-ivory)) !important;
  padding: 36px 0 96px !important;
}
body.woocommerce-checkout #page-container .et_pb_row_0_tb_body, body.woocommerce-cart #page-container .et_pb_row_0_tb_body .et_pb_column:first-child .et_pb_blurb { display: none !important; }
body.woocommerce-cart #page-container .et-l--body .et_pb_column_0_tb_body { display: none !important; }
body.woocommerce-cart #page-container .et-l--body .et_pb_row_inner_0_tb_body { border: 0 !important; }
body.woocommerce-checkout #page-container .et_pb_row_1_tb_body, body.woocommerce-checkout #page-container .et_pb_row_2_tb_body { width: min(1180px, 100% - 48px) !important; max-width: none !important; }
.psd-steps { display: flex; align-items: center; justify-content: center; gap: 12px; margin: 8px 0 34px; padding: 0 !important; list-style: none !important; font: 700 13px/1 "Lato", sans-serif; letter-spacing: .06em; color: var(--psd-muted); }
.psd-steps li { display: flex; align-items: center; gap: 10px; padding: 0 !important; list-style: none !important; }
.psd-steps li::before { content: none !important; }
.psd-steps i { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; font-style: normal; font-size: 12.5px; border: 1px solid rgba(9, 48, 77, .2); background: #fff; color: var(--psd-navy); }
.psd-steps .is-done i { background: var(--psd-navy); border-color: var(--psd-navy); color: #FFD27A; }
.psd-steps .is-now { color: var(--psd-navy); }
.psd-steps .is-now i { background: var(--psd-gold-fill); border-color: transparent; color: #0A2E4A; box-shadow: 0 8px 18px -10px rgba(247, 162, 27, .8); }
.psd-steps .psd-steps__line { width: 56px; height: 1px; background: linear-gradient(90deg, rgba(194, 120, 12, .5), rgba(9, 48, 77, .15)); }
.psd-steps a { color: inherit !important; }
body.woocommerce-checkout #page-container .et_pb_post_title, body.woocommerce-cart #page-container .et_pb_post_title { text-align: center; margin-bottom: 12px !important; }
body.woocommerce-checkout #page-container .et_pb_post_title h1, body.woocommerce-cart #page-container .et_pb_post_title h1 { font-size: clamp(40px, 4.4vw, 56px) !important; line-height: 1.1 !important; font-weight: 400 !important; }
.psd-checkout-sub { text-align: center; margin: 10px auto 30px !important; padding: 0 !important; font: 400 16px/1.6 "Lato", sans-serif; color: var(--psd-muted); }
.psd-checkout-sub svg { width: 15px; height: 15px; vertical-align: -2px; margin-right: 6px; fill: none; stroke: var(--psd-gold-text); stroke-width: 1.8; }
body.woocommerce-checkout #page-container .woocommerce-form-login-toggle .woocommerce-info { justify-content: center; gap: 6px; background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 0 12px !important; font-size: 15px !important; color: var(--psd-muted) !important; }
body.woocommerce-checkout #page-container .woocommerce-form-login-toggle .showlogin { font-weight: 700; }
body.woocommerce-checkout #page-container .woocommerce-account-fields { margin: 18px 0 0 !important; padding: 16px 0 0 !important; border-top: 1px solid var(--psd-line); }
body.woocommerce-checkout #page-container .create-account { margin: 0 !important; padding: 0 !important; }
body.woocommerce-checkout #page-container h3#ship-to-different-address, body.woocommerce-checkout #page-container h3#ship-to-different-address label { font: 400 19px/1.3 "Playfair Display", Georgia, serif !important; }
body.woocommerce-checkout #page-container h3#ship-to-different-address input[type=checkbox] { width: 18px; height: 18px; accent-color: #C2780C; }
body.woocommerce-checkout #page-container .create-account label { display: flex !important; align-items: flex-start; gap: 10px; text-transform: none !important; letter-spacing: 0 !important; font: 400 14.5px/1.5 "Lato", sans-serif !important; color: var(--psd-ink) !important; cursor: pointer; }
body.woocommerce-checkout #page-container .create-account input[type=checkbox] { flex: none; width: 18px; height: 18px; margin: 2px 0 0 !important; accent-color: #C2780C; }
body.woocommerce-checkout #page-container .woocommerce-form-coupon-toggle .woocommerce-info { justify-content: center; box-shadow: none !important; border: 1px dashed rgba(194, 120, 12, .4) !important; border-left-width: 1px !important; background: rgba(255, 255, 255, .6) !important; font-size: 15px !important; padding: 14px 18px !important; }
body.woocommerce-checkout #page-container .et_pb_wc_cart_notice { max-width: 640px; margin: 0 auto 30px !important; }
@media (min-width: 981px) {
  body.woocommerce-checkout #page-container .et_pb_row_2_tb_body { display: flex !important; gap: 40px; align-items: flex-start; }
  body.woocommerce-checkout #page-container .et_pb_row_2_tb_body > .et_pb_column { margin: 0 !important; float: none !important; }
  body.woocommerce-checkout #page-container .et_pb_row_2_tb_body > .et_pb_column:first-child { flex: 1 1 auto; width: auto !important; min-width: 0; }
  body.woocommerce-checkout #page-container .et_pb_row_2_tb_body > .et_pb_column:last-child { flex: 0 0 420px; width: auto !important; position: sticky; top: 104px; }
}
body.woocommerce-checkout #page-container .et_pb_wc_checkout_billing, body.woocommerce-checkout #page-container .et_pb_wc_checkout_shipping, body.woocommerce-checkout #page-container .et_pb_wc_checkout_additional_info {
  background: #fff !important; border: 1px solid var(--psd-line) !important; border-radius: 24px !important; box-shadow: 0 30px 60px -48px rgba(9, 48, 77, .5) !important; padding: clamp(24px, 3.4vw, 40px) !important; margin-bottom: 22px !important;
}
body.woocommerce-checkout #page-container .et_pb_wc_checkout_additional_info:has(textarea:only-of-type) { display: block; }
body.woocommerce-checkout #page-container .woocommerce-billing-fields > h3, body.woocommerce-checkout #page-container .woocommerce-shipping-fields h3, body.woocommerce-checkout #page-container .woocommerce-additional-fields > h3 {
  display: flex !important; align-items: center; gap: 14px; font-family: var(--psd-serif) !important; font-weight: 400 !important; font-size: 26px !important; line-height: 1.2 !important; color: var(--psd-navy) !important; margin: 0 0 24px !important; padding: 0 0 18px !important; border-bottom: 1px solid var(--psd-line);
}
.psd-num { flex: none; width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center; font: 700 13px/1 "Lato", sans-serif; background: #FFF3DA; color: var(--psd-gold-text); box-shadow: inset 0 0 0 1px rgba(194, 120, 12, .3); }
body.woocommerce-checkout #page-container .woocommerce-billing-fields__field-wrapper, body.woocommerce-checkout #page-container .woocommerce-shipping-fields__field-wrapper { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 4px 18px; }
body.woocommerce-checkout #page-container .woocommerce-billing-fields__field-wrapper .form-row, body.woocommerce-checkout #page-container .woocommerce-shipping-fields__field-wrapper .form-row { grid-column: 1 / -1; width: auto !important; float: none !important; margin: 0 0 14px !important; padding: 0 !important; }
body.woocommerce-checkout #page-container .woocommerce-billing-fields__field-wrapper .form-row-first, body.woocommerce-checkout #page-container .woocommerce-billing-fields__field-wrapper .form-row-last,
body.woocommerce-checkout #page-container .woocommerce-shipping-fields__field-wrapper .form-row-first, body.woocommerce-checkout #page-container .woocommerce-shipping-fields__field-wrapper .form-row-last { grid-column: auto; }
body.woocommerce-checkout #page-container #billing_postcode_field, body.woocommerce-checkout #page-container #billing_phone_field, body.woocommerce-checkout #page-container #billing_city_field, body.woocommerce-checkout #page-container #billing_state_field { grid-column: auto; }
body.woocommerce-checkout #page-container .form-row label { display: block; margin-bottom: 7px !important; font-size: 12.5px !important; letter-spacing: .06em !important; text-transform: uppercase; color: var(--psd-muted) !important; font-weight: 700 !important; }
body.woocommerce-checkout #page-container .form-row label .required { color: var(--psd-gold-text) !important; text-decoration: none; }
body.woocommerce-checkout #page-container .form-row .input-text, body.woocommerce-checkout #page-container .form-row select, body.woocommerce-checkout #page-container .select2-container .select2-selection--single {
  background: #FDFBF7 !important; border: 1px solid rgba(9, 48, 77, .14) !important; border-radius: 14px !important; min-height: 52px; padding: 14px 16px !important; font-size: 16px !important;
}
body.woocommerce-checkout #page-container .form-row .input-text:focus { background: #fff !important; }
body.woocommerce-checkout #page-container #ship-to-different-address { font-family: var(--psd-serif) !important; font-size: 22px !important; font-weight: 400 !important; margin: 0 !important; padding: 0 !important; border: 0 !important; }
body.woocommerce-checkout #page-container #ship-to-different-address label { display: flex; align-items: center; gap: 12px; text-transform: none; letter-spacing: 0; font-size: 20px !important; font-family: var(--psd-serif) !important; font-weight: 400 !important; color: var(--psd-navy) !important; cursor: pointer; }
body.woocommerce-checkout #page-container input[type=checkbox] { width: 20px; height: 20px; accent-color: #E6A23C; }
body.woocommerce-checkout #page-container .et_pb_wc_checkout_order_details { background: #fff !important; border: 1px solid var(--psd-line) !important; border-radius: 24px !important; box-shadow: var(--psd-shadow) !important; padding: 28px 28px 10px !important; margin-bottom: 18px !important; }
body.woocommerce-checkout #page-container #order_review, body.woocommerce-checkout #page-container .woocommerce-checkout-review-order { background: transparent !important; border: 0 !important; box-shadow: none !important; padding: 0 !important; }
body.woocommerce-checkout #page-container .woocommerce-checkout-review-order-table { border: 0 !important; margin: 0 !important; }
body.woocommerce-checkout #page-container .woocommerce-checkout-review-order-table thead { display: none; }
body.woocommerce-checkout #page-container .woocommerce-checkout-review-order-table td, body.woocommerce-checkout #page-container .woocommerce-checkout-review-order-table th { border: 0 !important; border-top: 1px solid var(--psd-line) !important; padding: 14px 0 !important; background: transparent !important; vertical-align: top; }
body.woocommerce-checkout #page-container .woocommerce-checkout-review-order-table tbody tr:first-child td { border-top: 0 !important; }
body.woocommerce-checkout #page-container .woocommerce-checkout-review-order-table td.product-name { font-family: var(--psd-serif) !important; font-size: 17px !important; color: var(--psd-navy) !important; }
body.woocommerce-checkout #page-container .woocommerce-checkout-review-order-table td.product-name .product-quantity { font-family: var(--psd-sans); font-size: 13px; font-weight: 700; color: var(--psd-muted); }
body.woocommerce-checkout #page-container .woocommerce-checkout-review-order-table td:last-child { text-align: right; }
body.woocommerce-checkout #page-container .woocommerce-checkout-review-order-table tr.order-total th, body.woocommerce-checkout #page-container .woocommerce-checkout-review-order-table tr.order-total td { padding-top: 18px !important; border-top: 1px solid rgba(9, 48, 77, .2) !important; }
body.woocommerce-checkout #page-container .woocommerce-checkout-review-order-table tr.order-total th { font-family: var(--psd-serif) !important; font-size: 20px !important; color: var(--psd-navy) !important; font-weight: 400 !important; text-transform: none !important; letter-spacing: 0 !important; }
body.woocommerce-checkout #page-container .woocommerce-checkout-review-order-table tr.order-total .amount { font-size: 22px !important; }
body.woocommerce-checkout #page-container .woocommerce-checkout-review-order-table tr.order-total .includes_tax, body.woocommerce-checkout #page-container .woocommerce-checkout-review-order-table tr.order-total .includes_tax .amount, body.woocommerce-checkout #page-container .woocommerce-checkout-review-order-table tr.order-total .includes_tax .woocommerce-Price-currencySymbol { font-size: 12.5px !important; font-weight: 400 !important; color: var(--psd-muted) !important; }
body.woocommerce-checkout #page-container .et_pb_wc_checkout_payment_info { padding: 26px 26px 28px !important; }
body.woocommerce-checkout #page-container #payment ul.payment_methods li { position: relative; padding: 16px 18px 16px 50px !important; }
body.woocommerce-checkout #page-container #payment ul.payment_methods li input[type=radio] { position: absolute; left: 18px; top: 19px; width: 18px; height: 18px; accent-color: #E6A23C; margin: 0 !important; }
body.woocommerce-checkout #page-container #payment ul.payment_methods li label { font-size: 16px !important; margin: 0 !important; }
body.woocommerce-checkout #page-container #payment div.payment_box { padding: 6px 0 0 !important; font-size: 14px !important; line-height: 1.5 !important; }
body.woocommerce-checkout #page-container #payment div.payment_box p { padding: 0 !important; margin: 0 !important; }
body.woocommerce-checkout #page-container .woocommerce-privacy-policy-text p { font-size: 13px !important; line-height: 1.6 !important; color: var(--psd-muted) !important; }
body.woocommerce-checkout #page-container h3#order_review_heading { display: none !important; }
body.woocommerce-checkout #page-container .et_pb_wc_checkout_order_details h3#order_review_heading:first-of-type { display: none !important; }
.psd-pay-head { display: flex; align-items: center; gap: 14px; margin: 0 0 18px !important; padding: 0 0 16px !important; border-bottom: 1px solid var(--psd-line); font: 400 24px/1.2 "Playfair Display", Georgia, serif; color: var(--psd-navy); }
.psd-sum-head { margin: 0 0 6px !important; padding: 0 !important; font: 400 24px/1.2 "Playfair Display", Georgia, serif; color: var(--psd-navy); }
body.woocommerce-checkout #page-container #payment .place-order { display: block !important; }
body.woocommerce-checkout #page-container .et_pb_wc_checkout_payment_info #place_order { float: none !important; width: 100% !important; margin: 16px 0 0 !important; text-transform: none !important; letter-spacing: .04em !important; font-size: 16px !important; }
body.woocommerce-checkout #page-container .woocommerce-terms-and-conditions-wrapper label, body.woocommerce-checkout #page-container .woocommerce-terms-and-conditions-wrapper .woocommerce-form__label {
  display: flex !important; align-items: flex-start; gap: 10px; text-transform: none !important; letter-spacing: 0 !important; font-size: 14px !important; font-weight: 400 !important; line-height: 1.5 !important; color: var(--psd-ink) !important;
}
body.woocommerce-checkout #page-container .woocommerce-terms-and-conditions-wrapper a { color: var(--psd-blue) !important; }
html body.woocommerce-checkout #page-container .et_pb_section .et_pb_module.et_pb_wc_checkout_payment_info #payment #place_order,
html body.woocommerce-cart #page-container .et_pb_section .et_pb_module .wc-proceed-to-checkout a.checkout-button,
html body.woocommerce-cart #page-container .et_pb_section .et_pb_module table.cart button[name=update_cart] {
  font-family: "Lato", system-ui, sans-serif !important; text-transform: none !important; letter-spacing: .04em !important; font-weight: 700 !important;
}
html body.woocommerce-checkout #page-container .et_pb_section .et_pb_module.et_pb_wc_checkout_payment_info #payment #place_order,
html body.woocommerce-cart #page-container .et_pb_section .et_pb_module .wc-proceed-to-checkout a.checkout-button { color: #0A2E4A !important; background-image: linear-gradient(120deg, #FFDC8C 0%, #FFBE3D 48%, #F7A21B 100%) !important; border-color: transparent !important; }
.psd-secure { display: block; margin: 16px 0 0 !important; padding: 0 8px !important; font: 400 13px/1.6 "Lato", sans-serif; color: var(--psd-muted); text-align: center; text-wrap: balance; }
.psd-secure svg { display: inline-block; vertical-align: -2px; width: 14px; height: 14px; margin-right: 6px; fill: none; stroke: var(--psd-gold-text); stroke-width: 1.8; }
body.woocommerce-checkout #page-container .woocommerce-terms-and-conditions-wrapper { margin: 22px 0 24px !important; padding: 18px 0 0 !important; border-top: 1px solid var(--psd-line); }
body.woocommerce-checkout #page-container .woocommerce-terms-and-conditions-wrapper .form-row { margin: 0 !important; padding: 0 !important; }
body.woocommerce-checkout #page-container .woocommerce-terms-and-conditions-wrapper input[type=checkbox] { flex: none; width: 18px; height: 18px; margin: 2px 0 0 !important; accent-color: #C2780C; }
body.woocommerce-checkout #page-container .woocommerce-terms-and-conditions-wrapper abbr.required { display: none !important; }
body.woocommerce-checkout #page-container .et_pb_wc_checkout_payment_info #payment .place-order #place_order { margin-top: 0 !important; }

/* ---------- Order-pay page (after Place order): one calm card ---------- */
body.woocommerce-order-pay #page-container .et_pb_wc_cart_notice, body.woocommerce-order-pay #page-container .psd-steps,
body.woocommerce-order-pay .psd-sumbar, body.woocommerce-order-pay #page-container .et_pb_divider_0_tb_body, body.woocommerce-order-pay .psd-pay-head .psd-num { display: none !important; }
body.woocommerce-order-pay #page-container .et_pb_row_2_tb_body { display: flex !important; justify-content: center; }
body.woocommerce-order-pay #page-container .et_pb_row_2_tb_body > .et_pb_column:not(:has(.et_pb_wc_checkout_payment_info)) { display: none !important; }
body.woocommerce-order-pay #page-container .et_pb_row_2_tb_body > .et_pb_column:has(.et_pb_wc_checkout_payment_info) { float: none !important; width: min(560px, 100%) !important; margin: 0 !important; }
body.woocommerce-order-pay #page-container ul.order_details { display: grid !important; grid-template-columns: 1fr 1fr; gap: 18px 24px; margin: 0 0 26px !important; padding: 0 !important; list-style: none !important; }
body.woocommerce-order-pay #page-container ul.order_details::before, body.woocommerce-order-pay #page-container ul.order_details::after { content: none !important; }
body.woocommerce-order-pay #page-container ul.order_details li { float: none !important; margin: 0 !important; padding: 0 !important; border: 0 !important; list-style: none !important; font: 700 11px/1.4 "Lato", sans-serif !important; letter-spacing: .14em; text-transform: uppercase; color: var(--psd-gold-text) !important; }
body.woocommerce-order-pay #page-container ul.order_details li strong { display: block; margin-top: 4px; font: 700 16px/1.35 "Lato", sans-serif !important; letter-spacing: 0; text-transform: none; color: var(--psd-navy) !important; }
body.woocommerce-order-pay .psp-pay { background: #FFF7E8; border: 1px solid rgba(194, 120, 12, .22); box-shadow: none; padding: 24px; align-items: stretch; text-align: center; }
body.woocommerce-order-pay .psp-pay p { margin: 0 !important; padding: 0 !important; font-size: 15px; line-height: 1.55; color: var(--psd-muted); }
body.woocommerce-order-pay .psp-pay-button { width: 100%; }
body.woocommerce-order-pay .psp-pay-status:empty { display: none; }
@media (max-width: 980px) {
  body.woocommerce-checkout #page-container .et_pb_row_2_tb_body > .et_pb_column { width: 100% !important; margin-right: 0 !important; }
  .psd-steps { gap: 8px; font-size: 12px; } .psd-steps .psd-steps__line { width: 26px; }
}
@media (max-width: 720px) {
  body.woocommerce-checkout #page-container .woocommerce-billing-fields__field-wrapper, body.woocommerce-checkout #page-container .woocommerce-shipping-fields__field-wrapper { grid-template-columns: minmax(0, 1fr); }
  body.woocommerce-checkout #page-container .woocommerce-billing-fields__field-wrapper .form-row { grid-column: 1 / -1 !important; }
  body.woocommerce-checkout #page-container .et_pb_wc_checkout_billing, body.woocommerce-checkout #page-container .et_pb_wc_checkout_shipping, body.woocommerce-checkout #page-container .et_pb_wc_checkout_additional_info, body.woocommerce-checkout #page-container .et_pb_wc_checkout_order_details, body.woocommerce-checkout #page-container .et_pb_wc_checkout_payment_info { border-radius: 20px !important; padding: 22px 18px !important; }
  .psd-steps span { display: none; } .psd-steps .is-now span { display: inline; }
}

/* ---------- Account, login and register ---------- */
body.woocommerce-account .u-columns h2, body.woocommerce-checkout .u-columns h2, body .woocommerce-form-login + h2,
body.woocommerce-account h2, body.woocommerce-checkout .col2-set h2 {
  font-family: var(--psd-serif) !important; font-weight: 400 !important; font-size: 30px !important; color: var(--psd-navy) !important;
}
body form.woocommerce-form-login, body form.woocommerce-form-register, body form.register, body form.login {
  background: #fff !important; border: 1px solid var(--psd-line) !important; border-radius: 22px !important; box-shadow: var(--psd-shadow); padding: clamp(24px, 3vw, 38px) !important;
}
body .woocommerce-form-login .woocommerce-form-login__rememberme { font-size: 14.5px; color: var(--psd-muted); }
body form.woocommerce-form-login .form-row:has(.woocommerce-form-login__submit) { display: flex !important; flex-direction: row-reverse; justify-content: flex-end; align-items: center; flex-wrap: wrap; gap: 14px 22px; }
body form.woocommerce-form-login .form-row .woocommerce-form-login__rememberme { display: inline-flex !important; align-items: center; gap: 8px; margin: 0 !important; }
body form.woocommerce-form-login .form-row .woocommerce-form-login__submit { float: none !important; margin: 0 !important; }
body .woocommerce-LostPassword a, body .lost_password a { color: var(--psd-blue) !important; font-size: 14.5px; }
body.woocommerce-account .woocommerce-MyAccount-navigation ul { list-style: none !important; padding: 0 !important; border-radius: 18px; background: #fff; border: 1px solid var(--psd-line); overflow: hidden; }
body.woocommerce-account .woocommerce-MyAccount-navigation li a { display: block; padding: 14px 20px; color: var(--psd-navy) !important; border-top: 1px solid var(--psd-line); }
body.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a { background: #FFF7E8; box-shadow: inset 3px 0 0 var(--psd-gold); }

/* ---------- Footer (Divi Theme Builder) ---------- */
body footer.et-l--footer div.et_pb_section.et_pb_section_0_tb_footer {
  position: relative; overflow: hidden; padding: 0 0 34px !important; border: 0; box-shadow: none !important; background-color: #072640 !important;
  background-image:
    radial-gradient(50% 70% at 85% 0%, rgba(255, 190, 61, .16), transparent 70%),
    radial-gradient(40% 60% at 0% 100%, rgba(80, 149, 179, .22), transparent 70%),
    linear-gradient(170deg, #0B3557 0%, #072640 100%) !important;
  color: rgba(255, 250, 243, .82);
}
footer.et-l--footer .et_pb_section_0_tb_footer::before {
  content: ""; position: absolute; left: 0; right: 0; top: 0; height: 1px; background: linear-gradient(90deg, transparent, rgba(255, 190, 61, .7), transparent);
}
.psd-foot-band { text-align: center; padding: 72px 24px 64px; margin: 0 auto 56px; max-width: 1200px; border-bottom: 1px solid rgba(255, 250, 243, .1); }
.psd-foot-band__eyebrow { font-family: var(--psd-sans); font-size: 12px; line-height: 1.4; font-weight: 700; letter-spacing: .26em; text-transform: uppercase; color: var(--psd-gold); padding: 0 !important; }
.psd-foot-band__line { font-family: var(--psd-serif); font-weight: 400; font-size: clamp(28px, 3.4vw, 44px); line-height: 1.2; color: #FFFAF3; margin: 14px auto 30px !important; padding: 0 !important; max-width: 760px; }
.psd-foot-band__line em { color: #FFD27A; font-style: italic; }
.psd-foot-band__btn {
  display: inline-flex; align-items: center; min-height: 50px; padding: 14px 30px; border-radius: 999px; font-family: var(--psd-sans); font-size: 15px; font-weight: 700; letter-spacing: .06em;
  color: #0A2E4A !important; background: var(--psd-gold-fill); box-shadow: 0 14px 30px -16px rgba(247, 162, 27, .8); transition: transform 1.4s var(--psd-ease), box-shadow 1.4s var(--psd-ease);
}
.psd-foot-band__btn:hover { transform: translateY(-1px); box-shadow: 0 20px 38px -18px rgba(247, 162, 27, .85); }
footer.et-l--footer .et_pb_row { width: min(1200px, 100% - 48px) !important; max-width: none !important; padding: 0 !important; }
footer.et-l--footer .et_pb_image_0_tb_footer {
  max-width: 260px; background: #FFFAF3; border-radius: 18px; padding: 18px 22px; box-shadow: 0 24px 50px -30px rgba(0, 0, 0, .6);
}
footer.et-l--footer h4 {
  font-family: var(--psd-sans) !important; font-size: 11.5px !important; line-height: 1.4 !important; letter-spacing: .26em !important;
  font-weight: 700 !important; text-transform: uppercase; color: var(--psd-gold) !important; padding-bottom: 16px !important;
}
footer.et-l--footer .et_pb_text_inner p, footer.et-l--footer .et_pb_text_inner a {
  font-family: var(--psd-sans) !important; font-size: 15.5px !important; line-height: 2.1 !important; color: rgba(255, 250, 243, .82) !important; padding-bottom: 0 !important;
}
footer.et-l--footer .et_pb_text_inner a {
  text-decoration: none !important; background: linear-gradient(var(--psd-gold), var(--psd-gold)) left bottom / 0 1px no-repeat;
  transition: background-size 1.2s var(--psd-ease), color 1s var(--psd-ease);
}
footer.et-l--footer .et_pb_text_inner a:hover { color: #FFFAF3 !important; background-size: 100% 1px; }
footer.et-l--footer .et_pb_text_3_tb_footer p::before, footer.et-l--footer .et_pb_text_4_tb_footer p::before, footer.et-l--footer .et_pb_text_5_tb_footer p::before {
  content: ""; display: inline-block; width: 15px; height: 15px; margin-right: 12px; vertical-align: -2px; background: var(--psd-gold);
  -webkit-mask: var(--icon) center / contain no-repeat; mask: var(--icon) center / contain no-repeat;
}
footer.et-l--footer .et_pb_text_3_tb_footer p { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M12 21s-7-6.2-7-11.5A7 7 0 0 1 19 9.5C19 14.8 12 21 12 21Z'/%3E%3Ccircle cx='12' cy='9.5' r='2.5'/%3E%3C/svg%3E"); }
footer.et-l--footer .et_pb_text_4_tb_footer p { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Crect x='3' y='5' width='18' height='14' rx='2'/%3E%3Cpath d='m3 7 9 6 9-6'/%3E%3C/svg%3E"); }
footer.et-l--footer .et_pb_text_5_tb_footer p { --icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8'%3E%3Cpath d='M5 4h4l2 5-2.5 1.5a11 11 0 0 0 5 5L15 13l5 2v4a2 2 0 0 1-2 2A16 16 0 0 1 3 6a2 2 0 0 1 2-2Z'/%3E%3C/svg%3E"); }
footer.et-l--footer .et_pb_text_6_tb_footer h4, footer.et-l--footer .et_pb_text_7_tb_footer h4 {
  font-size: 14.5px !important; letter-spacing: .02em !important; text-transform: none; font-weight: 400 !important; color: rgba(255, 250, 243, .7) !important; padding: 0 !important; line-height: 2 !important; cursor: pointer; display: inline-block;
}
footer.et-l--footer .et_pb_text_6_tb_footer h4 span, footer.et-l--footer .et_pb_text_7_tb_footer h4 span { text-decoration: none !important; border-bottom: 1px solid rgba(255, 190, 61, .5); transition: color 1s var(--psd-ease); }
footer.et-l--footer .et_pb_text_6_tb_footer h4:hover span, footer.et-l--footer .et_pb_text_7_tb_footer h4:hover span { color: #FFFAF3; }
footer.et-l--footer .et_pb_module { margin-top: 0 !important; margin-bottom: 4px !important; }
footer.et-l--footer .et_pb_text_3_tb_footer, footer.et-l--footer .et_pb_text_4_tb_footer, footer.et-l--footer .et_pb_text_5_tb_footer { margin: 0 !important; }
footer.et-l--footer .et_pb_divider_0_tb_footer { margin: 48px auto 16px !important; }
footer.et-l--footer .et_pb_divider_0_tb_footer::before { border-top-color: rgba(255, 250, 243, .12) !important; width: 100% !important; }
footer.et-l--footer .et_pb_text_8_tb_footer p { font-size: 12.5px !important; line-height: 1.6 !important; letter-spacing: .06em; color: rgba(255, 250, 243, .5) !important; }

/* ---------- Tablet and phone ---------- */
@media (max-width: 980px) {
  body.woocommerce ul.products, body.woocommerce-page ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  body.single-product .et_pb_column_3_tb_body { margin-top: 24px !important; }
  footer.et-l--footer .et_pb_section_0_tb_footer { text-align: center; }
  footer.et-l--footer .et_pb_image_0_tb_footer { margin: 0 auto 32px !important; max-width: 230px; }
  .psd-foot-band { padding: 56px 20px 48px; margin-bottom: 44px; }
  footer.et-l--footer .et_pb_text { text-align: center !important; }
}
@media (max-width: 720px) {
  body.single-product .et_pb_column_3_tb_body { padding: 26px 22px !important; border-radius: 20px !important; }
  body.single-product .et_pb_text_0_tb_body .et_pb_text_inner { font-size: 32px !important; }
  body.woocommerce ul.products, body.woocommerce-page ul.products { gap: 22px 14px; }
  body.woocommerce ul.products li.product .woocommerce-loop-product__title { font-size: 16.5px !important; }
  body.woocommerce-cart table.shop_table_responsive tr td { padding: 12px 16px !important; }
  body .woocommerce-message, body .woocommerce-info { font-size: 15px !important; }
  body .woocommerce-message .button, body .woocommerce-info .button { width: 100%; text-align: center; }
}
@media (max-width: 370px) {
  body.woocommerce ul.products, body.woocommerce-page ul.products { grid-template-columns: minmax(0, 1fr); }
}
@media (prefers-reduced-motion: reduce) {
  body * { transition: none !important; }
}
