@font-face{
  font-family:"Primevia Absans";
  src:url("assets/fonts/absans/Absans-Regular.woff2") format("woff2"),
      url("assets/fonts/absans/Absans-Regular.woff") format("woff");
  font-weight:400;
  font-style:normal;
  font-display:swap;
}

html{scroll-behavior:auto;}
:root{color-scheme:light;}
:root{
  --pv-font:"Primevia Absans", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --pv-bg:#ffffff;
  --pv-fg:#0b0b0b;
  --pv-muted:rgba(11,11,11,.68);
  --pv-line:rgba(11,11,11,.14);
  --pv-soft:rgba(11,11,11,.06);
  --pv-radius:18px;
}

body{
  background:var(--pv-bg);
  color:var(--pv-fg);
  font-family:var(--pv-font);
  letter-spacing:.01em;
  overflow-x:hidden;
}

h1,h2,h3,h4,h5,h6{
  color:var(--pv-fg);
  font-family:var(--pv-font);
  letter-spacing:.01em;
}

body,
body h1,
body h2,
body h3,
body h4,
body h5,
body h6,
body p,
body li,
body dt,
body dd,
body a,
body th,
body td,
body label,
body input,
body textarea,
body select,
body button,
body .et_pb_text,
body .et_pb_blurb,
body .et_pb_button,
body .woocommerce,
body .woocommerce-page,
body .woocommerce-loop-product__title,
body .woocommerce-loop-category__title,
body .woocommerce-products-header__title,
body .woocommerce-breadcrumb,
body .woocommerce-result-count,
body .price{
  font-family:var(--pv-font) !important;
}

p,li{color:var(--pv-muted);}

a{color:var(--pv-fg); text-decoration-thickness:1px; text-underline-offset:4px;}

/* Global section rhythm */
.et_pb_section{padding-top:clamp(56px,7vw,96px); padding-bottom:clamp(56px,7vw,96px);}

/* Container max width */
.et_pb_row{max-width:1160px;}

/* Buttons */
.et_pb_button,
.et_pb_button_module_wrapper .et_pb_button{
  border-radius:999px !important;
  padding:14px 20px !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
  font-weight:600 !important;
}

.et_pb_button:after{display:none !important;}

/* Primary buttons: outline monochrome */
.et_pb_button,
.et_pb_button_module_wrapper .et_pb_button{
  background:transparent !important;
  border:1px solid var(--pv-fg) !important;
  color:var(--pv-fg) !important;
}

/* Optional outline variant: wrap module with class pv-btn-outline */
.pv-btn-outline .et_pb_button{
  background:transparent !important;
  color:var(--pv-fg) !important;
  border-color:var(--pv-line) !important;
}

/* Cards */
.pv-card{
  border:1px solid var(--pv-line);
  border-radius:var(--pv-radius);
  background:rgba(255,255,255,.7);
  box-shadow:0 18px 50px rgba(0,0,0,.06);
}

/* Inputs */
input[type=text],input[type=email],input[type=tel],textarea,select{
  border-radius:14px !important;
  border:1px solid var(--pv-line) !important;
  background:#fff !important;
  color:var(--pv-fg) !important;
}

/* Header + menu */
#main-header{box-shadow:none; border-bottom:1px solid rgba(11,11,11,.10);}
#top-menu a{letter-spacing:.14em; text-transform:uppercase; font-size:12px;}

/* Footer */
#main-footer{border-top:1px solid rgba(11,11,11,.10);}

/* Reduce excessive animations */
.et-waypoint{opacity:1 !important;}

/* ===== Primevia Luxe: homepage modules ===== */
.pv-hero{
  padding-top:clamp(72px,10vw,140px) !important;
  padding-bottom:clamp(72px,10vw,140px) !important;
}

.pv-hero .et_pb_row{align-items:center;}

.pv-kicker{
  font-size:12px;
  letter-spacing:.22em;
  text-transform:uppercase;
  color:rgba(11,11,11,.70);
}

.pv-display h1{
  font-size:clamp(40px,5vw,72px);
  line-height:1.02;
  margin-bottom:18px;
}

.pv-lede{font-size:16px; max-width:58ch;}

.pv-luxe-hero{
  position:relative;
  overflow:hidden;
  background:#fff;
  border-bottom:1px solid rgba(11,11,11,.10);
  padding:clamp(76px,8vw,124px) 0 clamp(70px,7vw,112px);
}

.pv-luxe-hero,
.pv-luxe-hero *,
.pv-luxe-hero *:before,
.pv-luxe-hero *:after{
  box-sizing:border-box;
}

.pv-luxe-hero:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, transparent 0, transparent calc(50% - 1px), rgba(11,11,11,.045) calc(50% - 1px), rgba(11,11,11,.045) 50%, transparent 50%),
    radial-gradient(900px 420px at 82% 18%, rgba(11,11,11,.045), transparent 62%);
}

.pv-luxe-hero__shell{
  position:relative;
  z-index:1;
  width:min(calc(100% - 48px),1440px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(0,.86fr) minmax(420px,1.14fr);
  gap:clamp(38px,6vw,104px);
  align-items:center;
}

.pv-luxe-hero__content{
  min-width:0;
  animation:pvHeroRise .42s ease-out both;
}

.pv-luxe-hero h1{
  margin:0;
  max-width:920px;
  font-family:var(--pv-font) !important;
  font-size:clamp(54px,7.6vw,120px);
  line-height:.88;
  letter-spacing:-.055em;
  color:#000 !important;
  text-transform:none !important;
}

.pv-luxe-hero h1 span{
  display:block;
}

.pv-luxe-hero__lede{
  width:100%;
  max-width:620px;
  margin:clamp(24px,3vw,34px) 0 0;
  color:rgba(11,11,11,.66) !important;
  font-size:clamp(16px,1.4vw,20px);
  line-height:1.72;
  overflow-wrap:break-word;
}

.pv-luxe-hero__actions{
  display:flex;
  flex-wrap:wrap;
  gap:12px;
  margin-top:clamp(26px,3vw,38px);
}

.pv-luxe-hero__button,
.pv-luxe-hero__button:visited{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  border:1px solid #000;
  border-radius:999px;
  background:transparent;
  color:#000 !important;
  padding:0 24px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
  text-decoration:none !important;
  max-width:100%;
  transition:transform .2s ease, background .2s ease, border-color .2s ease;
}

.pv-luxe-hero__button:hover{
  transform:translateY(-2px);
  background:rgba(11,11,11,.04);
}

.pv-luxe-hero__button:focus-visible{
  outline:2px solid #000 !important;
  outline-offset:4px !important;
}

.pv-luxe-hero__proof{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:0;
  margin:clamp(42px,5vw,68px) 0 0;
  padding:0;
  border-top:1px solid rgba(11,11,11,.12);
  border-bottom:1px solid rgba(11,11,11,.12);
}

.pv-luxe-hero__proof div{
  padding:18px 16px 18px 0;
  border-right:1px solid rgba(11,11,11,.10);
}

.pv-luxe-hero__proof div:last-child{
  border-right:0;
}

.pv-luxe-hero__proof dt{
  color:rgba(11,11,11,.48);
  font-size:11px;
  letter-spacing:.20em;
  text-transform:uppercase;
}

.pv-luxe-hero__proof dd{
  margin:8px 0 0;
  color:#000;
  font-size:12px;
  font-weight:700;
  letter-spacing:.13em;
  line-height:1.35;
  text-transform:uppercase;
}

.pv-luxe-hero__visual{
  position:relative;
  min-height:clamp(470px,48vw,660px);
  animation:pvHeroVisual .48s ease-out .08s both;
}

.pv-luxe-hero__image{
  position:absolute;
  inset:0 0 58px 44px;
  margin:0;
  overflow:hidden;
  border:1px solid rgba(11,11,11,.12);
  background:#f5f5f5;
  box-shadow:0 28px 80px rgba(0,0,0,.08);
}

.pv-luxe-hero__image img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  filter:grayscale(100%) contrast(1.04);
}

.pv-luxe-hero__label{
  position:absolute;
  left:0;
  bottom:0;
  width:min(310px,52%);
  padding:20px 22px;
  border:1px solid rgba(11,11,11,.14);
  background:#fff;
  box-shadow:0 18px 60px rgba(0,0,0,.08);
}

.pv-luxe-hero__label span{
  display:block;
  color:rgba(11,11,11,.54);
  font-size:11px;
  letter-spacing:.20em;
  text-transform:uppercase;
}

.pv-luxe-hero__label strong{
  display:block;
  margin-top:8px;
  color:#000;
  font-family:var(--pv-font);
  font-size:clamp(24px,2.2vw,34px);
  line-height:1;
  letter-spacing:-.035em;
  font-weight:500;
}

.pv-luxe-hero__mark{
  position:absolute;
  right:clamp(18px,2vw,30px);
  bottom:clamp(76px,7vw,110px);
  display:grid;
  place-items:center;
  width:112px;
  height:112px;
  border:1px solid rgba(255,255,255,.38);
  border-radius:50%;
  background:rgba(0,0,0,.70);
  color:#fff;
  text-align:center;
  backdrop-filter:blur(10px);
}

.pv-luxe-hero__mark span{
  color:#fff;
  font-size:10px;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.pv-luxe-hero__texture{
  position:absolute;
  top:24px;
  left:0;
  width:min(220px,34%);
  height:auto;
  color:#000;
  fill:none;
  stroke:currentColor;
  stroke-width:1.25;
  stroke-linecap:round;
  opacity:.28;
}

@keyframes pvHeroRise{
  from{opacity:0; transform:translateY(16px);}
  to{opacity:1; transform:translateY(0);}
}

@keyframes pvHeroVisual{
  from{opacity:0; transform:translateY(18px) scale(.985);}
  to{opacity:1; transform:translateY(0) scale(1);}
}

@media (prefers-reduced-motion: reduce){
  .pv-luxe-hero__content,
  .pv-luxe-hero__visual,
  .pv-luxe-hero__button{
    animation:none !important;
    transition:none !important;
  }
}

@media (max-width:1080px){
  .pv-luxe-hero__shell{
    grid-template-columns:1fr;
    gap:clamp(34px,7vw,64px);
  }

  .pv-luxe-hero__content{
    max-width:860px;
  }

  .pv-luxe-hero__visual{
    min-height:clamp(420px,62vw,620px);
  }

  .pv-luxe-hero__image{
    inset:0 0 54px 0;
  }
}

@media (max-width:640px){
  .pv-luxe-hero{
    padding:54px 0 58px;
  }

  .pv-luxe-hero__shell{
    width:calc(100% - 40px);
  }

  .pv-luxe-hero h1{
    font-size:clamp(46px,15vw,66px);
    line-height:.92;
    letter-spacing:-.055em;
  }

  .pv-luxe-hero__lede{
    font-size:16px;
    line-height:1.68;
  }

  .pv-luxe-hero__actions{
    display:grid;
  }

  .pv-luxe-hero__button{
    width:100%;
  }

  .pv-luxe-hero__proof{
    grid-template-columns:1fr;
  }

  .pv-luxe-hero__proof div{
    border-right:0;
    border-bottom:1px solid rgba(11,11,11,.10);
    padding:16px 0;
  }

  .pv-luxe-hero__proof div:last-child{
    border-bottom:0;
  }

  .pv-luxe-hero__visual{
    min-height:390px;
  }

  .pv-luxe-hero__image{
    inset:0 0 64px 0;
  }

  .pv-luxe-hero__label{
    left:16px;
    bottom:0;
    width:calc(100% - 72px);
  }

  .pv-luxe-hero__mark{
    right:14px;
    bottom:78px;
    width:84px;
    height:84px;
  }

  .pv-luxe-hero__texture{
    width:40%;
    top:16px;
  }
}

.pv-frame{
  border:1px solid var(--pv-line);
  border-radius:24px;
  padding:20px;
  background:linear-gradient(180deg, rgba(11,11,11,.02), rgba(11,11,11,.00));
}

.pv-frame-inner{
  min-height:380px;
  border-radius:18px;
  border:1px solid rgba(11,11,11,.12);
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(700px 320px at 20% 30%, rgba(11,11,11,.05), transparent 55%),
    radial-gradient(900px 420px at 85% 25%, rgba(11,11,11,.04), transparent 60%);
}

.pv-frame-line{
  position:absolute;
  inset:-45% -45%;
  border:1px solid rgba(11,11,11,.10);
  transform:rotate(10deg);
}

.pv-frame-line.pv-2{transform:rotate(-14deg); opacity:.75;}
.pv-frame-line.pv-3{transform:rotate(0deg); opacity:.5;}

.pv-badge{
  position:absolute;
  left:16px;
  bottom:16px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  border:1px solid rgba(11,11,11,.18);
  border-radius:999px;
  padding:10px 12px;
  background:rgba(255,255,255,.72);
  font-size:12px;
  letter-spacing:.18em;
  text-transform:uppercase;
}

.pv-dot{width:6px; height:6px; border-radius:999px; background:var(--pv-fg); opacity:.75;}

.pv-hairline{height:1px; background:rgba(11,11,11,.10); width:100%;}

.pv-cards .et_pb_blurb{
  border:1px solid var(--pv-line);
  border-radius:var(--pv-radius);
  padding:18px;
  background:rgba(255,255,255,.85);
  box-shadow:0 18px 50px rgba(0,0,0,.06);
}

.pv-cards .et_pb_blurb h4{
  font-family:var(--pv-font);
  letter-spacing:.18em;
  text-transform:uppercase;
  font-size:12px;
}

.pv-cards .et_pb_blurb .et_pb_blurb_description{
  color:var(--pv-muted);
}

.pv-process-section{
  position:relative;
  overflow:hidden;
  padding:clamp(72px,8vw,124px) 0;
  background:#fff;
  border-top:1px solid rgba(11,11,11,.10);
  border-bottom:1px solid rgba(11,11,11,.10);
}

.pv-process-section:before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:
    linear-gradient(90deg, transparent 0, transparent calc(33.333% - 1px), rgba(11,11,11,.045) calc(33.333% - 1px), rgba(11,11,11,.045) 33.333%, transparent 33.333%),
    radial-gradient(900px 420px at 82% 8%, rgba(11,11,11,.045), transparent 60%);
}

.pv-process-shell{
  position:relative;
  z-index:1;
  width:min(92vw,1440px);
  margin:0 auto;
  display:grid;
  grid-template-columns:minmax(280px,.72fr) minmax(0,1.28fr);
  gap:clamp(34px,5vw,84px);
  align-items:center;
}

.pv-process-header{
  width:100%;
  max-width:560px;
  min-width:0;
}

.pv-process-header h2{
  margin:0;
  max-width:560px;
  font-family:var(--pv-font) !important;
  font-size:clamp(38px,4.8vw,76px);
  line-height:.98;
  letter-spacing:-.035em;
  color:#000 !important;
}

.pv-process-header h2 span{
  display:inline;
}

.pv-process-header h2 span:not(:last-child):after{
  content:" ";
}

.pv-process-header > p:not(.pv-kicker){
  margin:22px 0 0;
  width:100%;
  max-width:46ch;
  color:rgba(11,11,11,.64) !important;
  font-size:clamp(15px,1.25vw,18px);
  line-height:1.72;
  white-space:normal !important;
  overflow-wrap:break-word;
}

.pv-process-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:30px;
}

.pv-process-primary,
.pv-process-secondary{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:48px;
  border-radius:999px;
  padding:0 22px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.15em;
  text-transform:uppercase;
  text-decoration:none !important;
  transition:transform .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}

.pv-process-primary,
.pv-process-primary:visited{
  background:#fff;
  border:1px solid #000;
  color:#000 !important;
}

.pv-process-secondary,
.pv-process-secondary:visited{
  background:#fff;
  border:1px solid rgba(11,11,11,.20);
  color:#000 !important;
}

.pv-process-primary:hover,
.pv-process-secondary:hover{
  transform:translateY(-2px);
}

.pv-process-primary:focus-visible,
.pv-process-secondary:focus-visible,
.pv-process-card a:focus-visible{
  outline:2px solid #000 !important;
  outline-offset:4px !important;
}

.pv-process-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  min-width:0;
  border:1px solid rgba(11,11,11,.14);
  background:#fff;
  box-shadow:0 28px 80px rgba(0,0,0,.07);
}

.pv-process-card{
  position:relative;
  min-width:0;
  min-height:330px;
  padding:clamp(24px,2.5vw,34px);
  display:flex;
  flex-direction:column;
  gap:18px;
  border-right:1px solid rgba(11,11,11,.12);
  background:#fff;
  animation:pvProcessRise .7s cubic-bezier(.2,.8,.2,1) both;
}

.pv-process-card:nth-child(2){animation-delay:.09s;}
.pv-process-card:nth-child(3){animation-delay:.18s;}

.pv-process-card:last-child{
  border-right:0;
}

.pv-process-card--cta{
  background:#000;
  color:#fff !important;
}

.pv-process-number{
  font-size:11px;
  letter-spacing:.22em;
  color:rgba(11,11,11,.48);
}

.pv-process-card--cta .pv-process-number{
  color:rgba(255,255,255,.56);
}

.pv-process-icon{
  width:64px;
  height:64px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(11,11,11,.18);
  border-radius:50%;
  color:#000;
  transition:transform .25s ease, background .25s ease, color .25s ease;
}

.pv-process-card--cta .pv-process-icon{
  border-color:rgba(255,255,255,.32);
  color:#fff;
}

.pv-process-icon svg{
  width:34px;
  height:34px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.7;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.pv-process-card h3{
  margin:auto 0 0;
  font-family:var(--pv-font) !important;
  font-size:15px;
  line-height:1.25;
  letter-spacing:.16em;
  text-transform:uppercase;
  color:#000 !important;
}

.pv-process-card--cta h3{
  color:#fff !important;
}

.pv-process-card p{
  width:100%;
  max-width:100%;
  margin:0;
  color:rgba(11,11,11,.62) !important;
  font-size:14px;
  line-height:1.72;
  white-space:normal !important;
  overflow-wrap:break-word;
}

.pv-process-card--cta p{
  color:rgba(255,255,255,.72) !important;
}

.pv-process-card a{
  width:max-content;
  margin-top:4px;
  color:#000 !important;
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
  text-decoration:none !important;
}

.pv-process-card a:after{
  content:" →";
}

.pv-process-card--cta a{
  color:#fff !important;
}

.pv-process-card:hover .pv-process-icon{
  transform:translateY(-4px) rotate(-4deg);
  background:#000;
  color:#fff;
}

.pv-process-card--cta:hover .pv-process-icon{
  background:#fff;
  color:#000;
}

@keyframes pvProcessRise{
  from{opacity:0; transform:translateY(18px);}
  to{opacity:1; transform:translateY(0);}
}

@media (prefers-reduced-motion: reduce){
  .pv-process-card,
  .pv-process-primary,
  .pv-process-secondary,
  .pv-process-icon{
    animation:none !important;
    transition:none !important;
  }
}

.pv-section-title h2{font-size:clamp(28px,3.4vw,44px); line-height:1.08;}

/* Make Divi slider dots and arrows monochrome if present */
.et_pb_slider .et-pb-controllers a{background:rgba(11,11,11,.25) !important;}
.et_pb_slider .et-pb-controllers a.et-pb-active-control{background:var(--pv-fg) !important;}

/* Force monochrome accents */
.et_pb_text a,
.et_pb_blurb a,
.et_pb_module a,
#main-header a,
#main-footer a{
  color: var(--pv-fg) !important;
}

.et_pb_button:hover{opacity:.92;}

/* Kill any leftover theme accent colors */
.et_pb_svg_logo, .et_pb_menu__icon{fill: var(--pv-fg) !important;}

/* Force hero headline to monochrome (Divi can inline colors) */
.pv-display h1,
.pv-display h2,
.pv-display h3,
.pv-display h1 span,
.pv-display h2 span,
.pv-display h3 span{
  color: var(--pv-fg) !important;
}

/* ===== Hard monochrome overrides (kills any legacy gold) ===== */
h1,h2,h3,h4,h5,h6{color:var(--pv-fg) !important;}
a{color:var(--pv-fg) !important;}

#top-header,
.et_secondary_nav_enabled #page-container #top-header{background:transparent !important;}

/* Legacy accent selectors from Divi critical css */
#et_search_icon:hover,.mobile_menu_bar:before,.mobile_menu_bar:after,.et_toggle_slide_menu:after,.et-social-icon a:hover,.et_pb_sum,.et_pb_pricing li a,.et_pb_pricing_table_button,.et_overlay:before,.entry-summary p.price ins,.et_pb_member_social_links a:hover,.et_pb_widget li a:hover,.et_pb_filterable_portfolio .et_pb_portfolio_filters li a.active,.et_pb_filterable_portfolio .et_pb_portofolio_pagination ul li a.active,.et_pb_gallery .et_pb_gallery_pagination ul li a.active,.wp-pagenavi span.current,.wp-pagenavi a:hover,.nav-single a,.tagged_as a,.posted_in a,
.et_pb_contact_submit,.et_password_protected_form .et_submit_button,.et_pb_bg_layout_light .et_pb_newsletter_button,.comment-reply-link,.form-submit .et_pb_button,.et_pb_bg_layout_light .et_pb_promo_button,.et_pb_bg_layout_light .et_pb_more_button,.et_pb_bg_layout_light.et_pb_module.et_pb_button,
.footer-widget h4,#main-footer .footer-widget h4,#main-footer .widget_block h1,#main-footer .widget_block h2,#main-footer .widget_block h3,#main-footer .widget_block h4,#main-footer .widget_block h5,#main-footer .widget_block h6{
  color: var(--pv-fg) !important;
}

.et-search-form,.nav li ul,.et_mobile_menu,.footer-widget li:before,.et_pb_pricing li:before,blockquote{
  border-color: rgba(11,11,11,.16) !important;
}

.et_pb_counter_amount,.et_pb_featured_table .et_pb_pricing_heading,.et_quote_content,.et_link_content,.et_audio_content,.et_pb_post_slider.et_pb_bg_layout_dark,.et_slide_in_menu_container{
  background-color: var(--pv-fg) !important;
}

/* ===== Mobile-first luxury navigation ===== */
#main-header{
  background: rgba(255,255,255,.92) !important;
  backdrop-filter: blur(10px);
  border-bottom: 1px solid rgba(11,11,11,.10) !important;
}

#main-header .container{width:92%; max-width:1160px;}

#logo{
  width:clamp(170px, 14vw, 200px) !important;
  height:auto !important;
  max-width:min(280px, 46vw) !important;
  max-height:64px !important;
  object-fit:contain !important;
  aspect-ratio:1909 / 607 !important;
  filter:none !important;
}

#top-menu a{
  color: rgba(11,11,11,.78) !important;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: 12px;
}
#top-menu a:hover{color: rgba(11,11,11,1) !important;}

/* Hamburger */
.mobile_menu_bar:before,
.mobile_menu_bar:after{color: #0b0b0b !important;}

/* WooCommerce header actions */
#main-header #et-top-navigation{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:10px !important;
}

#main-header .pv-header-actions{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  margin-right:8px !important;
}

#main-header .pv-header-action{
  position:relative !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:42px !important;
  height:42px !important;
  border:1px solid rgba(11,11,11,.16) !important;
  border-radius:999px !important;
  color:#000 !important;
  background:rgba(255,255,255,.72) !important;
  text-decoration:none !important;
  transition:background .18s ease, border-color .18s ease, transform .18s ease;
}

#main-header .pv-header-action:hover{
  background:#fff !important;
  border-color:rgba(11,11,11,.38) !important;
  transform:translateY(-1px);
}

#main-header .pv-header-action:focus-visible{
  outline:2px solid #000;
  outline-offset:3px;
}

#main-header .pv-header-action svg{
  width:19px !important;
  height:19px !important;
  fill:none !important;
  stroke:currentColor !important;
  stroke-width:1.8 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
}

#main-header .pv-header-action__count{
  position:absolute !important;
  top:-5px !important;
  right:-5px !important;
  min-width:18px !important;
  height:18px !important;
  padding:0 5px !important;
  border-radius:999px !important;
  background:#000 !important;
  color:#fff !important;
  font-size:10px !important;
  line-height:18px !important;
  text-align:center !important;
}

#main-header .pv-header-action__count[data-count="0"]{display:none !important;}

@media (prefers-reduced-motion: reduce){
  #main-header .pv-header-action{transition:none !important;}
  #main-header .pv-header-action:hover{transform:none !important;}
}

/* Mobile menu panel */
.et_mobile_menu{
  background: #000 !important;
  border-top: 1px solid rgba(255,255,255,.16) !important;
}
.et_mobile_menu li a{
  color: rgba(255,255,255,.92) !important;
  border-color: rgba(255,255,255,.10) !important;
  letter-spacing: .18em;
  text-transform: uppercase;
  font-size: 12px;
  padding: 14px 5% !important;
}
.et_mobile_menu li a:hover{background: rgba(255,255,255,.06) !important;}

/* Make header CTA-style menu item possible (assign CSS class "pv-nav-cta" in WP Menu) */
@media (min-width: 981px){
  #top-menu li.pv-nav-cta > a{
    border: 1px solid rgba(11,11,11,.16);
    border-radius: 999px;
    padding: 10px 14px !important;
    background: rgba(11,11,11,.02);
  }
}

/* ===== Footer: black background, white text ===== */
#main-footer{background:#000 !important;}
#footer-widgets{padding-top:56px; padding-bottom:32px;}
#footer-widgets .footer-widget,
#footer-widgets .footer-widget p,
#footer-widgets .footer-widget li,
#footer-widgets .footer-widget a,
#footer-bottom,
#footer-bottom a{
  color: rgba(255,255,255,.86) !important;
}
#footer-widgets .footer-widget h1,
#footer-widgets .footer-widget h2,
#footer-widgets .footer-widget h3,
#footer-widgets .footer-widget h4,
#footer-widgets .footer-widget h5,
#footer-widgets .footer-widget h6{
  color: #fff !important;
}
#footer-widgets a{text-decoration: none; border-bottom: 1px solid rgba(255,255,255,.22); padding-bottom: 2px;}
#footer-widgets a:hover{border-bottom-color: rgba(255,255,255,.55);}
#footer-bottom{
  background: #000 !important;
  border-top: 1px solid rgba(255,255,255,.14) !important;
}

/* ===== Footer (Theme Builder) force black/white ===== */
.et-l--footer,
.et-l--footer .et_pb_section,
.et-l--footer .et_pb_row,
.et-l--footer .et_pb_column,
.et_pb_section_0_tb_footer,
.et_pb_row_0_tb_footer,
.et_pb_column_0_tb_footer,
.et_pb_column_1_tb_footer{
  background: #000 !important;
  background-color: #000 !important;
}

.et-l--footer h1,
.et-l--footer h2,
.et-l--footer h3,
.et-l--footer h4,
.et-l--footer h5,
.et-l--footer h6,
.et-l--footer p,
.et-l--footer li,
.et-l--footer a,
.et-l--footer span{
  color: #fff !important;
}

.et-l--footer a{border-bottom-color: rgba(255,255,255,.22) !important;}

.et-l--footer {
  display: none !important;
}

.pv-site-footer {
  background: #000;
  color: #fff;
  padding: 72px 0 26px;
}

.pv-site-footer,
.pv-site-footer * {
  box-sizing: border-box;
}

.pv-site-footer__inner {
  width: min(92%, 1180px);
  margin: 0 auto;
  display: grid;
  grid-template-columns: 1.25fr .75fr 1fr;
  gap: 54px;
  align-items: start;
}

.pv-site-footer__eyebrow {
  display: block;
  margin-bottom: 16px;
  color: rgba(255,255,255,.62) !important;
  font-size: 12px;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.pv-site-footer h2 {
  margin: 0;
  color: #fff !important;
  font-family:var(--pv-font);
  font-size: clamp(28px, 4vw, 46px);
  line-height: 1.05;
  text-transform: none;
}

.pv-site-footer__nav {
  display: grid;
  gap: 12px;
}

.pv-site-footer a {
  color: #fff !important;
  text-decoration: none;
}

.pv-site-footer__nav a {
  width: fit-content;
  border-bottom: 1px solid rgba(255,255,255,.22);
  padding-bottom: 3px;
  font-size: 13px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.pv-site-footer__contact p {
  margin: 0 0 12px;
  color: rgba(255,255,255,.72) !important;
  font-size: 14px;
  line-height: 1.65;
}

.pv-site-footer__bottom {
  width: min(92%, 1180px);
  margin: 54px auto 0;
  padding-top: 18px;
  border-top: 1px solid rgba(255,255,255,.14);
  display: flex;
  justify-content: space-between;
  gap: 20px;
  color: rgba(255,255,255,.62);
  font-size: 12px;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.pv-site-footer__credit a {
  border-bottom: 1px solid rgba(255,255,255,.35);
  padding-bottom: 2px;
}

.pv-site-footer__credit a:hover,
.pv-site-footer__credit a:focus-visible {
  border-bottom-color: #fff;
}

@media (max-width: 900px) {
  .pv-site-footer__inner {
    grid-template-columns: 1fr;
    gap: 34px;
  }

  .pv-site-footer__bottom {
    display: grid;
  }
}

/* ===== Shop: full width + smaller type ===== */
body.post-type-archive-product.et_right_sidebar #main-content .container:before,
body.post-type-archive-product.et_right_sidebar #main-content .container:after{display:none !important;}
body.post-type-archive-product.et_right_sidebar #sidebar{display:none !important;}
body.post-type-archive-product.et_right_sidebar #left-area{width:100% !important; float:none !important; padding-right:0 !important;}
body.post-type-archive-product.et_right_sidebar #content-area{display:block !important;}

body.post-type-archive-product .woocommerce-products-header__title{font-size:26px !important; letter-spacing:.04em;}
body.post-type-archive-product .woocommerce-result-count,
body.post-type-archive-product .woocommerce-ordering{font-size:13px !important;}
body.post-type-archive-product.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.post-type-archive-product.woocommerce ul.products li.product h2,
body.post-type-archive-product.woocommerce ul.products li.product h3{font-size:14px !important; line-height:1.35 !important;}
body.post-type-archive-product.woocommerce ul.products li.product .price{font-size:13px !important;}
body.post-type-archive-product.woocommerce a.button,
body.post-type-archive-product.woocommerce button.button,
body.post-type-archive-product.woocommerce input.button{font-size:12px !important; padding:10px 14px !important;}

/* ===== Shop/Category archives: kill sidebar + divider line ===== */
body.post-type-archive-product #main-content .container:before,
body.post-type-archive-product #main-content .container:after,
body.tax-product_cat #main-content .container:before,
body.tax-product_cat #main-content .container:after{
  display:none !important;
  content:none !important;
}

body.post-type-archive-product #sidebar,
body.tax-product_cat #sidebar{
  display:none !important;
  width:0 !important;
  padding:0 !important;
  margin:0 !important;
}

body.post-type-archive-product #left-area,
body.tax-product_cat #left-area{
  width:100% !important;
  float:none !important;
  padding-right:0 !important;
}

/* ===== Production shop and category grids ===== */
.woocommerce ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 34px !important;
  list-style: none !important;
  padding-left: 0 !important;
}

.woocommerce ul.products:before,
.woocommerce ul.products:after {
  display: none !important;
  content: none !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  width: auto !important;
  float: none !important;
  clear: none !important;
  margin: 0 !important;
  text-align: left;
}

.woocommerce ul.products li.product a img {
  display: block;
  width: 100%;
  border: 1px solid rgba(11,11,11,.10);
  background: #f7f7f7;
}

.woocommerce ul.products li.product-category a img {
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.woocommerce ul.products li.product-category h2,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  margin: 16px 0 6px !important;
  padding: 0 !important;
  color: #0b0b0b !important;
  font-family:var(--pv-font) !important;
  font-size: 18px !important;
  line-height: 1.25 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
}

.woocommerce ul.products li.product-category mark.count {
  display: none !important;
}

.woocommerce ul.products li.product .price {
  color: rgba(11,11,11,.62) !important;
  font-size: 14px !important;
}

.woocommerce .woocommerce-ordering select {
  min-height: 42px;
  border-radius: 0 !important;
}

.woocommerce .woocommerce-result-count {
  color: rgba(11,11,11,.56);
  font-size: 13px;
}

.pv-shop-intro-section {
  padding-top: 56px !important;
  padding-bottom: 28px !important;
}

.pv-shop-intro h2 {
  max-width: 760px;
  margin: 0 0 14px !important;
  font-family:var(--pv-font) !important;
  font-size: clamp(34px, 5vw, 58px) !important;
  line-height: 1.05 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

.pv-shop-intro .pv-lede {
  color: rgba(11,11,11,.66) !important;
  font-size: 16px !important;
  line-height: 1.7 !important;
}

.pv-woo-section {
  padding-top: 28px !important;
  padding-bottom: 64px !important;
}

.pv-woo-heading {
  margin: 0 0 26px !important;
  font-family:var(--pv-font) !important;
  font-size: 14px !important;
  letter-spacing: .18em !important;
  text-transform: uppercase !important;
}

body.post-type-archive-product .woocommerce-breadcrumb,
body.tax-product_cat .woocommerce-breadcrumb {
  color: rgba(11,11,11,.48);
  font-size: 12px;
}

body.post-type-archive-product .woocommerce-products-header__title,
body.tax-product_cat .woocommerce-products-header__title {
  margin-bottom: 10px;
  font-family:var(--pv-font) !important;
  font-size: clamp(30px, 4vw, 48px) !important;
  line-height: 1.08 !important;
  letter-spacing: 0 !important;
  text-transform: none !important;
}

body.tax-product_cat .term-description p {
  color: rgba(11,11,11,.66) !important;
  font-size: 15px !important;
  line-height: 1.7 !important;
}

body.post-type-archive-product .woocommerce-ordering,
body.tax-product_cat .woocommerce-ordering {
  margin-bottom: 28px;
}

/* ===== Production refinement: navigation, archives, responsive polish ===== */
#main-header #logo {
  width:clamp(170px, 14vw, 200px) !important;
  height:auto !important;
  max-width:min(280px, 46vw) !important;
  max-height:64px !important;
  object-fit:contain !important;
  aspect-ratio:1909 / 607 !important;
  filter:none !important;
}

#main-header .mobile_menu_bar:before,
#main-header .mobile_menu_bar:after,
#main-header .et_pb_header_toggle:before {
  color: #0b0b0b !important;
}

.et_slide_in_menu_container {
  background: #000 !important;
  transition-duration: .24s !important;
}

.et_slide_in_menu_container span.mobile_menu_bar.et_toggle_fullscreen_menu:before {
  color: #fff !important;
}

.et_header_style_fullscreen .et_slide_in_menu_container #mobile_menu_slide a {
  color: #fff !important;
  font-size: clamp(18px, 5vw, 34px) !important;
  letter-spacing: .10em;
  text-transform: uppercase;
}

body.post-type-archive-product .woocommerce-result-count,
body.post-type-archive-product .woocommerce-ordering,
body.tax-product_cat .woocommerce-result-count,
body.tax-product_cat .woocommerce-ordering {
  display: none !important;
}

body.post-type-archive-product #main-content .container,
body.tax-product_cat #main-content .container,
body.page-id-753 #main-content .container {
  width: min(92%, 1180px) !important;
  max-width: 1180px !important;
}

body.post-type-archive-product .woocommerce-products-header,
body.tax-product_cat .woocommerce-products-header {
  padding: clamp(34px, 6vw, 72px) 0 clamp(24px, 4vw, 44px);
}

body.post-type-archive-product .woocommerce-products-header__title,
body.tax-product_cat .woocommerce-products-header__title {
  max-width: 760px;
  margin: 0 0 14px !important;
}

.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product {
  min-width: 0 !important;
}

.woocommerce ul.products li.product.first,
.woocommerce ul.products li.product.last,
.woocommerce-page ul.products li.product.first,
.woocommerce-page ul.products li.product.last {
  clear: none !important;
  margin: 0 !important;
}

.woocommerce ul.products li.product a {
  display: block;
}

.woocommerce ul.products li.product a img {
  margin: 0 0 16px !important;
  border: 1px solid rgba(11,11,11,.10) !important;
  background: #f7f7f7 !important;
  transition: transform .22s ease, opacity .22s ease;
}

.woocommerce ul.products li.product a:hover img {
  transform: translateY(-2px);
  opacity: .94;
}

.woocommerce ul.products li.product-category h2,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
  word-break: normal !important;
  overflow-wrap: normal !important;
  hyphens: none !important;
}

.woocommerce ul.products li.product-category mark.count,
.woocommerce ul.products li.product-category .count {
  display: none !important;
  background: transparent !important;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit {
  background: transparent !important;
  border: 1px solid #000 !important;
  color: #000 !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  letter-spacing: .12em !important;
  text-transform: uppercase !important;
  padding: 11px 16px !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover {
  background: transparent !important;
  color: #000 !important;
}

.woocommerce .price,
.woocommerce .price span,
.woocommerce-Price-amount,
.woocommerce-Price-currencySymbol {
  color: rgba(11,11,11,.62) !important;
}

@media (max-width: 980px) {
  body.post-type-archive-product.woocommerce ul.products,
  body.tax-product_cat.woocommerce ul.products,
  body.page-id-753 .woocommerce ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 22px !important;
  }
}

@media (max-width: 640px) {
  #main-header .container {
    width: 90% !important;
  }

  #logo {
    max-height: 34px !important;
  }

  body.post-type-archive-product.woocommerce ul.products,
  body.tax-product_cat.woocommerce ul.products,
  body.page-id-753 .woocommerce ul.products {
    grid-template-columns: 1fr !important;
    gap: 28px !important;
  }

  .woocommerce ul.products li.product-category h2,
  .woocommerce ul.products li.product .woocommerce-loop-product__title {
    font-size: 14px !important;
    line-height: 1.35 !important;
    letter-spacing: .08em !important;
  }

  .pv-site-footer {
    padding-top: 54px;
  }
}

/* ===== Final interaction/accessibility fixes ===== */
body .et_pb_button,
body .et_pb_button:visited,
body .et_pb_button:hover,
body .et_pb_button_module_wrapper .et_pb_button,
body .et_pb_button_module_wrapper .et_pb_button:visited,
body .et_pb_button_module_wrapper .et_pb_button:hover {
  background: transparent !important;
  border: 1px solid #000 !important;
  color: #000 !important;
}

body .pv-btn-outline .et_pb_button,
body .pv-btn-outline .et_pb_button:visited,
body .pv-btn-outline .et_pb_button:hover {
  background: transparent !important;
  border: 1px solid #000 !important;
  color: #000 !important;
}

.woocommerce a.button,
.woocommerce a.button:visited,
.woocommerce a.button:hover,
.woocommerce button.button,
.woocommerce button.button:hover,
.woocommerce input.button,
.woocommerce input.button:hover {
  background: transparent !important;
  border: 1px solid #000 !important;
  color: #000 !important;
}

@media (max-width: 980px) {
  #main-header .container.et_menu_container {
    display: flex !important;
    align-items: center !important;
    justify-content: space-between !important;
    height: 80px !important;
  }

  #main-header .logo_container {
    position: static !important;
    width: auto !important;
    height: auto !important;
  }

  #main-header #et-top-navigation {
    position: static !important;
    display: flex !important;
    align-items: center !important;
    gap: 6px !important;
    padding: 0 !important;
    height: auto !important;
  }

  #main-header .pv-header-actions {
    gap: 6px !important;
    margin-right: 4px !important;
  }

  #main-header .pv-header-action {
    width: 42px !important;
    height: 42px !important;
  }

  #main-header .pv-header-action svg {
    width: 18px !important;
    height: 18px !important;
  }

  #main-header .mobile_menu_bar.et_pb_header_toggle {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: relative !important;
    right: auto !important;
    top: auto !important;
    width: 44px !important;
    height: 44px !important;
  }

  #main-header .mobile_menu_bar.et_pb_header_toggle:before {
    color: #0b0b0b !important;
    font-size: 30px !important;
  }

  #main-header #logo {
    width:156px !important;
    height:auto !important;
    max-width:min(190px, 58vw) !important;
    max-height:48px !important;
  }
}

@media (max-width: 380px) {
  #main-header #logo {
    width:132px !important;
    max-width:45vw !important;
  }

  #main-header .pv-header-actions {
    gap: 4px !important;
  }

  #main-header .pv-header-action {
    width: 40px !important;
    height: 40px !important;
  }
}

/* ===== Premium full-width shop archive ===== */
body.post-type-archive-product #main-content .container,
body.tax-product_cat #main-content .container {
  width: 100% !important;
  max-width: none !important;
  padding-top: 0 !important;
}

body.post-type-archive-product #content-area,
body.post-type-archive-product #left-area,
body.tax-product_cat #content-area,
body.tax-product_cat #left-area {
  width: 100% !important;
  max-width: none !important;
  float: none !important;
  padding: 0 !important;
}

body.post-type-archive-product .woocommerce-breadcrumb,
body.post-type-archive-product .woocommerce-products-header__title,
body.post-type-archive-product .page-description,
body.tax-product_cat .woocommerce-breadcrumb {
  display: none !important;
}

body.post-type-archive-product .woocommerce-products-header,
body.tax-product_cat .woocommerce-products-header {
  padding: 0 !important;
}

.pv-shop-archive-hero {
  padding: clamp(72px, 8vw, 118px) 0 clamp(46px, 5vw, 78px);
  border-bottom: 1px solid rgba(11,11,11,.10);
  background: #fff;
}

.pv-shop-archive-hero__inner,
.pv-shop-section-head,
.pv-shop-categories > .woocommerce,
body.post-type-archive-product #left-area > ul.products,
body.tax-product_cat .woocommerce-products-header,
body.tax-product_cat #left-area > ul.products {
  width: min(92vw, 1440px) !important;
  max-width: 1440px !important;
  margin-left: auto !important;
  margin-right: auto !important;
}

.pv-shop-archive-hero__inner {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
  gap: clamp(28px, 5vw, 90px);
  align-items: end;
}

.pv-shop-archive-hero h1 {
  max-width: 980px;
  margin: 0;
  font-family:var(--pv-font) !important;
  font-size: clamp(44px, 7vw, 96px) !important;
  line-height: .98 !important;
  letter-spacing: -.035em !important;
  text-transform: none !important;
  color: #000 !important;
}

.pv-shop-archive-hero__copy {
  max-width: 620px;
  margin: 22px 0 0;
  color: rgba(11,11,11,.64) !important;
  font-size: clamp(15px, 1.5vw, 18px);
  line-height: 1.7;
}

.pv-shop-archive-hero__actions {
  display: grid;
  gap: 14px;
  justify-items: start;
}

.pv-shop-archive-cta,
.pv-shop-archive-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 46px;
  border-radius: 999px;
  padding: 0 22px;
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
  text-decoration: none !important;
  transition: background .18s ease, color .18s ease, border-color .18s ease, transform .18s ease;
}

.pv-shop-archive-cta,
.pv-shop-archive-cta:visited {
  background: #fff;
  color: #000 !important;
  border: 1px solid #000;
}

.pv-shop-archive-link,
.pv-shop-archive-link:visited {
  background: #fff;
  color: #000 !important;
  border: 1px solid rgba(11,11,11,.20);
}

.pv-shop-archive-cta:hover,
.pv-shop-archive-link:hover {
  transform: translateY(-1px);
}

.pv-shop-archive-cta:focus-visible,
.pv-shop-archive-link:focus-visible,
.woocommerce ul.products li.product a:focus-visible {
  outline: 2px solid #000 !important;
  outline-offset: 4px !important;
}

.pv-shop-categories {
  padding: clamp(42px, 5vw, 76px) 0 clamp(54px, 6vw, 96px);
  background: #fff;
}

.pv-shop-section-head {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  align-items: end;
  margin-bottom: clamp(24px, 3vw, 38px) !important;
}

.pv-shop-section-head h2 {
  margin: 0 !important;
  padding: 0 !important;
  max-width: 680px;
  font-family:var(--pv-font) !important;
  font-size: clamp(28px, 3.4vw, 48px) !important;
  line-height: 1.05 !important;
  letter-spacing: -.02em !important;
  text-transform: none !important;
}

.pv-shop-categories .woocommerce ul.products,
body.post-type-archive-product #left-area > ul.products,
body.tax-product_cat #left-area > ul.products {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: clamp(24px, 2.6vw, 42px) !important;
  list-style: none !important;
  padding-left: 0 !important;
}

.pv-shop-categories .woocommerce ul.products li.product,
body.post-type-archive-product #left-area > ul.products li.product,
body.tax-product_cat #left-area > ul.products li.product {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
  clear: none !important;
  min-width: 0 !important;
}

.pv-shop-categories .woocommerce ul.products li.product-category a,
body.post-type-archive-product #left-area > ul.products li.product a,
body.tax-product_cat #left-area > ul.products li.product a {
  display: block;
  text-decoration: none !important;
}

.pv-shop-categories .woocommerce ul.products li.product-category img,
body.post-type-archive-product #left-area > ul.products li.product img,
body.tax-product_cat #left-area > ul.products li.product img {
  width: 100% !important;
  aspect-ratio: 4 / 3 !important;
  object-fit: cover !important;
  margin: 0 0 16px !important;
  border: 1px solid rgba(11,11,11,.10) !important;
  background: #f4f4f4 !important;
}

.pv-shop-products-intro {
  padding: clamp(38px, 5vw, 76px) 0 0;
  border-top: 1px solid rgba(11,11,11,.10);
  background: #fff;
}

body.post-type-archive-product #left-area > ul.products,
body.tax-product_cat #left-area > ul.products {
  padding-bottom: clamp(72px, 8vw, 120px) !important;
}

body.post-type-archive-product #left-area > ul.products li.product .woocommerce-loop-product__title,
body.tax-product_cat #left-area > ul.products li.product .woocommerce-loop-product__title,
.pv-shop-categories .woocommerce-loop-category__title {
  margin: 0 0 6px !important;
  padding: 0 !important;
  color: #000 !important;
  font-family:var(--pv-font) !important;
  font-size: 13px !important;
  letter-spacing: .14em !important;
  line-height: 1.35 !important;
  text-transform: uppercase !important;
}

body.post-type-archive-product #left-area > ul.products li.product .price,
body.tax-product_cat #left-area > ul.products li.product .price {
  display: block;
  margin-top: 4px;
  color: rgba(11,11,11,.58) !important;
  font-size: 13px !important;
}

body.tax-product_cat .woocommerce-products-header {
  padding: clamp(64px, 7vw, 108px) 0 clamp(32px, 4vw, 58px) !important;
}

body.tax-product_cat .woocommerce-products-header__title {
  max-width: 900px;
  margin: 0 0 14px !important;
  font-family:var(--pv-font) !important;
  font-size: clamp(42px, 6vw, 84px) !important;
  line-height: .98 !important;
  letter-spacing: -.035em !important;
  text-transform: none !important;
  color: #000 !important;
}

body.tax-product_cat .term-description {
  max-width: 640px;
}

body.tax-product_cat .term-description p {
  color: rgba(11,11,11,.64) !important;
  font-size: clamp(15px, 1.4vw, 18px) !important;
  line-height: 1.7 !important;
}

@media (prefers-reduced-motion: reduce) {
  .pv-shop-archive-cta,
  .pv-shop-archive-link,
  .woocommerce ul.products li.product a img {
    transition: none !important;
  }
}

@media (max-width: 980px) {
  .pv-shop-archive-hero__inner,
  .pv-shop-section-head {
    display: grid;
    grid-template-columns: 1fr;
  }

  .pv-shop-categories .woocommerce ul.products,
  body.post-type-archive-product #left-area > ul.products,
  body.tax-product_cat #left-area > ul.products {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 24px !important;
  }
}

@media (max-width: 640px) {
  .pv-shop-archive-hero {
    padding-top: 52px;
  }

  .pv-shop-archive-hero h1,
  body.tax-product_cat .woocommerce-products-header__title {
    font-size: clamp(38px, 13vw, 54px) !important;
  }

  .pv-shop-categories .woocommerce ul.products,
  body.post-type-archive-product #left-area > ul.products,
  body.tax-product_cat #left-area > ul.products {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 1080px) {
  .pv-process-shell {
    grid-template-columns:1fr;
    align-items:start;
  }

  .pv-process-header {
    max-width:760px;
  }

  .pv-process-grid {
    grid-template-columns:1fr;
  }

  .pv-process-card {
    min-height:auto;
    border-right:0;
    border-bottom:1px solid rgba(11,11,11,.12);
  }

  .pv-process-card:last-child {
    border-bottom:0;
  }
}

@media (max-width: 640px) {
  .pv-process-section {
    padding:56px 0;
  }

  .pv-process-shell {
    width:calc(100vw - 40px);
  }

  .pv-process-shell,
  .pv-process-header {
    min-width:0;
  }

  .pv-process-header h2 {
    max-width:100%;
    font-size:clamp(32px,10.2vw,42px);
    letter-spacing:-.045em;
    overflow-wrap:normal;
  }

  .pv-process-header h2 span{
    display:block;
  }

  .pv-process-header h2 span:not(:last-child):after{
    content:"";
  }

  .pv-process-header > p:not(.pv-kicker) {
    max-width:100%;
  }

  .pv-process-actions {
    display:grid;
  }

  .pv-process-primary,
  .pv-process-secondary {
    width:100%;
  }
}

/* ===== WooCommerce archive header overlap fix ===== */
body.post-type-archive-product,
body.tax-product_cat {
  scroll-padding-top: 96px;
}

body.post-type-archive-product.et_fixed_nav #main-header,
body.tax-product_cat.et_fixed_nav #main-header,
body.post-type-archive-product #main-header.et-fixed-header,
body.tax-product_cat #main-header.et-fixed-header {
  position: relative !important;
  top: auto !important;
  transform: none !important;
}

body.post-type-archive-product.et_fixed_nav #page-container,
body.tax-product_cat.et_fixed_nav #page-container {
  padding-top: 0 !important;
}

body.post-type-archive-product #main-header .container.et_menu_container,
body.tax-product_cat #main-header .container.et_menu_container {
  min-height: 72px !important;
}

body.post-type-archive-product #main-content,
body.tax-product_cat #main-content {
  margin-top: 0 !important;
}

body.post-type-archive-product .pv-shop-products-intro,
body.post-type-archive-product #left-area > ul.products,
body.tax-product_cat .woocommerce-products-header,
body.tax-product_cat #left-area > ul.products {
  scroll-margin-top: 96px;
}

@media (max-width: 980px) {
  body.post-type-archive-product,
  body.tax-product_cat {
    scroll-padding-top: 80px;
  }

  body.post-type-archive-product .pv-shop-products-intro,
  body.post-type-archive-product #left-area > ul.products,
  body.tax-product_cat .woocommerce-products-header,
  body.tax-product_cat #left-area > ul.products {
    scroll-margin-top: 80px;
  }
}
