/*
Theme Name: RETTER v_0.1.0
Theme URI: https://www.retter.com.ua/
Description: Дочірня тема Shopwell для української роздрібної торговельної платформи RETTER.
Author: RETTER
Author URI: https://www.retter.com.ua/
Template: shopwell
Version: 0.1.0
Text Domain: retter
*/

:root{
  --retter-blue:#082567;
  --retter-blue-2:#008CF0;
  --retter-cyan:#E0FFFF;
  --retter-red:#FFA500;
  --retter-dark:#101828;
  --retter-text:#1F2937;
  --retter-muted:#667085;
  --retter-line:#E7ECF3;
  --retter-soft:#F6F8FB;
  --retter-soft-2:#EFF4FA;
  --retter-white:#FFFFFF;
  --retter-radius:22px;
}

body.home{
  background:#fff;
}

body.home .site-content{
  padding-top:0;
}


/* ---------- Global layout used outside the front page ---------- */
.retter-container{
  width:min(1440px, calc(100% - 64px));
  margin:0 auto;
}

/* Footer must work on every page, not only on the home page */
.retter-footer{
  padding:52px 0 24px;
  background:#F8FAFC;
  border-top:1px solid var(--retter-line);
}

.retter-footer .custom-logo-link{
  display:inline-flex;
  max-width:260px;
}

.retter-footer .custom-logo{
  display:block;
  width:auto !important;
  height:auto !important;
  max-width:250px !important;
  max-height:86px !important;
  object-fit:contain;
}

.retter-footer__grid{
  display:grid;
  grid-template-columns:1.45fr 1fr 1fr 1fr;
  gap:56px;
  padding-bottom:38px;
}

.retter-footer__brand p{
  max-width:320px;
  margin:18px 0 0;
  color:#667085;
  font-size:15px;
  line-height:1.55;
}

.retter-footer h3{
  margin:0 0 18px;
  color:#0F172A;
  font-size:18px;
}

.retter-footer a{
  display:block;
  margin:10px 0;
  color:#667085;
  font-size:16px;
  text-decoration:none;
}

.retter-footer a:hover{color:var(--retter-blue)}

.retter-footer__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding-top:18px;
  border-top:1px solid var(--retter-line);
  color:#8A94A6;
  font-size:13px;
}

.retter-footer__legal{
  display:flex;
  gap:18px;
}

.retter-footer__legal a{
  margin:0;
  font-size:13px;
}

/* WooCommerce account: desktop cleanup */
.woocommerce-account .site-content{
  padding-top:42px;
  padding-bottom:56px;
}

.woocommerce-account .site-content-container{
  width:min(1440px, calc(100% - 64px));
  margin-left:auto;
  margin-right:auto;
}

.woocommerce-account .woocommerce{
  display:grid;
  grid-template-columns:300px minmax(0,1fr);
  gap:38px;
  align-items:start;
}

.woocommerce-account .woocommerce-MyAccount-navigation{
  width:auto;
  float:none;
  padding:10px;
  border:1px solid #E2E8F0;
  border-radius:16px;
  background:#F8FAFC;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul{
  margin:0;
  padding:0;
  list-style:none;
}

.woocommerce-account .woocommerce-MyAccount-navigation li{
  margin:0;
}

.woocommerce-account .woocommerce-MyAccount-navigation a{
  display:block;
  padding:13px 16px;
  border-radius:10px;
  color:#334155;
  text-decoration:none;
  font-weight:600;
}

.woocommerce-account .woocommerce-MyAccount-navigation .is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation a:hover{
  color:#fff;
  background:#082567;
}

.woocommerce-account .woocommerce-MyAccount-content{
  width:auto;
  float:none;
  min-height:420px;
  padding:30px;
  border:1px solid #E2E8F0;
  border-radius:16px;
  background:#fff;
}

@media (max-width:900px){
  .retter-container,
  .woocommerce-account .site-content-container{
    width:min(100% - 30px,760px);
  }

  .retter-footer__grid{
    grid-template-columns:1fr 1fr;
  }

  .woocommerce-account .woocommerce{
    grid-template-columns:1fr;
  }
}


/* ===== 0.2.3 — desktop full-width pass ===== */
@media (min-width: 1200px){
  body:not(.wp-admin) .container,
  body:not(.wp-admin) .site-header__container,
  body:not(.wp-admin) .site-content-container,
  body:not(.wp-admin) .page-header__content.container,
  body:not(.wp-admin) .page-header .container,
  body:not(.wp-admin) .site-footer .container,
  body:not(.wp-admin) .woocommerce .container,
  body:not(.wp-admin) .woocommerce-page .container,
  body:not(.wp-admin) .wcfm-store-page .container,
  body:not(.wp-admin) .wcfm-store-list-page .container{
    width:calc(100% - 48px) !important;
    max-width:none !important;
    margin-left:24px !important;
    margin-right:24px !important;
  }

  body:not(.wp-admin) .site-content,
  body:not(.wp-admin) .site-main,
  body:not(.wp-admin) .content-area{
    max-width:none !important;
  }

  /* Shop / catalog should use the available desktop width */
  body.woocommerce-shop .site-content-container,
  body.post-type-archive-product .site-content-container,
  body.tax-product_cat .site-content-container,
  body.tax-product_tag .site-content-container{
    width:calc(100% - 48px) !important;
    max-width:none !important;
    margin-left:24px !important;
    margin-right:24px !important;
  }

  body.woocommerce-shop .content-area,
  body.post-type-archive-product .content-area,
  body.tax-product_cat .content-area,
  body.tax-product_tag .content-area{
    width:100% !important;
    max-width:none !important;
  }
}

/* Keep system/template pages visually clean without deleting anything. */
.page .entry-content > p:empty,
.page .entry-content > .wp-block-spacer:empty{
  display:none;
}


/* =========================================================
   RETTER 0.2.5 — one header/footer everywhere
   ========================================================= */

html{
  scroll-behavior:smooth;
}

body{
  overflow-x:hidden;
}

.retter-global-header{
  position:sticky;
  top:0;
  z-index:9998;
  width:100%;
  background:#fff;
  box-shadow:0 1px 0 rgba(15,23,42,.08);
  transition:box-shadow .22s ease;
}

.admin-bar .retter-global-header{
  top:32px;
}

.retter-global-header.is-stuck{
  box-shadow:0 10px 28px rgba(15,23,42,.12);
}

.retter-global-header .retter-home-topbar,
.retter-global-header .retter-home-mainbar,
.retter-global-header .retter-home-nav{
  transition:max-height .24s ease, min-height .24s ease, opacity .18s ease, transform .24s ease;
}

.retter-global-header.is-stuck .retter-home-topbar{
  max-height:0;
  min-height:0;
  opacity:0;
  overflow:hidden;
}

.retter-global-header.is-stuck .retter-home-mainbar__inner{
  min-height:76px;
}

.retter-global-header.is-stuck .retter-home-nav__inner{
  min-height:58px;
}

.retter-global-header.is-stuck .retter-home-logo .custom-logo{
  max-height:58px !important;
}

.retter-global-header .retter-home-search__button{
  display:grid !important;
  place-items:center !important;
}

.retter-global-header .retter-home-search__button svg{
  display:block;
  width:25px !important;
  height:25px !important;
  stroke:#fff !important;
  stroke-width:2.2 !important;
  fill:none !important;
}

.retter-global-header .retter-home-tool svg,
.retter-global-header .retter-home-categories svg{
  flex:0 0 auto;
}

.retter-global-header .retter-home-tool{
  justify-content:center;
  text-align:center;
  line-height:1.1;
}

/* Full width desktop content on all regular pages */
@media (min-width:1025px){
  body .container,
  body .site-content-container,
  body .woocommerce .container,
  body .page-header .container,
  body .site-breadcrumb .container{
    width:calc(100% - 48px) !important;
    max-width:none !important;
    margin-left:24px !important;
    margin-right:24px !important;
  }

  .retter-container{
    width:calc(100% - 48px) !important;
    max-width:none !important;
  }
}

/* Home visual alignment fixes */
.retter-hero__content{
  align-self:center;
}

.retter-hero__visual{
  display:flex;
  align-items:center;
  justify-content:center;
}

.retter-hero__art{
  display:block;
  width:min(100%, 680px);
  height:auto;
  margin:0 auto;
}

.retter-hero-note{
  top:28px !important;
  right:24px !important;
  max-width:330px !important;
  text-align:center;
  font-size:28px !important;
  line-height:1.08 !important;
  transform:rotate(-3deg);
  pointer-events:none;
}

.retter-principles__grid{
  align-items:stretch;
}

.retter-principle{
  height:100%;
  align-items:center;
}

.retter-principle > div:last-child{
  min-width:0;
}

.retter-principle h2,
.retter-principle p{
  text-align:left;
}

.retter-sellers__panel{
  align-items:stretch !important;
}

.retter-sellers__copy{
  display:flex;
  flex-direction:column;
  justify-content:center;
}

.retter-sellers__features{
  align-content:center;
}

.retter-feature{
  min-height:112px;
  grid-template-columns:64px minmax(0,1fr) !important;
}

.retter-feature__icon{
  display:grid !important;
  place-items:center !important;
  align-self:center;
}

.retter-feature__icon svg{
  width:26px !important;
  height:26px !important;
}

.retter-feature > div{
  min-width:0;
}

.retter-feature strong,
.retter-feature span{
  overflow-wrap:anywhere;
}

.retter-sellers__art{
  min-width:0;
  overflow:hidden;
}

.retter-person-caption{
  width:100%;
  max-width:320px !important;
  text-align:center !important;
  margin:0 auto;
  transform:none !important;
}

.retter-steps__grid{
  align-items:stretch;
}

.retter-step{
  height:100%;
}

.retter-step > div{
  min-width:0;
}

.retter-final-cta__box{
  align-items:center !important;
}

.retter-final-cta__box > div{
  min-width:0;
}

.retter-final-cta .retter-btn{
  flex:0 0 auto;
  min-width:320px;
  white-space:nowrap;
}

/* Same footer geometry on every page */
.retter-footer{
  width:100%;
  margin:0;
}

.retter-footer__grid{
  align-items:start;
}

.retter-footer__brand,
.retter-footer__grid > div{
  min-width:0;
}

@media (max-width:782px){
  .admin-bar .retter-global-header{ top:46px; }
}


/* =========================================================
   RETTER 0.2.7 — global header + clean pages
   ========================================================= */

/* Header styles moved from front-page-only CSS: now every page gets them. */
.retter-home-header{
  position:relative;
  z-index:6;
  border-bottom:1px solid var(--retter-line);
  background:#fff;
}

.retter-home-topbar{
  background:linear-gradient(90deg,var(--retter-blue),#1596ef);
  color:#fff;
}

.retter-home-topbar__inner{
  min-height:48px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
}

.retter-home-topbar__text{
  display:flex;
  align-items:center;
  gap:10px;
  font-weight:700;
  font-size:16px;
}

.retter-home-topbar__icon{font-size:16px;line-height:1}

.retter-home-topbar__cta{
  color:#fff;
  text-decoration:none;
  font-weight:800;
  white-space:nowrap;
}

.retter-home-mainbar{
  background:#fff;
}

.retter-home-mainbar__inner{
  min-height:96px;
  display:grid;
  grid-template-columns:260px minmax(420px,1fr) auto;
  align-items:center;
  gap:28px;
}

.retter-home-logo{
  display:inline-flex;
  align-items:center;
}

.retter-home-logo .custom-logo{
  max-width:310px;
  width:auto;
  height:auto;
}

.retter-home-logo__text{
  font-size:32px;
  font-weight:800;
  color:var(--retter-blue);
}

.retter-home-search{
  height:56px;
  display:grid;
  grid-template-columns:180px 1fr 62px;
  align-items:center;
  background:#fff;
  border:1px solid #D8E3F1;
  border-radius:10px;
  overflow:hidden;
}

.retter-home-search__cat{
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:0 18px;
  background:#F6F8FB;
  border-right:1px solid #E0E7F0;
  color:#111827;
  font-weight:700;
  text-decoration:none;
}

.retter-home-search input[type="search"]{
  height:100%;
  border:0;
  background:#fff;
  padding:0 20px;
  font-size:17px;
  color:#111827;
}

.retter-home-search input[type="search"]:focus{outline:none}

.retter-home-search__button{
  height:100%;
  border:0;
  cursor:pointer;
  background:linear-gradient(135deg,var(--retter-blue),var(--retter-blue-2));
  color:#fff;
}

.retter-home-search__button svg,
.retter-home-tool svg,
.retter-home-categories svg,
.retter-icon svg,
.retter-feature__icon svg{
  width:24px;
  height:24px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.9;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.retter-home-tools{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
}

.retter-home-tool{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
  min-width:66px;
  color:#111827;
  text-decoration:none;
  font-size:13px;
  font-weight:600;
}

.retter-home-tool:hover,
.retter-home-menu a:hover,
.retter-home-categories:hover,
.retter-home-topbar__cta:hover{color:var(--retter-blue)}

.retter-home-tool--cart em{
  position:absolute;
  top:-6px;
  right:2px;
  min-width:18px;
  height:18px;
  padding:0 4px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--retter-red);
  color:#fff;
  font-style:normal;
  font-size:11px;
  font-weight:800;
}

.retter-home-nav{
  border-top:1px solid var(--retter-line);
  background:#fff;
}

.retter-home-nav__inner{
  min-height:70px;
  display:grid;
  grid-template-columns:260px 1fr;
  align-items:center;
  gap:28px;
}

.retter-home-categories{
  min-height:52px;
  display:flex;
  align-items:center;
  gap:14px;
  padding:0 20px;
  border:1px solid #D7E0EC;
  border-radius:6px;
  color:#111827;
  text-decoration:none;
  font-size:16px;
  font-weight:700;
}

.retter-home-menu{
  display:flex;
  align-items:center;
  gap:44px;
  flex-wrap:wrap;
}

.retter-home-menu a{
  position:relative;
  color:#111827;
  text-decoration:none;
  font-size:17px;
  font-weight:600;
}

.retter-home-menu a:first-child{
  color:var(--retter-blue);
}

.retter-home-menu a:first-child::after{
  content:"";
  position:absolute;
  left:0;
  right:0;
  bottom:-23px;
  height:3px;
  border-radius:99px;
  background:var(--retter-blue-2);
}

/* Never let the old Shopwell page title/demo content create a second header on our pages. */
body.page-template-page-kontakty #page-header,
body.page-template-page-kontakty .page-header {
  display:none !important;
}

.retter-global-header .retter-home-mainbar,
.retter-global-header .retter-home-nav,
.retter-global-header .retter-home-topbar {
  width:100%;
}

.retter-global-header .custom-logo-link {
  display:inline-flex;
  align-items:center;
}

.retter-global-header .custom-logo {
  display:block;
  width:auto !important;
  height:auto !important;
  max-width:310px !important;
  max-height:82px !important;
  object-fit:contain;
}

.retter-global-header .retter-home-search input[type="search"] {
  min-width:0;
  box-shadow:none;
}

.retter-global-header .retter-home-search__button {
  padding:0 !important;
  border-radius:0 !important;
}

.retter-global-header .retter-home-search__button:hover {
  background:#082567;
}

.retter-global-header .retter-home-menu a:first-child {
  color:#111827;
}

.retter-global-header .retter-home-menu a:first-child::after {
  display:none;
}

body.home .retter-global-header .retter-home-menu a:first-child {
  color:var(--retter-blue);
}

body.home .retter-global-header .retter-home-menu a:first-child::after {
  display:block;
}

/* Clean internal content shell. */
.retter-inner-page {
  min-height:520px;
  padding:58px 0 72px;
  background:#fff;
}

.retter-inner-page__hero {
  display:grid;
  grid-template-columns:minmax(0,1fr) 420px;
  gap:48px;
  align-items:center;
  padding:48px 52px;
  border:1px solid #E2EAF4;
  border-radius:24px;
  background:linear-gradient(135deg,#F7FAFE 0%,#E0FFFF 100%);
}

.retter-inner-page__eyebrow {
  margin:0 0 12px;
  color:var(--retter-blue);
  font-size:14px;
  font-weight:800;
  letter-spacing:.14em;
}

.retter-inner-page h1 {
  margin:0 0 18px;
  color:#0B1220;
  font-size:64px;
  line-height:1;
  letter-spacing:-.04em;
}

.retter-inner-page__lead {
  max-width:760px;
  margin:0;
  color:#526175;
  font-size:21px;
  line-height:1.55;
}

.retter-contact-art {
  position:relative;
  min-height:250px;
  display:grid;
  place-items:center;
}

.retter-contact-art__bubble {
  width:240px;
  height:160px;
  border:10px solid var(--retter-blue);
  border-radius:28px;
  background:#fff;
  position:relative;
  box-shadow:0 22px 50px rgba(8,37,103,.12);
}

.retter-contact-art__bubble:after {
  content:"";
  position:absolute;
  right:26px;
  bottom:-34px;
  width:52px;
  height:52px;
  border-left:10px solid var(--retter-blue);
  border-bottom:10px solid var(--retter-blue);
  background:#fff;
  transform:skewY(-35deg);
}

.retter-contact-art__dots {
  position:absolute;
  display:flex;
  gap:16px;
}

.retter-contact-art__dots span {
  width:18px;
  height:18px;
  border-radius:50%;
  background:#008CF0;
}

.retter-contact-grid {
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:28px;
}

.retter-contact-card {
  min-height:180px;
  padding:28px;
  border:1px solid #E3EAF2;
  border-radius:18px;
  background:#fff;
}

.retter-contact-card__icon {
  width:50px;
  height:50px;
  display:grid;
  place-items:center;
  margin-bottom:18px;
  border-radius:14px;
  background:#E0FFFF;
  color:var(--retter-blue);
}

.retter-contact-card__icon svg {
  width:25px;
  height:25px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.retter-contact-card h2 {
  margin:0 0 8px;
  color:#0F172A;
  font-size:24px;
}

.retter-contact-card p {
  margin:0 0 18px;
  color:#667085;
  font-size:16px;
  line-height:1.5;
}

.retter-contact-card a {
  color:var(--retter-blue);
  font-weight:800;
  text-decoration:none;
}

.retter-contact-note {
  margin-top:28px;
  padding:20px 24px;
  border-left:4px solid var(--retter-blue);
  background:#F8FAFC;
  color:#667085;
  font-size:15px;
  line-height:1.55;
}

@media (max-width:1100px) {
  .retter-inner-page__hero {
    grid-template-columns:1fr;
  }
  .retter-contact-art {
    display:none;
  }
  .retter-contact-grid {
    grid-template-columns:1fr;
  }
}


/* =========================================================
   RETTER 0.2.8 — header stability/search fix
   ========================================================= */

/* Keep the whole header sticky without changing its height while scrolling.
   This removes the previous "jitter" caused by collapsing rows. */
.retter-global-header{
  position:sticky !important;
  top:0 !important;
  z-index:99999 !important;
  width:100%;
  background:#fff;
  box-shadow:0 2px 14px rgba(15,23,42,.08);
}

.admin-bar .retter-global-header{
  top:32px !important;
}

.retter-global-header.is-stuck,
.retter-global-header.is-stuck .retter-home-topbar,
.retter-global-header.is-stuck .retter-home-mainbar,
.retter-global-header.is-stuck .retter-home-nav,
.retter-global-header.is-stuck .retter-home-mainbar__inner,
.retter-global-header.is-stuck .retter-home-nav__inner{
  max-height:none !important;
  min-height:initial;
  opacity:1 !important;
  transform:none !important;
}

/* Service notice */
.retter-site-notice{
  min-height:38px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:7px 20px;
  background:#FFF4D8;
  border-bottom:1px solid #F4D68A;
  color:#7A5200;
  font-size:14px;
  font-weight:800;
  text-align:center;
}

/* Header desktop layout: logo no longer collides with search on inner pages. */
@media (min-width:1025px){
  .retter-home-mainbar__inner{
    display:grid !important;
    grid-template-columns:minmax(280px,340px) minmax(380px,1fr) auto !important;
    gap:28px !important;
    align-items:center !important;
  }

  .retter-home-branding{
    min-width:0;
  }

  .retter-home-logo{
    display:flex !important;
    align-items:center;
    min-width:0;
  }

  .retter-home-logo .custom-logo{
    max-width:320px !important;
    max-height:82px !important;
    width:auto !important;
    height:auto !important;
    object-fit:contain;
  }

  .retter-home-search{
    min-width:0 !important;
    width:100% !important;
    grid-template-columns:minmax(0,1fr) 64px !important;
  }

  .retter-home-search input[type="search"]{
    width:100% !important;
    min-width:0 !important;
  }

  .retter-home-tools{
    flex:0 0 auto;
    white-space:nowrap;
  }
}

/* Search: category selector completely removed. */
.retter-home-search__cat{
  display:none !important;
}

.retter-home-search{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) 64px !important;
  overflow:hidden;
}

.retter-home-search__button{
  display:grid !important;
  place-items:center !important;
  width:64px !important;
  min-width:64px !important;
  padding:0 !important;
  background:#008CF0 !important;
  color:#fff !important;
  border:0 !important;
  cursor:pointer;
}

.retter-home-search__button svg{
  display:block !important;
  width:27px !important;
  height:27px !important;
  fill:none !important;
  stroke:#fff !important;
  stroke-width:2.4 !important;
  stroke-linecap:round !important;
  stroke-linejoin:round !important;
  visibility:visible !important;
  opacity:1 !important;
}

.retter-home-search__button:hover{
  background:#082567 !important;
}

/* Do not let any parent theme rule hide the icon. */
.retter-home-search__button svg circle,
.retter-home-search__button svg path{
  stroke:#fff !important;
  fill:none !important;
}

/* Mobile admin bar fallback */
@media (max-width:782px){
  .admin-bar .retter-global-header{
    top:46px !important;
  }
}


/* =========================================================
   RETTER 0.2.9 — remove extra top white strip
   ========================================================= */
html,
body{
  margin-top:0 !important;
  padding-top:0 !important;
}

#page,
.site,
.site-content{
  margin-top:0 !important;
  padding-top:0 !important;
}

.retter-global-header{
  margin-top:0 !important;
}

/* WordPress admin-bar spacing must not create a second white band. */
body.admin-bar{
  margin-top:0 !important;
  padding-top:0 !important;
}

body.admin-bar #wpadminbar{
  position:fixed !important;
  top:0 !important;
}

body.admin-bar .retter-global-header{
  top:32px !important;
}

@media (max-width:782px){
  body.admin-bar .retter-global-header{
    top:46px !important;
  }
}

/* Remove parent-theme top spacer if it appears before our header. */
body > .site-before-header,
body > .header-spacer,
body > .site-header-spacer,
#page > .site-before-header,
#page > .header-spacer,
#page > .site-header-spacer{
  display:none !important;
  height:0 !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
}


/* =========================================================
   RETTER 0.2.10 — compact sticky navigation
   Fix: full header no longer covers page functionality
   ========================================================= */

/* The whole large header stays in normal document flow. */
.retter-global-header{
  position:relative !important;
  top:auto !important;
  z-index:50 !important;
  box-shadow:none !important;
}

/* Only the compact navigation row sticks while scrolling. */
.retter-global-header .retter-home-nav{
  position:sticky !important;
  top:0 !important;
  z-index:9990 !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(15,23,42,.08);
}

/* WordPress admin toolbar offset */
.admin-bar .retter-global-header .retter-home-nav{
  top:32px !important;
}

/* Give internal pages clear breathing room after the header. */
body:not(.home) .site-content{
  padding-top:26px !important;
}

/* WooCommerce/catalog pages must not pull their toolbar under the header. */
body.woocommerce-shop .site-content,
body.post-type-archive-product .site-content,
body.tax-product_cat .site-content,
body.tax-product_tag .site-content,
body.woocommerce-account .site-content,
body.woocommerce-cart .site-content,
body.woocommerce-checkout .site-content{
  padding-top:34px !important;
}

/* Neutralize negative top offsets from demo layouts. */
body:not(.home) .site-content-container,
body:not(.home) .content-area,
body:not(.home) .site-main{
  margin-top:0 !important;
  transform:none !important;
}

/* Keep product result controls and sidebars visible below nav. */
.woocommerce .shop-toolbar,
.woocommerce .products-toolbar,
.woocommerce .catalog-toolbar,
.woocommerce .shopwell-products-toolbar,
.woocommerce .woocommerce-products-header{
  position:relative;
  z-index:1;
}

/* No collapsing animation/jitter. */
.retter-global-header,
.retter-global-header *,
.retter-global-header .retter-home-topbar,
.retter-global-header .retter-home-mainbar,
.retter-global-header .retter-home-nav{
  scroll-margin-top:80px;
}

@media (max-width:782px){
  .admin-bar .retter-global-header .retter-home-nav{
    top:46px !important;
  }
}


/* =========================================================
   RETTER 0.2.11
   Sticky: ONLY the bottom navigation strip.
   ========================================================= */

/* Entire upper header stays in normal page flow. */
.retter-global-header{
  position:relative !important;
  top:auto !important;
  z-index:50 !important;
  box-shadow:none !important;
}

/* Top notice, blue promo row and logo/search row do NOT stick. */
.retter-site-notice,
.retter-global-header .retter-home-topbar,
.retter-global-header .retter-home-mainbar{
  position:relative !important;
  top:auto !important;
}

/* ONLY this row moves/stays visible while scrolling. */
.retter-global-header .retter-home-nav{
  position:sticky !important;
  top:0 !important;
  z-index:9999 !important;
  background:#fff !important;
  box-shadow:0 6px 18px rgba(15,23,42,.10);
}

/* Logged-in WordPress admin toolbar offset. */
.admin-bar .retter-global-header .retter-home-nav{
  top:32px !important;
}

/* Keep a comfortable gap between sticky navigation and inner page content. */
body:not(.home) .site-content{
  padding-top:56px !important;
}

body.woocommerce-shop .site-content,
body.post-type-archive-product .site-content,
body.tax-product_cat .site-content,
body.tax-product_tag .site-content,
body.woocommerce-account .site-content,
body.woocommerce-cart .site-content,
body.woocommerce-checkout .site-content{
  padding-top:64px !important;
}

@media (max-width:782px){
  .admin-bar .retter-global-header .retter-home-nav{
    top:46px !important;
  }
}


/* =========================================================
   RETTER 0.2.12 — responsive homepage
   Phone first, then tablet
   ========================================================= */

/* -------- TABLET -------- */
@media (max-width:1024px){
  .retter-container{
    width:calc(100% - 28px) !important;
    margin-left:14px !important;
    margin-right:14px !important;
  }

  .retter-site-notice{
    min-height:34px;
    padding:6px 12px;
    font-size:12px;
    line-height:1.25;
  }

  .retter-home-topbar__inner{
    min-height:40px;
  }

  .retter-home-topbar__text{
    font-size:13px;
  }

  .retter-home-mainbar__inner{
    min-height:auto !important;
    display:grid !important;
    grid-template-columns:220px minmax(0,1fr) auto !important;
    gap:14px !important;
    padding:12px 0;
  }

  .retter-home-logo .custom-logo{
    max-width:215px !important;
    max-height:64px !important;
  }

  .retter-home-search{
    height:48px !important;
  }

  .retter-home-search input[type="search"]{
    padding:0 14px !important;
    font-size:14px !important;
  }

  .retter-home-search__button{
    width:54px !important;
    min-width:54px !important;
  }

  .retter-home-tools{
    gap:10px !important;
  }

  .retter-home-tool{
    min-width:50px !important;
    font-size:11px !important;
  }

  .retter-home-tool svg{
    width:22px !important;
    height:22px !important;
  }

  .retter-home-nav__inner{
    min-height:58px !important;
    display:grid !important;
    grid-template-columns:200px 1fr !important;
    gap:18px !important;
  }

  .retter-home-categories{
    min-height:46px !important;
    padding:0 14px !important;
    font-size:14px !important;
  }

  .retter-home-menu{
    gap:18px !important;
    flex-wrap:nowrap !important;
    overflow-x:auto;
    scrollbar-width:none;
  }

  .retter-home-menu::-webkit-scrollbar{display:none}

  .retter-home-menu a{
    flex:0 0 auto;
    font-size:14px !important;
    white-space:nowrap;
  }

  .retter-footer__grid{
    grid-template-columns:1.2fr 1fr 1fr !important;
    gap:30px !important;
  }

  .retter-footer__grid > div:last-child{
    grid-column:2 / 4;
  }
}

/* -------- PHONE -------- */
@media (max-width:767px){
  html, body{
    overflow-x:hidden !important;
  }

  .retter-container{
    width:calc(100% - 24px) !important;
    margin-left:12px !important;
    margin-right:12px !important;
  }

  /* service notice */
  .retter-site-notice{
    min-height:32px;
    padding:6px 10px;
    font-size:11px;
    line-height:1.25;
  }

  /* blue strip */
  .retter-home-topbar__inner{
    min-height:38px;
    gap:8px;
  }

  .retter-home-topbar__text{
    font-size:11px !important;
    max-width:68%;
    line-height:1.15;
  }

  .retter-home-topbar__icon{
    display:none;
  }

  .retter-home-topbar__cta{
    font-size:11px !important;
  }

  /* logo + search */
  .retter-home-mainbar__inner{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    grid-template-areas:
      "logo tools"
      "search search" !important;
    gap:10px 12px !important;
    padding:10px 0 12px !important;
  }

  .retter-home-branding{
    grid-area:logo;
    min-width:0;
  }

  .retter-home-logo .custom-logo{
    max-width:190px !important;
    max-height:58px !important;
  }

  .retter-home-search{
    grid-area:search;
    width:100% !important;
    height:46px !important;
    grid-template-columns:minmax(0,1fr) 50px !important;
    border-radius:8px !important;
  }

  .retter-home-search input[type="search"]{
    width:100% !important;
    min-width:0 !important;
    padding:0 13px !important;
    font-size:13px !important;
  }

  .retter-home-search__button{
    width:50px !important;
    min-width:50px !important;
  }

  .retter-home-search__button svg{
    width:24px !important;
    height:24px !important;
  }

  .retter-home-tools{
    grid-area:tools;
    display:flex !important;
    justify-content:flex-end !important;
    gap:8px !important;
  }

  .retter-home-tool{
    min-width:32px !important;
    gap:0 !important;
    font-size:0 !important;
  }

  .retter-home-tool span{
    display:none !important;
  }

  .retter-home-tool svg{
    width:23px !important;
    height:23px !important;
  }

  .retter-home-tool--cart em{
    top:-8px !important;
    right:-8px !important;
  }

  /* Sticky mobile row: only navigation, compact */
  .retter-home-nav{
    position:sticky !important;
    top:0 !important;
    z-index:9999 !important;
  }

  .admin-bar .retter-home-nav{
    top:46px !important;
  }

  .retter-home-nav__inner{
    min-height:52px !important;
    display:block !important;
    padding:0 !important;
  }

  .retter-home-categories{
    display:none !important;
  }

  .retter-home-menu{
    min-height:52px;
    display:flex !important;
    align-items:center !important;
    gap:0 !important;
    overflow-x:auto !important;
    padding:0 2px !important;
    scrollbar-width:none;
  }

  .retter-home-menu::-webkit-scrollbar{display:none}

  .retter-home-menu a{
    flex:0 0 auto;
    display:flex;
    align-items:center;
    min-height:52px;
    padding:0 15px;
    font-size:13px !important;
    font-weight:700 !important;
    white-space:nowrap;
  }

  body.home .retter-home-menu a:first-child::after{
    bottom:0 !important;
  }

  /* internal content spacing on phone */
  body:not(.home) .site-content,
  body.woocommerce-shop .site-content,
  body.post-type-archive-product .site-content,
  body.tax-product_cat .site-content,
  body.tax-product_tag .site-content,
  body.woocommerce-account .site-content,
  body.woocommerce-cart .site-content,
  body.woocommerce-checkout .site-content{
    padding-top:28px !important;
  }

  /* footer */
  .retter-footer{
    padding:34px 0 18px !important;
  }

  .retter-footer__grid{
    grid-template-columns:1fr !important;
    gap:22px !important;
    padding-bottom:26px !important;
  }

  .retter-footer__grid > div:last-child{
    grid-column:auto !important;
  }

  .retter-footer .custom-logo{
    max-width:200px !important;
  }

  .retter-footer__bottom{
    display:block !important;
    line-height:1.5;
  }

  .retter-footer__legal{
    display:block !important;
    margin-top:12px;
  }

  .retter-footer__legal a{
    margin:5px 0 !important;
  }

  /* cart drawer */
  .retter-cart-drawer{
    width:100vw !important;
    max-width:100vw !important;
  }
}


/* 0.2.13 mobile header fix: prevent logo/tools overlap */
@media (max-width:767px){
  .retter-home-mainbar__inner{
    grid-template-columns:minmax(0,1fr) auto !important;
    align-items:center !important;
  }

  .retter-home-branding{
    min-width:0 !important;
    max-width:calc(100vw - 150px) !important;
    overflow:hidden !important;
  }

  .retter-home-logo,
  .retter-home-logo .custom-logo-link{
    display:block !important;
    max-width:100% !important;
  }

  .retter-home-logo .custom-logo,
  .retter-global-header .retter-home-logo .custom-logo{
    display:block !important;
    width:auto !important;
    max-width:170px !important;
    max-height:52px !important;
  }

  .retter-home-tools{
    min-width:auto !important;
    flex-wrap:nowrap !important;
    flex-shrink:0 !important;
    gap:6px !important;
  }

  .retter-home-tool{
    min-width:24px !important;
    padding:0 !important;
  }

  .retter-home-tool svg{
    width:20px !important;
    height:20px !important;
  }

  .retter-home-tool--cart em{
    top:-6px !important;
    right:-6px !important;
    min-width:16px !important;
    height:16px !important;
    font-size:10px !important;
  }
}

@media (max-width:420px){
  .retter-home-branding{
    max-width:calc(100vw - 136px) !important;
  }

  .retter-home-logo .custom-logo,
  .retter-global-header .retter-home-logo .custom-logo{
    max-width:150px !important;
    max-height:46px !important;
  }

  .retter-home-tools{
    gap:4px !important;
  }

  .retter-home-tool svg{
    width:19px !important;
    height:19px !important;
  }
}


/* =========================================================
   RETTER 0.2.14 — FULL TABLET ADAPTATION
   768–1024px
   ========================================================= */
@media (min-width:768px) and (max-width:1024px){

  html, body{
    overflow-x:hidden !important;
  }

  .retter-container{
    width:calc(100% - 32px) !important;
    margin-left:16px !important;
    margin-right:16px !important;
  }

  /* service notice */
  .retter-site-notice{
    min-height:34px !important;
    padding:7px 14px !important;
    font-size:12px !important;
    line-height:1.25 !important;
  }

  /* blue promo */
  .retter-home-topbar__inner{
    min-height:42px !important;
    gap:14px !important;
  }

  .retter-home-topbar__text{
    max-width:72% !important;
    font-size:13px !important;
    line-height:1.2 !important;
  }

  .retter-home-topbar__cta{
    font-size:13px !important;
  }

  /* logo / search / icons */
  .retter-home-mainbar__inner{
    min-height:auto !important;
    display:grid !important;
    grid-template-columns:210px minmax(260px,1fr) auto !important;
    gap:14px !important;
    align-items:center !important;
    padding:12px 0 !important;
  }

  .retter-home-branding{
    min-width:0 !important;
  }

  .retter-home-logo,
  .retter-home-logo .custom-logo-link{
    display:block !important;
    max-width:100% !important;
  }

  .retter-home-logo .custom-logo,
  .retter-global-header .retter-home-logo .custom-logo{
    width:auto !important;
    height:auto !important;
    max-width:205px !important;
    max-height:62px !important;
    object-fit:contain !important;
  }

  .retter-home-search{
    width:100% !important;
    height:50px !important;
    grid-template-columns:minmax(0,1fr) 54px !important;
    border-radius:8px !important;
  }

  .retter-home-search input[type="search"]{
    width:100% !important;
    min-width:0 !important;
    padding:0 14px !important;
    font-size:14px !important;
  }

  .retter-home-search__button{
    width:54px !important;
    min-width:54px !important;
  }

  .retter-home-search__button svg{
    width:24px !important;
    height:24px !important;
  }

  .retter-home-tools{
    display:flex !important;
    align-items:center !important;
    justify-content:flex-end !important;
    gap:8px !important;
    flex-wrap:nowrap !important;
    min-width:max-content !important;
  }

  .retter-home-tool{
    min-width:46px !important;
    gap:4px !important;
    font-size:10px !important;
  }

  .retter-home-tool span{
    display:block !important;
    white-space:nowrap !important;
  }

  .retter-home-tool svg{
    width:21px !important;
    height:21px !important;
  }

  .retter-home-tool--cart em{
    top:-6px !important;
    right:0 !important;
  }

  /* sticky navigation row */
  .retter-home-nav{
    position:sticky !important;
    top:0 !important;
    z-index:9999 !important;
  }

  .admin-bar .retter-home-nav{
    top:32px !important;
  }

  .retter-home-nav__inner{
    min-height:58px !important;
    display:grid !important;
    grid-template-columns:190px 1fr !important;
    gap:14px !important;
  }

  .retter-home-categories{
    min-height:46px !important;
    padding:0 14px !important;
    font-size:13px !important;
  }

  .retter-home-categories svg{
    width:21px !important;
    height:21px !important;
  }

  .retter-home-menu{
    display:flex !important;
    align-items:center !important;
    gap:0 !important;
    overflow-x:auto !important;
    flex-wrap:nowrap !important;
    scrollbar-width:none;
  }

  .retter-home-menu::-webkit-scrollbar{
    display:none;
  }

  .retter-home-menu a{
    flex:0 0 auto !important;
    padding:0 13px !important;
    font-size:13px !important;
    white-space:nowrap !important;
  }

  body.home .retter-home-menu a:first-child::after{
    bottom:-19px !important;
  }

  /* internal pages */
  body:not(.home) .site-content,
  body.woocommerce-shop .site-content,
  body.post-type-archive-product .site-content,
  body.tax-product_cat .site-content,
  body.tax-product_tag .site-content,
  body.woocommerce-account .site-content,
  body.woocommerce-cart .site-content,
  body.woocommerce-checkout .site-content{
    padding-top:42px !important;
  }

  body .container,
  body .site-content-container,
  body .woocommerce .container,
  body .page-header .container,
  body .site-breadcrumb .container{
    width:calc(100% - 32px) !important;
    max-width:none !important;
    margin-left:16px !important;
    margin-right:16px !important;
  }

  /* account */
  .woocommerce-account .woocommerce{
    grid-template-columns:220px minmax(0,1fr) !important;
    gap:24px !important;
  }

  .woocommerce-account .woocommerce-MyAccount-content{
    padding:22px !important;
  }

  /* cart */
  body.woocommerce-cart .woocommerce{
    width:100% !important;
  }

  /* footer */
  .retter-footer{
    padding:42px 0 22px !important;
  }

  .retter-footer__grid{
    grid-template-columns:1.25fr 1fr 1fr !important;
    gap:28px !important;
  }

  .retter-footer__grid > div:last-child{
    grid-column:2 / 4 !important;
  }

  .retter-footer .custom-logo{
    max-width:215px !important;
  }

  .retter-footer h3{
    font-size:16px !important;
  }

  .retter-footer a{
    font-size:14px !important;
  }

  .retter-cart-drawer{
    width:min(480px, 70vw) !important;
  }
}


/* =========================================================
   RETTER 0.2.16 — regression fix
   Safe full-width header + PC account + mobile logo/tools
   ========================================================= */

/* Safe full-width site/header: no 100vw breakout hacks. */
html, body, #page, .site{
  width:100% !important;
  max-width:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

.retter-global-header{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}

/* ---------- DESKTOP: restore normal account layout ---------- */
@media (min-width:1025px){
  .woocommerce-account .site-content-container{
    width:calc(100% - 64px) !important;
    max-width:none !important;
    margin-left:32px !important;
    margin-right:32px !important;
  }

  .woocommerce-account .woocommerce{
    display:grid !important;
    grid-template-columns:300px minmax(0,1fr) !important;
    gap:40px !important;
    align-items:start !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation{
    width:300px !important;
    min-width:300px !important;
    max-width:300px !important;
    float:none !important;
    padding:10px !important;
    overflow:visible !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation ul{
    display:block !important;
    width:100% !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation li{
    display:block !important;
    width:100% !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation a{
    display:block !important;
    width:100% !important;
    padding:13px 16px !important;
    white-space:normal !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    writing-mode:horizontal-tb !important;
    text-orientation:mixed !important;
  }

  .woocommerce-account .woocommerce-MyAccount-content{
    width:100% !important;
    min-width:0 !important;
    float:none !important;
    padding:30px !important;
  }
}

/* ---------- TABLET: keep account usable ---------- */
@media (min-width:768px) and (max-width:1024px){
  .woocommerce-account .woocommerce{
    grid-template-columns:220px minmax(0,1fr) !important;
    gap:24px !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation{
    width:220px !important;
    min-width:220px !important;
    max-width:220px !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation a{
    white-space:normal !important;
    word-break:normal !important;
    writing-mode:horizontal-tb !important;
  }
}

/* ---------- PHONE: logo and tool icons must never overlap ---------- */
@media (max-width:767px){
  .retter-home-mainbar__inner{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 132px !important;
    grid-template-areas:
      "logo tools"
      "search search" !important;
    align-items:center !important;
    column-gap:8px !important;
    row-gap:10px !important;
  }

  .retter-home-branding{
    grid-area:logo !important;
    min-width:0 !important;
    overflow:hidden !important;
  }

  .retter-home-logo,
  .retter-home-logo .custom-logo-link{
    display:block !important;
    width:auto !important;
    max-width:100% !important;
  }

  .retter-home-logo .custom-logo,
  .retter-global-header .retter-home-logo .custom-logo{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:142px !important;
    max-height:44px !important;
    object-fit:contain !important;
  }

  .retter-home-tools{
    grid-area:tools !important;
    width:132px !important;
    min-width:132px !important;
    max-width:132px !important;
    display:grid !important;
    grid-template-columns:repeat(4, 1fr) !important;
    align-items:center !important;
    justify-items:center !important;
    gap:0 !important;
    overflow:visible !important;
  }

  .retter-home-tool{
    width:30px !important;
    min-width:30px !important;
    max-width:30px !important;
    height:34px !important;
    padding:0 !important;
    margin:0 !important;
    display:grid !important;
    place-items:center !important;
    position:relative !important;
  }

  .retter-home-tool span{
    display:none !important;
  }

  .retter-home-tool svg{
    width:20px !important;
    height:20px !important;
  }

  .retter-home-tool--cart em{
    position:absolute !important;
    top:-4px !important;
    right:-4px !important;
    min-width:15px !important;
    height:15px !important;
    padding:0 3px !important;
    font-size:9px !important;
  }

  .retter-home-search{
    grid-area:search !important;
  }

  .woocommerce-account .woocommerce{
    grid-template-columns:1fr !important;
  }

  .woocommerce-account .woocommerce-MyAccount-navigation{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }
}

@media (max-width:390px){
  .retter-home-mainbar__inner{
    grid-template-columns:minmax(0,1fr) 120px !important;
  }

  .retter-home-logo .custom-logo,
  .retter-global-header .retter-home-logo .custom-logo{
    max-width:130px !important;
    max-height:42px !important;
  }

  .retter-home-tools{
    width:120px !important;
    min-width:120px !important;
    max-width:120px !important;
  }

  .retter-home-tool{
    width:28px !important;
    min-width:28px !important;
    max-width:28px !important;
  }

  .retter-home-tool svg{
    width:19px !important;
    height:19px !important;
  }
}


/* =========================================================
   RETTER 0.2.17 — account + vendor registration
   ========================================================= */

/* ACCOUNT PAGE */
.retter-account-page{
  padding:52px 0 72px;
  background:#F8FAFC;
}

.retter-account-hero{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:30px;
  margin-bottom:28px;
  padding:34px 40px;
  border:1px solid #E1E8F0;
  border-radius:22px;
  background:
    radial-gradient(circle at 90% 20%, rgba(0,140,240,.14), transparent 24%),
    #fff;
}

.retter-account-hero__eyebrow{
  margin:0 0 8px;
  color:#082567;
  font-size:13px;
  font-weight:800;
  letter-spacing:.12em;
}

.retter-account-hero h1{
  margin:0 0 10px;
  color:#0F172A;
  font-size:42px;
  line-height:1;
}

.retter-account-hero p{
  margin:0;
  color:#667085;
  font-size:17px;
}

.retter-account-hero__icon{
  width:76px;
  height:76px;
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:22px;
  background:#E0FFFF;
  color:#082567;
}

.retter-account-hero__icon svg{
  width:38px;
  height:38px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.retter-account-shell{
  padding:26px;
  border:1px solid #E1E8F0;
  border-radius:22px;
  background:#fff;
}

/* Override the old narrow / broken Woo account navigation */
.retter-account-shell .woocommerce{
  display:grid !important;
  grid-template-columns:280px minmax(0,1fr) !important;
  gap:28px !important;
  align-items:start !important;
}

.retter-account-shell .woocommerce-MyAccount-navigation{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  padding:12px !important;
  border:0 !important;
  border-radius:16px !important;
  background:#F5F8FC !important;
}

.retter-account-shell .woocommerce-MyAccount-navigation ul{
  margin:0 !important;
  padding:0 !important;
}

.retter-account-shell .woocommerce-MyAccount-navigation li{
  width:100% !important;
  margin:0 0 6px !important;
  list-style:none !important;
}

.retter-account-shell .woocommerce-MyAccount-navigation li:last-child{
  margin-bottom:0 !important;
}

.retter-account-shell .woocommerce-MyAccount-navigation a{
  display:flex !important;
  align-items:center !important;
  min-height:48px !important;
  width:100% !important;
  padding:0 15px !important;
  border-radius:11px !important;
  color:#475569 !important;
  font-size:15px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  white-space:normal !important;
  word-break:normal !important;
  writing-mode:horizontal-tb !important;
  text-decoration:none !important;
}

.retter-account-shell .woocommerce-MyAccount-navigation .is-active a,
.retter-account-shell .woocommerce-MyAccount-navigation a:hover{
  background:linear-gradient(135deg,#082567,#008CF0) !important;
  color:#fff !important;
}

.retter-account-shell .woocommerce-MyAccount-content{
  width:100% !important;
  min-height:420px !important;
  padding:28px !important;
  border:1px solid #E5EAF1 !important;
  border-radius:16px !important;
  background:#fff !important;
}

.retter-account-shell .woocommerce-MyAccount-content h2,
.retter-account-shell .woocommerce-MyAccount-content h3{
  color:#0F172A;
}

.retter-account-shell .woocommerce-MyAccount-content a{
  color:#082567;
}

/* VENDOR REGISTER */
.retter-vendor-register-page{
  padding:52px 0 72px;
  background:#F8FAFC;
}

.retter-vendor-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) 210px;
  gap:36px;
  align-items:center;
  margin-bottom:28px;
  padding:36px 42px;
  border-radius:22px;
  background:
    radial-gradient(circle at 88% 50%, rgba(0,140,240,.18), transparent 24%),
    linear-gradient(135deg,#082567,#008CF0);
  color:#fff;
}

.retter-vendor-hero__eyebrow{
  margin:0 0 9px;
  color:rgba(255,255,255,.78);
  font-size:13px;
  font-weight:800;
  letter-spacing:.13em;
}

.retter-vendor-hero h1{
  margin:0 0 12px;
  color:#fff;
  font-size:46px;
  line-height:1;
}

.retter-vendor-hero p{
  max-width:760px;
  margin:0;
  color:rgba(255,255,255,.88);
  font-size:17px;
  line-height:1.5;
}

.retter-vendor-hero__badge{
  padding:22px;
  border:1px solid rgba(255,255,255,.28);
  border-radius:18px;
  background:rgba(255,255,255,.10);
  text-align:center;
}

.retter-vendor-hero__badge span{
  width:52px;
  height:52px;
  display:grid;
  place-items:center;
  margin:0 auto 10px;
  border-radius:50%;
  background:#fff;
  color:#082567;
  font-size:22px;
  font-weight:900;
}

.retter-vendor-hero__badge strong,
.retter-vendor-hero__badge small{
  display:block;
}

.retter-vendor-hero__badge strong{
  font-size:18px;
}

.retter-vendor-hero__badge small{
  margin-top:4px;
  color:rgba(255,255,255,.75);
}

.retter-vendor-layout{
  display:grid;
  grid-template-columns:330px minmax(0,1fr);
  gap:28px;
  align-items:start;
}

.retter-vendor-info,
.retter-vendor-form-card{
  border:1px solid #E1E8F0;
  border-radius:20px;
  background:#fff;
}

.retter-vendor-info{
  padding:26px;
}

.retter-vendor-info h2{
  margin:0 0 22px;
  color:#0F172A;
  font-size:24px;
}

.retter-vendor-info__item{
  display:grid;
  grid-template-columns:44px 1fr;
  gap:14px;
  padding:16px 0;
  border-top:1px solid #EEF2F6;
}

.retter-vendor-info__item:first-of-type{
  border-top:0;
  padding-top:0;
}

.retter-vendor-info__item > span{
  width:40px;
  height:40px;
  display:grid;
  place-items:center;
  border-radius:11px;
  background:#E0FFFF;
  color:#082567;
  font-size:12px;
  font-weight:900;
}

.retter-vendor-info__item strong{
  display:block;
  margin-bottom:4px;
  color:#0F172A;
}

.retter-vendor-info__item p{
  margin:0;
  color:#667085;
  font-size:14px;
  line-height:1.45;
}

.retter-vendor-form-card__head{
  padding:24px 28px;
  border-bottom:1px solid #E8EDF3;
}

.retter-vendor-form-card__head h2{
  margin:0 0 6px;
  color:#0F172A;
  font-size:27px;
}

.retter-vendor-form-card__head p{
  margin:0;
  color:#667085;
  font-size:14px;
}

.retter-vendor-form-content{
  padding:28px;
}

/* WCFM registration generic cleanup */
.retter-vendor-form-content form,
.retter-vendor-form-content .wcfm_registration_form,
.retter-vendor-form-content #wcfm_membership_registration_form_expander,
.retter-vendor-form-content .wcfm_membership_registration_form_expander{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
}

.retter-vendor-form-content .wcfm_title,
.retter-vendor-form-content label{
  display:block !important;
  margin:0 0 7px !important;
  color:#0F172A !important;
  font-size:15px !important;
  font-weight:700 !important;
}

.retter-vendor-form-content input[type="text"],
.retter-vendor-form-content input[type="email"],
.retter-vendor-form-content input[type="password"],
.retter-vendor-form-content input[type="tel"],
.retter-vendor-form-content input[type="number"],
.retter-vendor-form-content select,
.retter-vendor-form-content textarea,
.retter-vendor-form-content .wcfm-text,
.retter-vendor-form-content .wcfm-select{
  width:100% !important;
  max-width:none !important;
  min-height:52px !important;
  margin:0 0 18px !important;
  padding:0 14px !important;
  border:1px solid #D7E0EA !important;
  border-radius:9px !important;
  background:#fff !important;
  box-shadow:none !important;
  color:#111827 !important;
  font-size:15px !important;
}

.retter-vendor-form-content textarea{
  min-height:120px !important;
  padding:13px 14px !important;
}

.retter-vendor-form-content input[type="submit"],
.retter-vendor-form-content button,
.retter-vendor-form-content .wcfm_submit_button,
.retter-vendor-form-content .wcfm_submit_button_wrapper input{
  min-height:52px !important;
  padding:0 24px !important;
  border:0 !important;
  border-radius:9px !important;
  background:linear-gradient(135deg,#082567,#008CF0) !important;
  color:#fff !important;
  font-size:15px !important;
  font-weight:800 !important;
  cursor:pointer !important;
}

.retter-vendor-form-content .wcfm_ele,
.retter-vendor-form-content .wcfm_registration_form_heading,
.retter-vendor-form-content .wcfm-container{
  max-width:none !important;
}

@media (max-width:1024px){
  .retter-account-shell .woocommerce{
    grid-template-columns:220px minmax(0,1fr) !important;
  }

  .retter-vendor-layout{
    grid-template-columns:280px minmax(0,1fr);
  }
}

@media (max-width:767px){
  .retter-account-page,
  .retter-vendor-register-page{
    padding:26px 0 40px;
  }

  .retter-account-hero{
    padding:24px 20px;
    border-radius:17px;
  }

  .retter-account-hero h1{
    font-size:32px;
  }

  .retter-account-hero__icon{
    display:none;
  }

  .retter-account-shell{
    padding:12px;
  }

  .retter-account-shell .woocommerce{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .retter-account-shell .woocommerce-MyAccount-navigation{
    padding:8px !important;
  }

  .retter-account-shell .woocommerce-MyAccount-content{
    min-height:0 !important;
    padding:18px !important;
  }

  .retter-vendor-hero{
    grid-template-columns:1fr;
    padding:26px 20px;
    border-radius:17px;
  }

  .retter-vendor-hero h1{
    font-size:36px;
  }

  .retter-vendor-hero__badge{
    display:none;
  }

  .retter-vendor-layout{
    grid-template-columns:1fr;
  }

  .retter-vendor-info{
    order:2;
  }

  .retter-vendor-form-card{
    order:1;
  }

  .retter-vendor-form-card__head,
  .retter-vendor-form-content{
    padding:20px;
  }
}


/* =========================================================
   RETTER 0.2.18 — clean catalog / remove demo sidebar
   ========================================================= */

/* Remove Shopwell demo sidebar ("About Us" / lorem ipsum) from catalog. */
body.woocommerce-shop .widget-area,
body.post-type-archive-product .widget-area,
body.tax-product_cat .widget-area,
body.tax-product_tag .widget-area,
body.woocommerce-shop aside.sidebar,
body.post-type-archive-product aside.sidebar,
body.tax-product_cat aside.sidebar,
body.tax-product_tag aside.sidebar,
body.woocommerce-shop .shop-sidebar,
body.post-type-archive-product .shop-sidebar,
body.tax-product_cat .shop-sidebar,
body.tax-product_tag .shop-sidebar{
  display:none !important;
}

/* Catalog uses full available width after sidebar removal. */
body.woocommerce-shop .content-area,
body.post-type-archive-product .content-area,
body.tax-product_cat .content-area,
body.tax-product_tag .content-area,
body.woocommerce-shop .site-main,
body.post-type-archive-product .site-main,
body.tax-product_cat .site-main,
body.tax-product_tag .site-main,
body.woocommerce-shop .woocommerce,
body.post-type-archive-product .woocommerce,
body.tax-product_cat .woocommerce,
body.tax-product_tag .woocommerce{
  width:100% !important;
  max-width:none !important;
  float:none !important;
  margin-left:0 !important;
  margin-right:0 !important;
}

/* Extra safety for demo text widgets in shop page sidebar. */
body.woocommerce-shop .widget_text,
body.post-type-archive-product .widget_text{
  display:none !important;
}


/* =========================================================
   RETTER 0.2.19 — HARD FIX my-account / my-account-2
   ========================================================= */

body.woocommerce-account .site-content{
  padding-top:52px !important;
  padding-bottom:72px !important;
  background:#F8FAFC !important;
}

body.woocommerce-account .site-content-container,
body.woocommerce-account .content-area,
body.woocommerce-account .site-main{
  width:100% !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
}

.retter-account-page{
  padding:0 0 72px !important;
  background:#F8FAFC !important;
}

.retter-account-page .retter-container{
  width:calc(100% - 64px) !important;
  max-width:none !important;
  margin:0 32px !important;
}

.retter-account-hero{
  margin:0 0 28px !important;
}

.retter-account-shell{
  padding:24px !important;
}

.retter-account-shell .woocommerce{
  display:grid !important;
  grid-template-columns:280px minmax(0,1fr) !important;
  gap:28px !important;
  align-items:start !important;
  width:100% !important;
}

.retter-account-shell .woocommerce-MyAccount-navigation{
  width:280px !important;
  min-width:280px !important;
  max-width:280px !important;
  float:none !important;
  margin:0 !important;
  padding:10px !important;
  border:1px solid #E2E8F0 !important;
  border-radius:16px !important;
  background:#F6F8FB !important;
  box-sizing:border-box !important;
}

.retter-account-shell .woocommerce-MyAccount-navigation ul{
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.retter-account-shell .woocommerce-MyAccount-navigation li{
  display:block !important;
  width:100% !important;
  margin:0 0 6px !important;
  padding:0 !important;
  list-style:none !important;
}

.retter-account-shell .woocommerce-MyAccount-navigation li:last-child{
  margin-bottom:0 !important;
}

.retter-account-shell .woocommerce-MyAccount-navigation a{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  width:100% !important;
  min-height:48px !important;
  margin:0 !important;
  padding:0 16px !important;
  border-radius:10px !important;
  color:#475569 !important;
  background:transparent !important;
  font-size:15px !important;
  font-weight:700 !important;
  line-height:1.2 !important;
  text-decoration:none !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
  box-sizing:border-box !important;
}

/* Kill Shopwell/Woo pseudo-icons that are drawing on top of labels. */
.retter-account-shell .woocommerce-MyAccount-navigation a::before,
.retter-account-shell .woocommerce-MyAccount-navigation a::after,
.retter-account-shell .woocommerce-MyAccount-navigation li::before,
.retter-account-shell .woocommerce-MyAccount-navigation li::after{
  content:none !important;
  display:none !important;
}

.retter-account-shell .woocommerce-MyAccount-navigation .is-active a,
.retter-account-shell .woocommerce-MyAccount-navigation a:hover{
  color:#fff !important;
  background:linear-gradient(135deg,#082567,#008CF0) !important;
}

.retter-account-shell .woocommerce-MyAccount-content{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  float:none !important;
  margin:0 !important;
  padding:30px !important;
  border:1px solid #E2E8F0 !important;
  border-radius:16px !important;
  background:#fff !important;
  box-sizing:border-box !important;
}

@media (max-width:1024px){
  .retter-account-page .retter-container{
    width:calc(100% - 32px) !important;
    margin:0 16px !important;
  }

  .retter-account-shell .woocommerce{
    grid-template-columns:220px minmax(0,1fr) !important;
    gap:20px !important;
  }

  .retter-account-shell .woocommerce-MyAccount-navigation{
    width:220px !important;
    min-width:220px !important;
    max-width:220px !important;
  }
}

@media (max-width:767px){
  .retter-account-page .retter-container{
    width:calc(100% - 24px) !important;
    margin:0 12px !important;
  }

  .retter-account-shell{
    padding:10px !important;
  }

  .retter-account-shell .woocommerce{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .retter-account-shell .woocommerce-MyAccount-navigation{
    width:100% !important;
    min-width:0 !important;
    max-width:none !important;
  }

  .retter-account-shell .woocommerce-MyAccount-content{
    padding:18px !important;
  }
}


/* =========================================================
   RETTER 0.2.20 — exact Shopwell account fix
   Parent theme structure:
   .shopwell-myaccount__wrapper + .woocommerce-MyAccount-content
   ========================================================= */

.retter-account-shell .woocommerce{
  display:grid !important;
  grid-template-columns:300px minmax(0,1fr) !important;
  gap:28px !important;
  align-items:start !important;
  width:100% !important;
}

/* THIS is the real Shopwell left column. */
.retter-account-shell .shopwell-myaccount__wrapper{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  float:none !important;
  margin:0 !important;
  padding:18px !important;
  border:1px solid #E2E8F0 !important;
  border-radius:16px !important;
  background:#F7F9FC !important;
  box-sizing:border-box !important;
}

/* Profile block generated by Shopwell above Woo navigation. */
.retter-account-shell .shopwell-myaccount{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  margin:0 0 14px !important;
  padding:0 0 16px !important;
  border-bottom:1px solid #E2E8F0 !important;
}

.retter-account-shell .shopwell-myaccount img{
  width:48px !important;
  height:48px !important;
  flex:0 0 48px !important;
  border-radius:50% !important;
}

.retter-account-shell .shopwell-myaccount__user{
  margin:0 !important;
  min-width:0 !important;
}

.retter-account-shell .shopwell-myaccount__user .text{
  margin:0 0 2px !important;
  color:#0F172A !important;
  font-size:18px !important;
  line-height:1.2 !important;
  font-weight:700 !important;
}

.retter-account-shell .shopwell-myaccount__user .name{
  color:#667085 !important;
  font-size:13px !important;
  line-height:1.2 !important;
}

/* Navigation sits INSIDE Shopwell wrapper. */
.retter-account-shell .woocommerce-MyAccount-navigation{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
}

.retter-account-shell .woocommerce-MyAccount-navigation ul{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}

.retter-account-shell .woocommerce-MyAccount-navigation li{
  display:block !important;
  width:100% !important;
  margin:0 0 6px !important;
  padding:0 !important;
  list-style:none !important;
}

.retter-account-shell .woocommerce-MyAccount-navigation li:last-child{
  margin-bottom:0 !important;
}

.retter-account-shell .woocommerce-MyAccount-navigation a{
  display:block !important;
  width:100% !important;
  min-height:46px !important;
  box-sizing:border-box !important;
  padding:13px 15px !important;
  border-radius:10px !important;
  color:#475569 !important;
  background:transparent !important;
  font-size:15px !important;
  font-weight:700 !important;
  line-height:20px !important;
  white-space:normal !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  writing-mode:horizontal-tb !important;
  text-orientation:mixed !important;
  text-decoration:none !important;
}

/* Shopwell pseudo-icons are removed because they overlap custom labels. */
.retter-account-shell .woocommerce-MyAccount-navigation a::before,
.retter-account-shell .woocommerce-MyAccount-navigation a::after,
.retter-account-shell .woocommerce-MyAccount-navigation li::before,
.retter-account-shell .woocommerce-MyAccount-navigation li::after{
  content:none !important;
  display:none !important;
}

.retter-account-shell .woocommerce-MyAccount-navigation .is-active a,
.retter-account-shell .woocommerce-MyAccount-navigation a:hover{
  color:#fff !important;
  background:linear-gradient(135deg,#082567,#008CF0) !important;
}

/* Right column */
.retter-account-shell .woocommerce-MyAccount-content{
  width:100% !important;
  min-width:0 !important;
  max-width:none !important;
  float:none !important;
  margin:0 !important;
  padding:30px !important;
  border:1px solid #E2E8F0 !important;
  border-radius:16px !important;
  background:#fff !important;
  box-sizing:border-box !important;
}

@media (min-width:768px) and (max-width:1024px){
  .retter-account-shell .woocommerce{
    grid-template-columns:240px minmax(0,1fr) !important;
    gap:20px !important;
  }

  .retter-account-shell .shopwell-myaccount__wrapper{
    padding:14px !important;
  }
}

@media (max-width:767px){
  .retter-account-shell .woocommerce{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }

  .retter-account-shell .shopwell-myaccount__wrapper{
    width:100% !important;
    padding:12px !important;
  }

  .retter-account-shell .woocommerce-MyAccount-content{
    padding:18px !important;
  }
}


/* =========================================================
   RETTER 0.2.21 — catalog full width + categories
   ========================================================= */

@media (min-width:992px){
  body.shopwell-catalog-page.content-sidebar .site-content .site-content-container,
  body.shopwell-catalog-page.sidebar-content .site-content .site-content-container,
  body.woocommerce-shop.content-sidebar .site-content .site-content-container,
  body.woocommerce-shop.sidebar-content .site-content .site-content-container,
  body.post-type-archive-product.content-sidebar .site-content .site-content-container,
  body.post-type-archive-product.sidebar-content .site-content .site-content-container{
    display:block !important;
  }

  body.shopwell-catalog-page.content-sidebar .content-area,
  body.shopwell-catalog-page.sidebar-content .content-area,
  body.woocommerce-shop.content-sidebar .content-area,
  body.woocommerce-shop.sidebar-content .content-area,
  body.post-type-archive-product.content-sidebar .content-area,
  body.post-type-archive-product.sidebar-content .content-area{
    flex:0 0 100% !important;
    flex-basis:100% !important;
    width:100% !important;
    max-width:none !important;
    padding-left:0 !important;
    padding-right:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  body.shopwell-catalog-page .widget-area,
  body.woocommerce-shop .widget-area,
  body.post-type-archive-product .widget-area{
    display:none !important;
  }
}

body.woocommerce-shop ul.products,
body.post-type-archive-product ul.products,
body.tax-product_cat ul.products{
  width:100% !important;
  max-width:none !important;
}

.retter-shop-categories{
  margin:0 0 34px;
  padding:28px;
  border:1px solid #E2E8F0;
  border-radius:20px;
  background:#F8FAFC;
}

.retter-shop-categories__head{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:24px;
  margin-bottom:22px;
}

.retter-shop-categories__head span{
  display:block;
  margin-bottom:5px;
  color:#082567;
  font-size:12px;
  font-weight:800;
  letter-spacing:.13em;
}

.retter-shop-categories__head h2{
  margin:0;
  color:#0F172A;
  font-size:30px;
  line-height:1.1;
}

.retter-shop-categories__head p{
  margin:0;
  color:#667085;
  font-size:14px;
}

.retter-shop-categories__grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:14px;
}

.retter-shop-category{
  min-width:0;
  display:grid;
  grid-template-columns:58px minmax(0,1fr);
  grid-template-rows:auto auto;
  column-gap:13px;
  align-items:center;
  min-height:86px;
  padding:13px;
  border:1px solid #E1E8F0;
  border-radius:14px;
  background:#fff;
  color:#0F172A !important;
  text-decoration:none !important;
  transition:.2s ease;
}

.retter-shop-category:hover{
  transform:translateY(-2px);
  border-color:#B7D6F6;
  box-shadow:0 8px 22px rgba(8,37,103,.08);
}

.retter-shop-category__image{
  grid-row:1 / 3;
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:11px;
  background:#E0FFFF;
}

.retter-shop-category__image img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
}

.retter-shop-category__placeholder{
  color:#082567;
}

.retter-shop-category__placeholder svg{
  width:30px;
  height:30px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.6;
  stroke-linejoin:round;
}

.retter-shop-category__name{
  align-self:end;
  overflow-wrap:anywhere;
  font-size:14px;
  font-weight:800;
  line-height:1.2;
}

.retter-shop-category__count{
  align-self:start;
  color:#7A8798;
  font-size:12px;
  line-height:1.2;
}

@media (max-width:1200px){
  .retter-shop-categories__grid{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }
}

@media (max-width:767px){
  .retter-shop-categories{
    padding:18px 14px;
    border-radius:16px;
  }

  .retter-shop-categories__head{
    display:block;
  }

  .retter-shop-categories__head h2{
    font-size:25px;
  }

  .retter-shop-categories__head p{
    margin-top:7px;
  }

  .retter-shop-categories__grid{
    grid-template-columns:1fr 1fr;
    gap:9px;
  }

  .retter-shop-category{
    display:block;
    min-height:0;
    padding:11px;
  }

  .retter-shop-category__image{
    width:48px;
    height:48px;
    margin-bottom:9px;
  }

  .retter-shop-category__name,
  .retter-shop-category__count{
    display:block;
  }
}


/* =========================================================
   RETTER 0.2.22 — guaranteed categories + info pages
   ========================================================= */

.retter-info-page{
  padding:52px 0 72px;
  background:#F8FAFC;
}

.retter-info-hero{
  padding:40px 44px;
  border:1px solid #E1E8F0;
  border-radius:22px;
  background:
    radial-gradient(circle at 90% 20%, rgba(0,140,240,.14), transparent 24%),
    #fff;
}

.retter-info-eyebrow{
  margin:0 0 9px;
  color:#082567;
  font-size:13px;
  font-weight:800;
  letter-spacing:.13em;
}

.retter-info-hero h1{
  margin:0 0 14px;
  color:#0F172A;
  font-size:48px;
  line-height:1;
  letter-spacing:-.03em;
}

.retter-info-lead{
  max-width:920px;
  margin:0;
  color:#667085;
  font-size:18px;
  line-height:1.55;
}

.retter-info-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:20px;
  margin-top:24px;
}

.retter-info-card{
  min-height:170px;
  padding:26px;
  border:1px solid #E1E8F0;
  border-radius:18px;
  background:#fff;
}

.retter-info-card h2{
  margin:0 0 10px;
  color:#0F172A;
  font-size:22px;
}

.retter-info-card p{
  margin:0;
  color:#667085;
  font-size:15px;
  line-height:1.55;
}

@media (max-width:1024px){
  .retter-info-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:767px){
  .retter-info-page{
    padding:28px 0 42px;
  }

  .retter-info-hero{
    padding:25px 20px;
    border-radius:17px;
  }

  .retter-info-hero h1{
    font-size:36px;
  }

  .retter-info-lead{
    font-size:16px;
  }

  .retter-info-card{
    min-height:0;
    padding:20px;
  }
}


/* =========================================================
   RETTER 0.2.23 — legal text and blank requisites
   ========================================================= */

.retter-legal-sections{
  display:grid;
  gap:16px;
  margin-top:24px;
}

.retter-legal-section{
  padding:26px 28px;
  border:1px solid #E1E8F0;
  border-radius:18px;
  background:#fff;
}

.retter-legal-section h2{
  margin:0 0 12px;
  color:#0F172A;
  font-size:21px;
  line-height:1.3;
}

.retter-legal-section p,
.retter-legal-copy p{
  margin:0 0 10px;
  color:#475569;
  font-size:15px;
  line-height:1.65;
}

.retter-legal-copy p:last-child{
  margin-bottom:0;
}

.retter-legal-blank{
  display:inline-block;
  min-width:280px;
  height:24px;
  margin:0 4px;
  vertical-align:bottom;
  border-bottom:1px solid #94A3B8;
}

.retter-requisites{
  margin-top:24px;
  padding:28px;
  border:1px solid #D6E3F0;
  border-radius:18px;
  background:#F8FAFC;
}

.retter-requisites h2{
  margin:0 0 20px;
  color:#0F172A;
  font-size:24px;
}

.retter-requisites__grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px 28px;
}

.retter-requisites__grid > div{
  min-width:0;
}

.retter-requisites__grid span:first-child{
  display:block;
  margin-bottom:5px;
  color:#64748B;
  font-size:13px;
  font-weight:700;
}

.retter-requisites .retter-legal-blank{
  display:block;
  width:100%;
  min-width:0;
  margin:0;
}

.retter-legal-note{
  margin-top:24px;
  padding:18px 20px;
  border-left:4px solid #082567;
  background:#E0FFFF;
  color:#475569;
  font-size:14px;
  line-height:1.55;
}

@media (max-width:767px){
  .retter-legal-section{
    padding:20px;
  }

  .retter-legal-blank{
    min-width:160px;
  }

  .retter-requisites{
    padding:20px;
  }

  .retter-requisites__grid{
    grid-template-columns:1fr;
    gap:14px;
  }
}


/* =========================================================
   RETTER 0.2.24 — category navigation + legal links
   ========================================================= */

.retter-category-nav{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  margin:0 0 24px;
  padding:16px 18px;
  border:1px solid #E2E8F0;
  border-radius:14px;
  background:#F8FAFC;
}

.retter-category-nav__back{
  flex:0 0 auto;
  color:#082567 !important;
  font-size:15px;
  font-weight:800;
  text-decoration:none !important;
}

.retter-category-breadcrumbs{
  min-width:0;
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  color:#64748B;
  font-size:14px;
  overflow:hidden;
}

.retter-category-breadcrumbs a{
  color:#475569 !important;
  text-decoration:none !important;
  white-space:nowrap;
}

.retter-category-breadcrumbs strong{
  color:#0F172A;
  white-space:nowrap;
}

@media (max-width:767px){
  .retter-category-nav{
    display:block;
    padding:14px;
  }

  .retter-category-breadcrumbs{
    justify-content:flex-start;
    margin-top:10px;
    overflow-x:auto;
    scrollbar-width:none;
  }

  .retter-category-breadcrumbs::-webkit-scrollbar{
    display:none;
  }
}


/* 0.2.25 exact category navigation visibility */
body.tax-product_cat .retter-category-nav{
  margin-top:0 !important;
  margin-bottom:26px !important;
  position:relative !important;
  z-index:2 !important;
}

body.tax-product_cat .retter-category-nav__back{
  display:inline-flex !important;
  align-items:center;
  min-height:42px;
  padding:0 14px;
  border-radius:9px;
  background:#082567;
  color:#fff !important;
}

body.tax-product_cat .retter-category-breadcrumbs{
  display:flex !important;
}

/* Info pages must remain visible even if Shopwell page-builder wrappers are empty. */
body.page .retter-info-page{
  display:block !important;
  min-height:500px;
}


/* =========================================================
   RETTER 0.2.26 — FAQ
   ========================================================= */

.retter-faq-page{
  padding:52px 0 72px;
  background:#F8FAFC;
}

.retter-faq-list{
  display:grid;
  gap:12px;
  margin-top:24px;
}

.retter-faq-item{
  border:1px solid #E1E8F0;
  border-radius:16px;
  background:#fff;
  overflow:hidden;
}

.retter-faq-item summary{
  min-height:68px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:18px 22px;
  cursor:pointer;
  list-style:none;
  color:#0F172A;
  font-size:17px;
  font-weight:800;
}

.retter-faq-item summary::-webkit-details-marker{
  display:none;
}

.retter-faq-item summary svg{
  width:22px;
  height:22px;
  flex:0 0 22px;
  fill:none;
  stroke:#082567;
  stroke-width:2;
  stroke-linecap:round;
  stroke-linejoin:round;
  transition:transform .2s ease;
}

.retter-faq-item[open] summary svg{
  transform:rotate(180deg);
}

.retter-faq-item[open] summary{
  border-bottom:1px solid #E8EDF3;
  background:#F8FBFF;
}

.retter-faq-answer{
  padding:18px 22px 22px;
}

.retter-faq-answer p{
  margin:0;
  color:#526175;
  font-size:15px;
  line-height:1.6;
}

@media (max-width:767px){
  .retter-faq-page{
    padding:28px 0 42px;
  }

  .retter-faq-item summary{
    min-height:60px;
    padding:16px 17px;
    font-size:15px;
  }

  .retter-faq-answer{
    padding:15px 17px 18px;
  }

  .retter-faq-answer p{
    font-size:14px;
  }
}


/* =========================================================
   RETTER 0.2.27 — contacts + expanded FAQ
   ========================================================= */

.retter-contact-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:24px;
}

.retter-contact-card{
  padding:26px;
  border:1px solid #E1E8F0;
  border-radius:18px;
  background:#fff;
}

.retter-contact-card span{
  display:block;
  margin-bottom:8px;
  color:#64748B;
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.retter-contact-card h2{
  margin:0;
  color:#0F172A;
  font-size:23px;
  line-height:1.3;
}

@media (max-width:767px){
  .retter-contact-grid{
    grid-template-columns:1fr;
  }

  .retter-contact-card{
    padding:20px;
  }

  .retter-contact-card h2{
    font-size:20px;
  }
}


/* =========================================================
   RETTER 0.2.28 — hard-routed Contacts page
   ========================================================= */

.retter-hard-contacts{
  display:block !important;
  width:100% !important;
  min-height:560px;
  padding:52px 0 72px;
  background:#F8FAFC;
}

.retter-hard-contacts__wrap{
  width:min(1500px, calc(100% - 64px));
  margin:0 auto;
}

.retter-hard-contacts__hero{
  padding:40px 44px;
  border:1px solid #E1E8F0;
  border-radius:22px;
  background:radial-gradient(circle at 90% 20%, rgba(0,140,240,.14), transparent 24%), #fff;
}

.retter-hard-contacts__eyebrow{
  margin:0 0 9px;
  color:#082567;
  font-size:13px;
  font-weight:800;
  letter-spacing:.13em;
}

.retter-hard-contacts__hero h1{
  margin:0 0 14px;
  color:#0F172A;
  font-size:48px;
  line-height:1;
  letter-spacing:-.03em;
}

.retter-hard-contacts__hero p{
  max-width:900px;
  margin:0;
  color:#667085;
  font-size:18px;
  line-height:1.55;
}

.retter-hard-contacts__grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
  margin-top:24px;
}

.retter-hard-contacts__card{
  padding:28px;
  border:1px solid #E1E8F0;
  border-radius:18px;
  background:#fff;
}

.retter-hard-contacts__card span{
  display:block;
  margin-bottom:8px;
  color:#64748B;
  font-size:13px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.06em;
}

.retter-hard-contacts__card strong{
  display:block;
  color:#0F172A;
  font-size:24px;
  line-height:1.3;
}

@media (max-width:767px){
  .retter-hard-contacts{
    padding:28px 0 42px;
  }

  .retter-hard-contacts__wrap{
    width:min(100% - 28px, 1500px);
  }

  .retter-hard-contacts__hero{
    padding:24px 20px;
    border-radius:17px;
  }

  .retter-hard-contacts__hero h1{
    font-size:36px;
  }

  .retter-hard-contacts__hero p{
    font-size:16px;
  }

  .retter-hard-contacts__grid{
    grid-template-columns:1fr;
  }

  .retter-hard-contacts__card{
    padding:20px;
  }

  .retter-hard-contacts__card strong{
    font-size:20px;
  }
}


/* =========================================================
   RETTER 0.2.31
   FINAL MOBILE LAYER — entire public site
   This block is intentionally last so it wins over Shopwell.
   ========================================================= */

@media (max-width:767px){

  /* ---------- Global ---------- */
  html, body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  body{
    font-size:15px !important;
  }

  #page,
  .site,
  #site-content,
  .site-content,
  .site-main,
  .content-area,
  .site-content-container{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  .retter-container,
  body .container,
  body .site-content-container{
    width:calc(100% - 28px) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-left:0 !important;
    padding-right:0 !important;
  }

  img, svg, video, iframe{
    max-width:100%;
  }

  input,
  select,
  textarea,
  button{
    max-width:100%;
    font-size:16px !important; /* prevent iOS zoom */
  }

  h1{
    overflow-wrap:anywhere;
  }

  /* ---------- Admin bar compatibility ---------- */
  body.admin-bar .retter-home-nav{
    top:46px !important;
  }

  /* ---------- Header: compact, two-row mobile ---------- */
  .retter-site-notice{
    min-height:0 !important;
    padding:7px 12px !important;
    font-size:11px !important;
    line-height:1.35 !important;
    text-align:center !important;
  }

  .retter-home-topbar{
    min-height:0 !important;
  }

  .retter-home-topbar__inner{
    min-height:38px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:8px !important;
  }

  .retter-home-topbar__text{
    min-width:0 !important;
    font-size:11px !important;
    line-height:1.25 !important;
  }

  .retter-home-topbar__icon{
    display:none !important;
  }

  .retter-home-topbar__cta{
    flex:0 0 auto !important;
    font-size:11px !important;
    white-space:nowrap !important;
  }

  .retter-home-mainbar{
    padding:9px 0 10px !important;
  }

  .retter-home-mainbar__inner{
    display:grid !important;
    grid-template-columns:minmax(118px,1fr) auto !important;
    grid-template-areas:
      "brand tools"
      "search search" !important;
    align-items:center !important;
    gap:10px 8px !important;
  }

  .retter-home-branding{
    grid-area:brand !important;
    min-width:0 !important;
  }

  .retter-home-logo{
    display:block !important;
    width:auto !important;
    max-width:136px !important;
    min-width:0 !important;
  }

  .retter-home-logo img,
  .retter-home-logo .custom-logo{
    display:block !important;
    width:auto !important;
    max-width:136px !important;
    max-height:58px !important;
    object-fit:contain !important;
  }

  .retter-home-tools{
    grid-area:tools !important;
    width:auto !important;
    min-width:0 !important;
    display:grid !important;
    grid-template-columns:repeat(4,28px) !important;
    gap:4px !important;
    justify-content:end !important;
    align-items:center !important;
  }

  .retter-home-tool{
    position:relative !important;
    width:28px !important;
    min-width:28px !important;
    height:34px !important;
    min-height:34px !important;
    padding:0 !important;
    display:grid !important;
    place-items:center !important;
  }

  .retter-home-tool svg{
    width:21px !important;
    height:21px !important;
    margin:0 !important;
  }

  .retter-home-tool > span{
    display:none !important;
  }

  .retter-home-tool--cart em{
    position:absolute !important;
    top:-4px !important;
    right:-4px !important;
    min-width:17px !important;
    height:17px !important;
    padding:0 4px !important;
    font-size:10px !important;
    line-height:17px !important;
  }

  .retter-home-search{
    grid-area:search !important;
    width:100% !important;
    min-width:0 !important;
    height:46px !important;
    margin:0 !important;
  }

  .retter-home-search input[type="search"]{
    width:100% !important;
    min-width:0 !important;
    height:46px !important;
    padding:0 52px 0 14px !important;
    font-size:14px !important;
  }

  .retter-home-search__button{
    width:48px !important;
    height:46px !important;
    min-width:48px !important;
  }

  /* only navigation row is sticky */
  .retter-home-nav{
    position:sticky !important;
    top:0 !important;
    z-index:80 !important;
    width:100% !important;
    overflow:hidden !important;
  }

  .retter-home-nav__inner{
    width:100% !important;
    max-width:100% !important;
    padding:0 14px !important;
    margin:0 !important;
    display:block !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    white-space:nowrap !important;
    scrollbar-width:none !important;
  }

  .retter-home-nav__inner::-webkit-scrollbar{
    display:none !important;
  }

  .retter-home-categories{
    display:none !important;
  }

  .retter-home-menu{
    display:inline-flex !important;
    width:max-content !important;
    min-width:max-content !important;
    gap:0 !important;
  }

  .retter-home-menu a{
    flex:0 0 auto !important;
    min-height:48px !important;
    display:flex !important;
    align-items:center !important;
    padding:0 14px !important;
    font-size:14px !important;
    white-space:nowrap !important;
  }

  /* ---------- Homepage ---------- */
  .retter-home{
    overflow:hidden !important;
  }

  .retter-hero__grid{
    display:flex !important;
    flex-direction:column !important;
    min-height:0 !important;
    gap:18px !important;
    padding:28px 0 22px !important;
  }

  .retter-hero__copy,
  .retter-hero__visual{
    width:100% !important;
    min-width:0 !important;
  }

  .retter-kicker{
    margin-bottom:10px !important;
    font-size:11px !important;
    letter-spacing:.12em !important;
  }

  .retter-hero h1{
    max-width:none !important;
    margin-bottom:16px !important;
    font-size:clamp(38px,12vw,52px) !important;
    line-height:1 !important;
    letter-spacing:-.045em !important;
  }

  .retter-hero__lead{
    margin-bottom:20px !important;
    font-size:16px !important;
    line-height:1.5 !important;
  }

  .retter-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .retter-btn{
    width:100% !important;
    min-height:50px !important;
    padding:0 18px !important;
    font-size:15px !important;
  }

  .retter-hero__visual{
    min-height:260px !important;
  }

  .retter-hero__art{
    width:100% !important;
    max-width:420px !important;
    margin:0 auto !important;
  }

  .retter-hero-note{
    position:relative !important;
    top:auto !important;
    right:auto !important;
    max-width:none !important;
    margin:6px auto 0 !important;
    text-align:center !important;
    font-size:17px !important;
  }

  .retter-principles{
    padding:12px 0 !important;
  }

  .retter-principles__grid{
    grid-template-columns:1fr !important;
  }

  .retter-principle{
    min-height:0 !important;
    grid-template-columns:48px minmax(0,1fr) !important;
    gap:12px !important;
    padding:16px !important;
    border-right:0 !important;
    border-bottom:1px solid var(--retter-line) !important;
  }

  .retter-principle:last-child{
    border-bottom:0 !important;
  }

  .retter-principle h2{
    font-size:19px !important;
  }

  .retter-principle p{
    font-size:13px !important;
  }

  .retter-sellers{
    padding:28px 0 !important;
  }

  .retter-sellers__panel{
    display:block !important;
    padding:22px 18px !important;
    border-radius:18px !important;
  }

  .retter-sellers__art{
    display:none !important;
  }

  .retter-sellers__copy h2,
  .retter-section-head h2,
  .retter-final-cta h2{
    font-size:34px !important;
    line-height:1.05 !important;
  }

  .retter-sellers__copy > p:not(.retter-kicker){
    font-size:15px !important;
  }

  .retter-sellers__features{
    grid-template-columns:1fr !important;
    gap:10px !important;
  }

  .retter-feature{
    min-height:0 !important;
    grid-template-columns:46px minmax(0,1fr) !important;
    gap:12px !important;
    padding:14px !important;
  }

  .retter-feature__icon{
    width:44px !important;
    height:44px !important;
  }

  .retter-feature strong{
    font-size:17px !important;
  }

  .retter-feature span{
    font-size:13px !important;
  }

  .retter-steps{
    padding:22px 0 30px !important;
  }

  .retter-steps__grid{
    grid-template-columns:1fr !important;
  }

  .retter-step{
    min-height:0 !important;
    padding:18px !important;
    border-right:0 !important;
    border-bottom:1px solid var(--retter-line) !important;
  }

  .retter-step:last-child{
    border-bottom:0 !important;
  }

  .retter-step strong{
    font-size:18px !important;
  }

  .retter-step p{
    font-size:13px !important;
  }

  .retter-final-cta{
    padding-bottom:28px !important;
  }

  .retter-final-cta__box{
    min-height:0 !important;
    display:block !important;
    padding:22px 18px !important;
    border-radius:18px !important;
  }

  .retter-final-cta__art{
    display:none !important;
  }

  .retter-final-cta .retter-btn{
    min-width:0 !important;
    margin-top:16px !important;
  }

  /* ---------- WooCommerce catalog / category ---------- */
  body.woocommerce-shop .site-content,
  body.post-type-archive-product .site-content,
  body.tax-product_cat .site-content{
    padding-top:16px !important;
  }

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

  body.woocommerce-shop .widget-area,
  body.post-type-archive-product .widget-area,
  body.tax-product_cat .widget-area{
    display:none !important;
  }

  .retter-shop-categories{
    margin:0 0 18px !important;
    padding:16px 12px !important;
    border-radius:14px !important;
  }

  .retter-shop-categories__head{
    display:block !important;
    margin-bottom:14px !important;
  }

  .retter-shop-categories__head h2{
    font-size:24px !important;
  }

  .retter-shop-categories__head p{
    margin-top:6px !important;
    font-size:13px !important;
  }

  .retter-shop-categories__grid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
  }

  .retter-shop-category{
    display:block !important;
    min-height:0 !important;
    padding:10px !important;
  }

  .retter-shop-category__image{
    width:46px !important;
    height:46px !important;
    margin:0 0 8px !important;
  }

  .retter-shop-category__name{
    display:block !important;
    font-size:13px !important;
  }

  .retter-shop-category__count{
    display:block !important;
    margin-top:3px !important;
    font-size:11px !important;
  }

  .retter-category-nav{
    display:block !important;
    margin:0 0 16px !important;
    padding:12px !important;
    border-radius:12px !important;
  }

  .retter-category-nav__back{
    display:inline-flex !important;
    width:auto !important;
    min-height:38px !important;
    padding:0 12px !important;
    font-size:13px !important;
  }

  .retter-category-breadcrumbs{
    width:100% !important;
    justify-content:flex-start !important;
    margin-top:9px !important;
    gap:6px !important;
    overflow-x:auto !important;
    font-size:12px !important;
    white-space:nowrap !important;
  }

  body.woocommerce .woocommerce-result-count,
  body.woocommerce .woocommerce-ordering{
    float:none !important;
    width:100% !important;
    margin:0 0 10px !important;
  }

  body.woocommerce .woocommerce-ordering select{
    width:100% !important;
    height:44px !important;
  }

  /* Shopwell toolbar */
  body.woocommerce .catalog-toolbar,
  body.woocommerce .shop-toolbar,
  body.woocommerce .woocommerce-products-header + *{
    max-width:100% !important;
  }

  body.woocommerce ul.products,
  body.woocommerce-page ul.products{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px 10px !important;
    width:100% !important;
    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:100% !important;
    min-width:0 !important;
    max-width:none !important;
    float:none !important;
    margin:0 !important;
    padding:0 !important;
  }

  body.woocommerce ul.products li.product img{
    width:100% !important;
    height:auto !important;
    max-height:210px !important;
    object-fit:contain !important;
  }

  body.woocommerce ul.products li.product .woocommerce-loop-product__title,
  body.woocommerce ul.products li.product h2,
  body.woocommerce ul.products li.product h3{
    font-size:14px !important;
    line-height:1.3 !important;
    overflow-wrap:anywhere !important;
  }

  body.woocommerce ul.products li.product .price{
    font-size:15px !important;
  }

  body.woocommerce nav.woocommerce-pagination ul{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
  }

  /* ---------- Single product ---------- */
  body.single-product .site-content{
    padding-top:18px !important;
  }

  body.single-product div.product{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
  }

  body.single-product div.product .woocommerce-product-gallery,
  body.single-product div.product .summary{
    float:none !important;
    width:100% !important;
    max-width:100% !important;
    margin:0 0 18px !important;
  }

  body.single-product div.product .woocommerce-product-gallery img{
    width:100% !important;
    height:auto !important;
    object-fit:contain !important;
  }

  body.single-product div.product .product_title{
    font-size:26px !important;
    line-height:1.12 !important;
    overflow-wrap:anywhere !important;
  }

  body.single-product div.product p.price,
  body.single-product div.product span.price{
    font-size:22px !important;
  }

  body.single-product table.variations{
    width:100% !important;
  }

  body.single-product table.variations,
  body.single-product table.variations tbody,
  body.single-product table.variations tr,
  body.single-product table.variations th,
  body.single-product table.variations td{
    display:block !important;
    width:100% !important;
  }

  body.single-product table.variations th{
    padding:8px 0 4px !important;
  }

  body.single-product table.variations td{
    padding:0 0 10px !important;
  }

  body.single-product .quantity{
    max-width:150px !important;
  }

  body.single-product .single_add_to_cart_button{
    min-height:48px !important;
    width:100% !important;
    margin-top:8px !important;
  }

  body.single-product .woocommerce-tabs ul.tabs{
    display:flex !important;
    width:100% !important;
    overflow-x:auto !important;
    white-space:nowrap !important;
    scrollbar-width:none !important;
  }

  body.single-product .woocommerce-tabs ul.tabs li{
    flex:0 0 auto !important;
  }

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

  body.single-product .related.products ul.products,
  body.single-product .upsells.products ul.products{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }

  /* ---------- Cart ---------- */
  body.woocommerce-cart .woocommerce{
    width:100% !important;
    max-width:100% !important;
  }

  body.woocommerce-cart table.shop_table_responsive,
  body.woocommerce-cart table.shop_table{
    width:100% !important;
    border-collapse:separate !important;
  }

  body.woocommerce-cart table.shop_table_responsive thead{
    display:none !important;
  }

  body.woocommerce-cart table.shop_table_responsive tbody,
  body.woocommerce-cart table.shop_table_responsive tr,
  body.woocommerce-cart table.shop_table_responsive td{
    display:block !important;
    width:100% !important;
  }

  body.woocommerce-cart table.shop_table_responsive tr.cart_item{
    margin:0 0 14px !important;
    padding:12px !important;
    border:1px solid #E2E8F0 !important;
    border-radius:12px !important;
    background:#fff !important;
  }

  body.woocommerce-cart table.shop_table_responsive td{
    min-height:34px !important;
    padding:7px 0 !important;
    border:0 !important;
    text-align:right !important;
  }

  body.woocommerce-cart table.shop_table_responsive td::before{
    float:left !important;
    font-weight:700 !important;
  }

  body.woocommerce-cart td.product-thumbnail{
    text-align:left !important;
  }

  body.woocommerce-cart td.product-thumbnail::before{
    display:none !important;
  }

  body.woocommerce-cart td.product-thumbnail img{
    width:90px !important;
    height:90px !important;
    object-fit:contain !important;
  }

  body.woocommerce-cart .actions .coupon{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:8px !important;
    width:100% !important;
  }

  body.woocommerce-cart .actions .coupon input,
  body.woocommerce-cart .actions .coupon button,
  body.woocommerce-cart .actions > button{
    width:100% !important;
    min-height:44px !important;
  }

  body.woocommerce-cart .cart-collaterals,
  body.woocommerce-cart .cart_totals{
    width:100% !important;
    float:none !important;
  }

  /* ---------- Checkout ---------- */
  body.woocommerce-checkout form.checkout{
    display:block !important;
  }

  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout .col2-set,
  body.woocommerce-checkout .col-1,
  body.woocommerce-checkout .col-2,
  body.woocommerce-checkout #order_review,
  body.woocommerce-checkout #order_review_heading{
    width:100% !important;
    max-width:100% !important;
    float:none !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  body.woocommerce-checkout .form-row,
  body.woocommerce-checkout .form-row-first,
  body.woocommerce-checkout .form-row-last,
  body.woocommerce-checkout .form-row-wide{
    width:100% !important;
    float:none !important;
  }

  body.woocommerce-checkout input.input-text,
  body.woocommerce-checkout select,
  body.woocommerce-checkout textarea{
    width:100% !important;
    min-height:44px !important;
  }

  body.woocommerce-checkout #payment{
    padding:14px !important;
  }

  body.woocommerce-checkout #place_order{
    width:100% !important;
    min-height:50px !important;
  }

  /* ---------- My account ---------- */
  .retter-account-shell{
    padding-left:0 !important;
    padding-right:0 !important;
  }

  .retter-account-shell .woocommerce{
    display:block !important;
    width:100% !important;
  }

  .retter-account-shell .shopwell-myaccount__wrapper,
  .retter-account-shell .woocommerce-MyAccount-navigation,
  .retter-account-shell .woocommerce-MyAccount-content{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    float:none !important;
  }

  .retter-account-shell .shopwell-myaccount__wrapper{
    margin:0 0 14px !important;
    padding:12px !important;
  }

  .retter-account-shell .shopwell-myaccount{
    gap:10px !important;
  }

  .retter-account-shell .shopwell-myaccount img{
    width:42px !important;
    height:42px !important;
    flex:0 0 42px !important;
  }

  .retter-account-shell .woocommerce-MyAccount-navigation ul{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:7px !important;
  }

  .retter-account-shell .woocommerce-MyAccount-navigation li{
    margin:0 !important;
  }

  .retter-account-shell .woocommerce-MyAccount-navigation a{
    min-height:42px !important;
    padding:10px 11px !important;
    font-size:13px !important;
  }

  .retter-account-shell .woocommerce-MyAccount-content{
    padding:16px !important;
    border-radius:14px !important;
    overflow-x:auto !important;
  }

  .retter-account-shell .woocommerce-MyAccount-content table{
    min-width:620px;
  }

  /* ---------- Vendor registration / WCFM public forms ---------- */
  .retter-vendor-register,
  .wcfm-membership-wrapper,
  #wcfm_membership_container,
  #wcfm-main-contentainer,
  .wcfm-container,
  .wcfm-content{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }

  .retter-vendor-register{
    padding:24px 0 40px !important;
  }

  .retter-vendor-register__hero,
  .retter-vendor-register__form{
    padding:20px 16px !important;
    border-radius:16px !important;
  }

  .retter-vendor-register h1{
    font-size:34px !important;
    line-height:1.05 !important;
  }

  .wcfm-membership-wrapper .wcfm_ele_wrapper,
  #wcfm_membership_container .wcfm_ele_wrapper{
    width:100% !important;
    float:none !important;
  }

  .wcfm-membership-wrapper input,
  .wcfm-membership-wrapper select,
  .wcfm-membership-wrapper textarea,
  #wcfm_membership_container input,
  #wcfm_membership_container select,
  #wcfm_membership_container textarea{
    width:100% !important;
    max-width:100% !important;
  }

  /* ---------- Informational / legal / FAQ / Contacts ---------- */
  .retter-info-page,
  .retter-faq-page,
  .retter-hard-contacts{
    padding:24px 0 38px !important;
  }

  .retter-info-hero,
  .retter-hard-contacts__hero{
    padding:22px 17px !important;
    border-radius:16px !important;
  }

  .retter-info-hero h1,
  .retter-hard-contacts__hero h1{
    font-size:34px !important;
    line-height:1.04 !important;
  }

  .retter-info-lead,
  .retter-hard-contacts__hero p{
    font-size:15px !important;
    line-height:1.55 !important;
  }

  .retter-info-grid,
  .retter-legal-sections,
  .retter-contact-grid,
  .retter-hard-contacts__grid{
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-top:14px !important;
  }

  .retter-info-card,
  .retter-legal-section,
  .retter-contact-card,
  .retter-hard-contacts__card,
  .retter-requisites{
    padding:17px !important;
    border-radius:14px !important;
  }

  .retter-info-card h2,
  .retter-legal-section h2,
  .retter-requisites h2{
    font-size:19px !important;
  }

  .retter-requisites__grid{
    grid-template-columns:1fr !important;
  }

  .retter-legal-blank{
    width:100% !important;
    min-width:0 !important;
  }

  .retter-faq-list{
    gap:8px !important;
    margin-top:14px !important;
  }

  .retter-faq-item{
    border-radius:12px !important;
  }

  .retter-faq-item summary{
    min-height:54px !important;
    padding:14px !important;
    gap:10px !important;
    font-size:14px !important;
    line-height:1.35 !important;
  }

  .retter-faq-answer{
    padding:13px 14px 15px !important;
  }

  .retter-faq-answer p{
    font-size:14px !important;
  }

  .retter-hard-contacts__wrap{
    width:calc(100% - 28px) !important;
  }

  .retter-hard-contacts__card strong{
    font-size:18px !important;
    overflow-wrap:anywhere !important;
  }

  /* ---------- Generic WP pages / forms / tables ---------- */
  .entry-content,
  .page-content,
  article.page{
    max-width:100% !important;
  }

  .entry-content table,
  .page-content table{
    display:block !important;
    max-width:100% !important;
    overflow-x:auto !important;
    -webkit-overflow-scrolling:touch !important;
  }

  .entry-content pre,
  .page-content pre{
    max-width:100% !important;
    overflow-x:auto !important;
  }

  /* ---------- Footer ---------- */
  .retter-footer{
    padding-top:30px !important;
  }

  .retter-footer__grid{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:24px 18px !important;
  }

  .retter-footer__brand{
    grid-column:1 / -1 !important;
  }

  .retter-footer__brand .custom-logo,
  .retter-footer__brand img{
    max-width:190px !important;
    height:auto !important;
  }

  .retter-footer h3{
    margin-bottom:10px !important;
    font-size:16px !important;
  }

  .retter-footer a,
  .retter-footer p{
    font-size:13px !important;
    line-height:1.45 !important;
  }

  .retter-footer__bottom{
    display:block !important;
    padding:18px 0 22px !important;
    text-align:center !important;
  }

  .retter-footer__bottom > span{
    display:block !important;
    margin-bottom:10px !important;
    font-size:12px !important;
  }

  .retter-footer__legal{
    display:flex !important;
    flex-direction:column !important;
    gap:6px !important;
    align-items:center !important;
  }
}

/* Very narrow phones */
@media (max-width:390px){

  .retter-container,
  body .container,
  body .site-content-container,
  .retter-hard-contacts__wrap{
    width:calc(100% - 20px) !important;
  }

  .retter-home-mainbar__inner{
    grid-template-columns:minmax(104px,1fr) auto !important;
  }

  .retter-home-logo,
  .retter-home-logo img,
  .retter-home-logo .custom-logo{
    max-width:116px !important;
  }

  .retter-home-tools{
    grid-template-columns:repeat(4,25px) !important;
    gap:2px !important;
  }

  .retter-home-tool{
    width:25px !important;
    min-width:25px !important;
  }

  .retter-home-tool svg{
    width:19px !important;
    height:19px !important;
  }

  .retter-home-menu a{
    padding:0 11px !important;
    font-size:13px !important;
  }

  .retter-hero h1{
    font-size:36px !important;
  }

  .retter-shop-categories__grid{
    grid-template-columns:1fr !important;
  }

  body.woocommerce ul.products,
  body.woocommerce-page ul.products,
  body.single-product .related.products ul.products,
  body.single-product .upsells.products ul.products{
    grid-template-columns:1fr 1fr !important;
    gap:14px 8px !important;
  }

  .retter-account-shell .woocommerce-MyAccount-navigation ul{
    grid-template-columns:1fr !important;
  }

  .retter-footer__grid{
    grid-template-columns:1fr !important;
  }

  .retter-footer__brand{
    grid-column:auto !important;
  }
}


/* 0.2.32 sellers + WCFM storefront */
.retter-vendors-page{padding:52px 0 72px;background:#F8FAFC}.retter-vendors-list{display:grid;gap:22px;margin-top:24px}.retter-vendor-card{overflow:hidden;border:1px solid #E1E8F0;border-radius:20px;background:#fff;box-shadow:0 10px 32px rgba(15,23,42,.05)}.retter-vendor-card__banner{min-height:150px;background:linear-gradient(120deg,rgba(8,37,103,.92),rgba(0,140,240,.60)),#082567;background-size:cover;background-position:center}.retter-vendor-card__body{display:grid;grid-template-columns:130px minmax(0,1fr) auto;gap:24px;align-items:center;padding:0 28px 28px}.retter-vendor-card__logo{width:130px;height:130px;margin-top:-56px;padding:6px;border-radius:50%;background:#fff;box-shadow:0 8px 24px rgba(15,23,42,.12);overflow:hidden}.retter-vendor-card__logo img{width:100%;height:100%;border-radius:50%;object-fit:cover}.retter-vendor-card__content{min-width:0;padding-top:20px}.retter-vendor-card__label{margin:0 0 5px;color:#082567;font-size:12px;font-weight:800;letter-spacing:.12em}.retter-vendor-card__content h2{margin:0 0 10px;color:#0F172A;font-size:30px;line-height:1.1}.retter-vendor-card__meta{display:flex;flex-wrap:wrap;gap:7px 18px;color:#64748B;font-size:14px}.retter-vendor-card__button{width:auto!important;min-width:190px;margin-top:20px}.retter-vendors-empty{padding:30px;border:1px solid #E1E8F0;border-radius:18px;background:#fff}.retter-vendors-empty h2{margin:0 0 8px}.retter-vendors-empty p{margin:0;color:#64748B}
@media(max-width:767px){.retter-vendors-page{padding:24px 0 38px!important}.retter-vendor-card{border-radius:15px}.retter-vendor-card__banner{min-height:95px}.retter-vendor-card__body{display:block;padding:0 16px 18px}.retter-vendor-card__logo{width:90px;height:90px;margin-top:-38px}.retter-vendor-card__content{padding-top:12px}.retter-vendor-card__content h2{font-size:24px}.retter-vendor-card__meta{display:grid;gap:5px}.retter-vendor-card__button{width:100%!important;min-width:0;margin-top:16px}body.wcfm-store-page .wcfm-store-page .wcfmmp-store-wrap,body.wcfm-store-page .wcfm-store-page .wcfmmp-store-content,body.wcfm-store-page .wcfm-store-page .right_side,body.wcfm-store-page .wcfm-store-page .left_sidebar{width:100%!important;max-width:100%!important;min-width:0!important;float:none!important}}


/* =========================================================
   RETTER 0.2.33 — MOBILE HEADER + CATALOG TOOLBAR FIX
   ========================================================= */

@media (max-width:767px){

  /* ---- MOBILE LOGO: make the whole mark fit, never crop ---- */
  .retter-home-mainbar__inner{
    grid-template-columns:112px minmax(0,1fr) !important;
    grid-template-areas:
      "brand tools"
      "search search" !important;
    column-gap:8px !important;
  }

  .retter-home-branding{
    width:112px !important;
    max-width:112px !important;
    min-width:112px !important;
    overflow:visible !important;
  }

  .retter-home-branding .retter-home-logo,
  .retter-home-branding .custom-logo-link{
    display:block !important;
    width:112px !important;
    max-width:112px !important;
    min-width:112px !important;
    height:auto !important;
    overflow:visible !important;
  }

  .retter-home-branding img,
  .retter-home-branding .custom-logo,
  .retter-home-logo img,
  .retter-home-logo .custom-logo{
    display:block !important;
    width:112px !important;
    max-width:112px !important;
    min-width:112px !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:left center !important;
    transform:none !important;
  }

  /* Give tools their own room, preventing overlap with logo */
  .retter-home-tools{
    width:auto !important;
    max-width:none !important;
    min-width:132px !important;
    grid-template-columns:repeat(4,29px) !important;
    gap:4px !important;
    justify-self:end !important;
  }

  /* ---- SHOPWELL MOBILE FILTER/SORT TOOLBAR ---- */
  body.woocommerce-shop .shopwell-catalog-toolbar,
  body.post-type-archive-product .shopwell-catalog-toolbar,
  body.tax-product_cat .shopwell-catalog-toolbar,
  body.woocommerce-shop .catalog-toolbar,
  body.post-type-archive-product .catalog-toolbar,
  body.tax-product_cat .catalog-toolbar,
  body.woocommerce-shop .shop-toolbar,
  body.post-type-archive-product .shop-toolbar,
  body.tax-product_cat .shop-toolbar{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
    align-items:center !important;
    width:100% !important;
    margin:0 0 14px !important;
    padding:0 !important;
  }

  /* Common Shopwell/Woo filter buttons and sort controls */
  body.woocommerce-shop .shopwell-catalog-toolbar button,
  body.post-type-archive-product .shopwell-catalog-toolbar button,
  body.tax-product_cat .shopwell-catalog-toolbar button,
  body.woocommerce-shop .catalog-toolbar button,
  body.post-type-archive-product .catalog-toolbar button,
  body.tax-product_cat .catalog-toolbar button,
  body.woocommerce-shop .shop-toolbar button,
  body.post-type-archive-product .shop-toolbar button,
  body.tax-product_cat .shop-toolbar button,
  body.woocommerce-shop .filter-button,
  body.post-type-archive-product .filter-button,
  body.tax-product_cat .filter-button,
  body.woocommerce-shop .catalog-filter,
  body.post-type-archive-product .catalog-filter,
  body.tax-product_cat .catalog-filter,
  body.woocommerce-shop .shopwell-filter,
  body.post-type-archive-product .shopwell-filter,
  body.tax-product_cat .shopwell-filter{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    min-height:42px !important;
    height:42px !important;
    padding:0 10px !important;
    margin:0 !important;
    border:1px solid #D8E0EA !important;
    border-radius:9px !important;
    background:#fff !important;
    color:#0F172A !important;
    font-size:14px !important;
    font-weight:700 !important;
    line-height:40px !important;
    box-shadow:none !important;
    white-space:nowrap !important;
  }

  body.woocommerce-shop .woocommerce-ordering,
  body.post-type-archive-product .woocommerce-ordering,
  body.tax-product_cat .woocommerce-ordering{
    width:100% !important;
    max-width:100% !important;
    height:42px !important;
    margin:0 !important;
    padding:0 !important;
  }

  body.woocommerce-shop .woocommerce-ordering select,
  body.post-type-archive-product .woocommerce-ordering select,
  body.tax-product_cat .woocommerce-ordering select{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:42px !important;
    min-height:42px !important;
    padding:0 30px 0 10px !important;
    border:1px solid #D8E0EA !important;
    border-radius:9px !important;
    background-color:#fff !important;
    color:#0F172A !important;
    font-size:14px !important;
    font-weight:600 !important;
    line-height:40px !important;
  }

  /* Shopwell often wraps sorting in custom elements */
  body.woocommerce-shop [class*="sort"],
  body.post-type-archive-product [class*="sort"],
  body.tax-product_cat [class*="sort"]{
    max-width:100% !important;
  }

  body.woocommerce-shop [class*="filter"] > a,
  body.post-type-archive-product [class*="filter"] > a,
  body.tax-product_cat [class*="filter"] > a{
    min-height:42px !important;
    padding:0 10px !important;
    font-size:14px !important;
    line-height:42px !important;
  }

  /* results / view switch row compact */
  body.woocommerce-shop .woocommerce-result-count,
  body.post-type-archive-product .woocommerce-result-count,
  body.tax-product_cat .woocommerce-result-count{
    margin:10px 0 !important;
    font-size:13px !important;
    line-height:1.3 !important;
  }

  body.woocommerce-shop [class*="view"],
  body.post-type-archive-product [class*="view"],
  body.tax-product_cat [class*="view"]{
    font-size:14px !important;
  }
}

@media (max-width:390px){
  .retter-home-mainbar__inner{
    grid-template-columns:100px minmax(0,1fr) !important;
  }

  .retter-home-branding,
  .retter-home-branding .retter-home-logo,
  .retter-home-branding .custom-logo-link,
  .retter-home-branding img,
  .retter-home-branding .custom-logo,
  .retter-home-logo img,
  .retter-home-logo .custom-logo{
    width:100px !important;
    min-width:100px !important;
    max-width:100px !important;
  }

  .retter-home-tools{
    min-width:120px !important;
    grid-template-columns:repeat(4,26px) !important;
    gap:3px !important;
  }
}

/* =========================================================
   RETTER v_0.1.0 — final responsive and brand stabilization
   ========================================================= */

:where(a, button, input, select, textarea):focus-visible{
  outline:3px solid rgba(0,140,240,.35);
  outline-offset:2px;
}

.woocommerce :where(.button,button.button,input.button),
.wcfm_membership_element .wcfm_submit_button,
#wcfm-main-contentainer :where(.wcfm_submit_button,.wcfm_submit_button_wrapper input){
  border-color:#082567 !important;
  background:#082567 !important;
  color:#fff !important;
}

.woocommerce :where(.button,button.button,input.button):hover,
.wcfm_membership_element .wcfm_submit_button:hover,
#wcfm-main-contentainer :where(.wcfm_submit_button,.wcfm_submit_button_wrapper input):hover{
  border-color:#008CF0 !important;
  background:#008CF0 !important;
}

.retter-home-topbar{
  background:linear-gradient(90deg,#082567 0%,#008CF0 100%);
}

.retter-site-notice{
  border-color:rgba(0,140,240,.22);
  background:#E0FFFF;
  color:#082567;
}

.retter-home-search__button,
.retter-home-tool--cart em{
  background:#FFA500 !important;
}

img,svg,video,iframe{
  max-width:100%;
}

@media (min-width:768px) and (max-width:1024px){
  .retter-container,
  body .container,
  body .site-content-container,
  .retter-hard-contacts__wrap{
    width:calc(100% - 40px) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .retter-home-mainbar__inner{
    grid-template-columns:minmax(180px,240px) minmax(0,1fr) auto !important;
    gap:18px !important;
  }

  .retter-home-logo .custom-logo,
  .retter-home-logo img{
    width:100% !important;
    max-width:240px !important;
    max-height:68px !important;
  }

  .retter-home-tools{
    gap:10px !important;
  }

  .retter-home-tool{
    min-width:52px !important;
    font-size:11px !important;
  }

  .retter-home-nav__inner{
    display:flex !important;
    gap:16px !important;
    overflow-x:auto !important;
    scrollbar-width:thin;
  }

  .retter-home-categories,
  .retter-home-menu a{
    flex:0 0 auto;
  }

  body.woocommerce ul.products,
  body.woocommerce-page ul.products{
    grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  }

  .retter-footer__grid{
    grid-template-columns:1.4fr 1fr 1fr !important;
    gap:30px !important;
  }
}

@media (max-width:767px){
  .retter-container,
  body .container,
  body .site-content-container,
  .retter-hard-contacts__wrap{
    width:calc(100% - 24px) !important;
    max-width:none !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  .retter-site-notice{
    padding:6px 12px !important;
    font-size:11px !important;
    line-height:1.3 !important;
  }

  .retter-home-topbar__inner{
    min-height:38px !important;
  }

  .retter-home-topbar__text{
    font-size:12px !important;
  }

  .retter-home-topbar__cta{
    font-size:12px !important;
  }

  .retter-home-nav__inner,
  .retter-home-menu{
    overflow-x:auto !important;
    overscroll-behavior-inline:contain;
    scrollbar-width:none;
  }

  .retter-home-nav__inner::-webkit-scrollbar,
  .retter-home-menu::-webkit-scrollbar{
    display:none;
  }

  .retter-home-search input[type="search"]{
    font-size:16px !important;
  }

  body.woocommerce ul.products,
  body.woocommerce-page ul.products,
  body.single-product .related.products ul.products,
  body.single-product .upsells.products ul.products{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px 10px !important;
  }

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

  .woocommerce table.shop_table_responsive tr,
  .woocommerce-page table.shop_table_responsive tr{
    display:block;
    padding:10px 0;
  }

  #wcfm-main-contentainer,
  .wcfm-container,
  .wcfm-content,
  .wcfm-collapse-content{
    max-width:100% !important;
    min-width:0 !important;
  }

  .retter-footer__grid{
    grid-template-columns:1fr 1fr !important;
  }
}

@media (max-width:390px){
  body.woocommerce ul.products,
  body.woocommerce-page ul.products,
  body.single-product .related.products ul.products,
  body.single-product .upsells.products ul.products{
    gap:12px 8px !important;
  }

  .retter-footer__grid{
    grid-template-columns:1fr !important;
  }
}

