.idpr-home .mobile-menu-toggle { display: none; }
.idpr-home .prototype-bar p:first-child {
  color: #fff;
  font-size: 15px;
  font-weight: 850;
  letter-spacing: .01em;
}

@media (max-width: 680px) {
  html, body.idpr-redesign-page { max-width: 100%; overflow-x: hidden; }
  .idpr-home, .idpr-home * { min-width: 0; }
  .idpr-home .shell { width: calc(100% - 32px); }

  .idpr-home .prototype-bar {
    min-height: 42px; padding: 10px 16px; justify-content: center;
    overflow: hidden; white-space: nowrap;
  }
  .idpr-home .prototype-bar p, .idpr-home .prototype-bar span { display: none; }
  .idpr-home .prototype-bar p:first-child {
    display: block; overflow: hidden; color: #fff; font-size: 14px;
    font-weight: 850; text-align: center; text-overflow: ellipsis;
  }

  .idpr-home .sober-header-inner {
    position: relative; width: calc(100% - 28px); height: 68px; gap: 10px;
  }
  .idpr-home .sober-header .brand { flex: 1 1 auto; min-width: 0; }
  .idpr-home .sober-header .brand strong { font-size: 16px; white-space: nowrap; }
  .idpr-home .sober-header .brand small,
  .idpr-home .header-tools > a:not(.cart-link) { display: none; }
  .idpr-home .header-tools { flex: 0 0 auto; gap: 7px; }
  .idpr-home .mobile-menu-toggle {
    min-height: 40px; padding: 0 12px; display: inline-flex;
    align-items: center; justify-content: center; color: #263526;
    border: 1px solid rgba(38, 53, 38, .17); border-radius: 999px;
    background: rgba(255, 255, 255, .62); font-size: 12px;
    font-weight: 750; cursor: pointer;
  }
  .idpr-home .cart-link {
    min-height: 40px; padding: 0 10px; border-radius: 999px; font-size: 11px;
  }
  .idpr-home .sober-header nav {
    position: absolute; z-index: 30; top: calc(100% + 1px); left: -14px; right: -14px;
    padding: 12px 16px 17px; display: none; flex-direction: column;
    align-items: stretch; gap: 2px; border: 1px solid rgba(53, 69, 47, .12);
    border-top: 0; border-radius: 0 0 20px 20px; background: #f7f4ec;
    box-shadow: 0 18px 35px rgba(38, 51, 37, .14);
  }
  .idpr-home.mobile-menu-open .sober-header nav { display: flex; }
  .idpr-home .sober-header nav a { padding: 12px 8px; font-size: 15px; }

  .idpr-home .sober-hero, .idpr-home .sober-hero-grid { min-height: 0; }
  .idpr-home .sober-hero-grid { padding-top: 58px; padding-bottom: 64px; }
  .idpr-home .sober-hero-copy { text-align: center; }
  .idpr-home .hero-copy > .eyebrow {
    justify-content: center; font-size: 11px; line-height: 1.4;
  }
  .idpr-home .sober-hero h1 {
    max-width: 100%; font-size: clamp(41px, 12.2vw, 54px); line-height: 1;
  }
  .idpr-home .hero-intro { margin-top: 24px; font-size: 17px; line-height: 1.6; }
  .idpr-home .hero-actions {
    width: 100%; margin-top: 29px; flex-direction: column; gap: 10px;
  }
  .idpr-home .hero-actions .button {
    width: 100%; min-height: 56px; font-size: 15px;
  }
  .idpr-home .hero-microproof {
    width: 100%; margin-top: 28px; grid-template-columns: 1fr;
    gap: 8px; text-align: left;
  }
  .idpr-home .hero-microproof div,
  .idpr-home .hero-microproof div:last-child {
    min-height: 0; padding: 13px 15px; display: grid;
    grid-template-columns: 62px 1fr; align-items: center; gap: 10px; border-right: 0;
  }
  .idpr-home .hero-microproof strong { font-size: 14px; }
  .idpr-home .hero-microproof span { font-size: 12px; line-height: 1.4; }
}

/* WooCommerce catalogue — v0.12.0 */
body.idpr-redesign-shop {
  background: #f4f7e8;
  color: #173d2a;
}

body.idpr-redesign-shop #site-header,
body.idpr-redesign-shop header#masthead,
body.idpr-redesign-shop #topbar,
body.idpr-redesign-shop .topbar,
body.idpr-redesign-shop #colophon,
body.idpr-redesign-shop footer.site-footer,
body.idpr-redesign-shop .page-header,
body.idpr-redesign-shop .woocommerce-products-header,
body.idpr-redesign-shop .site-breadcrumb,
body.idpr-redesign-shop .woocommerce-breadcrumb,
body.idpr-redesign-shop .shop-toolbar .shop-view,
body.idpr-redesign-shop .shop-toolbar,
body.idpr-redesign-shop .woocommerce-result-count,
body.idpr-redesign-shop .woocommerce-ordering,
body.idpr-redesign-shop aside.widget-area,
body.idpr-redesign-shop #secondary,
body.idpr-redesign-shop .catalog-sidebar,
body.idpr-redesign-shop .mf-catalog-sidebar,
body.idpr-redesign-shop .mf-shop-sidebar,
body.idpr-redesign-shop .shop-sidebar,
body.idpr-redesign-shop .woocommerce-sidebar,
body.idpr-redesign-shop .site-content .widgets-area,
body.idpr-redesign-shop .site-content .widget-area,
body.idpr-redesign-shop .site-content .widget_price_filter,
body.idpr-redesign-shop .site-content .widget_rating_filter,
body.idpr-redesign-shop .site-content .widget_layered_nav,
body.idpr-redesign-shop .site-content .woocommerce-widget-layered-nav,
body.idpr-redesign-shop .site-content .widget:not(.woocommerce) {
  display: none !important;
}

body.idpr-redesign-shop .site-content,
body.idpr-redesign-shop #content,
body.idpr-redesign-shop .container,
body.idpr-redesign-shop #primary,
body.idpr-redesign-shop .content-area {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
  float: none !important;
}

.idpr-shop-shell {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  font-family: Arial, sans-serif;
}

.idpr-shop-bar {
  min-height: 46px;
  padding: 8px 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  color: rgba(255,255,255,.8);
  background: #165a3c;
  font-size: 14px;
  font-weight: 700;
}

.idpr-shop-bar span:first-child {
  color: #fff;
  font-size: 15px;
  font-weight: 850;
  letter-spacing: .01em;
}

.idpr-shop-bar strong {
  padding: 5px 10px;
  color: #173d2a;
  border-radius: 999px;
  background: #d4f04d;
  font-size: 11px;
  text-transform: uppercase;
}

.idpr-shop-header {
  min-height: 88px;
  padding: 0 max(24px, calc((100vw - 1180px)/2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(23,61,42,.12);
  background: #fffef9;
}

.idpr-shop-brand {
  display: flex;
  flex-direction: column;
  color: #173d2a !important;
  text-decoration: none !important;
}

.idpr-shop-brand strong {
  font-family: Georgia, serif;
  font-size: 27px;
  line-height: 1;
}

.idpr-shop-brand small {
  margin-top: 4px;
  color: #718077;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.idpr-shop-header nav {
  display: flex;
  align-items: center;
  gap: 24px;
}

.idpr-shop-header nav a {
  color: #42584a !important;
  font-size: 15px;
  font-weight: 750;
  text-decoration: none !important;
}

.idpr-shop-header nav a.active { color: #173d2a !important; }
.idpr-shop-cart { display: inline-flex; align-items: center; gap: 8px; }
.idpr-shop-cart span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  color: #fff;
  border-radius: 50%;
  background: #236946;
  font-size: 13px;
}

.idpr-shop-hero {
  min-height: 365px;
  padding: 58px max(24px, calc((100vw - 1180px)/2)) 68px;
  display: flex;
  align-items: center;
  background: radial-gradient(circle at 76% 25%, rgba(208,245,88,.36), transparent 24rem), #edf4e2;
}

.idpr-shop-hero > div { width: min(760px, 100%); }
.idpr-shop-hero p {
  margin: 0 0 16px;
  color: #668057;
  font-size: 11px;
  font-weight: 850;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.idpr-shop-hero h1 {
  margin: 0 !important;
  color: #173d2a;
  font-family: Georgia, serif;
  font-size: clamp(54px, 6.5vw, 82px) !important;
  font-weight: 500;
  letter-spacing: -.06em;
  line-height: .96;
  text-align: left !important;
}
.idpr-shop-hero h1 em { color: #4e8557; font-weight: 500; }
.idpr-shop-hero > div > span {
  max-width: 650px;
  margin-top: 24px;
  display: block;
  color: #5d6d63;
  font-size: 18px;
  line-height: 1.65;
}

.idpr-shop-categories {
  position: relative;
  z-index: 5;
  width: min(900px, calc(100% - 48px));
  min-height: 96px;
  margin: -32px auto 24px;
  padding: 20px 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 26px;
  border: 1px solid rgba(23,61,42,.11);
  border-radius: 22px;
  background: #fffef9;
  box-shadow: 0 18px 44px rgba(31,74,48,.09);
}

.idpr-shop-categories > strong {
  flex: 0 0 auto;
  color: #173d2a;
  font-family: Georgia, serif;
  font-size: 19px;
}

.idpr-shop-categories > div {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px;
  scrollbar-width: none;
}

.idpr-shop-categories > div::-webkit-scrollbar { display: none; }

.idpr-shop-categories a {
  min-height: 40px;
  padding: 0 15px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  color: #45604f !important;
  border: 1px solid rgba(23,61,42,.13);
  border-radius: 999px;
  background: #f4f7e8;
  font-size: 13px;
  font-weight: 750;
  text-decoration: none !important;
}

.idpr-shop-categories a:hover,
.idpr-shop-categories a.active {
  color: #173d2a !important;
  border-color: #cbe951;
  background: #d4f04d;
}

body.idpr-redesign-shop main.site-main,
body.idpr-redesign-shop .woocommerce-products-header,
body.idpr-redesign-shop .woocommerce-notices-wrapper,
body.idpr-redesign-shop .woocommerce-result-count,
body.idpr-redesign-shop .woocommerce-ordering,
body.idpr-redesign-shop ul.products,
body.idpr-redesign-shop nav.woocommerce-pagination {
  width: min(1180px, calc(100% - 48px));
  margin-right: auto !important;
  margin-left: auto !important;
}

body.idpr-redesign-shop .woocommerce-products-header { padding-top: 72px; }
body.idpr-redesign-shop .woocommerce-products-header:empty { display: none; }
body.idpr-redesign-shop .woocommerce-products-header__title.page-title {
  margin: 0 0 34px !important;
  color: #173d2a;
  font-family: Georgia, serif;
  font-size: clamp(38px, 5vw, 56px) !important;
  font-weight: 500;
  letter-spacing: -.045em;
}

body.idpr-redesign-shop .woocommerce-result-count {
  margin-top: 0 !important;
  color: #66736b;
  font-size: 13px;
}

body.idpr-redesign-shop .woocommerce-ordering { width: auto; margin-right: max(24px, calc((100vw - 1180px)/2)) !important; }
body.idpr-redesign-shop .woocommerce-ordering select {
  min-height: 46px;
  padding: 0 42px 0 15px;
  color: #294b36;
  border: 1px solid rgba(23,61,42,.15);
  border-radius: 999px;
  background-color: #fffef9;
  font-size: 13px;
}

.idpr-shop-toolbar {
  width: min(1180px, calc(100% - 48px));
  min-height: 70px;
  margin: 52px auto 0;
  padding: 12px 18px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  border: 1px solid rgba(23,61,42,.1);
  border-radius: 18px;
  background: rgba(255,254,249,.72);
}

body.idpr-redesign-shop .idpr-shop-toolbar .woocommerce-result-count,
body.idpr-redesign-shop .idpr-shop-toolbar .woocommerce-ordering {
  width: auto !important;
  margin: 0 !important;
  float: none !important;
}

body.idpr-redesign-shop .idpr-shop-toolbar .woocommerce-result-count {
  color: #52665a;
  font-weight: 700;
  line-height: 1.4;
}

body.idpr-redesign-shop ul.products {
  clear: both;
  padding: 24px 0 82px !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 22px !important;
}

body.idpr-redesign-shop ul.products::before,
body.idpr-redesign-shop ul.products::after { display: none !important; }

body.idpr-redesign-shop ul.products li.product {
  width: auto !important;
  min-width: 0;
  margin: 0 !important;
  padding: 18px 18px 22px !important;
  float: none !important;
  display: flex !important;
  flex-direction: column;
  overflow: hidden;
  border: 1px solid rgba(23,61,42,.11);
  border-radius: 24px;
  background: #fffef9;
  box-shadow: 0 18px 44px rgba(31,74,48,.07);
}

body.idpr-redesign-shop ul.products li.product .product-inner,
body.idpr-redesign-shop ul.products li.product .mf-product-details {
  height: 100%;
  padding: 0 !important;
  display: flex;
  flex-direction: column;
  flex: 1 1 auto;
  border: 0 !important;
  box-shadow: none !important;
}
body.idpr-redesign-shop ul.products li.product a { color: #173d2a; text-decoration: none !important; }
body.idpr-redesign-shop ul.products li.product img.attachment-woocommerce_thumbnail,
body.idpr-redesign-shop ul.products li.product .mf-product-thumbnail > a > img {
  width: 100% !important;
  height: 300px !important;
  margin: 0 0 20px !important;
  padding: 16px;
  object-fit: contain;
  border-radius: 18px;
  background: #f4f6eb;
}

body.idpr-redesign-shop ul.products li.product .woocommerce-loop-product__title,
body.idpr-redesign-shop ul.products li.product h2,
body.idpr-redesign-shop ul.products li.product h3 {
  margin: 0 0 10px !important;
  color: #173d2a !important;
  font-family: Georgia, serif;
  font-size: 22px !important;
  font-weight: 600 !important;
  line-height: 1.2;
}

body.idpr-redesign-shop ul.products li.product .woocommerce-loop-product__title a,
body.idpr-redesign-shop ul.products li.product .mf-product-details .name a,
body.idpr-redesign-shop ul.products li.product .product-content h2 a,
body.idpr-redesign-shop ul.products li.product .product-content h3 a {
  color: #173d2a !important;
}

body.idpr-redesign-shop ul.products li.product h2 a,
body.idpr-redesign-shop ul.products li.product h3 a,
body.idpr-redesign-shop ul.products li.product .name a,
body.idpr-redesign-shop ul.products li.product [class*="product-title"] a {
  color: #173d2a !important;
}

body.idpr-redesign-shop ul.products li.product .price {
  margin: 0 0 16px !important;
  display: block;
  color: #39704a !important;
  font-size: 18px !important;
  font-weight: 800 !important;
}

body.idpr-redesign-shop ul.products li.product .price > .amount,
body.idpr-redesign-shop ul.products li.product .price ins,
body.idpr-redesign-shop ul.products li.product .price ins .amount {
  color: #39704a !important;
  text-decoration: none !important;
}

body.idpr-redesign-shop ul.products li.product .price del,
body.idpr-redesign-shop ul.products li.product .price del .amount {
  color: #8b938e !important;
}

body.idpr-redesign-shop ul.products li.product .add_to_cart_button,
body.idpr-redesign-shop ul.products li.product .product_type_simple,
body.idpr-redesign-shop ul.products li.product .product_type_variable {
  display: none !important;
}

body.idpr-redesign-shop ul.products li.product .idpr-card-link {
  position: relative;
  z-index: 25;
  min-height: 48px;
  margin-top: auto !important;
  padding: 0 20px !important;
  display: flex !important;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  border: 0 !important;
  border-radius: 999px !important;
  color: #173d2a !important;
  background: linear-gradient(90deg,#c9ef52,#ffd047) !important;
  font-family: Arial, sans-serif;
  font-size: 13px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
  text-decoration: none !important;
  pointer-events: auto !important;
}

body.idpr-redesign-shop ul.products li.product .button,
body.idpr-redesign-shop ul.products li.product .added_to_cart {
  min-height: 48px;
  margin: 4px 0 0 !important;
  padding: 0 20px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  border-radius: 999px !important;
  color: #173d2a !important;
  background: linear-gradient(90deg,#c9ef52,#ffd047) !important;
  font-size: 13px !important;
  font-weight: 850 !important;
  line-height: 1 !important;
}

body.idpr-redesign-shop ul.products li.product .onsale {
  top: 28px !important;
  right: 28px !important;
  left: auto !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 7px 10px !important;
  color: #173d2a !important;
  border-radius: 999px !important;
  background: #d4f04d !important;
  font-size: 9px !important;
  line-height: 1 !important;
}

body.idpr-redesign-shop .product-compare,
body.idpr-redesign-shop .compare,
body.idpr-redesign-shop .yith-wcwl-add-to-wishlist,
body.idpr-redesign-shop .tinv-wraper,
body.idpr-redesign-shop .mf-product-thumbnail .footer-button { display: none !important; }

.idpr-shop-promise {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto 90px;
  padding: 30px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 16px;
  border-radius: 24px;
  background: #195339;
  font-family: Arial, sans-serif;
}
.idpr-shop-promise div { padding: 8px 18px; display: flex; flex-direction: column; gap: 7px; border-right: 1px solid rgba(255,255,255,.14); }
.idpr-shop-promise div:last-child { border-right: 0; }
.idpr-shop-promise strong { color: #fff; font-size: 19px; }
.idpr-shop-promise span { color: rgba(255,255,255,.75); font-size: 14px; line-height: 1.55; }

@media (max-width: 900px) {
  body.idpr-redesign-shop ul.products { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .idpr-shop-bar { min-height: 46px; padding: 10px 16px; font-weight: 700; }
  .idpr-shop-bar span:first-child { font-size: 14px; }
  .idpr-shop-bar strong, .idpr-shop-bar span:last-child { display: none; }
  .idpr-shop-header { min-height: 67px; padding: 0 16px; }
  .idpr-shop-brand strong { font-size: 20px; }
  .idpr-shop-brand small, .idpr-shop-header nav > a.active { display: none; }
  .idpr-shop-header nav { gap: 14px; }
  .idpr-shop-header nav > a:first-child { display: inline-flex; font-size: 12px; }
  .idpr-shop-cart { font-size: 12px !important; }
  .idpr-shop-hero { min-height: 0; padding: 56px 16px 62px; text-align: center; }
  .idpr-shop-hero h1 { font-size: clamp(43px, 13vw, 57px) !important; text-align: center !important; }
  .idpr-shop-hero > div > span { margin-top: 20px; font-size: 16px; line-height: 1.6; }
  .idpr-shop-categories {
    width: calc(100% - 24px);
    min-height: 0;
    margin: -22px auto 18px;
    padding: 17px;
    align-items: stretch;
    flex-direction: column;
    gap: 13px;
    border-radius: 18px;
  }
  .idpr-shop-categories > strong { font-size: 18px; text-align: center; }
  .idpr-shop-categories > div {
    padding-bottom: 0;
    justify-content: center;
    flex-wrap: wrap;
    overflow: visible;
    -webkit-overflow-scrolling: auto;
  }
  .idpr-shop-categories a { flex: 0 0 auto; }
  body.idpr-redesign-shop .woocommerce-products-header,
  body.idpr-redesign-shop .woocommerce-notices-wrapper,
  body.idpr-redesign-shop .woocommerce-result-count,
  body.idpr-redesign-shop ul.products,
  body.idpr-redesign-shop nav.woocommerce-pagination { width: calc(100% - 32px); }
  body.idpr-redesign-shop .woocommerce-products-header { padding-top: 50px; text-align: center; }
  body.idpr-redesign-shop .woocommerce-products-header__title.page-title { margin-bottom: 22px !important; font-size: 39px !important; }
  body.idpr-redesign-shop ul.products { padding: 28px 0 72px !important; grid-template-columns: 1fr; gap: 16px !important; }
  body.idpr-redesign-shop ul.products li.product { padding: 14px 14px 20px !important; border-radius: 20px; }
  body.idpr-redesign-shop ul.products li.product img.attachment-woocommerce_thumbnail,
  body.idpr-redesign-shop ul.products li.product .mf-product-thumbnail > a > img { height: 270px !important; }
  body.idpr-redesign-shop ul.products li.product .button,
  body.idpr-redesign-shop ul.products li.product .added_to_cart { width: 100%; }
  body.idpr-redesign-shop ul.products li.product .idpr-card-link { width: 100%; min-height: 52px; }
  .idpr-shop-promise { width: calc(100% - 32px); margin-bottom: 64px; padding: 18px; grid-template-columns: 1fr; }
  .idpr-shop-promise div { padding: 12px 8px; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.14); }
  .idpr-shop-promise div:last-child { border-bottom: 0; }
}

/* Foco Solar LED 100W — v0.6.0 */
body.idpr-redesign-product { background: #f5f7e9; color: #173d2a; }
body.idpr-redesign-product #site-header,
body.idpr-redesign-product header#masthead,
body.idpr-redesign-product #topbar,
body.idpr-redesign-product .topbar,
body.idpr-redesign-product #colophon,
body.idpr-redesign-product footer.site-footer { display: none !important; }
body.idpr-redesign-product .site-content,
body.idpr-redesign-product #content,
body.idpr-redesign-product .container { width: 100% !important; max-width: none !important; margin: 0 !important; padding: 0 !important; }
.idpr-product-page { width: 100%; overflow: hidden; background: #f5f7e9; color: #173d2a; font-family: Arial, sans-serif; }
.idpr-product-wrap { width: min(1180px, calc(100% - 48px)); margin: 0 auto; }
.idpr-product-topbar { min-height: 48px; padding: 10px 20px; display: flex; align-items: center; justify-content: center; gap: 24px; color: #fff; background: #165a3c; font-size: 15px; font-weight: 850; letter-spacing: .01em; }
.idpr-product-topbar strong { padding: 6px 12px; color: #173321; border-radius: 999px; background: #b9ed62; font-size: 13px; text-transform: uppercase; }
.idpr-product-topbar a { color: inherit; text-decoration: none; }
.idpr-product-header { min-height: 78px; padding: 0 max(24px, calc((100vw - 1180px)/2)); display: flex; align-items: center; justify-content: space-between; border-bottom: 1px solid rgba(23,61,42,.12); background: #fffef9; }
.idpr-product-header > a:first-child { display: flex; flex-direction: column; color: #173d2a; text-decoration: none; }
.idpr-product-header strong { font-family: Georgia, serif; font-size: 20px; }
.idpr-product-header small { margin-top: 4px; color: #718077; font-size: 8px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.idpr-product-cart { display: inline-flex; align-items: center; gap: 8px; color: #173d2a; font-size: 13px; font-weight: 800; text-decoration: none; }
.idpr-product-cart span { width: 30px; height: 30px; display: grid; place-items: center; color: #fff; border-radius: 50%; background: #236946; }
.idpr-product-hero { padding: 72px 0 92px; background: radial-gradient(circle at 22% 25%, rgba(208,245,88,.32), transparent 25rem), #f5f7e9; }
.idpr-product-grid { display: grid; grid-template-columns: .93fr 1.07fr; align-items: start; gap: 74px; }
.idpr-product-visual { position: sticky; top: 24px; min-height: 610px; padding: 30px; display: grid; place-items: center; border: 1px solid rgba(23,61,42,.1); border-radius: 32px; background: #fffef9; box-shadow: 0 30px 70px rgba(31,74,48,.1); }
.idpr-product-visual > span { position: absolute; top: 22px; left: 22px; padding: 8px 12px; color: #173d2a; border-radius: 999px; background: #d4f04d; font-size: 10px; font-weight: 850; letter-spacing: .07em; text-transform: uppercase; }
.idpr-product-visual img { width: 90%; height: 470px; object-fit: contain; mix-blend-mode: multiply; }
.idpr-product-visual p { margin: 0; color: #5f7166; font-size: 12px; font-weight: 700; }
.idpr-kicker { margin: 0 0 15px; color: #668057; font-size: 11px; font-weight: 850; letter-spacing: .14em; text-transform: uppercase; }
.idpr-product-buy h1 { margin: 0; color: #173d2a; font-family: Georgia, serif; font-size: clamp(55px, 6vw, 82px); font-weight: 500; letter-spacing: -.06em; line-height: .95; }
.idpr-product-buy h1 em { display: block; color: #4e8557; font-weight: 500; }
.idpr-product-lead { margin: 25px 0 0; color: #5d6d63; font-size: 18px; line-height: 1.65; }
.idpr-product-facts { margin: 28px 0; display: grid; grid-template-columns: repeat(3,1fr); border-block: 1px solid rgba(23,61,42,.12); }
.idpr-product-facts span { padding: 18px 12px; display: flex; flex-direction: column; gap: 4px; color: #69776e; border-right: 1px solid rgba(23,61,42,.12); font-size: 11px; }
.idpr-product-facts span:last-child { border-right: 0; }
.idpr-product-facts b { color: #173d2a; font-size: 17px; }
.idpr-pack-area { scroll-margin-top: 30px; padding: 24px; border: 1px solid rgba(23,61,42,.13); border-radius: 25px; background: #fffef9; box-shadow: 0 20px 45px rgba(31,74,48,.08); }
.idpr-pack-heading { display: flex; justify-content: space-between; gap: 15px; }
.idpr-pack-heading strong { font-size: 17px; }
.idpr-pack-heading small { color: #6e7b72; font-size: 11px; }
.idpr-pack-options { margin-top: 18px; display: grid; grid-template-columns: repeat(3,1fr); gap: 9px; }
.idpr-pack-options button { position: relative; min-height: 119px; padding: 17px 10px 13px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 5px; color: #173d2a; border: 1px solid rgba(23,61,42,.15); border-radius: 16px; background: #f8f8ef; cursor: pointer; }
.idpr-pack-options button:hover,.idpr-pack-options button.active { border-color: #5b8d4e; background: #eff7d9; box-shadow: inset 0 0 0 1px #5b8d4e; }
.idpr-pack-options button i { position: absolute; top: -9px; padding: 4px 8px; color: #173d2a; border-radius: 999px; background: #d4f04d; font-size: 8px; font-style: normal; font-weight: 850; text-transform: uppercase; }
.idpr-pack-options button span { font-size: 12px; font-weight: 750; }
.idpr-pack-options button strong { font-size: 20px; }
.idpr-pack-options button small { color: #6d796f; font-size: 10px; }
.idpr-native-cart { margin-top: 18px; }
.idpr-native-cart table.variations { position: absolute !important; width: 1px !important; height: 1px !important; overflow: hidden !important; clip: rect(0 0 0 0) !important; white-space: nowrap !important; }
.idpr-native-cart .single_variation { margin-bottom: 10px; color: #173d2a; }
.idpr-native-cart .woocommerce-variation-price { display: none; }
.idpr-native-cart .woocommerce-variation-availability { color: #52735c; font-size: 12px; }
.idpr-native-cart .woocommerce-variation-add-to-cart { display: grid !important; grid-template-columns: 160px minmax(0,1fr); align-items: end; gap: 10px; }
.idpr-native-cart .quantity {
  width: 100%; margin: 0 !important; display: block !important;
}
.idpr-native-cart .quantity label,
.idpr-native-cart .quantity .label,
.idpr-native-cart .idpr-qty-label {
  position: static !important; width: auto !important; height: auto !important;
  margin: 0 0 7px !important; padding: 0 !important; display: block !important; overflow: visible !important;
  clip: auto !important;
  color: #365642; font-size: 12px; font-weight: 750; white-space: nowrap !important;
}
.idpr-native-cart .idpr-qty-control {
  width: 160px; height: 56px; display: grid !important;
  grid-template-columns: 44px 72px 44px; grid-template-rows: 56px;
  align-items: stretch; gap: 0; overflow: hidden; border-radius: 15px; box-sizing: border-box;
}
.idpr-native-cart .quantity input.qty,
.idpr-native-cart .quantity .idpr-qty-input {
  grid-column: 2; grid-row: 1; width: 100% !important; min-width: 0 !important;
  min-height: 56px; padding: 0 4px !important; text-align: center;
  border: 1px solid rgba(23,61,42,.17) !important; border-radius: 0 !important;
  background: #fff !important; box-shadow: none !important; appearance: textfield;
}
.idpr-native-cart .quantity input.qty::-webkit-inner-spin-button,
.idpr-native-cart .quantity input.qty::-webkit-outer-spin-button { margin: 0; appearance: none; }
.idpr-native-cart .quantity .decrease,
.idpr-native-cart .quantity .minus,
.idpr-native-cart .quantity .idpr-qty-minus,
.idpr-native-cart .quantity .increase,
.idpr-native-cart .quantity .plus,
.idpr-native-cart .quantity .idpr-qty-plus {
  position: static !important; top: auto !important; right: auto !important; bottom: auto !important; left: auto !important;
  width: 44px !important; min-width: 44px !important; height: 56px !important; margin: 0 !important; padding: 0 !important;
  display: grid !important; place-items: center; color: #173d2a !important;
  border: 1px solid rgba(23,61,42,.17) !important; background: #edf4e2 !important;
  font-size: 21px !important; font-weight: 800; line-height: 1 !important; cursor: pointer;
}
.idpr-native-cart .quantity .decrease,
.idpr-native-cart .quantity .minus,
.idpr-native-cart .quantity .idpr-qty-minus {
  grid-column: 1; grid-row: 1; border-right: 0 !important; border-radius: 15px 0 0 15px !important;
}
.idpr-native-cart .quantity .increase,
.idpr-native-cart .quantity .plus,
.idpr-native-cart .quantity .idpr-qty-plus {
  grid-column: 3; grid-row: 1; border-left: 0 !important; border-radius: 0 15px 15px 0 !important;
}
.idpr-native-cart .single_add_to_cart_button { min-height: 56px; margin: 0 !important; border: 0 !important; border-radius: 15px !important; color: #173d2a !important; background: linear-gradient(90deg,#c9ef52,#ffd047) !important; font-weight: 850 !important; opacity: 1 !important; }
.idpr-native-cart .single_add_to_cart_button.disabled { opacity: .48 !important; }
.idpr-native-cart .single_add_to_cart_button.loading::after,
.idpr-native-cart .single_add_to_cart_button.processing::after {
  right: 18px !important;
}
/* Martfury/WooCommerce add-ons injected into the native variation form. The
   redesigned page keeps one clear purchase action and the real cart flow. */
.idpr-native-cart .buy_now_button,
.idpr-native-cart .buy-now-button,
.idpr-native-cart .single_buy_now_button,
.idpr-native-cart [name="buy-now"],
.idpr-native-cart [name="buy_now"],
.idpr-native-cart .yith-wcwl-add-to-wishlist,
.idpr-native-cart .tinv-wraper,
.idpr-native-cart .compare,
.idpr-native-cart .product-compare,
.idpr-native-cart .mf-product-extra-link,
.idpr-native-cart .product-extra-link {
  display: none !important;
}
.idpr-buy-trust { margin-top: 17px; display: flex; flex-wrap: wrap; gap: 8px 18px; color: #52665a; font-size: 11px; font-weight: 700; }
.idpr-product-fit,.idpr-steps-section,.idpr-specs-section { padding: 105px 0; background: #fffef9; }
.idpr-product-fit h2,.idpr-install-section h2,.idpr-steps-section h2,.idpr-specs-section h2,.idpr-product-closing h2 { max-width: 830px; margin: 0; color: #173d2a; font-family: Georgia,serif; font-size: clamp(42px,5vw,66px); font-weight: 500; letter-spacing: -.055em; line-height: 1.02; }
.idpr-section-intro { max-width: 760px; margin: 20px 0 0; color: #627067; font-size: 18px; line-height: 1.7; }
.idpr-use-grid { margin-top: 48px; display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.idpr-use-grid article,.idpr-steps article { padding: 28px; border: 1px solid rgba(23,61,42,.12); border-radius: 22px; background: #f4f7e8; }
.idpr-use-grid article > span { color: #668057; font-size: 11px; font-weight: 850; }
.idpr-use-grid h3,.idpr-steps h3 { margin: 24px 0 8px; color: #173d2a; font-size: 21px; }
.idpr-use-grid p,.idpr-steps p { margin: 0; color: #66736b; font-size: 14px; line-height: 1.6; }
.idpr-install-section { padding: 105px 0; color: #fff; background: #195339; }
.idpr-install-grid { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 70px; }
.idpr-install-image { position: relative; min-height: 510px; overflow: hidden; border-radius: 28px; background: #e8eadf; }
.idpr-install-image img { width: 100%; height: 510px; object-fit: cover; }
.idpr-install-image span { position: absolute; left: 18px; bottom: 18px; padding: 8px 12px; color: #173d2a; border-radius: 999px; background: #d4f04d; font-size: 10px; font-weight: 850; }
.idpr-install-section .idpr-kicker { color: #d4f04d; }
.idpr-install-section h2 { color: #fff; }
.idpr-install-section p { color: rgba(255,255,255,.72); font-size: 17px; line-height: 1.7; }
.idpr-install-features { margin-top: 26px; display: grid; gap: 10px; }
.idpr-install-features span { padding: 13px 15px; display: flex; gap: 10px; border: 1px solid rgba(255,255,255,.15); border-radius: 14px; background: rgba(255,255,255,.06); color: rgba(255,255,255,.75); font-size: 13px; }
.idpr-install-features b { color: #fff; }
.idpr-steps-section { background: #f4f7e8; }
.idpr-steps { margin-top: 45px; display: grid; grid-template-columns: repeat(3,1fr); gap: 16px; }
.idpr-steps article { background: #fffef9; }
.idpr-steps article > b { width: 43px; height: 43px; display: grid; place-items: center; border-radius: 50%; background: #d4f04d; }
.idpr-specs-grid { display: grid; grid-template-columns: .9fr 1.1fr; gap: 75px; }
.idpr-specs-grid > div > p:last-child { color: #66736b; font-size: 17px; line-height: 1.7; }
.idpr-specs-grid dl { margin: 0; border-top: 1px solid rgba(23,61,42,.13); }
.idpr-specs-grid dl div { padding: 17px 0; display: flex; justify-content: space-between; gap: 25px; border-bottom: 1px solid rgba(23,61,42,.13); }
.idpr-specs-grid dt { color: #68766c; }
.idpr-specs-grid dd { margin: 0; color: #173d2a; font-weight: 750; text-align: right; }
.idpr-product-closing { padding: 90px 0; text-align: center; background: radial-gradient(circle at 50% 0,rgba(208,245,88,.35),transparent 25rem),#edf4e2; }
.idpr-product-closing h2 { margin-inline: auto; }
.idpr-product-closing a { min-height: 56px; margin-top: 28px; padding: 0 24px; display: inline-flex; align-items: center; justify-content: center; color: #173d2a; border-radius: 999px; background: linear-gradient(90deg,#c9ef52,#ffd047); font-size: 14px; font-weight: 850; text-decoration: none; }

@media (max-width: 900px) {
  .idpr-product-grid,.idpr-install-grid,.idpr-specs-grid { grid-template-columns: 1fr; }
  .idpr-product-visual { position: relative; top: 0; }
}
@media (max-width: 680px) {
  .idpr-product-wrap { width: calc(100% - 32px); }
  .idpr-product-topbar { min-height: 46px; font-size: 14px; }
  .idpr-product-topbar strong,
  .idpr-product-topbar span:last-child { display: none; }
  .idpr-product-header { min-height: 67px; padding: 0 16px; }
  .idpr-product-header strong { font-size: 17px; }
  .idpr-product-header small { display: none; }
  .idpr-product-hero { padding: 30px 0 66px; }
  .idpr-product-grid { gap: 38px; }
  .idpr-product-visual { min-height: 390px; padding: 22px; border-radius: 23px; }
  .idpr-product-visual img { height: 310px; }
  .idpr-product-visual > span { top: 14px; left: 14px; font-size: 8px; }
  .idpr-product-buy h1 { font-size: clamp(49px,15vw,65px); }
  .idpr-product-lead { font-size: 17px; }
  .idpr-product-facts span { padding: 14px 7px; }
  .idpr-pack-area { padding: 18px; border-radius: 20px; }
  .idpr-pack-options { grid-template-columns: 1fr; }
  .idpr-pack-options button { min-height: 76px; padding: 13px 16px; display: grid; grid-template-columns: 1fr auto; justify-items: start; text-align: left; }
  .idpr-pack-options button strong { grid-column: 2; grid-row: 1; }
  .idpr-pack-options button small { grid-column: 1; grid-row: 2; }
  .idpr-pack-options button i { top: 50%; right: 12px; left: auto; transform: translateY(-50%); }
  .idpr-pack-options button:has(i) strong { margin-right: 80px; }
  .idpr-native-cart .woocommerce-variation-add-to-cart { grid-template-columns: 150px minmax(0,1fr); }
  .idpr-buy-trust { flex-direction: column; }
  .idpr-product-fit,.idpr-install-section,.idpr-steps-section,.idpr-specs-section { padding: 74px 0; }
  .idpr-use-grid,.idpr-steps { grid-template-columns: 1fr; margin-top: 34px; }
  .idpr-product-fit h2,.idpr-install-section h2,.idpr-steps-section h2,.idpr-specs-section h2,.idpr-product-closing h2 { font-size: clamp(40px,12vw,52px); }
  .idpr-install-grid,.idpr-specs-grid { gap: 42px; }
  .idpr-install-image,.idpr-install-image img { min-height: 390px; height: 390px; }
  .idpr-specs-grid dl div { align-items: flex-start; flex-direction: column; gap: 6px; }
  .idpr-specs-grid dd { text-align: left; }
  .idpr-product-closing { padding: 72px 0; }
}

/* WooCommerce cart and checkout — v0.5.0 */
body.idpr-redesign-cart,
body.idpr-redesign-checkout {
  background: #f3f6e8;
  color: #213d2b;
}

body.idpr-redesign-cart #site-header,
body.idpr-redesign-checkout #site-header,
body.idpr-redesign-cart header#masthead,
body.idpr-redesign-checkout header#masthead,
body.idpr-redesign-cart #topbar,
body.idpr-redesign-checkout #topbar,
body.idpr-redesign-cart .topbar,
body.idpr-redesign-checkout .topbar,
body.idpr-redesign-cart #colophon,
body.idpr-redesign-checkout #colophon,
body.idpr-redesign-cart footer.site-footer,
body.idpr-redesign-checkout footer.site-footer {
  display: none !important;
}

body.idpr-redesign-cart .site-content,
body.idpr-redesign-checkout .site-content,
body.idpr-redesign-cart #content,
body.idpr-redesign-checkout #content,
body.idpr-redesign-cart .container,
body.idpr-redesign-checkout .container {
  width: 100% !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 0 !important;
}

.idpr-commerce-shell {
  width: 100vw;
  margin-left: calc(50% - 50vw);
  margin-bottom: 46px;
}

.idpr-commerce-bar {
  min-height: 46px;
  padding: 8px 24px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 18px;
  color: rgba(255,255,255,.78);
  background: #165a3c;
  font-size: 12px;
}

.idpr-commerce-bar span:first-child {
  color: #fff;
  font-size: 15px;
  font-weight: 850;
  letter-spacing: .01em;
}

.idpr-commerce-bar strong {
  padding: 5px 10px;
  color: #213d2b;
  border-radius: 999px;
  background: #d4f04d;
  font-size: 10px;
  text-transform: uppercase;
}

.idpr-commerce-header {
  min-height: 78px;
  padding: 0 max(24px, calc((100vw - 1180px)/2));
  display: flex;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid rgba(28,68,43,.12);
  background: #fffef9;
}

.idpr-commerce-brand {
  display: flex;
  flex-direction: column;
  color: #173d2a !important;
  font-family: Georgia, serif;
  font-size: 20px;
  font-weight: 700;
  text-decoration: none !important;
}

.idpr-commerce-brand small {
  margin-top: 4px;
  color: #738077;
  font-family: Arial, sans-serif;
  font-size: 8px;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.idpr-commerce-secure { font-size: 13px; font-weight: 700; }

.idpr-commerce-progress {
  width: min(720px, calc(100% - 40px));
  margin: 40px auto 0;
  display: grid;
  grid-template-columns: auto 1fr auto 1fr auto;
  align-items: center;
  gap: 10px;
}

.idpr-commerce-progress span {
  display: flex;
  align-items: center;
  gap: 9px;
  color: #8a938d;
  font-size: 12px;
  font-weight: 700;
}

.idpr-commerce-progress i {
  width: 31px;
  height: 31px;
  display: grid;
  place-items: center;
  color: #5c6a61;
  border: 1px solid rgba(28,68,43,.17);
  border-radius: 50%;
  background: #fff;
  font-style: normal;
}

.idpr-commerce-progress span.active,
.idpr-commerce-progress span.complete { color: #1f4931; }
.idpr-commerce-progress span.active i { background: #d4f04d; border-color: #d4f04d; }
.idpr-commerce-progress span.complete i { color: #fff; background: #286b49; border-color: #286b49; }
.idpr-commerce-progress b { height: 1px; background: rgba(28,68,43,.16); }

.idpr-commerce-title {
  width: min(1180px, calc(100% - 48px));
  margin: 48px auto 0;
}
.idpr-commerce-title small {
  color: #668057;
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}
.idpr-commerce-title h1 {
  margin: 8px 0 0 !important;
  color: #173d2a;
  font-family: Georgia, serif;
  font-size: clamp(45px, 6vw, 72px) !important;
  font-weight: 500;
  letter-spacing: -.055em;
  line-height: 1;
}
.idpr-commerce-title p { margin: 15px 0 0; color: #637168; font-size: 16px; }

body.idpr-redesign-cart .woocommerce,
body.idpr-redesign-checkout .woocommerce {
  width: min(1180px, calc(100% - 48px));
  margin: 0 auto 100px !important;
}

body.idpr-redesign-cart .woocommerce-cart-form,
body.idpr-redesign-cart .cart-collaterals,
body.idpr-redesign-checkout form.checkout {
  border-radius: 24px;
}

body.idpr-redesign-cart table.shop_table,
body.idpr-redesign-checkout table.shop_table {
  overflow: hidden;
  border: 1px solid rgba(28,68,43,.12) !important;
  border-radius: 20px !important;
  background: #fffef9;
  box-shadow: 0 18px 45px rgba(27,72,47,.07);
}

body.idpr-redesign-cart .cart_totals,
body.idpr-redesign-checkout #order_review,
body.idpr-redesign-checkout .woocommerce-billing-fields,
body.idpr-redesign-checkout .woocommerce-shipping-fields,
body.idpr-redesign-checkout .woocommerce-additional-fields {
  padding: 24px;
  border: 1px solid rgba(28,68,43,.12);
  border-radius: 22px;
  background: #fffef9;
  box-shadow: 0 18px 45px rgba(27,72,47,.07);
}

body.idpr-redesign-cart .button,
body.idpr-redesign-checkout .button,
body.idpr-redesign-cart .checkout-button,
body.idpr-redesign-checkout #place_order {
  min-height: 52px;
  padding: 0 24px !important;
  border: 0 !important;
  border-radius: 999px !important;
  color: #173d2a !important;
  background: linear-gradient(90deg, #c9ef52, #ffd047) !important;
  font-weight: 800 !important;
}

/* Martfury gives the continue-shopping link a more specific green style when
   products remain in the cart. Keep the same WooCommerce destination while
   matching both populated and empty-cart states to the redesign. */
body.idpr-redesign-cart .woocommerce-cart-form .actions a.button,
body.idpr-redesign-cart .woocommerce-cart-form .actions .btn-shop,
body.idpr-redesign-cart .woocommerce-cart-form .actions .continue-shopping,
body.idpr-redesign-cart a.wc-backward,
body.idpr-redesign-cart .return-to-shop a.button {
  min-height: 52px !important;
  padding: 0 26px !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  border: 0 !important;
  border-radius: 999px !important;
  color: #173d2a !important;
  background: linear-gradient(90deg, #c9ef52, #ffd047) !important;
  box-shadow: none !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}

body.idpr-redesign-cart input,
body.idpr-redesign-checkout input,
body.idpr-redesign-checkout select,
body.idpr-redesign-checkout textarea {
  min-height: 50px;
  border: 1px solid rgba(28,68,43,.18) !important;
  border-radius: 12px !important;
  background: #fff !important;
}

.idpr-commerce-promise {
  width: min(900px, calc(100% - 48px));
  margin: 30px auto 90px;
  padding: 18px 22px;
  display: flex;
  justify-content: center;
  gap: 28px;
  color: #2b5138;
  border: 1px solid rgba(28,68,43,.11);
  border-radius: 18px;
  background: #edf4e2;
  font-size: 12px;
  font-weight: 700;
}

@media (max-width: 680px) {
  .idpr-commerce-bar span:last-child, .idpr-commerce-bar strong { display: none; }
  .idpr-commerce-bar { min-height: 46px; padding: 10px 16px; font-weight: 700; }
  .idpr-commerce-bar span:first-child { font-size: 14px; }
  .idpr-commerce-header { min-height: 67px; padding: 0 16px; }
  .idpr-commerce-brand { font-size: 17px; }
  .idpr-commerce-brand small { display: none; }
  .idpr-commerce-secure { font-size: 11px; }
  .idpr-commerce-progress { margin-top: 28px; gap: 6px; }
  .idpr-commerce-progress span { gap: 0; }
  .idpr-commerce-progress span:not(.active):not(.complete) { color: transparent; }
  .idpr-commerce-progress span { font-size: 0; }
  .idpr-commerce-progress i { font-size: 12px; }
  .idpr-commerce-title { width: calc(100% - 32px); margin-top: 30px; }
  .idpr-commerce-title h1 {
    max-width: 100%;
    font-size: clamp(38px, 10.5vw, 48px) !important;
    letter-spacing: -.045em;
    line-height: 1.02;
  }
  .idpr-commerce-title p { font-size: 15px; line-height: 1.55; }
  body.idpr-redesign-cart .woocommerce,
  body.idpr-redesign-checkout .woocommerce { width: calc(100% - 28px); margin-bottom: 70px !important; }
  body.idpr-redesign-cart table.shop_table_responsive tr,
  body.idpr-redesign-cart table.shop_table_responsive td { display: block !important; width: 100% !important; }
  body.idpr-redesign-cart .cart_totals,
  body.idpr-redesign-checkout #order_review,
  body.idpr-redesign-checkout .woocommerce-billing-fields,
  body.idpr-redesign-checkout .woocommerce-shipping-fields,
  body.idpr-redesign-checkout .woocommerce-additional-fields { padding: 18px; border-radius: 18px; }
  body.idpr-redesign-checkout #order_review_heading {
    margin: 28px 0 12px !important;
    font-size: 24px !important;
  }
  body.idpr-redesign-checkout #order_review {
    overflow: hidden;
  }
  body.idpr-redesign-checkout #order_review table.shop_table {
    width: 100% !important;
    table-layout: fixed;
  }
  body.idpr-redesign-checkout #order_review table.shop_table th,
  body.idpr-redesign-checkout #order_review table.shop_table td {
    padding: 14px 8px !important;
    vertical-align: top;
  }
  body.idpr-redesign-checkout #order_review table.shop_table th:first-child,
  body.idpr-redesign-checkout #order_review table.shop_table td:first-child {
    width: 62%;
  }
  body.idpr-redesign-checkout #order_review table.shop_table th:last-child,
  body.idpr-redesign-checkout #order_review table.shop_table td:last-child {
    width: 38%;
    text-align: right;
  }
  body.idpr-redesign-checkout #order_review table.shop_table thead th.product-total {
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }
  /* Keep the order totals balanced and prevent Android browsers from
     splitting labels such as "Subtotal" across two lines. */
  body.idpr-redesign-checkout #order_review table.shop_table tfoot th {
    text-align: left;
    white-space: nowrap !important;
    word-break: keep-all !important;
    overflow-wrap: normal !important;
    hyphens: none !important;
  }
  body.idpr-redesign-checkout #order_review table.shop_table tfoot td {
    text-align: right;
  }
  body.idpr-redesign-checkout #order_review table.shop_table tfoot .woocommerce-Price-amount {
    white-space: nowrap;
  }
  body.idpr-redesign-checkout .woocommerce-privacy-policy-text,
  body.idpr-redesign-checkout .woocommerce-terms-and-conditions-wrapper {
    font-size: 14px;
    line-height: 1.55;
  }
  body.idpr-redesign-checkout .woocommerce-form__label-for-checkbox {
    display: inline-block !important;
    width: auto !important;
    max-width: 100%;
    line-height: 1.5;
    white-space: normal;
  }
  body.idpr-redesign-checkout .woocommerce-form__label-for-checkbox span {
    display: inline !important;
    width: auto !important;
    white-space: normal;
    word-break: normal;
    overflow-wrap: normal;
  }
  body.idpr-redesign-checkout input[type="checkbox"] {
    width: 20px !important;
    min-width: 20px !important;
    height: 20px !important;
    min-height: 20px !important;
    margin: 0 8px 0 0 !important;
    vertical-align: middle;
  }
  body.idpr-redesign-checkout #place_order {
    width: 100%;
    min-height: 56px;
    margin-top: 14px;
  }
  .idpr-commerce-promise {
    width: calc(100% - 32px); margin: 25px auto 65px;
    align-items: flex-start; flex-direction: column; gap: 10px;
  }
}

/* v18 — clearer home navigation and brand hierarchy. */
@media (min-width: 681px) {
  .idpr-home .sober-header-inner { height: 104px; }
  .idpr-home .sober-header .brand strong { font-size: 30px; }
  .idpr-home .sober-header .brand small {
    margin-top: 8px; font-size: 12px; font-weight: 800; letter-spacing: .14em;
  }
  .idpr-home .sober-header nav { gap: 42px; font-size: 18px; font-weight: 750; }
  .idpr-home .header-tools,
  .idpr-home .cart-link { font-size: 17px; font-weight: 750; }
  .idpr-home .cart-link span { width: 30px; height: 30px; font-size: 12px; }
}

@media (max-width: 680px) {
  .idpr-home .sober-header .brand strong { font-size: 18px; }
  .idpr-home .cart-link { font-size: 13px; }
  .idpr-home .sober-header nav a { font-size: 16px; font-weight: 750; }
  .idpr-native-cart .idpr-qty-control {
    width: 150px; grid-template-columns: 42px 66px 42px;
  }
}

/* v19 — warmer trust palette with calmer, clearer contrast. */
.idpr-home .trust-section {
  color: #f4f1e7;
  background:
    radial-gradient(circle at 8% 88%, rgba(133, 190, 151, .2), transparent 28rem),
    linear-gradient(135deg, #123d2c 0%, #1b573e 58%, #174735 100%);
}
.idpr-home .trust-section .eyebrow.light {
  color: #a9d8b7;
}
.idpr-home .trust-story h2 {
  color: #f6f1e5;
}
.idpr-home .trust-story > p:not(.eyebrow),
.idpr-home .trust-cards p,
.idpr-home .shipping-note {
  color: #cbdccf;
}
.idpr-home .trust-story blockquote {
  color: #f0eadc;
  border-color: rgba(202, 224, 207, .22);
  border-left-color: #8fc7a1;
  background: rgba(241, 246, 236, .075);
}
.idpr-home .trust-cards article {
  border-color: rgba(185, 218, 194, .24);
  background: rgba(89, 139, 108, .28);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .04);
}
.idpr-home .trust-cards span {
  color: #a9d8b7;
}
.idpr-home .trust-cards h3 {
  color: #f4f1e7;
}

/* v19 — one legible brand scale across every redesigned WooCommerce page. */
@media (min-width: 681px) {
  .idpr-product-header,
  .idpr-shop-header,
  .idpr-commerce-header { min-height: 104px; }

  .idpr-product-header strong,
  .idpr-shop-brand strong { font-size: 30px; line-height: 1; }
  .idpr-commerce-brand { font-size: 30px; line-height: 1; }

  .idpr-product-header small,
  .idpr-shop-brand small,
  .idpr-commerce-brand small {
    margin-top: 8px; font-size: 11px; font-weight: 800; letter-spacing: .14em;
  }

  .idpr-product-cart,
  .idpr-shop-header nav a,
  .idpr-commerce-secure { font-size: 17px; font-weight: 750; }
  .idpr-product-cart span,
  .idpr-shop-cart span { width: 36px; height: 36px; font-size: 14px; }
}

/* v19 — product information sized for effortless scanning. */
.idpr-product-visual > span { font-size: 12px; }
.idpr-product-visual p { font-size: 15px; }
.idpr-kicker { font-size: 13px; }
.idpr-product-lead { font-size: 21px; line-height: 1.65; }
.idpr-product-facts span { font-size: 13px; }
.idpr-product-facts b { font-size: 20px; }
.idpr-pack-heading strong { font-size: 20px; }
.idpr-pack-heading small { font-size: 13px; }
.idpr-pack-options button span { font-size: 14px; }
.idpr-pack-options button strong { font-size: 24px; }
.idpr-pack-options button small { font-size: 12px; }
.idpr-pack-options button i { font-size: 10px; }
.idpr-native-cart .idpr-qty-label { font-size: 14px; }
.idpr-native-cart .quantity input.qty,
.idpr-native-cart .quantity .idpr-qty-input { font-size: 17px !important; font-weight: 750; }
.idpr-native-cart .single_add_to_cart_button { font-size: 17px !important; }
.idpr-buy-trust { font-size: 14px; }
.idpr-section-intro { font-size: 20px; }
.idpr-use-grid article > span { font-size: 13px; }
.idpr-use-grid h3,
.idpr-steps h3 { font-size: 24px; }
.idpr-use-grid p,
.idpr-steps p { font-size: 16px; }
.idpr-install-section p { font-size: 19px; }
.idpr-install-features span { font-size: 15px; }
.idpr-specs-grid > div > p:last-child,
.idpr-specs-grid dl { font-size: 18px; }
.idpr-product-closing a { font-size: 16px; }

@media (max-width: 680px) {
  .idpr-product-header strong,
  .idpr-shop-brand strong,
  .idpr-commerce-brand { font-size: 20px; }
  .idpr-product-cart,
  .idpr-shop-cart,
  .idpr-commerce-secure { font-size: 13px !important; }
  .idpr-product-visual > span { font-size: 10px; }
  .idpr-product-visual p { font-size: 14px; }
  .idpr-kicker { font-size: 12px; }
  .idpr-product-lead { font-size: 18px; }
  .idpr-product-facts span { font-size: 12px; }
  .idpr-pack-heading strong { font-size: 19px; }
  .idpr-pack-options button span { font-size: 14px; }
  .idpr-buy-trust { font-size: 13px; }
}

/* v20 — larger, higher-contrast guided recommendation. */
.idpr-home .recommendation-image { min-height: 390px; }
.idpr-home .recommendation-image > img {
  width: 100%; height: 360px; transform: scale(1.1); transform-origin: center;
}
.idpr-home .recommendation-image > span {
  padding: 10px 14px; color: #173d2a; border-radius: 999px;
  background: #b8dcb8; font-size: 12px; font-weight: 850;
  letter-spacing: .075em;
}
.idpr-home .mini-eyebrow {
  color: #b8dcb8; font-size: 14px; font-weight: 850;
}
.idpr-home .recommendation-copy h3 {
  color: #f6f1e5; font-size: 40px; line-height: 1.12;
}
.idpr-home .recommendation-copy > p:not(.mini-eyebrow) {
  color: #d5e2d7; font-size: 18px;
}
.idpr-home .recommendation-copy li {
  color: #eef2e9; border-color: rgba(196, 222, 202, .32);
  background: rgba(216, 235, 220, .08); font-size: 15px;
}
.idpr-home .recommendation-copy a {
  color: #b8dcb8; font-size: 17px; text-shadow: none;
}

/* v20 — clearer footer typography. */
.idpr-home footer { color: #f2f0e7; }
.idpr-home .brand-footer strong { color: #f5f1e6; font-size: 24px; }
.idpr-home .brand-footer small {
  color: #b9c9bc; font-size: 11px; font-weight: 800;
}
.idpr-home .footer-grid > p {
  color: #dbe2d7; font-size: 20px; line-height: 1.4;
}
.idpr-home .footer-grid > div { gap: 28px; font-size: 15px; }
.idpr-home .footer-grid > div a { color: #c8d4ca; }
.idpr-home .footer-bottom { color: #aebdaf; font-size: 13px; }

/* v20 — stronger utility-bar hierarchy and a direct support number. */
.idpr-home .prototype-bar a,
.idpr-shop-bar a,
.idpr-commerce-bar a { color: inherit !important; text-decoration: none !important; }
.idpr-home .prototype-bar span,
.idpr-shop-bar strong,
.idpr-commerce-bar strong { font-size: 14px; font-weight: 850; }
.idpr-home .prototype-bar p:last-child,
.idpr-shop-bar span:last-child,
.idpr-commerce-bar span:last-child { color: #e5eee6; font-size: 15px; font-weight: 800; }

@media (max-width: 680px) {
  .idpr-home .recommendation-image { min-height: 330px; }
  .idpr-home .recommendation-image > img { height: 305px; transform: scale(1.08); }
  .idpr-home .recommendation-image > span { font-size: 11px; }
  .idpr-home .mini-eyebrow { font-size: 13px; }
  .idpr-home .recommendation-copy h3 { font-size: 34px; }
  .idpr-home .recommendation-copy > p:not(.mini-eyebrow) { font-size: 17px; }
  .idpr-home .recommendation-copy li { font-size: 14px; }
  .idpr-home .footer-grid > p { font-size: 18px; }
  .idpr-home .footer-grid > div { font-size: 15px; }
  .idpr-home .footer-bottom { font-size: 12px; line-height: 1.55; }
}

/* v21 — shared modern product layout for the complete WooCommerce catalogue. */
.idpr-product-nav {
  display: flex; align-items: center; gap: 24px;
}
.idpr-product-nav > a:not(.idpr-product-cart) {
  color: #3d5847; font-size: 17px; font-weight: 750; text-decoration: none;
}
.idpr-product-nav > a:not(.idpr-product-cart):hover { color: #173d2a; }
.idpr-generic-product-page .idpr-product-buy h1 {
  font-size: clamp(46px, 4.6vw, 70px); line-height: 1.01;
}
.idpr-camera-product .idpr-product-buy h1 {
  max-width: 720px; font-size: clamp(46px, 4vw, 64px); line-height: 1.08;
  letter-spacing: -.035em;
}
.idpr-camera-product .idpr-product-highlights {
  gap: 6px; margin-top: 22px;
}
.idpr-camera-product .idpr-product-highlights li {
  padding: 4px 0; font-size: 19px; line-height: 1.5;
}
.idpr-generic-product-page .idpr-product-visual img {
  width: 96%; height: 485px;
}
.idpr-product-highlights {
  margin: 18px 0 0; padding: 0; display: grid; gap: 9px; list-style: none;
}
.idpr-product-highlights li {
  display: flex; align-items: flex-start; gap: 10px; color: #53675a;
  font-size: 16px; line-height: 1.5;
}
.idpr-product-highlights li::before {
  content: ""; width: 8px; height: 8px; margin-top: .48em; flex: 0 0 8px;
  border-radius: 50%; background: #76a984;
}
.idpr-generic-facts span { min-width: 0; }
.idpr-generic-facts b { line-height: 1.1; }
.idpr-generic-price {
  margin: 22px 0 4px; color: #245f40; font-size: 27px; font-weight: 850;
}
.idpr-generic-price del { margin-right: 7px; color: #929a94; font-size: .7em; }
.idpr-generic-price ins { color: #245f40; text-decoration: none; }
.idpr-generic-cart table.variations {
  position: static !important; width: 100% !important; height: auto !important;
  margin: 18px 0 !important; overflow: visible !important; clip: auto !important;
  white-space: normal !important; border: 0 !important;
}
.idpr-generic-cart table.variations tr {
  display: grid; grid-template-columns: 130px minmax(0,1fr); align-items: center;
  gap: 14px; margin-bottom: 12px;
}
.idpr-generic-cart table.variations th,
.idpr-generic-cart table.variations td {
  width: auto !important; padding: 0 !important; border: 0 !important;
}
.idpr-generic-cart table.variations label {
  color: #294d36; font-size: 14px; font-weight: 800;
}
.idpr-generic-cart table.variations select {
  width: 100% !important; min-height: 52px; padding: 0 42px 0 15px !important;
  color: #274b34; border: 1px solid rgba(23,61,42,.18) !important;
  border-radius: 14px !important; background-color: #f7f8ef !important;
  font-size: 15px !important;
}
.idpr-generic-cart .reset_variations {
  margin-top: 7px; display: inline-flex !important; color: #55705f !important;
  font-size: 12px; font-weight: 700; text-decoration: underline;
}
.idpr-generic-cart .woocommerce-variation-price {
  margin: 12px 0; display: block; color: #245f40; font-size: 23px; font-weight: 850;
}
.idpr-generic-cart .woocommerce-variation-availability { font-size: 14px; }
.idpr-generic-cart > form.cart:not(.variations_form) {
  display: grid !important; grid-template-columns: 160px minmax(0,1fr);
  align-items: end; gap: 10px;
}
.idpr-generic-cart > form.cart:not(.variations_form) .single_add_to_cart_button {
  min-height: 56px; margin: 0 !important;
}
.idpr-generic-info-grid {
  display: grid; grid-template-columns: minmax(0,1.05fr) minmax(320px,.95fr);
  align-items: start; gap: 70px;
}
.idpr-generic-info-grid.idpr-camera-info {
  grid-template-columns: minmax(0, 860px); justify-content: center; gap: 0;
}
.idpr-generic-description {
  max-width: 760px; margin-top: 22px; color: #5f7166;
  font-size: 18px; line-height: 1.75;
}
.idpr-generic-description p { margin: 0 0 16px; }
.idpr-generic-description-list {
  padding: 0; display: grid; gap: 0; list-style: none;
}
.idpr-generic-description-list li {
  position: relative; padding: 14px 0 14px 24px;
  border-bottom: 1px solid rgba(23,61,42,.1);
}
.idpr-generic-description-list li::before {
  content: ""; position: absolute; top: 1.45em; left: 2px;
  width: 8px; height: 8px; border-radius: 50%; background: #76a984;
}
.idpr-generic-attributes {
  padding: 24px; border: 1px solid rgba(23,61,42,.12);
  border-radius: 22px; background: #f4f7e8;
}
.idpr-generic-attributes table { width: 100%; margin: 0 !important; border: 0 !important; }
.idpr-generic-attributes th,
.idpr-generic-attributes td {
  padding: 14px 8px !important; color: #53665a; border: 0 !important;
  border-bottom: 1px solid rgba(23,61,42,.11) !important; font-size: 15px;
  text-align: left;
}
.idpr-generic-attributes th { width: 42%; color: #173d2a; font-weight: 800; }
.idpr-generic-promises { padding: 92px 0; background: #edf4e2; }
.idpr-generic-promises .idpr-use-grid { margin-top: 0; }
.idpr-generic-promises .idpr-use-grid article { background: #fffef9; }

/* v27 — balanced related products and a shared store footer. */
.idpr-home .hero-microproof span { font-size: 17px; line-height: 1.5; }
body.idpr-redesign-product .related.products,
body.idpr-redesign-product section.related,
body.idpr-redesign-product .upsells.products {
  width: min(1180px, calc(100% - 48px)) !important;
  margin: 72px auto !important;
}

/* v28 — one visual header system across home, shop, product and checkout. */
.idpr-home .sober-bar,
.idpr-shop-bar,
.idpr-product-topbar,
.idpr-commerce-bar {
  min-height: 48px;
  color: rgba(255,255,255,.95);
  background: linear-gradient(90deg, #113c2a, #236444 58%, #1e5540);
  font-size: 15px;
  font-weight: 850;
}
.idpr-home .sober-bar span,
.idpr-shop-bar strong,
.idpr-product-topbar strong,
.idpr-commerce-bar strong {
  padding: 6px 12px;
  color: #173321;
  border: 0;
  border-radius: 999px;
  background: #b9ed62;
  font-size: 13px;
  font-weight: 850;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.idpr-home .sober-header,
.idpr-shop-header,
.idpr-product-header,
.idpr-commerce-header {
  border-bottom: 1px solid rgba(23,61,42,.12);
  background: #fffef9;
}
.idpr-product-nav {
  display: flex;
  align-items: center;
  gap: 24px;
}
.idpr-product-nav > a:not(.idpr-product-cart) {
  color: #42584a;
  font-size: 17px;
  font-weight: 750;
  text-decoration: none;
}
body.idpr-redesign-product .related.products > h2,
body.idpr-redesign-product section.related > h2,
body.idpr-redesign-product .upsells.products > h2 {
  margin: 0 0 40px !important; text-align: center !important;
}
body.idpr-redesign-product .related.products ul.products,
body.idpr-redesign-product section.related ul.products,
body.idpr-redesign-product .upsells.products ul.products {
  display: grid !important;
  width: min(100%, 980px) !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  justify-content: center !important; gap: 46px !important;
  margin-inline: auto !important; padding: 0 !important;
}
body.idpr-redesign-product .related.products ul.products li.product,
body.idpr-redesign-product section.related ul.products li.product,
body.idpr-redesign-product .upsells.products ul.products li.product {
  width: 100% !important; margin: 0 !important; float: none !important;
}
body.idpr-redesign-product .related.products ul.products li.product img.attachment-woocommerce_thumbnail,
body.idpr-redesign-product section.related ul.products li.product img.attachment-woocommerce_thumbnail,
body.idpr-redesign-product .upsells.products ul.products li.product img.attachment-woocommerce_thumbnail {
  width: 100% !important; min-height: 380px; object-fit: contain;
}
.idpr-portable-200w-product .idpr-product-highlights li,
.idpr-portable-200w-product .idpr-generic-description-list li {
  font-size: 20px; line-height: 1.55;
}
.idpr-global-footer {
  width: 100%; padding: 62px max(24px, calc((100vw - 1180px) / 2)) 24px;
  box-sizing: border-box; background: #30482f; color: #f4f1e7;
  font-family: Arial, sans-serif;
}
.idpr-global-footer a { color: inherit; text-decoration: none; }
.idpr-global-footer-grid {
  display: grid; grid-template-columns: 1fr 1fr auto; align-items: center;
  gap: 40px; padding-bottom: 48px;
}
.idpr-global-footer-brand { display: flex; flex-direction: column; }
.idpr-global-footer-brand strong { color: #f5f1e6; font-family: Georgia, serif; font-size: 24px; }
.idpr-global-footer-brand small {
  margin-top: 6px; color: #b9c9bc; font-size: 11px; font-weight: 800;
  letter-spacing: .14em; text-transform: uppercase;
}
.idpr-global-footer-grid > p {
  margin: 0; color: #dbe2d7; font-family: Georgia, serif; font-size: 20px; line-height: 1.4;
}
.idpr-global-footer-grid nav { display: flex; gap: 28px; color: #c8d4ca; font-size: 15px; }
.idpr-global-footer-grid nav a:hover { color: #d4f04d; }
.idpr-global-footer-bottom {
  padding-top: 20px; display: flex; align-items: center; justify-content: space-between;
  border-top: 1px solid rgba(255,255,255,.12); color: #aebdaf; font-size: 13px;
}

@media (max-width: 900px) {
  .idpr-generic-info-grid { grid-template-columns: 1fr; gap: 38px; }
  .idpr-global-footer-grid { grid-template-columns: 1fr 1fr; }
  .idpr-global-footer-grid nav { grid-column: 1 / -1; }
}

@media (max-width: 680px) {
  .idpr-home .hero-microproof span { font-size: 16px; }
  .idpr-product-nav { gap: 13px; }
  .idpr-product-nav > a:not(.idpr-product-cart) { font-size: 13px; }
  .idpr-generic-product-page .idpr-product-buy h1 { font-size: clamp(42px, 12vw, 56px); }
  .idpr-camera-product .idpr-product-buy h1 { font-size: clamp(38px, 10.5vw, 50px); line-height: 1.1; }
  .idpr-generic-product-page .idpr-product-visual img { width: 100%; height: 310px; }
  .idpr-generic-price { margin-top: 18px; font-size: 25px; }
  .idpr-generic-cart table.variations tr {
    grid-template-columns: 1fr; gap: 7px;
  }
  .idpr-generic-cart > form.cart:not(.variations_form) {
    grid-template-columns: 150px minmax(0,1fr);
  }
  .idpr-generic-description { font-size: 17px; }
  .idpr-product-highlights li { font-size: 15px; }
  .idpr-camera-product .idpr-product-highlights li { font-size: 17px; }
  .idpr-generic-promises { padding: 70px 0; }
  .idpr-global-footer { padding: 50px 20px 22px; }
  .idpr-global-footer-grid { grid-template-columns: 1fr; gap: 26px; padding-bottom: 38px; }
  .idpr-global-footer-grid nav { grid-column: auto; flex-direction: column; gap: 14px; }
  .idpr-global-footer-bottom { align-items: flex-start; flex-direction: column; gap: 8px; line-height: 1.55; }
  body.idpr-redesign-product .related.products,
  body.idpr-redesign-product section.related,
  body.idpr-redesign-product .upsells.products { width: calc(100% - 30px) !important; margin: 54px auto !important; }
  body.idpr-redesign-product .related.products ul.products,
  body.idpr-redesign-product section.related ul.products,
  body.idpr-redesign-product .upsells.products ul.products {
    grid-template-columns: 1fr !important; gap: 28px !important;
  }
  body.idpr-redesign-product .related.products ul.products li.product img.attachment-woocommerce_thumbnail,
  body.idpr-redesign-product section.related ul.products li.product img.attachment-woocommerce_thumbnail,
  body.idpr-redesign-product .upsells.products ul.products li.product img.attachment-woocommerce_thumbnail { min-height: 300px; }
  .idpr-portable-200w-product .idpr-product-highlights li,
  .idpr-portable-200w-product .idpr-generic-description-list li { font-size: 18px; }

  .idpr-home .sober-bar,
  .idpr-shop-bar,
  .idpr-product-topbar,
  .idpr-commerce-bar { min-height: 46px; font-size: 14px; }
}

/* v32 — one navigation, a complete confirmation screen and essential footer links. */
.idpr-store-header-actions {
  display: flex;
  align-items: center;
  gap: 30px;
}
.idpr-store-nav {
  display: flex;
  align-items: center;
  gap: 28px;
}
.idpr-store-nav a {
  color: #42584a !important;
  font-size: 16px !important;
  font-weight: 750 !important;
  line-height: 1.25;
  text-decoration: none !important;
  white-space: nowrap;
}
.idpr-store-nav a:hover { color: #173d2a !important; }
.idpr-store-menu-toggle { display: none; }
.idpr-store-cart {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  color: #173d2a !important;
  font-size: 16px;
  font-weight: 800;
  text-decoration: none !important;
  white-space: nowrap;
}
.idpr-store-cart span {
  width: 34px;
  height: 34px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 50%;
  background: #1e6848;
  color: #fff;
  font-size: 14px;
}

.idpr-home .footer-bottom > div,
.idpr-global-footer-bottom > div {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 12px 24px;
}
.idpr-footer-legal {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 18px;
}
.idpr-footer-legal a {
  color: #c8d4ca !important;
  font-size: 13px;
  text-decoration: none !important;
}
.idpr-footer-legal a:hover { color: #d4f04d !important; }

body.idpr-redesign-static {
  background: #f7f8ed;
  color: #344d3d;
}
body.idpr-redesign-static .site-content,
body.idpr-redesign-static #content {
  width: min(1040px, calc(100% - 48px)) !important;
  max-width: 1040px !important;
  margin: 0 auto !important;
  padding: 76px 0 92px !important;
}
body.idpr-redesign-static .entry-title,
body.idpr-redesign-static h1 {
  color: #173d2a;
  font-family: Georgia, serif;
  font-size: clamp(42px, 6vw, 68px);
  line-height: 1.05;
}
body.idpr-redesign-static .entry-content,
body.idpr-redesign-static .entry-content p,
body.idpr-redesign-static .entry-content li {
  color: #5d6f64;
  font-size: 17px;
  line-height: 1.75;
}
body.idpr-redesign-static .entry-content h2,
body.idpr-redesign-static .entry-content h3 { color: #173d2a; }

body.idpr-redesign-confirmation .woocommerce {
  width: min(1100px, calc(100% - 48px));
  margin: 0 auto 88px !important;
}
.idpr-confirmation-hero {
  width: min(820px, calc(100% - 48px));
  margin: 68px auto 58px;
  padding: 54px;
  box-sizing: border-box;
  border: 1px solid rgba(23,61,42,.12);
  border-radius: 30px;
  background: #fffef9;
  text-align: center;
  box-shadow: 0 22px 60px rgba(23,61,42,.08);
}
.idpr-confirmation-check {
  width: 70px;
  height: 70px;
  margin: 0 auto 22px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #b9ed62;
  color: #173d2a;
  font-size: 32px;
  font-weight: 900;
}
.idpr-confirmation-hero > small {
  color: #5d7b52;
  font-size: 13px;
  font-weight: 850;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.idpr-confirmation-hero h1 {
  margin: 14px 0 18px;
  color: #173d2a;
  font-family: Georgia, serif;
  font-size: clamp(42px, 6vw, 66px);
  line-height: 1.02;
}
.idpr-confirmation-hero > p {
  max-width: 650px;
  margin: 0 auto;
  color: #647269;
  font-size: 19px;
  line-height: 1.65;
}
.idpr-confirmation-hero > div {
  margin-top: 30px;
  padding: 22px 26px;
  display: grid;
  gap: 7px;
  border-radius: 18px;
  background: #edf4e2;
  color: #53655a;
  font-size: 16px;
  line-height: 1.55;
}
.idpr-confirmation-hero > div strong { color: #173d2a; font-size: 18px; }
body.idpr-redesign-confirmation .woocommerce-thankyou-order-received { display: none; }

/* v33 — final shared header/footer rhythm and founder-photo framing. */
.idpr-camera-product .onsale,
.idpr-camera-catalog-product .onsale,
li.product.idpr-camera-catalog-product .onsale {
  display: none !important;
}

.idpr-home footer,
.idpr-global-footer {
  background: #30482f;
}

@media (min-width: 681px) {
  .idpr-home .sober-header-inner,
  .idpr-shop-header,
  .idpr-product-header,
  .idpr-commerce-header {
    min-height: 104px;
    height: 104px;
  }
}

.idpr-home footer,
.idpr-global-footer {
  padding-top: 62px;
  padding-bottom: 24px;
}

.idpr-home .footer-grid,
.idpr-global-footer-grid {
  gap: 40px;
  padding-bottom: 48px;
}

.idpr-home .footer-bottom,
.idpr-global-footer-bottom {
  padding-top: 20px;
  border-top: 1px solid rgba(255,255,255,.12);
  color: #aebdaf;
  font-size: 13px;
}

@media (max-width: 680px) {
  .idpr-home footer,
  .idpr-global-footer {
    padding: 50px 20px 22px;
  }

  .idpr-home .footer-grid,
  .idpr-global-footer-grid {
    padding-bottom: 38px;
  }
}
body.idpr-redesign-confirmation .woocommerce-order-overview,
body.idpr-redesign-confirmation .woocommerce-order-details,
body.idpr-redesign-confirmation .woocommerce-customer-details {
  padding: 28px !important;
  border: 1px solid rgba(23,61,42,.12) !important;
  border-radius: 22px !important;
  background: #fffef9 !important;
}
body.idpr-redesign-confirmation .woocommerce-order-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0,1fr));
  gap: 18px;
  margin-bottom: 28px !important;
}
body.idpr-redesign-confirmation .woocommerce-order-overview li {
  margin: 0 !important;
  padding: 0 16px !important;
  border-right: 1px solid rgba(23,61,42,.12) !important;
}
body.idpr-redesign-confirmation .woocommerce-order-overview li:last-child { border-right: 0 !important; }
body.idpr-redesign-confirmation .woocommerce-order-details,
body.idpr-redesign-confirmation .woocommerce-customer-details { margin-top: 26px !important; }

@media (max-width: 1080px) {
  .idpr-store-header-actions { gap: 18px; }
  .idpr-store-nav { gap: 18px; }
  .idpr-store-nav a { font-size: 14px !important; }
}

@media (max-width: 780px) {
  .idpr-shared-header { position: relative; }
  .idpr-store-header-actions { gap: 12px; }
  .idpr-store-menu-toggle {
    min-height: 40px;
    padding: 0 13px;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    border: 1px solid rgba(23,61,42,.18);
    border-radius: 999px;
    background: #fffef9;
    color: #173d2a;
    font-size: 13px;
    font-weight: 800;
  }
  .idpr-store-nav {
    position: absolute;
    z-index: 50;
    top: calc(100% + 1px);
    right: 16px;
    width: min(320px, calc(100vw - 32px));
    padding: 14px;
    display: none !important;
    flex-direction: column;
    align-items: stretch;
    gap: 4px !important;
    border: 1px solid rgba(23,61,42,.12);
    border-radius: 0 0 18px 18px;
    background: #fffef9;
    box-shadow: 0 22px 40px rgba(23,61,42,.14);
  }
  .idpr-shared-header.idpr-menu-open .idpr-store-nav { display: flex !important; }
  .idpr-store-nav a {
    padding: 12px 10px;
    font-size: 15px !important;
  }
  .idpr-store-cart { font-size: 14px; }
  .idpr-store-cart span { width: 30px; height: 30px; }
  body.idpr-redesign-confirmation .woocommerce-order-overview { grid-template-columns: repeat(2, minmax(0,1fr)); }
  body.idpr-redesign-confirmation .woocommerce-order-overview li:nth-child(2) { border-right: 0 !important; }
}

@media (max-width: 520px) {
  .idpr-shop-brand small,
  .idpr-commerce-brand small { display: none !important; }
  .idpr-product-header small { display: none !important; }
  .idpr-store-menu-toggle { padding-inline: 11px; }
  .idpr-store-cart { gap: 6px; }
  .idpr-confirmation-hero {
    width: calc(100% - 28px);
    margin: 42px auto;
    padding: 34px 20px;
    border-radius: 22px;
  }
  .idpr-confirmation-hero h1 { font-size: 42px; }
  .idpr-confirmation-hero > p { font-size: 17px; }
  body.idpr-redesign-confirmation .woocommerce { width: calc(100% - 28px); }
  body.idpr-redesign-confirmation .woocommerce-order-overview { grid-template-columns: 1fr; }
  body.idpr-redesign-confirmation .woocommerce-order-overview li { border-right: 0 !important; }
  .idpr-home .footer-bottom > div,
  .idpr-global-footer-bottom > div { align-items: flex-start; flex-direction: column; gap: 14px; }
  .idpr-footer-legal { align-items: flex-start; flex-direction: column; gap: 10px; }
  body.idpr-redesign-static .site-content,
  body.idpr-redesign-static #content {
    width: calc(100% - 30px) !important;
    padding: 50px 0 68px !important;
  }
}

/* v34 — mobile-first path to products without losing the guided home experience. */
@media (max-width: 680px) {
  .idpr-home .sober-hero,
  .idpr-home .sober-hero-grid {
    min-height: 0 !important;
  }

  .idpr-home .sober-hero-grid {
    padding: 0 !important;
  }

  .idpr-home .sober-hero-copy {
    padding: 46px 0 34px !important;
  }

  .idpr-home .sober-hero h1 {
    max-width: 100%;
    font-size: clamp(40px, 11.3vw, 50px) !important;
    line-height: .98;
  }

  .idpr-home .sober-hero h1 em {
    margin-top: 13px;
    line-height: 1.06;
  }

  .idpr-home .sober-hero .hero-intro {
    margin-top: 22px;
    font-size: 17px;
    line-height: 1.55;
  }

  .idpr-home .hero-actions {
    margin-top: 25px;
    gap: 9px;
  }

  .idpr-home .hero-actions .button-primary {
    min-height: 58px;
    font-size: 16px;
  }

  .idpr-home .hero-actions .button-secondary {
    min-height: 50px;
    font-size: 14px;
  }

  .idpr-home .hero-microproof {
    width: 100%;
    margin: 34px 0 0;
    padding-top: 24px;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 8px;
    border-top: 1px solid rgba(23, 63, 44, .15);
  }

  .idpr-home .hero-microproof div,
  .idpr-home .hero-microproof div:last-child {
    min-height: 96px;
    padding: 12px 7px;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 6px;
    border: 1px solid rgba(23, 63, 44, .13);
    border-radius: 16px;
    background: rgba(255,255,255,.68);
    text-align: center;
  }

  .idpr-home .hero-microproof strong {
    font-size: 18px;
    line-height: 1.1;
  }

  .idpr-home .hero-microproof span {
    max-width: 120px;
    font-size: 11px;
    line-height: 1.3;
    text-align: center;
  }

  .idpr-home .choice-section {
    padding-block: 62px !important;
    border-top: 1px solid rgba(23, 63, 44, .08);
  }

  .idpr-home .choice-layout {
    margin-top: 34px;
  }
}

@media (max-width: 390px) {
  .idpr-home .sober-hero-copy {
    padding-top: 40px !important;
  }

  .idpr-home .hero-microproof div,
  .idpr-home .hero-microproof div:last-child {
    min-height: 92px;
    padding-inline: 5px;
  }

  .idpr-home .hero-microproof strong {
    font-size: 16px;
  }

  .idpr-home .hero-microproof span {
    font-size: 10.5px;
  }
}

/* v35 — calmer mobile product pages and one clear cart/payment presentation. */
@media (max-width: 680px) {
  .idpr-product-wrap {
    width: calc(100% - 44px);
  }

  .idpr-product-hero {
    padding: 26px 0 58px;
  }

  .idpr-product-grid {
    gap: 32px;
  }

  .idpr-product-visual {
    min-height: 350px;
    padding: 18px;
    border-radius: 21px;
  }

  .idpr-product-visual img,
  .idpr-generic-product-page .idpr-product-visual img {
    height: 280px;
  }

  .idpr-product-buy h1,
  .idpr-generic-product-page .idpr-product-buy h1 {
    font-size: clamp(38px, 10.8vw, 50px);
    line-height: 1.02;
  }

  .idpr-camera-product .idpr-product-buy h1 {
    font-size: clamp(35px, 9.8vw, 45px);
  }

  .idpr-product-lead {
    font-size: 16px;
    line-height: 1.6;
  }

  .idpr-product-highlights li,
  .idpr-camera-product .idpr-product-highlights li {
    font-size: 15px;
  }

  .idpr-pack-area {
    padding: 16px;
    border-radius: 18px;
  }

  body.idpr-redesign-product .related.products,
  body.idpr-redesign-product section.related,
  body.idpr-redesign-product .upsells.products {
    width: calc(100% - 44px) !important;
  }

  body.idpr-redesign-cart table.shop_table_responsive tr.cart_item > td.product-thumbnail {
    display: none !important;
  }

  body.idpr-redesign-cart table.shop_table_responsive tr.cart_item > td.product-name {
    padding-top: 18px !important;
  }

  /* WooCommerce separates the unit price and the line subtotal into two rows
     on mobile. Keep the subtotal—the amount that matters in the cart—and
     remove the repeated unit-price row from the compact presentation. */
  body.idpr-redesign-cart table.shop_table_responsive tr.cart_item > td.product-price {
    display: none !important;
  }
}

/* v36 — one mobile header/footer system and clear 100W package labels. */
.idpr-shared-brand {
  min-width: 0;
  display: flex !important;
  flex-direction: column;
  justify-content: center;
  color: #173d2a !important;
  text-decoration: none !important;
}

.idpr-shared-brand strong {
  margin: 0;
  color: #173d2a;
  font-family: Georgia, serif;
  font-size: 20px;
  font-weight: 700;
  line-height: 1.05;
  white-space: nowrap;
}

.idpr-shared-brand small {
  margin-top: 5px;
  color: #718077;
  font-family: Arial, sans-serif;
  font-size: 9px;
  font-weight: 700;
  letter-spacing: .12em;
  line-height: 1.2;
  text-transform: uppercase;
  white-space: nowrap;
}

.idpr-home .sober-header .idpr-shared-brand strong,
.idpr-shop-header .idpr-shared-brand strong,
.idpr-product-header .idpr-shared-brand strong,
.idpr-commerce-header .idpr-shared-brand strong {
  font-size: 24px;
}

.idpr-home .sober-header .idpr-shared-brand small,
.idpr-shop-header .idpr-shared-brand small,
.idpr-product-header .idpr-shared-brand small,
.idpr-commerce-header .idpr-shared-brand small {
  font-size: 9px;
}

@media (max-width: 680px) {
  .idpr-home .sober-header-inner,
  .idpr-shop-header,
  .idpr-product-header,
  .idpr-commerce-header {
    width: 100%;
    min-height: 72px;
    height: 72px;
    padding: 0 20px;
    box-sizing: border-box;
  }

  .idpr-home .sober-header-inner {
    width: 100%;
    max-width: none;
    margin: 0;
  }

  .idpr-shared-brand strong,
  .idpr-home .sober-header .idpr-shared-brand strong,
  .idpr-shop-brand strong,
  .idpr-product-header strong,
  .idpr-commerce-brand strong {
    font-size: 17px;
    line-height: 1.05;
  }

  .idpr-shared-brand small,
  .idpr-home .sober-header .idpr-shared-brand small,
  .idpr-shop-brand small,
  .idpr-product-header small,
  .idpr-commerce-brand small {
    display: none !important;
  }

  .idpr-home .header-tools,
  .idpr-store-header-actions {
    flex: 0 0 auto;
    gap: 8px;
  }

  .idpr-home .mobile-menu-toggle,
  .idpr-store-menu-toggle {
    min-height: 40px;
    padding: 0 11px;
    box-sizing: border-box;
    font-size: 12px;
  }

  .idpr-home .cart-link,
  .idpr-store-cart,
  .idpr-product-cart,
  .idpr-shop-cart,
  .idpr-commerce-cart {
    min-height: 40px;
    gap: 6px;
    font-size: 12px !important;
  }

  .idpr-home .cart-link span,
  .idpr-store-cart span,
  .idpr-product-cart span,
  .idpr-shop-cart span {
    width: 28px;
    height: 28px;
    flex: 0 0 28px;
    font-size: 12px;
  }

  .idpr-store-nav {
    right: 20px;
    width: calc(100vw - 40px);
    max-width: 320px;
  }

  .idpr-home .sober-header nav {
    left: 0;
    right: 0;
    width: 100%;
    box-sizing: border-box;
  }

  .idpr-home .prototype-bar,
  .idpr-shop-bar,
  .idpr-product-topbar,
  .idpr-commerce-bar {
    min-height: 44px;
    padding: 8px 20px;
    box-sizing: border-box;
  }

  .idpr-shop-bar > span:not(:first-child),
  .idpr-product-topbar > span:not(:first-child),
  .idpr-commerce-bar > span:not(:first-child),
  .idpr-shop-bar > strong,
  .idpr-product-topbar > strong,
  .idpr-commerce-bar > strong {
    display: none;
  }

  .idpr-shop-bar > span:first-child,
  .idpr-product-topbar > span:first-child,
  .idpr-commerce-bar > span:first-child {
    color: #fff;
    font-size: 14px;
    font-weight: 850;
    text-align: center;
  }

  .idpr-pack-options button:has(i) {
    min-height: 92px;
    padding-top: 36px;
  }

  .idpr-pack-options button i {
    top: 10px;
    right: 12px;
    left: auto;
    transform: none;
  }

  .idpr-pack-options button:has(i) strong {
    margin-right: 0;
  }

  .idpr-home footer,
  .idpr-global-footer {
    padding-right: 22px;
    padding-left: 22px;
  }

  .idpr-home .footer-grid,
  .idpr-global-footer-grid {
    gap: 24px;
  }

  .idpr-home .footer-grid > div,
  .idpr-global-footer-grid nav,
  .idpr-footer-legal {
    font-size: 15px;
    line-height: 1.5;
  }
}

@media (max-width: 370px) {
  .idpr-home .sober-header-inner,
  .idpr-shop-header,
  .idpr-product-header,
  .idpr-commerce-header {
    padding-right: 16px;
    padding-left: 16px;
  }

  .idpr-shared-brand strong,
  .idpr-home .sober-header .idpr-shared-brand strong,
  .idpr-shop-brand strong,
  .idpr-product-header strong,
  .idpr-commerce-brand strong {
    font-size: 16px;
  }

  .idpr-home .mobile-menu-toggle,
  .idpr-store-menu-toggle {
    padding-inline: 9px;
  }

  .idpr-home .cart-link,
  .idpr-store-cart {
    font-size: 11px !important;
  }
}

/* v37 — original InstaDelivery mascot, recolored for the shared brand system. */
.idpr-shared-brand {
  display: grid !important;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 10px;
  align-items: center;
}

.idpr-shared-brand::before,
.idpr-global-footer-brand::before {
  content: "";
  width: 46px;
  height: 45px;
  grid-column: 1;
  grid-row: 1 / 3;
  display: block;
  background: url("instadelivery-mascota-verde-v37.png") center / contain no-repeat;
}

.idpr-shared-brand > strong,
.idpr-shared-brand > small {
  grid-column: 2;
}

.idpr-shared-brand > strong { grid-row: 1; align-self: end; }
.idpr-shared-brand > small { grid-row: 2; align-self: start; }

.idpr-shared-brand > span {
  min-width: 0;
  grid-column: 2;
  grid-row: 1 / 3;
}

.idpr-global-footer-brand {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  grid-template-rows: auto auto;
  column-gap: 11px;
  align-items: center;
}

.idpr-global-footer-brand strong,
.idpr-global-footer-brand small { grid-column: 2; }
.idpr-global-footer-brand strong { grid-row: 1; align-self: end; }
.idpr-global-footer-brand small { grid-row: 2; align-self: start; }

@media (max-width: 680px) {
  .idpr-shared-brand { column-gap: 8px; }

  .idpr-shared-brand::before {
    width: 34px;
    height: 34px;
  }

  .idpr-global-footer-brand::before {
    width: 42px;
    height: 41px;
  }
}

@media (max-width: 370px) {
  .idpr-shared-brand { column-gap: 7px; }

  .idpr-shared-brand::before {
    width: 30px;
    height: 30px;
  }
}

/* v38 — footer contrast, unobstructed 500W image and guided recommendation jump. */
.idpr-global-footer-brand::before {
  background-image: url("instadelivery-mascota-footer-v38.png");
}

.idpr-home .recommendation {
  scroll-margin-top: 100px;
}

.idpr-500w-product .idpr-product-visual {
  grid-template-rows: auto minmax(0, 1fr) auto;
  align-items: center;
}

.idpr-500w-product .idpr-product-visual > span {
  position: static;
  margin: 0;
  justify-self: start;
  align-self: start;
}

@media (max-width: 680px) {
  .idpr-home .recommendation {
    scroll-margin-top: 88px;
  }

  .idpr-500w-product .idpr-product-visual {
    min-height: 390px;
    row-gap: 10px;
  }
}

/* v42 — one mobile layout for Safari on iPhone and Chrome on Android. */
html {
  -webkit-text-size-adjust: 100%;
  text-size-adjust: 100%;
}

body.idpr-redesign-page {
  width: 100%;
  max-width: 100%;
  margin: 0;
  overflow-x: hidden;
}

body.idpr-redesign-home #page,
body.idpr-redesign-home #content,
body.idpr-redesign-home .site-content,
body.idpr-redesign-home .content-area,
body.idpr-redesign-home main.idpr-home {
  width: 100% !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding-right: 0 !important;
  padding-left: 0 !important;
}

body.idpr-redesign-home .idpr-home {
  margin-inline: 0 !important;
}

@media (max-width: 680px) {
  body.idpr-redesign-page input,
  body.idpr-redesign-page select,
  body.idpr-redesign-page textarea {
    max-width: 100%;
    font-size: 16px !important;
  }

  .idpr-home .shell,
  .idpr-product-wrap,
  body.idpr-redesign-product .related.products,
  body.idpr-redesign-product section.related,
  body.idpr-redesign-product .upsells.products,
  body.idpr-redesign-cart .woocommerce,
  body.idpr-redesign-checkout .woocommerce,
  body.idpr-redesign-static .site-content,
  body.idpr-redesign-static #content {
    width: calc(100% - 36px) !important;
    max-width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  .idpr-home .sober-header-inner,
  .idpr-shop-header,
  .idpr-product-header,
  .idpr-commerce-header {
    width: 100% !important;
    min-height: 76px !important;
    height: auto !important;
    padding: 12px 18px !important;
    gap: 8px !important;
  }

  .idpr-shared-brand {
    min-width: 0 !important;
    flex: 1 1 auto !important;
  }

  .idpr-shared-brand::before {
    width: 32px !important;
    height: 32px !important;
    flex: 0 0 32px;
  }

  .idpr-shared-brand strong,
  .idpr-home .sober-header .idpr-shared-brand strong,
  .idpr-shop-brand strong,
  .idpr-product-header strong,
  .idpr-commerce-brand strong {
    overflow: hidden;
    font-size: 16px !important;
    line-height: 1.1 !important;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .idpr-home .header-tools,
  .idpr-store-header-actions {
    min-width: 0;
    gap: 6px !important;
  }

  .idpr-home .mobile-menu-toggle,
  .idpr-store-menu-toggle,
  .idpr-home .cart-link,
  .idpr-store-cart,
  .idpr-product-cart,
  .idpr-shop-cart,
  .idpr-commerce-cart {
    min-width: 44px;
    min-height: 44px !important;
    padding: 0 10px !important;
    flex-shrink: 0;
  }

  .idpr-store-nav {
    right: 18px !important;
    left: 18px !important;
    width: auto !important;
    max-width: none !important;
  }

  .idpr-product-visual,
  .idpr-pack-area,
  body.idpr-redesign-cart .shop_table,
  body.idpr-redesign-checkout .woocommerce-checkout-review-order,
  body.idpr-redesign-checkout #customer_details {
    max-width: 100%;
  }

  .idpr-pack-options button:nth-child(2),
  .idpr-pack-options button:nth-child(3) {
    min-height: 96px;
    padding-top: 38px !important;
  }

  .idpr-pack-options button i {
    top: 10px !important;
    right: 10px !important;
    left: 10px !important;
    width: auto;
    max-width: calc(100% - 20px);
    transform: none !important;
    text-align: center;
    white-space: nowrap;
  }

  .idpr-home footer,
  .idpr-global-footer {
    width: 100%;
    padding-right: 20px !important;
    padding-left: 20px !important;
  }
}

@media (max-width: 374px) {
  .idpr-home .sober-header-inner,
  .idpr-shop-header,
  .idpr-product-header,
  .idpr-commerce-header {
    padding-right: 14px !important;
    padding-left: 14px !important;
  }

  .idpr-shared-brand::before {
    width: 28px !important;
    height: 28px !important;
    flex-basis: 28px;
  }

  .idpr-shared-brand strong,
  .idpr-home .sober-header .idpr-shared-brand strong {
    font-size: 15px !important;
  }
}

/* ---------------------------------------------------------------------------
 * Footer alignment on desktop.
 *
 * home.css sets `.idpr-home footer { padding: 65px 0 23px }`, which is more
 * specific than `.idpr-global-footer` and left the home footer with no side
 * padding at all, so its content sat flush against the window edges.
 *
 * Both rows now centre themselves in the same container the rest of the page
 * uses, instead of relying on padding computed from viewport units:
 * `calc(100% - ...)` is measured against the parent, so it lands on the same
 * pixel as `.shell` and `.idpr-product-wrap` even when a scrollbar is present,
 * which `100vw` does not account for. The home uses a 1240px container and the
 * store screens use 1180px, matching their own content above.
 *
 * Scoped to min-width: 681px, so the mobile layout is untouched.
 * ------------------------------------------------------------------------ */
@media (min-width: 681px) {
  .idpr-global-footer {
    padding-right: 0;
    padding-left: 0;
  }

  .idpr-global-footer > .idpr-global-footer-grid,
  .idpr-global-footer > .idpr-global-footer-bottom {
    width: min(1180px, calc(100% - 48px));
    margin-right: auto;
    margin-left: auto;
  }

  .idpr-home footer.idpr-global-footer > .idpr-global-footer-grid,
  .idpr-home footer.idpr-global-footer > .idpr-global-footer-bottom {
    width: min(1240px, calc(100% - 56px));
  }
}

/* ---------------------------------------------------------------------------
 * One single side margin on phones.
 *
 * The mobile layout had grown five different gutters side by side — 14, 16, 18,
 * 20 and 22px — so the top bar, the header, the page content and the footer all
 * started at slightly different distances from the edge. This block settles on
 * one value for every screen.
 *
 * Appended last and scoped to max-width: 680px on purpose: it overrides the
 * earlier rules without editing them, so nothing that already works can break,
 * and desktop is never touched. Every declaration here makes content *narrower*,
 * never wider, so it cannot introduce horizontal scrolling.
 * ------------------------------------------------------------------------ */
@media (max-width: 680px) {
  :root {
    --idpr-gutter-movil: 20px;
  }

  /* Page containers */
  .idpr-home .shell,
  .idpr-product-wrap,
  .idpr-shop-promise,
  .idpr-commerce-title,
  .idpr-commerce-promise,
  .idpr-shop-categories,
  body.idpr-redesign-product .related.products,
  body.idpr-redesign-product section.related,
  body.idpr-redesign-product .upsells.products,
  body.idpr-redesign-cart .woocommerce,
  body.idpr-redesign-checkout .woocommerce,
  body.idpr-redesign-static .site-content,
  body.idpr-redesign-static #content {
    width: calc(100% - (var(--idpr-gutter-movil) * 2)) !important;
    max-width: 100% !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }

  /* Full-width bars and headers keep their own padding instead */
  .idpr-home .prototype-bar,
  .idpr-shop-bar,
  .idpr-commerce-bar,
  .idpr-product-topbar {
    padding-right: var(--idpr-gutter-movil) !important;
    padding-left: var(--idpr-gutter-movil) !important;
  }

  .idpr-home .sober-header-inner,
  .idpr-shop-header,
  .idpr-product-header,
  .idpr-commerce-header {
    padding-right: var(--idpr-gutter-movil) !important;
    padding-left: var(--idpr-gutter-movil) !important;
  }

  .idpr-shop-hero {
    padding-right: var(--idpr-gutter-movil) !important;
    padding-left: var(--idpr-gutter-movil) !important;
  }

  .idpr-global-footer,
  .idpr-home footer.idpr-global-footer {
    padding-right: var(--idpr-gutter-movil) !important;
    padding-left: var(--idpr-gutter-movil) !important;
  }
}

@media (max-width: 520px) {
  .idpr-confirmation-hero,
  body.idpr-redesign-confirmation .woocommerce {
    width: calc(100% - (var(--idpr-gutter-movil, 20px) * 2)) !important;
    margin-right: auto !important;
    margin-left: auto !important;
  }
}

/* ---------------------------------------------------------------------------
 * Products whose WooCommerce "sale price" is really their normal price.
 *
 * The plugin already returns a price without the crossed-out comparison, but a
 * theme can print its own sale badge from the same data. Hiding it here keeps
 * the page from advertising a discount that does not exist. Only the display is
 * affected: WooCommerce still owns what the customer is charged.
 * ------------------------------------------------------------------------ */
.idpr-no-discount .onsale,
.idpr-no-discount .price del,
.idpr-no-discount .price del .amount,
.idpr-no-discount-page .onsale,
.idpr-no-discount-page .idpr-generic-price del,
li.product.idpr-no-discount .onsale,
li.product.idpr-no-discount .price del {
  display: none !important;
}

/* Requirements block under the product guide, in the same card language. */
.idpr-generic-notes {
  margin-top: 40px;
  padding: 28px;
  border: 1px solid rgba(23,61,42,.12);
  border-radius: 22px;
  background: #f4f7e8;
}
.idpr-generic-notes h3 { margin: 0 0 14px; color: #173d2a; font-size: 19px; }
.idpr-generic-notes .idpr-generic-description-list { margin: 0; }

@media (max-width: 680px) {
  .idpr-generic-notes { margin-top: 30px; padding: 20px; border-radius: 18px; }
  .idpr-generic-notes h3 { font-size: 17px; }
}

/* PayPal is not an accepted method: hide any button or logo a plugin injects. */
.paypal-buttons,
.paypal-button,
.ppcp-button-container,
.ppc-button-wrapper,
#ppc-button-ppcp-gateway,
[id^="zoid-paypal"],
[class*="paypal-express"],
[class*="ppcp-gateway"],
li.wc_payment_method.payment_method_paypal,
li.wc_payment_method[class*="ppcp"],
li.wc_payment_method[class*="ppec"] {
  display: none !important;
}

/* Shipment tracking on the customer's own order page. */
.idpr-account-tracking {
  margin: 28px 0;
  padding: 24px;
  border: 1px solid rgba(23,61,42,.12);
  border-radius: 18px;
  background: #f4f7e8;
}
.idpr-account-tracking h2 { margin: 0 0 12px; color: #173d2a; font-size: 19px; }
.idpr-account-tracking p { margin: 0 0 14px; color: #4a5b4f; font-size: 15px; line-height: 1.6; }
.idpr-account-tracking-link {
  display: inline-block; padding: 11px 20px; color: #173d2a;
  border-radius: 999px; background: #d4f04d; font-weight: 800;
  font-size: 14px; text-decoration: none;
}

/* The line that tells the customer which address a checkout block is for. */
.idpr-checkout-note {
  margin: 0 0 18px;
  padding: 12px 15px;
  border-left: 3px solid #d4f04d;
  border-radius: 0 10px 10px 0;
  background: #f4f7e8;
  color: #49584c;
  font-size: 14px;
  line-height: 1.55;
}
@media (max-width: 680px) {
  .idpr-checkout-note { padding: 11px 13px; font-size: 13px; }
}

/* -------------------------------------------------------------------------
 * v75 — La marca cabía por los pelos en móviles estrechos
 *
 * En pantallas de 360px y 375px el nombre necesitaba entre 3 y 5px más de los
 * que le daba la cabecera, y el text-overflow lo dejaba en "InstaDelivery …".
 * Un espaciado ligeramente negativo devuelve esos píxeles sin encoger la
 * tipografía. Medido: a 360px sobran 6px, a 375px sobran 3px.
 *
 * A 320px sigue sin caber (el hueco es de 88px y el texto pide 122): eso
 * requeriría rehacer la cabecera y no compensa por un iPhone SE de 2016.
 * ---------------------------------------------------------------------- */

@media (max-width: 389px) {
  .idpr-shared-brand strong,
  .idpr-home .sober-header .idpr-shared-brand strong,
  .idpr-shop-brand strong,
  .idpr-product-header strong,
  .idpr-commerce-brand strong {
    letter-spacing: -0.035em;
  }
}

/* -------------------------------------------------------------------------
 * v75 — La tabla del pedido con los colores de la tienda
 *
 * Martfury pinta los importes en #ff3300, su color de oferta. En la pantalla
 * de confirmación el cliente ya compró: no hay nada que vender, solo que leer.
 * El total sigue destacando, pero por peso y tamaño como el resto de la marca.
 * ---------------------------------------------------------------------- */

.woocommerce-table--order-details thead th {
  background: #f4f7e8 !important;
  color: #173d2a !important;
}

.woocommerce-table--order-details tbody td,
.woocommerce-table--order-details tbody .woocommerce-Price-amount,
.woocommerce-table--order-details tbody .woocommerce-Price-currencySymbol {
  color: #173d2a !important;
}

/* El enlace del producto se queda azul a propósito: es la señal de que lleva
 * a la ficha del producto. Recolorearlo quitaría esa pista al cliente. */

.woocommerce-table--order-details tfoot th,
.woocommerce-table--order-details tfoot td,
.woocommerce-table--order-details tfoot .woocommerce-Price-amount,
.woocommerce-table--order-details tfoot .woocommerce-Price-currencySymbol {
  color: #4a5b4f !important;
}

.woocommerce-table--order-details tfoot tr:last-child th,
.woocommerce-table--order-details tfoot tr:last-child td,
.woocommerce-table--order-details tfoot tr:last-child .woocommerce-Price-amount,
.woocommerce-table--order-details tfoot tr:last-child .woocommerce-Price-currencySymbol {
  color: #173d2a !important;
}

/* -------------------------------------------------------------------------
 * v81 — Los tres paquetes en fila en el celular, y legibles
 *
 * El diseño base siempre fue de tres columnas; una regla dentro de
 * @media (max-width: 680px) los apilaba. Comparar precios se hace mejor con los
 * tres a la vista.
 *
 * Dos cosas costaron encontrarse. Una regla con `:nth-child(2)` y `!important`
 * metía 38px de relleno arriba y clavaba la etiqueta dentro de la caja: estaba
 * pensada para el diseño apilado, gana por especificidad, y dejaba el contenido
 * aplastado abajo. Y centrar la etiqueta con translateX(-50%) no reduce el
 * scrollWidth, así que el navegador veía un desbordamiento que no existía;
 * centrarla con margen automatico lo evita.
 *
 * Medido a 341px, el caso más estrecho del rango: cajas de 85px con la etiqueta
 * más larga en 78px. Por debajo de 341px se quedan apilados, que es lo único
 * que funciona: ahí la columna baja de 80px y el contenido se sale.
 * ---------------------------------------------------------------------- */

@media (min-width: 341px) and (max-width: 680px) {
  .idpr-pack-options {
    grid-template-columns: repeat(3, 1fr);
    gap: 6px;
  }

  .idpr-pack-options button,
  .idpr-pack-options button:has(i),
  .idpr-pack-options button:nth-child(2),
  .idpr-pack-options button:nth-child(3) {
    min-height: 118px !important;
    padding: 20px 4px 13px !important;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    text-align: center;
  }

  .idpr-pack-options button span { font-size: 13px; }

  .idpr-pack-options button strong,
  .idpr-pack-options button:has(i) strong {
    margin: 0;
    font-size: 22px;
  }

  .idpr-pack-options button small { font-size: 11px; }

  .idpr-pack-options button i {
    top: -9px !important;
    right: 0 !important;
    left: 0 !important;
    width: max-content;
    max-width: 100%;
    margin: 0 auto;
    padding: 3px 5px;
    transform: none;
    font-size: 8px;
    letter-spacing: .02em;
    white-space: nowrap;
  }
}

/* -------------------------------------------------------------------------
 * v82 — Botón de WhatsApp
 *
 * Abajo a la IZQUIERDA a propósito: la esquina derecha ya la ocupa el botón de
 * "volver arriba" del tema (36×58px, a 10px del borde, z-index 10000). Y el
 * z-index se queda por debajo del menú deslizante del móvil (999999) para que
 * ese lo tape cuando se abre, que es lo correcto.
 * ---------------------------------------------------------------------- */

.idpr-whatsapp {
  position: fixed;
  bottom: 18px;
  left: 16px;
  z-index: 9990;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  padding: 11px 17px 11px 14px;
  border-radius: 999px;
  background: #25d366;
  color: #06301a;
  font-family: inherit;
  font-size: 14px;
  font-weight: 750;
  text-decoration: none;
  box-shadow: 0 6px 20px rgba(6, 48, 26, .28);
  transition: transform .14s ease, box-shadow .14s ease;
}

.idpr-whatsapp:hover,
.idpr-whatsapp:focus-visible {
  color: #06301a;
  transform: translateY(-2px);
  box-shadow: 0 10px 26px rgba(6, 48, 26, .34);
}

.idpr-whatsapp:focus-visible { outline: 3px solid #173d2a; outline-offset: 2px; }

.idpr-whatsapp svg { flex: 0 0 auto; }

/* En el celular se queda solo el icono: la etiqueta robaba ancho a la pantalla
 * y el círculo se entiende igual. */
@media (max-width: 680px) {
  .idpr-whatsapp {
    bottom: 14px;
    left: 12px;
    width: 52px;
    height: 52px;
    padding: 0;
    justify-content: center;
    gap: 0;
  }

  .idpr-whatsapp span {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip: rect(0 0 0 0);
    white-space: nowrap;
  }
}

@media (prefers-reduced-motion: reduce) {
  .idpr-whatsapp { transition: none; }
  .idpr-whatsapp:hover { transform: none; }
}

@media print {
  .idpr-whatsapp { display: none; }
}

/* -------------------------------------------------------------------------
 * v85 — Franja de promoción temporal
 *
 * En verde se confundía con la propia página y no llamaba la atención, que es
 * justo lo contrario de lo que tiene que hacer. Azul marino con el filo rojo
 * arriba: se lee como bandera sin caer en lo hortera, y contrasta con todo lo
 * demás del sitio, que es verde.
 *
 * Los dos colores salen de variables que el panel rellena, así que la misma
 * franja sirve para Black Friday o Navidad sin tocar una línea de CSS.
 * ---------------------------------------------------------------------- */

.idpr-promo {
  padding: 22px 20px;
  border-top: 4px solid var(--idpr-promo-accent, #b22234);
  background: var(--idpr-promo-bg, #12295c);
  color: #ffffff;
  text-align: center;
}

.idpr-promo-inner {
  max-width: 820px;
  margin: 0 auto;
}

.idpr-promo p { margin: 0; }

/* El texto va en blanco, no en el color de acento: un rojo de bandera de verdad
 * no se lee sobre azul marino, y aclararlo hasta que se leyera lo convertía en
 * rosa. La línea de arriba sí puede ser roja porque no tiene que leerse. */
.idpr-promo-eyebrow {
  margin-bottom: 8px !important;
  color: #ffffff;
  font-size: 14px;
  font-weight: 850;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.idpr-promo-title {
  margin-bottom: 8px !important;
  font-family: Georgia, serif;
  font-size: 28px;
  line-height: 1.2;
}

.idpr-promo-note {
  color: rgba(255, 255, 255, .84);
  font-size: 15px;
  line-height: 1.45;
}

.idpr-promo-clock {
  margin-top: 15px !important;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 9px 18px;
  border-radius: 999px;
  background: rgba(255, 255, 255, .15);
  font-size: 15px;
}

.idpr-promo-clock strong {
  font-size: 20px;
  font-variant-numeric: tabular-nums; /* Que no baile al cambiar los dígitos. */
  letter-spacing: .02em;
}

.idpr-promo-clock[hidden] { display: none; }

@media (max-width: 680px) {
  .idpr-promo { padding: 18px 16px; }
  .idpr-promo-eyebrow { margin-bottom: 6px !important; font-size: 12px; letter-spacing: .1em; }
  .idpr-promo-title { font-size: 23px; }
  .idpr-promo-note { font-size: 13.5px; }
  .idpr-promo-clock { margin-top: 13px !important; padding: 8px 15px; font-size: 13px; }
  .idpr-promo-clock strong { font-size: 18px; }
}

@media (max-width: 380px) {
  .idpr-promo-title { font-size: 21px; }
}

/* -------------------------------------------------------------------------
 * v87 — El precio anterior tachado dentro de las cajas de paquete
 *
 * El plugin oculta el bloque de precio de WooCommerce (.woocommerce-variation-
 * price) porque dibuja el suyo, y con eso se perdía también el tachado que
 * WooCommerce genera durante una oferta: solo se veía el precio nuevo, sin
 * referencia de cuánto se ahorra.
 *
 * La altura solo crece cuando hay algo tachado, con :has(del). Terminada la
 * oferta desaparece el <del> y las cajas vuelven a su tamaño de siempre sin
 * dejar un hueco vacío.
 * ---------------------------------------------------------------------- */

.idpr-pack-options button del {
  color: #8a948c;
  font-size: 15px;
  font-weight: 700;
  text-decoration-thickness: 1px;
}

.idpr-pack-options button:has(del) { min-height: 134px; }

@media (min-width: 341px) and (max-width: 680px) {
  /* 13px sobre un precio nuevo de 22px: se lee sin disputarle el sitio. Medido
   * a 341px, el ancho más estrecho del rango: ocupa 40 de 75px útiles. */
  .idpr-pack-options button del { font-size: 13px; }

  .idpr-pack-options button:has(del),
  .idpr-pack-options button:has(del):has(i),
  .idpr-pack-options button:nth-child(2):has(del),
  .idpr-pack-options button:nth-child(3):has(del) {
    min-height: 132px !important;
  }
}


/* -------------------------------------------------------------------------
 * v91 — Los emojis de las descripciones no son fotos de producto
 *
 * Las reglas que dan altura fija a la imagen de cada tarjeta apuntaban a
 * `li.product img`, que alcanza TODAS las imagenes de la tarjeta. WordPress
 * convierte los emojis de las descripciones en <img class="emoji">, asi que
 * cada 💡 o 🚚 se volvia un bloque de 270px de alto. Mi selector le ganaba por
 * especificidad a la regla de 1em que pone el propio WordPress.
 *
 * Arriba ya se apunta solo a la imagen del producto. Esto es el cinturon de
 * seguridad: pase lo que pase, un emoji mide lo que mide una letra.
 * ---------------------------------------------------------------------- */

body.idpr-redesign-shop ul.products li.product img.emoji,
body.idpr-redesign-shop ul.products li.product img.wp-smiley,
body.idpr-redesign-product ul.products li.product img.emoji,
body.idpr-redesign-product ul.products li.product img.wp-smiley,
body.idpr-redesign-shop img.emoji,
body.idpr-redesign-shop img.wp-smiley,
body.idpr-redesign-product img.emoji,
body.idpr-redesign-product img.wp-smiley,
body.idpr-redesign-page img.emoji,
body.idpr-redesign-page img.wp-smiley {
  width: 1em !important;
  height: 1em !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 .07em !important;
  border-radius: 0 !important;
  background: none !important;
  display: inline !important;
  vertical-align: -0.1em;
}

/* -------------------------------------------------------------------------
 * v92 — La descripción del producto no va dentro de la tarjeta
 *
 * WooCommerce imprime la descripción corta dentro de cada tarjeta del catálogo
 * y el tema hijo la oculta con una regla frágil: sin !important y colgando de
 * un ancestro con clase `.woocommerce`. Cuando esa regla no gana, la tarjeta se
 * llena de texto y de los emojis de la descripción, que era lo que asomaba en
 * el iPhone y no en Android.
 *
 * Esta la oculta sin depender de esa clase ni de la especificidad del tema.
 * ---------------------------------------------------------------------- */

body.idpr-redesign-shop ul.products li.product .woocommerce-product-details__short-description,
body.idpr-redesign-product ul.products li.product .woocommerce-product-details__short-description,
body.idpr-redesign-page ul.products li.product .woocommerce-product-details__short-description,
ul.products li.product .woocommerce-product-details__short-description {
  display: none !important;
}

/* -------------------------------------------------------------------------
 * v93 — La tarjeta del catálogo lleva solo lo que diseñamos
 *
 * El tema imprime dentro de cada tarjeta varios bloques que nuestro diseño no
 * usa: dos `.footer-button` (uno en la miniatura y otro en los detalles), el
 * botón de favoritos y el de comparar, cada uno con su icono en SVG. Se tapaba
 * únicamente el primero, y los otros cinco quedaban al descubierto.
 *
 * Importa más de lo que parece: el servidor entrega MARCADO DISTINTO según el
 * dispositivo. Pedida como iPhone, la página trae una cabecera móvil propia y
 * 236 líneas de diferencia respecto a la de escritorio, así que las reglas del
 * tema que tapan estos bloques no cubren igual las dos variantes. De ahí que en
 * Android se viera bien y en iPhone no.
 *
 * La tarjeta se queda en cuatro cosas: foto, título, precio y "Ver producto".
 * ---------------------------------------------------------------------- */

body.idpr-redesign-shop ul.products li.product .footer-button,
body.idpr-redesign-shop ul.products li.product .action-button,
body.idpr-redesign-shop ul.products li.product .yith-wcwl-add-to-wishlist,
body.idpr-redesign-shop ul.products li.product .yith-wcwl-add-button,
body.idpr-redesign-shop ul.products li.product .compare-button,
body.idpr-redesign-shop ul.products li.product .mf-compare-button,
body.idpr-redesign-shop ul.products li.product .mf-product-thumbnail > svg,
body.idpr-redesign-product ul.products li.product .footer-button,
body.idpr-redesign-product ul.products li.product .action-button,
body.idpr-redesign-product ul.products li.product .yith-wcwl-add-to-wishlist,
body.idpr-redesign-product ul.products li.product .yith-wcwl-add-button,
body.idpr-redesign-product ul.products li.product .compare-button,
body.idpr-redesign-product ul.products li.product .mf-compare-button {
  display: none !important;
}

/* -------------------------------------------------------------------------
 * v94 — Fuera la barra inferior del tema en móvil
 *
 * Duplicaba lo que ya ofrece nuestra cabecera (Menú y Carrito), ocupaba unos
 * 60px de la pantalla, y sus iconos salían como cuadros vacíos en la primera
 * visita: el tema declara su tipografía de iconos con `font-display: swap` y
 * pesa 442 KB, así que Chrome dibuja el carácter de repuesto —una caja— hasta
 * que el archivo termina de bajar. Safari espera y por eso allí no se veía.
 *
 * Quitándola desaparece el problema y el móvil deja de descargar esos 442 KB.
 * Para recuperarla, basta con borrar este bloque.
 * ---------------------------------------------------------------------- */

.mf-navigation-mobile,
#mf-navigation-mobile {
  display: none !important;
}

/* El tema reserva hueco al final de la página para esa barra. Sin ella, sobra. */
body.idpr-redesign-page,
body.idpr-redesign-shop,
body.idpr-redesign-product {
  padding-bottom: 0 !important;
}

/* -------------------------------------------------------------------------
 * v96 — El panel de "pasar el ratón" no tiene sentido en un teléfono
 *
 * El tema añade `.mf-product-details-hover` a cada tarjeta, con las muestras de
 * variación del plugin de swatches dentro (una miniatura de 45px con la imagen
 * del producto a tamaño completo). Está pensado para aparecer al pasar el ratón
 * por encima; en un móvil no hay ratón, así que se queda visible siempre, entre
 * la foto y el título.
 *
 * No aparecía en el HTML porque lo inserta JavaScript después de cargar, así
 * que ninguna lectura del código fuente podía encontrarlo. Se identificó con el
 * inspector de Safari conectado al iPhone.
 * ---------------------------------------------------------------------- */

/* CORRECCIÓN v97: el título y el precio viven DENTRO de ese panel, así que
 * ocultarlo entero dejaba las tarjetas con la foto y nada más. Se oculta solo
 * la fila de muestras, que es lo que sobra. */
ul.products li.product .mf-attr-swatches,
ul.products li.product .mf-swatch-image,
body.idpr-redesign-shop ul.products li.product .mf-attr-swatches,
body.idpr-redesign-product ul.products li.product .mf-attr-swatches {
  display: none !important;
}

/* Shared header sizing is maintained in header.css (v1.0.3). */
