/*
Theme Name: Doplock Code Product
Theme URI: https://doplock.com
Description: Doplock Theme mit Card-Produkt und digitalem Code-Produkt.
Author: Doplock
Template: blocksy
Version: 6.37-cart-tiles-v17
Text Domain: doplock-blocksy-child
*/

/* Base */
:root{
  --dop-bg:#f7f5f1;
  --dop-card:#ffffff;
  --dop-text:#07070a;
  --dop-muted:#63646f;
  --dop-line:#e7e3dc;
  --dop-orange:#f97316;
  --dop-dark:#07070a;
  --dop-radius:32px;
  --dop-shadow:0 24px 70px rgba(0,0,0,.08);
}

body{
  background:var(--dop-bg);
}

/* Better Blocksy header compatibility */
.site-main{
  overflow:hidden;
}

.doplock-landing{
  background:
    radial-gradient(circle at 84% 10%, rgba(249,115,22,.08), transparent 28%),
    radial-gradient(circle at 12% 30%, rgba(255,255,255,.85), transparent 28%),
    var(--dop-bg);
  color:var(--dop-text);
}

.doplock-container{
  width:min(1180px, calc(100% - 48px));
  margin:0 auto;
}

.doplock-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:10px 18px;
  border:1px solid #fed7aa;
  border-radius:999px;
  background:#fff7ed;
  color:#ea580c;
  font-size:14px;
  font-weight:800;
  margin-bottom:24px;
}

.doplock-btn{
  min-height:56px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border-radius:999px;
  padding:0 30px;
  font-weight:900;
  text-decoration:none;
  transition:all .18s ease;
}

.doplock-btn-primary{
  background:var(--dop-dark);
  color:#fff;
}

.doplock-btn-primary:hover{
  transform:translateY(-1px);
  background:#1f1f24;
  color:#fff;
}

.doplock-btn-secondary{
  background:#fff;
  color:var(--dop-text);
  border:1px solid #d7d3cb;
}

.doplock-btn-secondary:hover{
  background:#fafafa;
  color:var(--dop-text);
}

/* Hero */
.doplock-hero{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(380px,.95fr);
  gap:76px;
  align-items:center;
  padding:96px 0 72px;
}

.doplock-hero h1{
  max-width:760px;
  margin:0 0 28px;
  font-size:clamp(68px,6.4vw,96px);
  line-height:.88;
  letter-spacing:-.08em;
  color:var(--dop-text);
}

.doplock-hero h1 span{
  display:block;
  color:#74747f;
}

.doplock-lead{
  max-width:590px;
  margin:0;
  color:var(--dop-muted);
  font-size:19px;
  line-height:1.72;
}

.doplock-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:34px;
}

.doplock-card-frame{
  justify-self:end;
  width:100%;
  max-width:530px;
  padding:18px;
  border:1px solid rgba(0,0,0,.075);
  border-radius:36px;
  background:#fff;
  box-shadow:var(--dop-shadow);
}

.doplock-product-img{
  width:100%;
  height:auto;
  display:block;
  object-fit:contain;
  border-radius:26px;
}

/* Review bar */
.doplock-review{
  padding:0 0 26px;
}

.doplock-review-inner{
  display:grid;
  grid-template-columns:auto 1fr;
  align-items:center;
  gap:18px 24px;
  padding:18px 24px;
  border-radius:26px;
  background:var(--dop-dark);
  color:#fff;
  box-shadow:0 18px 48px rgba(0,0,0,.12);
}

.doplock-review strong,
.doplock-review span{
  color:inherit;
}

.doplock-stars{
  color:#fb923c !important;
  margin-left:10px;
}

.doplock-review-quotes{
  display:flex;
  gap:14px;
  align-items:center;
  color:#e5e7eb;
  font-size:14px;
}

.doplock-dot{
  opacity:.5;
}

/* Sections */
.doplock-section{
  padding:76px 0;
}

.doplock-eyebrow{
  color:var(--dop-orange);
  text-transform:uppercase;
  letter-spacing:.18em;
  font-size:13px;
  font-weight:950;
  margin:0 0 14px;
}

.doplock-title{
  margin:0 0 18px;
  font-size:clamp(34px,4.5vw,56px);
  line-height:1.02;
  letter-spacing:-.06em;
  color:var(--dop-text);
}

.doplock-text{
  color:var(--dop-muted);
  font-size:18px;
  line-height:1.7;
  margin:0;
}

.doplock-panel{
  padding:42px;
  border:1px solid rgba(0,0,0,.075);
  border-radius:36px;
  background:#fff;
  box-shadow:0 18px 55px rgba(0,0,0,.06);
}

.doplock-two{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:38px;
  align-items:center;
}

.doplock-video-box{
  aspect-ratio:16/9;
  display:grid;
  place-items:center;
  overflow:hidden;
  border-radius:28px;
  background:#080808;
  color:#fff;
  text-align:center;
}

.doplock-play{
  width:66px;
  height:66px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:var(--dop-orange);
  margin:0 auto 16px;
  color:#fff;
  font-size:28px;
}

/* Gallery */
.doplock-gallery{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-top:30px;
}

.doplock-gallery-item{
  aspect-ratio:4/5;
  overflow:hidden;
  border:1px solid var(--dop-line);
  border-radius:24px;
  background:#fafafa;
}

.doplock-gallery-item img{
  width:100%;
  height:100%;
  object-fit:cover;
}

/* Steps */
.doplock-steps{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:34px;
}

.doplock-step{
  padding:24px;
  border:1px solid var(--dop-line);
  border-radius:30px;
  background:#fff;
  box-shadow:0 16px 44px rgba(0,0,0,.045);
}

.doplock-step-img{
  aspect-ratio:4/5;
  overflow:hidden;
  border-radius:24px;
  margin-bottom:18px;
  background:#fffaf6;
}

.doplock-step-img img{
  width:100%;
  height:100%;
  object-fit:cover;
}

.doplock-number{
  display:inline-flex;
  margin-bottom:10px;
  color:var(--dop-orange);
  font-size:13px;
  font-weight:950;
  letter-spacing:.1em;
}

.doplock-step h3,
.doplock-benefit h3{
  margin:0 0 10px;
  color:var(--dop-text);
  font-size:22px;
}

.doplock-step p,
.doplock-benefit p{
  margin:0;
  color:var(--dop-muted);
  line-height:1.65;
}

/* Benefits */
.doplock-benefits-wrap{
  background:#fff;
}

.doplock-benefits{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:22px;
  margin-top:34px;
}

.doplock-benefit{
  padding:24px;
  border:1px solid var(--dop-line);
  border-radius:30px;
  background:#fff;
}

.doplock-icon{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:16px;
  margin-bottom:18px;
  background:#ffedd5;
  color:#ea580c;
  font-weight:950;
}

/* Product */
.doplock-product{
  display:grid;
  grid-template-columns:minmax(360px,.95fr) minmax(0,1.05fr);
  gap:70px;
  align-items:center;
}

.doplock-product .doplock-card-frame{
  justify-self:start;
  max-width:560px;
}

.doplock-checks{
  list-style:none;
  padding:0;
  margin:26px 0 0;
  color:#3f3f46;
  font-weight:800;
  line-height:2;
}

/* FAQ */
.doplock-faq{
  background:var(--dop-dark);
  color:#fff;
}

.doplock-faq .doplock-title{
  color:#fff;
}

.doplock-faq details{
  padding:20px 22px;
  margin-top:14px;
  border:1px solid rgba(255,255,255,.1);
  border-radius:22px;
  background:rgba(255,255,255,.08);
}

.doplock-faq summary{
  cursor:pointer;
  font-weight:900;
}

.doplock-faq p{
  margin:14px 0 0;
  color:#d4d4d8;
}

/* WooCommerce / Blocksy minor */
.woocommerce div.product{
  max-width:1180px;
  margin-inline:auto;
}

/* Responsive */
@media (max-width:1180px){
  .doplock-hero{
    grid-template-columns:1fr;
    gap:38px;
    padding:66px 0 50px;
  }

  .doplock-hero h1{
    font-size:clamp(58px,9vw,84px);
    max-width:780px;
  }

  .doplock-card-frame{
    justify-self:start;
    max-width:620px;
  }

  .doplock-review-inner{
    grid-template-columns:1fr;
  }

  .doplock-product,
  .doplock-two{
    grid-template-columns:1fr;
  }
}

@media (max-width:900px){
  .doplock-container{
    width:min(100% - 32px,1120px);
  }

  .doplock-section{
    padding:54px 0;
  }

  .doplock-panel{
    padding:28px;
    border-radius:30px;
  }

  .doplock-steps,
  .doplock-benefits{
    grid-template-columns:1fr;
  }

  .doplock-gallery{
    grid-template-columns:1fr 1fr;
  }
}

@media (max-width:700px){
  .doplock-container{
    width:min(100% - 28px,1120px);
  }

  .doplock-hero{
    padding:34px 0 30px;
    gap:28px;
  }

  .doplock-badge{
    width:100%;
    text-align:center;
  }

  .doplock-hero h1{
    font-size:clamp(44px,13vw,62px);
    line-height:.93;
    letter-spacing:-.075em;
    margin-bottom:22px;
  }

  .doplock-lead{
    font-size:16px;
    line-height:1.65;
  }

  .doplock-actions{
    display:grid;
    grid-template-columns:1fr;
    gap:12px;
    margin-top:28px;
  }

  .doplock-btn{
    width:100%;
    min-height:58px;
    font-size:17px;
  }

  .doplock-card-frame{
    max-width:100%;
    padding:12px;
    border-radius:28px;
  }

  .doplock-product-img{
    border-radius:22px;
  }

  .doplock-review-inner{
    padding:18px;
    border-radius:22px;
  }

  .doplock-review-quotes{
    display:grid;
    gap:8px;
    font-size:13px;
  }

  .doplock-dot{
    display:none;
  }

  .doplock-title{
    font-size:clamp(34px,11vw,48px);
  }

  .doplock-gallery{
    grid-template-columns:1fr;
  }

  .doplock-panel{
    padding:22px;
    border-radius:28px;
  }

  .doplock-step,
  .doplock-benefit{
    padding:20px;
    border-radius:26px;
  }

  .doplock-product .doplock-card-frame{
    order:-1;
  }
}


/* =========================================================
   DOPLOCK BLOCKSY MOBILE HEADER + HERO FIX
   ========================================================= */

/* Blocksy header logo: force clean horizontal layout */
#header [data-id="logo"],
.ct-header [data-id="logo"],
.site-branding,
.site-logo-container{
  display:flex !important;
  align-items:center !important;
  gap:12px !important;
  flex-direction:row !important;
  min-width:0 !important;
}

#header [data-id="logo"] img,
.ct-header [data-id="logo"] img,
.site-logo-container img,
.site-branding img{
  width:42px !important;
  max-width:42px !important;
  height:42px !important;
  max-height:42px !important;
  object-fit:contain !important;
  display:block !important;
  border-radius:0 !important;
  box-shadow:none !important;
  background:transparent !important;
}

#header [data-id="logo"] .site-title,
.ct-header [data-id="logo"] .site-title,
.site-branding .site-title,
.site-title{
  font-size:24px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.05em !important;
  white-space:nowrap !important;
  margin:0 !important;
  color:#0b0b0f !important;
}

#header .ct-container,
.ct-header .ct-container{
  min-height:74px !important;
}

/* Mobile: no stacked logo/text */
@media (max-width: 768px){
  #header [data-row],
  .ct-header [data-row]{
    min-height:74px !important;
  }

  #header [data-row] > div,
  .ct-header [data-row] > div{
    align-items:center !important;
  }

  #header [data-id="logo"],
  .ct-header [data-id="logo"],
  .site-branding{
    max-width:calc(100vw - 110px) !important;
    overflow:hidden !important;
  }

  #header [data-id="logo"] img,
  .ct-header [data-id="logo"] img,
  .site-logo-container img,
  .site-branding img{
    width:38px !important;
    max-width:38px !important;
    height:38px !important;
    max-height:38px !important;
    flex:0 0 38px !important;
  }

  #header [data-id="logo"] .site-title,
  .ct-header [data-id="logo"] .site-title,
  .site-branding .site-title,
  .site-title{
    font-size:22px !important;
    max-width:calc(100vw - 160px) !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
  }

  #header [data-id="trigger"],
  .ct-header [data-id="trigger"]{
    margin-left:auto !important;
  }

  #header [data-id="trigger"] .ct-icon,
  .ct-header [data-id="trigger"] .ct-icon{
    width:24px !important;
    height:24px !important;
  }
}

/* Doplock landing mobile polish */
@media (max-width: 768px){
  .doplock-container{
    width:min(100% - 30px, 1180px) !important;
  }

  .doplock-hero{
    padding:34px 0 28px !important;
    gap:26px !important;
  }

  .doplock-badge{
    width:100% !important;
    max-width:100% !important;
    text-align:center !important;
    padding:10px 14px !important;
    margin-bottom:22px !important;
    font-size:14px !important;
  }

  .doplock-hero h1{
    font-size:clamp(42px, 12vw, 58px) !important;
    line-height:.93 !important;
    letter-spacing:-.075em !important;
    margin-bottom:22px !important;
  }

  .doplock-lead{
    font-size:17px !important;
    line-height:1.62 !important;
  }

  .doplock-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
    margin-top:28px !important;
  }

  .doplock-btn{
    width:100% !important;
    min-height:58px !important;
    font-size:17px !important;
  }

  .doplock-card-frame{
    margin-top:12px !important;
    padding:12px !important;
    border-radius:28px !important;
  }

  .doplock-product-img{
    border-radius:22px !important;
  }

  .doplock-review-inner{
    border-radius:22px !important;
    padding:18px !important;
  }

  .doplock-review-quotes{
    display:grid !important;
    gap:8px !important;
  }

  .doplock-dot{
    display:none !important;
  }

  .doplock-section{
    padding:48px 0 !important;
  }

  .doplock-panel{
    padding:22px !important;
    border-radius:28px !important;
  }

  .doplock-title{
    font-size:clamp(34px, 10vw, 46px) !important;
  }

  .doplock-gallery,
  .doplock-steps,
  .doplock-benefits{
    grid-template-columns:1fr !important;
  }
}

@media (max-width: 390px){
  #header [data-id="logo"] .site-title,
  .ct-header [data-id="logo"] .site-title,
  .site-branding .site-title,
  .site-title{
    font-size:19px !important;
  }

  .doplock-hero h1{
    font-size:38px !important;
  }

  .doplock-lead{
    font-size:16px !important;
  }
}


/* Mobile compact tiles */
@media (max-width: 768px){
  .doplock-step,
  .doplock-benefit{
    padding:16px !important;
    border-radius:22px !important;
  }

  .doplock-step-img{
    aspect-ratio: 16 / 11 !important;
    border-radius:18px !important;
    margin-bottom:14px !important;
  }

  .doplock-step h3,
  .doplock-benefit h3{
    font-size:20px !important;
    margin-bottom:6px !important;
  }

  .doplock-step p,
  .doplock-benefit p{
    font-size:15px !important;
    line-height:1.55 !important;
  }

  .doplock-steps,
  .doplock-benefits{
    gap:14px !important;
    margin-top:24px !important;
  }

  .doplock-gallery{
    gap:14px !important;
    margin-top:22px !important;
  }

  .doplock-gallery-item{
    aspect-ratio:16 / 11 !important;
    border-radius:20px !important;
  }

  .doplock-panel{
    padding:18px !important;
  }

  .doplock-section{
    padding:40px 0 !important;
  }
}

@media (max-width: 430px){
  .doplock-step-img,
  .doplock-gallery-item{
    aspect-ratio: 16 / 10 !important;
  }

  .doplock-step,
  .doplock-benefit{
    padding:14px !important;
  }
}


/* Short hero text adjustment */
.doplock-hero h1{
  max-width:680px;
}

@media (max-width:768px){
  .doplock-hero h1{
    font-size:clamp(40px, 11vw, 54px) !important;
  }
}


/* Mobile hero order: first product card, then text */
@media (max-width: 768px){
  .doplock-hero-copy{
    order:2 !important;
  }

  .doplock-hero-media{
    order:1 !important;
    justify-self:center !important;
    margin-top:0 !important;
    margin-bottom:6px !important;
  }
}


/* Badge fix */
@media (max-width: 768px){
  .doplock-badge{
    display:none !important;
  }
}

@media (min-width: 769px){
  .doplock-badge{
    display:inline-flex !important;
  }
}


/* Shop page + menu */
.doplock-shop-page{
  min-height:70vh;
}

.doplock-shop-hero{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(360px,.8fr);
  gap:70px;
  align-items:center;
  padding:88px 0 60px;
}

.doplock-shop-hero h1{
  margin:0 0 22px;
  font-size:clamp(54px,6vw,88px);
  line-height:.9;
  letter-spacing:-.075em;
  color:var(--dop-text);
}

.doplock-shop-actions{
  display:flex;
  gap:14px;
  flex-wrap:wrap;
  margin-top:32px;
}

.doplock-shop-card{
  justify-self:end;
  max-width:520px;
}

.doplock-shop-box{
  display:grid;
  grid-template-columns:1fr 420px;
  gap:34px;
  align-items:start;
}

.doplock-shop-summary,
.doplock-buy-panel{
  background:#fff;
  border:1px solid var(--dop-line);
  border-radius:32px;
  padding:34px;
  box-shadow:0 18px 55px rgba(0,0,0,.06);
}

.doplock-buy-panel h3{
  margin:0 0 8px;
  font-size:28px;
  letter-spacing:-.04em;
}

.doplock-price{
  margin:0 0 18px;
  color:var(--dop-text);
  font-size:42px;
  font-weight:950;
  letter-spacing:-.06em;
}

.doplock-full-btn{
  width:100%;
  margin-top:20px;
}

.doplock-notice{
  margin-top:18px;
  padding:14px 16px;
  border:1px solid #fed7aa;
  border-radius:18px;
  background:#fff7ed;
  color:#9a3412;
  font-size:14px;
  line-height:1.45;
}

/* Hide Blocksy no-menu hint if menu creation failed visually */
#header a[href*="nav-menus.php"],
.ct-header a[href*="nav-menus.php"]{
  display:none !important;
}

@media (max-width:900px){
  .doplock-shop-hero,
  .doplock-shop-box{
    grid-template-columns:1fr;
  }

  .doplock-shop-hero{
    padding:44px 0 28px;
    gap:28px;
  }

  .doplock-shop-card{
    justify-self:start;
    max-width:100%;
    order:-1;
  }

  .doplock-shop-actions{
    display:grid;
    grid-template-columns:1fr;
  }

  .doplock-shop-summary,
  .doplock-buy-panel{
    padding:22px;
    border-radius:26px;
  }
}


/* =========================================================
   DOPLOCK MENU COLOR FIX + STRONGER CARD ANIMATION
   ========================================================= */

/* Remove ugly Blocksy blue link color */
:root{
  --theme-link-initial-color:#111111 !important;
  --theme-link-hover-color:#f97316 !important;
  --theme-palette-color-1:#f97316 !important;
  --theme-palette-color-2:#111111 !important;
}

#header a,
.ct-header a,
#header .menu a,
.ct-header .menu a,
#header [data-id="menu"] a,
.ct-header [data-id="menu"] a{
  color:#111111 !important;
  font-weight:800 !important;
  text-decoration:none !important;
}

#header a:hover,
.ct-header a:hover,
#header .menu a:hover,
.ct-header .menu a:hover,
#header [data-id="menu"] a:hover,
.ct-header [data-id="menu"] a:hover{
  color:#f97316 !important;
}

#header [data-id="logo"] .site-title,
.ct-header [data-id="logo"] .site-title,
.site-title{
  color:#111111 !important;
}

#header [data-id="trigger"],
.ct-header [data-id="trigger"]{
  color:#111111 !important;
}

#header [data-id="trigger"]:hover,
.ct-header [data-id="trigger"]:hover{
  color:#f97316 !important;
}

/* Hide Blocksy default blue "create menu" hint */
#header a[href*="nav-menus.php"],
.ct-header a[href*="nav-menus.php"]{
  display:none !important;
}

/* If no menu exists, keep header clean */
#header .ct-header-text,
.ct-header .ct-header-text{
  color:#111111 !important;
}

/* Stronger 3D card motion */
.doplock-hero{
  perspective:1200px;
}

.doplock-hero .doplock-card-frame,
.doplock-hero-media{
  transform-style:preserve-3d;
  animation:doplockCard3D 6.5s ease-in-out infinite !important;
  will-change:transform;
}

.doplock-hero .doplock-card-frame:hover,
.doplock-hero-media:hover{
  animation-play-state:paused !important;
  transform:translateY(-10px) rotateX(5deg) rotateY(-8deg) scale(1.025) !important;
  box-shadow:0 38px 100px rgba(0,0,0,.16) !important;
  border-color:rgba(249,115,22,.35) !important;
}

.doplock-hero .doplock-product-img{
  transform:translateZ(18px);
  transition:transform .35s ease, filter .35s ease;
}

.doplock-hero .doplock-card-frame:hover .doplock-product-img,
.doplock-hero-media:hover .doplock-product-img{
  transform:translateZ(28px) scale(1.018);
}

/* NFC pulse stronger but still clean */
.doplock-hero .doplock-card-frame::before,
.doplock-hero .doplock-card-frame::after,
.doplock-hero-media::before,
.doplock-hero-media::after{
  content:"";
  position:absolute;
  inset:14%;
  border-radius:999px;
  border:1px solid rgba(249,115,22,.24);
  pointer-events:none;
  opacity:0;
  transform:scale(.65);
}

.doplock-hero .doplock-card-frame::before,
.doplock-hero-media::before{
  animation:doplockNfcRing 3.6s ease-out infinite;
}

.doplock-hero .doplock-card-frame::after,
.doplock-hero-media::after{
  animation:doplockNfcRing 3.6s ease-out infinite 1.2s;
}

@keyframes doplockCard3D{
  0%{
    transform:translateY(0) rotateX(0deg) rotateY(0deg) scale(1);
  }
  22%{
    transform:translateY(-8px) rotateX(3deg) rotateY(-5deg) scale(1.01);
  }
  48%{
    transform:translateY(2px) rotateX(-3deg) rotateY(5deg) scale(1.005);
  }
  72%{
    transform:translateY(-6px) rotateX(2deg) rotateY(3deg) scale(1.012);
  }
  100%{
    transform:translateY(0) rotateX(0deg) rotateY(0deg) scale(1);
  }
}

@keyframes doplockNfcRing{
  0%{
    opacity:0;
    transform:scale(.65);
  }
  20%{
    opacity:.5;
  }
  100%{
    opacity:0;
    transform:scale(1.55);
  }
}

/* Mobile: keep animation smaller but visible */
@media (max-width:768px){
  .doplock-hero{
    perspective:900px;
  }

  .doplock-hero .doplock-card-frame,
  .doplock-hero-media{
    animation:doplockCard3DMobile 7s ease-in-out infinite !important;
  }

  .doplock-hero .doplock-card-frame::before,
  .doplock-hero .doplock-card-frame::after,
  .doplock-hero-media::before,
  .doplock-hero-media::after{
    display:none !important;
  }
}

@keyframes doplockCard3DMobile{
  0%,100%{
    transform:translateY(0) rotateX(0deg) rotateY(0deg);
  }
  35%{
    transform:translateY(-5px) rotateX(2deg) rotateY(-3deg);
  }
  70%{
    transform:translateY(2px) rotateX(-2deg) rotateY(3deg);
  }
}

@media (prefers-reduced-motion: reduce){
  .doplock-hero .doplock-card-frame,
  .doplock-hero-media,
  .doplock-hero .doplock-card-frame::before,
  .doplock-hero .doplock-card-frame::after,
  .doplock-hero-media::before,
  .doplock-hero-media::after{
    animation:none !important;
  }
}


/* Legal pages + card border cleanup */
.doplock-hero .doplock-card-frame,
.doplock-product .doplock-card-frame,
.doplock-shop-card{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
}

.doplock-hero .doplock-product-img,
.doplock-product .doplock-product-img,
.doplock-shop-card .doplock-product-img{
  border-radius:28px !important;
  box-shadow:0 24px 70px rgba(0,0,0,.10);
}

.doplock-legal-page{
  min-height:70vh;
}

.doplock-legal-hero{
  padding:80px 0 24px;
}

.doplock-legal-hero h1{
  margin:0 0 18px;
  font-size:clamp(46px,6vw,82px);
  line-height:.92;
  letter-spacing:-.075em;
  color:var(--dop-text);
}

.doplock-legal-card{
  max-width:900px;
  padding:42px;
  border:1px solid var(--dop-line);
  border-radius:34px;
  background:#fff;
  box-shadow:0 18px 55px rgba(0,0,0,.06);
}

.doplock-legal-card h2{
  margin:28px 0 10px;
  font-size:26px;
  letter-spacing:-.04em;
}

.doplock-legal-card h2:first-child{
  margin-top:0;
}

.doplock-legal-card p,
.doplock-legal-card li{
  color:var(--dop-muted);
  font-size:17px;
  line-height:1.7;
}

.doplock-legal-card a{
  color:var(--dop-orange);
  font-weight:800;
}

.doplock-contact-box{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:16px;
  margin:22px 0;
}

.doplock-contact-box p,
.doplock-form-placeholder{
  padding:18px;
  border:1px solid var(--dop-line);
  border-radius:22px;
  background:#faf9f6;
}

.doplock-form-placeholder{
  color:var(--dop-muted);
  font-weight:800;
  text-align:center;
}

.doplock-legal-footer{
  display:flex;
  justify-content:center;
  gap:18px;
  flex-wrap:wrap;
  padding:26px 18px;
  background:#080808;
  color:#fff;
}

.doplock-legal-footer a{
  color:#fff !important;
  text-decoration:none;
  font-size:14px;
  font-weight:800;
}

.doplock-legal-footer a:hover{
  color:#f97316 !important;
}

@media (max-width:768px){
  .doplock-legal-hero{
    padding:44px 0 12px;
  }

  .doplock-legal-card{
    padding:22px;
    border-radius:26px;
  }

  .doplock-contact-box{
    grid-template-columns:1fr;
  }

  .doplock-hero .doplock-product-img,
  .doplock-product .doplock-product-img,
  .doplock-shop-card .doplock-product-img{
    border-radius:22px !important;
  }
}


/* === Doplock selected animation option === */

/* Smaller card global adjustment */
.doplock-hero .doplock-card-frame,.doplock-hero-media{width:100%!important;justify-self:center!important}
.doplock-product .doplock-card-frame,.doplock-shop-card{max-width:460px!important}
@media (max-width:768px){
  .doplock-hero .doplock-card-frame,.doplock-hero-media{max-width:86%!important;margin-inline:auto!important}
  .doplock-product .doplock-card-frame,.doplock-shop-card{max-width:88%!important;margin-inline:auto!important}
}
@media (prefers-reduced-motion:reduce){
  .doplock-hero .doplock-card-frame,.doplock-hero-media,.doplock-hero .doplock-card-frame::before,.doplock-hero .doplock-card-frame::after,.doplock-hero-media::before,.doplock-hero-media::after{animation:none!important;transition:none!important}
}


.doplock-hero .doplock-card-frame,.doplock-hero-media{max-width:420px!important;animation:doplockMagnetic 7s cubic-bezier(.45,0,.25,1) infinite!important;transform-origin:center center!important}
.doplock-hero .doplock-card-frame:hover,.doplock-hero-media:hover{animation-play-state:paused!important;transform:translate3d(0,-12px,0) rotateX(7deg) rotateY(8deg) scale(1.035)!important;filter:drop-shadow(0 30px 45px rgba(0,0,0,.18))!important}
@keyframes doplockMagnetic{0%,100%{transform:translate3d(0,0,0) rotateX(0) rotateY(0) rotateZ(0)}20%{transform:translate3d(-5px,-7px,0) rotateX(4deg) rotateY(-6deg) rotateZ(-.4deg)}45%{transform:translate3d(5px,-2px,0) rotateX(-2deg) rotateY(6deg) rotateZ(.5deg)}70%{transform:translate3d(0,-9px,0) rotateX(3deg) rotateY(2deg) rotateZ(-.2deg)}}



/* === Gallery full-image fix (Apple/Safari friendly) === */
.doplock-gallery{
  align-items:start !important;
}

.doplock-gallery-item{
  aspect-ratio:auto !important;
  min-height:0 !important;
  padding:18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#fafafa !important;
}

.doplock-gallery-item img{
  width:100% !important;
  height:auto !important;
  max-width:100% !important;
  max-height:none !important;
  display:block !important;
  object-fit:contain !important;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
}

@media (max-width:768px){
  .doplock-gallery-item{
    padding:12px !important;
  }
}


/* Extra mobile card size reduction */
@media (max-width:768px){
  .doplock-hero .doplock-card-frame,
  .doplock-hero-media{
    max-width:68% !important;
    margin-inline:auto !important;
  }

  .doplock-product .doplock-card-frame,
  .doplock-shop-card{
    max-width:76% !important;
    margin-inline:auto !important;
  }
}


/* Extra-extra mobile size reduction: hero smaller, product/shop also smaller */
@media (max-width:768px){
  .doplock-hero .doplock-card-frame,
  .doplock-hero-media{
    max-width:56% !important;
    margin-inline:auto !important;
  }

  .doplock-product .doplock-card-frame,
  .doplock-shop-card{
    max-width:64% !important;
    margin-inline:auto !important;
  }
}

@media (max-width:430px){
  .doplock-hero .doplock-card-frame,
  .doplock-hero-media{
    max-width:50% !important;
  }

  .doplock-product .doplock-card-frame,
  .doplock-shop-card{
    max-width:58% !important;
  }
}


/* Sticky header fix */
#header,
.ct-header,
[data-device="desktop"] .ct-header,
[data-device="mobile"] .ct-header{
  position:sticky !important;
  top:0 !important;
  z-index:99999 !important;
  background:#ffffff !important;
  box-shadow:0 8px 28px rgba(0,0,0,.055) !important;
}

#header [data-row],
.ct-header [data-row]{
  background:#ffffff !important;
}

html{
  scroll-padding-top:96px !important;
}

@media (max-width:768px){
  html{
    scroll-padding-top:82px !important;
  }

  #header,
  .ct-header{
    box-shadow:0 6px 22px rgba(0,0,0,.06) !important;
  }
}


/* Rebalanced mobile card sizing */
@media (max-width: 768px){
  .doplock-hero .doplock-card-frame,
  .doplock-hero-media{
    max-width: 82% !important;
    margin-inline: auto !important;
    margin-top: 4px !important;
    margin-bottom: 6px !important;
  }

  .doplock-product .doplock-card-frame,
  .doplock-shop-card{
    max-width: 86% !important;
    margin-inline: auto !important;
    margin-top: 6px !important;
  }
}

@media (max-width: 430px){
  .doplock-hero .doplock-card-frame,
  .doplock-hero-media{
    max-width: 88% !important;
    margin-inline: auto !important;
  }

  .doplock-product .doplock-card-frame,
  .doplock-shop-card{
    max-width: 90% !important;
    margin-inline: auto !important;
  }
}


/* Doplock code product */
.doplock-shop-products{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
  margin-top:28px;
}

.doplock-product-choice{
  padding:26px;
  border:1px solid var(--dop-line);
  border-radius:28px;
  background:#fff;
  box-shadow:0 14px 38px rgba(0,0,0,.055);
}

.doplock-product-choice h3{
  margin:0 0 8px;
  font-size:28px;
  letter-spacing:-.04em;
}

.doplock-product-tag{
  display:inline-flex;
  align-items:center;
  padding:7px 12px;
  border-radius:999px;
  background:#fff7ed;
  color:#ea580c;
  font-size:12px;
  font-weight:900;
  margin-bottom:16px;
}

.doplock-code-box{
  display:grid;
  place-items:center;
  min-height:210px;
  border-radius:24px;
  background:linear-gradient(135deg,#111,#2b2b31);
  color:#fff;
  text-align:center;
  margin-bottom:18px;
  position:relative;
  overflow:hidden;
}

.doplock-code-box::before{
  content:"";
  position:absolute;
  width:180px;
  height:180px;
  border-radius:999px;
  border:1px solid rgba(249,115,22,.35);
  animation:doplockCodePulse 3.4s ease-out infinite;
}

.doplock-code-box strong{
  position:relative;
  z-index:1;
  display:block;
  font-size:32px;
  letter-spacing:-.05em;
}

.doplock-code-box span{
  position:relative;
  z-index:1;
  display:block;
  margin-top:6px;
  color:#d4d4d8;
  font-size:14px;
}

@keyframes doplockCodePulse{
  0%{transform:scale(.72);opacity:0}
  25%{opacity:.55}
  100%{transform:scale(1.55);opacity:0}
}

@media (max-width:900px){
  .doplock-shop-products{
    grid-template-columns:1fr;
  }

  .doplock-product-choice{
    padding:20px;
    border-radius:24px;
  }

  .doplock-code-box{
    min-height:170px;
  }
}


/* Code product v2 */
.doplock-shop-products{
  align-items:stretch;
}

.doplock-product-choice{
  display:flex;
  flex-direction:column;
  height:100%;
}

.doplock-product-choice .doplock-text{
  margin-bottom:0;
}

.doplock-product-media{
  width:100%;
  aspect-ratio: 1.72 / 1;
  margin-bottom:20px;
}

.doplock-product-media .doplock-card-frame,
.doplock-product-media .doplock-code-box{
  width:100%;
  height:100%;
  max-width:none;
  margin:0;
}

.doplock-product-media .doplock-card-frame{
  display:flex;
  align-items:center;
  justify-content:center;
}

.doplock-product-media .doplock-product-img{
  width:100%;
  height:100%;
  object-fit:contain;
}

.doplock-code-box{
  min-height:0;
  border-radius:28px;
  background:
    radial-gradient(circle at 30% 35%, rgba(249,115,22,.14), transparent 26%),
    linear-gradient(135deg,#101114 0%, #1c1f27 48%, #2b2f3b 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05);
}

.doplock-code-box::before{
  width:280px;
  height:280px;
  border-color:rgba(249,115,22,.18);
  animation:doplockCodePulse 4.2s ease-out infinite;
}

.doplock-code-box::after{
  content:"";
  position:absolute;
  inset:0;
  background:
    linear-gradient(115deg, transparent 0 36%, rgba(255,255,255,.045) 50%, transparent 64%),
    linear-gradient(transparent, transparent);
  transform:translateX(-45%);
  animation:doplockCodeSweep 5.8s ease-in-out infinite;
}

.doplock-code-box__grid,
.doplock-code-box__rings,
.doplock-code-box__content{
  position:relative;
  z-index:1;
}

.doplock-code-box__grid{
  position:absolute;
  inset:18px;
  border-radius:22px;
  background-image:
    linear-gradient(rgba(255,255,255,.04) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.04) 1px, transparent 1px);
  background-size:22px 22px;
  mask-image:linear-gradient(to bottom, rgba(0,0,0,.14), rgba(0,0,0,.65));
}

.doplock-code-box__rings{
  position:absolute;
  width:280px;
  height:280px;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  border-radius:50%;
  border:1px solid rgba(249,115,22,.14);
  box-shadow:0 0 0 26px rgba(249,115,22,.05), 0 0 0 58px rgba(249,115,22,.03);
}

.doplock-code-box__content{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:10px;
  text-align:center;
  padding:24px;
  height:100%;
}

.doplock-code-icon{
  width:58px;
  height:58px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:rgba(255,255,255,.08);
  color:#fff;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.08), 0 14px 24px rgba(0,0,0,.22);
  backdrop-filter: blur(4px);
}

.doplock-code-icon svg{
  width:30px;
  height:30px;
  display:block;
}

.doplock-code-box strong{
  font-size:22px;
  margin-top:2px;
}

.doplock-code-box span{
  margin-top:0;
  font-size:14px;
}

.doplock-code-mini{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  justify-content:center;
  margin-top:6px;
}

.doplock-code-mini em{
  font-style:normal;
  font-size:11px;
  font-weight:700;
  letter-spacing:.04em;
  text-transform:uppercase;
  color:#f3f4f6;
  background:rgba(255,255,255,.09);
  border:1px solid rgba(255,255,255,.08);
  border-radius:999px;
  padding:6px 10px;
}

.doplock-full-btn{
  margin-top:auto;
}

@keyframes doplockCodeSweep{
  0%,100%{transform:translateX(-45%)}
  50%{transform:translateX(45%)}
}

@media (max-width:900px){
  .doplock-product-media{
    aspect-ratio:1.62 / 1;
  }

  .doplock-code-box__rings{
    width:220px;
    height:220px;
    box-shadow:0 0 0 18px rgba(249,115,22,.05), 0 0 0 40px rgba(249,115,22,.03);
  }

  .doplock-code-box::before{
    width:220px;
    height:220px;
  }

  .doplock-code-icon{
    width:50px;
    height:50px;
    border-radius:16px;
  }

  .doplock-code-icon svg{
    width:26px;
    height:26px;
  }

  .doplock-code-box strong{
    font-size:20px;
  }
}


/* =========================================================
   MOBILE SIDEBAR RESET (STANDARD BLOCKSY BEHAVIOUR + VISIBLE COLOR)
   ========================================================= */
@media (max-width: 999px){
  /* only keep a visible dark overlay */
  .ct-backdrop,
  #offcanvas .ct-backdrop,
  .ct-panel-actions .ct-backdrop,
  .ct-sidebar-modal .ct-backdrop,
  [data-behaviour*="side"] .ct-backdrop{
    background:rgba(7, 10, 16, .52) !important;
    opacity:1 !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }

  /* use simple clean white panel so everything stays visible */
  #offcanvas .ct-panel,
  #offcanvas .ct-panel-content,
  #offcanvas .ct-panel-inner,
  .ct-sidebar-modal .ct-panel,
  .ct-sidebar-modal .ct-panel-content,
  .ct-sidebar-modal .ct-panel-inner{
    background:#ffffff !important;
    box-shadow:none !important;
    border:none !important;
    backdrop-filter:none !important;
    -webkit-backdrop-filter:none !important;
  }
}

/* =========================================================
   SIMPLE CODE PRODUCT LOOK
   ========================================================= */
.doplock-product-media-code .doplock-code-box,
.doplock-code-ticket{
  position:relative;
  display:flex !important;
  flex-direction:column;
  justify-content:space-between;
  min-height:100%;
  padding:22px;
  border-radius:28px;
  background:linear-gradient(180deg, #ffffff 0%, #faf8f4 100%) !important;
  border:1px solid rgba(17,17,17,.08);
  box-shadow:0 14px 34px rgba(0,0,0,.06);
  color:#111111 !important;
  overflow:hidden;
}

.doplock-code-ticket::before{
  content:"";
  position:absolute;
  left:0;
  right:0;
  top:50%;
  border-top:1px dashed rgba(17,17,17,.14);
}

.doplock-code-ticket::after{
  content:"";
  position:absolute;
  inset:12px;
  border-radius:20px;
  border:1px solid rgba(17,17,17,.05);
  pointer-events:none;
}

.doplock-code-ticket__top,
.doplock-code-ticket__bottom{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  position:relative;
  z-index:1;
}

.doplock-code-ticket__middle{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  gap:10px;
  position:relative;
  z-index:1;
  padding:20px 0;
}

.doplock-code-label,
.doplock-code-status,
.doplock-code-ticket__bottom span{
  display:inline-flex;
  align-items:center;
  min-height:30px;
  padding:0 12px;
  border-radius:999px;
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
}

.doplock-code-label{
  background:#111111;
  color:#ffffff;
}

.doplock-code-status,
.doplock-code-ticket__bottom span{
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  color:#4b5563;
}

.doplock-code-string{
  display:block;
  width:100%;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size:clamp(22px, 2vw, 28px);
  line-height:1.15;
  font-weight:800;
  letter-spacing:.08em;
  color:#111111;
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  border-radius:16px;
  padding:16px 18px;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.5);
}

.doplock-code-note{
  font-size:14px;
  line-height:1.45;
  color:#6b7280;
}

/* kill old complex visual pieces if any remain */
.doplock-code-box__grid,
.doplock-code-box__rings,
.doplock-code-box__content,
.doplock-code-box::before,
.doplock-code-box::after,
.doplock-code-icon,
.doplock-code-mini{
  display:none !important;
}

@media (max-width: 900px){
  .doplock-code-ticket{
    padding:18px;
    border-radius:24px;
  }

  .doplock-code-ticket__top,
  .doplock-code-ticket__bottom{
    flex-wrap:wrap;
  }

  .doplock-code-string{
    font-size:20px;
    padding:14px 14px;
  }
}

/* =========================================================
   MOBILE SIDEBAR HARD FIX
   clean instant offcanvas, no broken slider strips
   ========================================================= */
@media (max-width: 999px){
  html body .ct-backdrop,
  html body #offcanvas .ct-backdrop,
  html body .ct-sidebar-modal .ct-backdrop,
  html body [data-behaviour*="side"] .ct-backdrop{
    background: rgba(9, 12, 18, 0.58) !important;
    opacity: 1 !important;
    visibility: visible !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  html body #offcanvas,
  html body .ct-sidebar-modal,
  html body [data-behaviour*="side"]{
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  html body #offcanvas .ct-panel,
  html body #offcanvas .ct-panel-content,
  html body #offcanvas .ct-panel-inner,
  html body .ct-sidebar-modal .ct-panel,
  html body .ct-sidebar-modal .ct-panel-content,
  html body .ct-sidebar-modal .ct-panel-inner{
    background: #ffffff !important;
    color: #111111 !important;
    width: min(88vw, 360px) !important;
    max-width: min(88vw, 360px) !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: -18px 0 40px rgba(0,0,0,.10) !important;
    margin-left: auto !important;
    transform: translate3d(0,0,0) !important;
    transition: opacity .2s ease !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
  }

  html body #offcanvas .ct-panel::before,
  html body #offcanvas .ct-panel::after,
  html body #offcanvas .ct-panel-content::before,
  html body #offcanvas .ct-panel-content::after,
  html body #offcanvas .ct-panel-inner::before,
  html body #offcanvas .ct-panel-inner::after,
  html body .ct-sidebar-modal .ct-panel::before,
  html body .ct-sidebar-modal .ct-panel::after,
  html body .ct-sidebar-modal .ct-panel-content::before,
  html body .ct-sidebar-modal .ct-panel-content::after,
  html body .ct-sidebar-modal .ct-panel-inner::before,
  html body .ct-sidebar-modal .ct-panel-inner::after{
    content: none !important;
    display: none !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html body #offcanvas [class*="menu"],
  html body .ct-sidebar-modal [class*="menu"]{
    background: transparent !important;
    box-shadow: none !important;
  }

  html body #offcanvas a,
  html body #offcanvas button,
  html body .ct-sidebar-modal a,
  html body .ct-sidebar-modal button{
    color: #111111 !important;
    opacity: 1 !important;
  }

  html body #offcanvas .sub-menu,
  html body .ct-sidebar-modal .sub-menu{
    background: transparent !important;
  }
}


/* FAQ section */
.doplock-faq-home .doplock-title{
  margin-bottom:28px;
}

.doplock-faq-list{
  display:grid;
  gap:14px;
}

.doplock-faq-item{
  border:1px solid var(--dop-line);
  border-radius:24px;
  background:#fff;
  box-shadow:0 12px 34px rgba(0,0,0,.045);
  overflow:hidden;
}

.doplock-faq-item summary{
  cursor:pointer;
  list-style:none;
  padding:22px 24px;
  color:var(--dop-text);
  font-size:20px;
  font-weight:900;
  letter-spacing:-.035em;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
}

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

.doplock-faq-item summary::after{
  content:"+";
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  flex:0 0 32px;
  border-radius:999px;
  background:#fff7ed;
  color:#f97316;
  font-size:22px;
  font-weight:900;
}

.doplock-faq-item[open] summary::after{
  content:"–";
  background:#111;
  color:#fff;
}

.doplock-faq-item p{
  margin:0;
  padding:0 24px 24px;
  color:var(--dop-muted);
  font-size:17px;
  line-height:1.65;
}

.doplock-faq-more{
  margin-top:24px;
  display:flex;
  justify-content:center;
}

.doplock-faq-page-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 360px;
  gap:28px;
  align-items:start;
}

.doplock-faq-side{
  position:sticky;
  top:110px;
  padding:28px;
  border:1px solid var(--dop-line);
  border-radius:28px;
  background:#fff;
  box-shadow:0 16px 42px rgba(0,0,0,.055);
}

.doplock-faq-side h2{
  margin:0 0 12px;
  font-size:30px;
  letter-spacing:-.05em;
}

.doplock-faq-side p{
  color:var(--dop-muted);
  line-height:1.6;
  margin-bottom:22px;
}

@media (max-width:900px){
  .doplock-faq-page-grid{
    grid-template-columns:1fr;
  }

  .doplock-faq-side{
    position:static;
  }

  .doplock-faq-item summary{
    padding:18px 18px;
    font-size:18px;
  }

  .doplock-faq-item p{
    padding:0 18px 18px;
    font-size:16px;
  }
}


/* =========================================================
   FINAL MOBILE MENU FIX
   full clean panel, no broken slider crop
   ========================================================= */
@media (max-width: 999px){
  html body .ct-backdrop,
  html body #offcanvas .ct-backdrop,
  html body .ct-sidebar-modal .ct-backdrop{
    background: rgba(7, 10, 16, .46) !important;
    opacity: 1 !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  html body #offcanvas .ct-panel,
  html body #offcanvas .ct-panel-content,
  html body #offcanvas .ct-panel-inner,
  html body .ct-sidebar-modal .ct-panel,
  html body .ct-sidebar-modal .ct-panel-content,
  html body .ct-sidebar-modal .ct-panel-inner{
    background: #ffffff !important;
    color: #111111 !important;
    width: 100vw !important;
    max-width: 100vw !important;
    min-width: 100vw !important;
    height: 100dvh !important;
    min-height: 100dvh !important;
    margin: 0 !important;
    padding: 0 !important;
    left: 0 !important;
    right: 0 !important;
    transform: none !important;
    border: 0 !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    backdrop-filter: none !important;
    -webkit-backdrop-filter: none !important;
  }

  html body #offcanvas .ct-panel-content,
  html body #offcanvas .ct-panel-inner,
  html body .ct-sidebar-modal .ct-panel-content,
  html body .ct-sidebar-modal .ct-panel-inner{
    padding: 22px 28px 34px !important;
  }

  html body #offcanvas .ct-panel::before,
  html body #offcanvas .ct-panel::after,
  html body #offcanvas .ct-panel-content::before,
  html body #offcanvas .ct-panel-content::after,
  html body #offcanvas .ct-panel-inner::before,
  html body #offcanvas .ct-panel-inner::after{
    display: none !important;
    content: none !important;
  }

  html body #offcanvas [data-id="logo"],
  html body #offcanvas .site-branding,
  html body .ct-sidebar-modal [data-id="logo"],
  html body .ct-sidebar-modal .site-branding{
    display: flex !important;
    align-items: center !important;
    gap: 14px !important;
    min-height: 76px !important;
    margin-bottom: 20px !important;
    border-bottom: 1px solid rgba(17,17,17,.08) !important;
  }

  html body #offcanvas .site-title,
  html body .ct-sidebar-modal .site-title{
    color:#111111 !important;
    font-size: 28px !important;
    font-weight: 900 !important;
    letter-spacing: -.055em !important;
  }

  html body #offcanvas .ct-toggle-close,
  html body #offcanvas .ct-close-button,
  html body .ct-sidebar-modal .ct-toggle-close,
  html body .ct-sidebar-modal .ct-close-button{
    width: 46px !important;
    height: 46px !important;
    color: #111111 !important;
    background: #f4f4f5 !important;
    border-radius: 999px !important;
    border: 0 !important;
    box-shadow: none !important;
  }

  html body #offcanvas .mobile-menu,
  html body #offcanvas .menu,
  html body .ct-sidebar-modal .mobile-menu,
  html body .ct-sidebar-modal .menu{
    display: grid !important;
    gap: 10px !important;
    margin: 0 !important;
    padding: 0 !important;
    background: transparent !important;
  }

  html body #offcanvas .mobile-menu li,
  html body #offcanvas .menu li,
  html body .ct-sidebar-modal .mobile-menu li,
  html body .ct-sidebar-modal .menu li{
    list-style: none !important;
    margin: 0 !important;
    padding: 0 !important;
  }

  html body #offcanvas .mobile-menu a,
  html body #offcanvas .menu a,
  html body .ct-sidebar-modal .mobile-menu a,
  html body .ct-sidebar-modal .menu a{
    display: block !important;
    padding: 15px 16px !important;
    border-radius: 18px !important;
    background: #fafafa !important;
    border: 1px solid rgba(17,17,17,.06) !important;
    color: #111111 !important;
    font-size: 22px !important;
    font-weight: 900 !important;
    letter-spacing: -.045em !important;
    line-height: 1.1 !important;
    text-decoration: none !important;
  }

  html body #offcanvas .mobile-menu a:hover,
  html body #offcanvas .menu a:hover,
  html body .ct-sidebar-modal .mobile-menu a:hover,
  html body .ct-sidebar-modal .menu a:hover{
    color: #f97316 !important;
    background: #fff7ed !important;
  }
}


/* COMPLETE UPDATE: OWN MOBILE MENU, TRUST, SHOP INFO, FAQ GROUPS */
@media (max-width: 999px){
  #header .ct-header-trigger,
  .ct-header .ct-header-trigger,
  [data-id="trigger"],
  [data-id="menu-trigger"]{
    display:none !important;
  }

  .doplock-mobile-menu-button{
    display:flex !important;
  }

  #offcanvas,
  .ct-sidebar-modal{
    display:none !important;
  }
}

@media (min-width: 1000px){
  .doplock-mobile-menu-button,
  .doplock-mobile-menu-overlay{
    display:none !important;
  }
}

.doplock-mobile-menu-button{
  position:fixed;
  top:18px;
  right:18px;
  z-index:100000;
  width:48px;
  height:48px;
  border:0;
  border-radius:999px;
  background:#111;
  box-shadow:0 14px 32px rgba(0,0,0,.16);
  align-items:center;
  justify-content:center;
  flex-direction:column;
  gap:5px;
  cursor:pointer;
}

.doplock-mobile-menu-button span{
  width:20px;
  height:2px;
  background:#fff;
  border-radius:999px;
  display:block;
}

.doplock-mobile-menu-overlay{
  position:fixed;
  inset:0;
  z-index:100001;
  background:rgba(8,10,14,.42);
  opacity:0;
  pointer-events:none;
  transition:opacity .22s ease;
}

.doplock-mobile-menu-overlay.is-open{
  opacity:1;
  pointer-events:auto;
}

.doplock-mobile-menu-panel{
  min-height:100dvh;
  width:100%;
  background:#fff;
  transform:translateY(16px);
  transition:transform .24s cubic-bezier(.22,1,.36,1);
  padding:26px;
  overflow-y:auto;
}

.doplock-mobile-menu-overlay.is-open .doplock-mobile-menu-panel{
  transform:translateY(0);
}

.doplock-menu-open{
  overflow:hidden;
}

.doplock-mobile-menu-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding-bottom:22px;
  border-bottom:1px solid rgba(17,17,17,.08);
}

.doplock-mobile-menu-brand{
  display:flex;
  align-items:center;
  gap:14px;
  color:#111 !important;
  text-decoration:none;
  font-weight:950;
  font-size:28px;
  letter-spacing:-.06em;
}

.doplock-mobile-menu-brand img{
  width:42px;
  height:42px;
  object-fit:contain;
}

.doplock-mobile-menu-close{
  width:48px;
  height:48px;
  border:0;
  border-radius:999px;
  background:#f4f4f5;
  color:#111;
  font-size:34px;
  line-height:1;
  cursor:pointer;
}

.doplock-mobile-menu-nav{
  display:grid;
  gap:10px;
  margin:28px 0;
}

.doplock-mobile-menu-nav a{
  display:block;
  padding:18px 18px;
  border:1px solid rgba(17,17,17,.07);
  border-radius:20px;
  background:#fafafa;
  color:#111 !important;
  text-decoration:none;
  font-size:24px;
  line-height:1.05;
  font-weight:950;
  letter-spacing:-.055em;
}

.doplock-mobile-menu-nav a:hover{
  background:#fff7ed;
  color:#f97316 !important;
}

.doplock-mobile-menu-cta .doplock-btn{
  width:100%;
}

.doplock-trust-grid{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:18px;
  margin-top:28px;
}

.doplock-trust-card{
  border:1px solid var(--dop-line);
  border-radius:28px;
  background:#fff;
  padding:26px;
  box-shadow:0 14px 38px rgba(0,0,0,.045);
}

.doplock-trust-card span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:40px;
  height:40px;
  border-radius:999px;
  background:#fff7ed;
  color:#f97316;
  font-weight:950;
  margin-bottom:18px;
}

.doplock-trust-card h3{
  margin:0 0 10px;
  font-size:24px;
  letter-spacing:-.04em;
}

.doplock-trust-card p{
  margin:0;
  color:var(--dop-muted);
  line-height:1.6;
}

.doplock-trust-card a{
  color:#f97316;
  font-weight:900;
}

.doplock-shop-info{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:18px;
  margin-top:34px;
}

.doplock-shop-info > div{
  border:1px solid var(--dop-line);
  border-radius:26px;
  padding:24px;
  background:#fff;
}

.doplock-shop-info h3{
  margin:0 0 8px;
  font-size:22px;
  letter-spacing:-.04em;
}

.doplock-shop-info p{
  color:var(--dop-muted);
  line-height:1.6;
  margin:0;
}

.doplock-faq-groups{
  display:grid;
  gap:34px;
}

.doplock-faq-group h2{
  margin:0 0 16px;
  font-size:32px;
  letter-spacing:-.055em;
}

@media (max-width:1100px){
  .doplock-trust-grid{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}

@media (max-width:768px){
  .doplock-mobile-menu-button{
    top:16px;
    right:16px;
    width:46px;
    height:46px;
  }

  .doplock-mobile-menu-panel{
    padding:22px;
  }

  .doplock-mobile-menu-brand{
    font-size:24px;
  }

  .doplock-mobile-menu-nav a{
    font-size:22px;
    padding:17px 16px;
  }

  .doplock-trust-grid,
  .doplock-shop-info{
    grid-template-columns:1fr;
  }

  .doplock-trust-card,
  .doplock-shop-info > div{
    padding:22px;
    border-radius:24px;
  }
}


/* DOPLOCK GUIDE CHATBOT */
.doplock-guide-button{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:100002;
  min-height:52px;
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:0 18px;
  border:0;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-size:15px;
  font-weight:900;
  box-shadow:0 18px 44px rgba(0,0,0,.18);
  cursor:pointer;
}

.doplock-guide-button-dot{
  width:10px;
  height:10px;
  border-radius:999px;
  background:#f97316;
  box-shadow:0 0 0 6px rgba(249,115,22,.18);
}

.doplock-guide-widget{
  position:fixed;
  right:22px;
  bottom:88px;
  z-index:100003;
  width:min(390px, calc(100vw - 28px));
  opacity:0;
  transform:translateY(12px) scale(.98);
  pointer-events:none;
  transition:opacity .18s ease, transform .18s ease;
}

.doplock-guide-widget.is-open{
  opacity:1;
  transform:translateY(0) scale(1);
  pointer-events:auto;
}

.doplock-guide-card{
  overflow:hidden;
  border:1px solid rgba(17,17,17,.08);
  border-radius:28px;
  background:#fff;
  box-shadow:0 26px 80px rgba(0,0,0,.18);
}

.doplock-guide-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  padding:20px;
  background:#111;
  color:#fff;
}

.doplock-guide-head strong{
  display:block;
  font-size:20px;
  letter-spacing:-.04em;
}

.doplock-guide-head span{
  display:block;
  margin-top:5px;
  color:#d4d4d8;
  font-size:13px;
  line-height:1.4;
}

.doplock-guide-head button{
  width:34px;
  height:34px;
  border:0;
  border-radius:999px;
  background:rgba(255,255,255,.1);
  color:#fff;
  font-size:26px;
  line-height:1;
  cursor:pointer;
}

.doplock-guide-messages{
  max-height:260px;
  overflow-y:auto;
  padding:16px;
  display:grid;
  gap:10px;
  background:#fafafa;
}

.doplock-guide-message{
  max-width:88%;
  padding:12px 14px;
  border-radius:18px;
  font-size:14px;
  line-height:1.45;
}

.doplock-guide-message-bot{
  justify-self:start;
  background:#fff;
  color:#111;
  border:1px solid rgba(17,17,17,.07);
}

.doplock-guide-message-user{
  justify-self:end;
  background:#111;
  color:#fff;
}

.doplock-guide-quick{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
  padding:14px 16px 4px;
  background:#fff;
}

.doplock-guide-quick button{
  border:1px solid rgba(249,115,22,.18);
  border-radius:999px;
  background:#fff7ed;
  color:#ea580c;
  padding:8px 11px;
  font-size:12px;
  font-weight:850;
  cursor:pointer;
}

.doplock-guide-form{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px;
  padding:14px 16px 16px;
  background:#fff;
}

.doplock-guide-form input{
  min-height:44px;
  border:1px solid rgba(17,17,17,.12);
  border-radius:999px;
  padding:0 14px;
  font-size:14px;
  outline:none;
}

.doplock-guide-form input:focus{
  border-color:#f97316;
}

.doplock-guide-form button{
  min-height:44px;
  border:0;
  border-radius:999px;
  padding:0 16px;
  background:#111;
  color:#fff;
  font-weight:900;
  cursor:pointer;
}

@media (max-width:768px){
  .doplock-guide-button{
    right:16px;
    bottom:16px;
    min-height:48px;
    padding:0 15px;
  }

  .doplock-guide-widget{
    right:14px;
    bottom:76px;
    width:calc(100vw - 28px);
  }

  .doplock-guide-card{
    border-radius:24px;
  }

  .doplock-guide-messages{
    max-height:240px;
  }
}


/* Hide search bar / search icon */
#header [data-id="search"],
.ct-header [data-id="search"],
#header .ct-header-search,
.ct-header .ct-header-search,
#header .search-form,
.ct-header .search-form,
#header .wp-block-search,
.ct-header .wp-block-search,
.site-header .search-form,
.site-header .wp-block-search,
.ct-search-box,
.ct-search-trigger,
button[data-toggle-panel="#search-modal"],
a[data-toggle-panel="#search-modal"]{
  display:none !important;
  visibility:hidden !important;
  pointer-events:none !important;
}

#search-modal,
.ct-search-modal,
.ct-panel[data-behaviour*="search"]{
  display:none !important;
}


/* Doplock Guide size + header overlap fix */
.doplock-guide-widget{
  width:min(330px, calc(100vw - 36px)) !important;
  right:20px !important;
  bottom:84px !important;
  top:auto !important;
}

.doplock-guide-card{
  max-height:min(620px, calc(100vh - 130px)) !important;
  display:flex !important;
  flex-direction:column !important;
  border-radius:24px !important;
}

.doplock-guide-head{
  padding:16px 18px !important;
  flex:0 0 auto !important;
}

.doplock-guide-head strong{
  font-size:18px !important;
}

.doplock-guide-head span{
  font-size:12px !important;
  line-height:1.35 !important;
}

.doplock-guide-messages{
  max-height:220px !important;
  flex:1 1 auto !important;
}

.doplock-guide-message{
  font-size:13px !important;
  padding:10px 12px !important;
  border-radius:16px !important;
}

.doplock-guide-quick{
  max-height:118px !important;
  overflow-y:auto !important;
  padding:12px 14px 4px !important;
}

.doplock-guide-quick button{
  font-size:11px !important;
  padding:7px 10px !important;
}

.doplock-guide-form{
  padding:12px 14px 14px !important;
  flex:0 0 auto !important;
}

.doplock-guide-form input,
.doplock-guide-form button{
  min-height:40px !important;
  font-size:13px !important;
}

.doplock-guide-button{
  min-height:48px !important;
  right:20px !important;
  bottom:20px !important;
  font-size:14px !important;
  padding:0 16px !important;
}

@media (max-width:768px){
  .doplock-guide-widget{
    width:calc(100vw - 32px) !important;
    left:16px !important;
    right:16px !important;
    bottom:76px !important;
    top:96px !important;
  }

  .doplock-guide-card{
    max-height:calc(100vh - 120px) !important;
    border-radius:22px !important;
  }

  .doplock-guide-head{
    padding:14px 16px !important;
  }

  .doplock-guide-head strong{
    font-size:17px !important;
  }

  .doplock-guide-head span{
    font-size:12px !important;
  }

  .doplock-guide-head button{
    width:34px !important;
    height:34px !important;
    font-size:24px !important;
  }

  .doplock-guide-messages{
    max-height:180px !important;
    padding:12px !important;
  }

  .doplock-guide-message{
    font-size:13px !important;
    max-width:90% !important;
  }

  .doplock-guide-quick{
    max-height:104px !important;
    padding:10px 12px 2px !important;
  }

  .doplock-guide-form{
    grid-template-columns:1fr !important;
    gap:8px !important;
    padding:10px 12px 12px !important;
  }

  .doplock-guide-form input,
  .doplock-guide-form button{
    width:100% !important;
    min-height:40px !important;
  }

  .doplock-guide-button{
    right:14px !important;
    bottom:14px !important;
    min-height:44px !important;
    font-size:13px !important;
    padding:0 14px !important;
  }
}

@media (max-width:420px){
  .doplock-guide-widget{
    top:88px !important;
    bottom:68px !important;
  }

  .doplock-guide-card{
    max-height:calc(100vh - 112px) !important;
  }

  .doplock-guide-quick{
    max-height:86px !important;
  }

  .doplock-guide-messages{
    max-height:160px !important;
  }
}


/* Doplock Guide content update */
.doplock-guide-quick{
  max-height:150px !important;
}

.doplock-guide-quick button{
  white-space:nowrap;
}

@media (max-width:768px){
  .doplock-guide-quick{
    max-height:128px !important;
  }
}




/* About page */
.doplock-about-hero{
  padding:110px 0 70px;
  background:linear-gradient(135deg, #fffaf5 0%, #f7efe7 100%);
}

.doplock-about-hero-grid{
  display:grid;
  grid-template-columns:minmax(320px, .78fr) minmax(0, .95fr);
  gap:48px;
  align-items:center;
}

.doplock-about-photo-card{
  position:relative;
}

.doplock-about-photo{
  overflow:hidden;
  border:1px solid rgba(17,17,17,.08);
  border-radius:40px;
  background:#fff;
  min-height:560px;
  box-shadow:0 28px 80px rgba(0,0,0,.08);
}

.doplock-about-photo img{
  display:block;
  width:100%;
  height:100%;
  min-height:560px;
  object-fit:cover;
}

.doplock-about-photo-placeholder{
  display:flex;
  align-items:center;
  justify-content:center;
  padding:30px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.92), rgba(255,255,255,.92)),
    repeating-linear-gradient(135deg, #f6ede4 0 18px, #fbf6f1 18px 36px);
  border:2px dashed #e7c7ab;
}

.doplock-about-photo-placeholder-inner{
  max-width:320px;
  text-align:center;
}

.doplock-about-photo-placeholder-inner span{
  display:inline-flex;
  padding:8px 14px;
  border-radius:999px;
  background:#fff2e5;
  color:#ea580c;
  font-size:14px;
  font-weight:800;
  letter-spacing:.02em;
  text-transform:uppercase;
}

.doplock-about-photo-placeholder-inner strong{
  display:block;
  margin:18px 0 10px;
  color:var(--dop-text);
  font-size:28px;
  line-height:1.15;
  letter-spacing:-.04em;
}

.doplock-about-photo-placeholder-inner p{
  margin:0;
  color:var(--dop-muted);
  font-size:16px;
  line-height:1.65;
}

.doplock-about-intro h1{
  margin:0 0 20px;
  max-width:900px;
  color:var(--dop-text);
  font-size:clamp(54px, 7.3vw, 108px);
  line-height:.9;
  letter-spacing:-.075em;
  font-weight:950;
}

.doplock-about-intro .doplock-lead{
  margin-bottom:14px;
}

.doplock-about-intro p:not(.doplock-eyebrow):not(.doplock-lead){
  color:var(--dop-muted);
  font-size:19px;
  line-height:1.68;
}

.doplock-about-story-personal{
  display:grid;
  grid-template-columns:minmax(0,.8fr) minmax(0,1fr);
  gap:48px;
  align-items:start;
}

.doplock-about-story-personal h2,
.doplock-about-cta h2,
.doplock-about-founder-quote p{
  margin:0;
  color:var(--dop-text);
  font-size:clamp(42px, 5vw, 84px);
  line-height:.95;
  letter-spacing:-.065em;
  font-weight:950;
}

.doplock-about-story-copy p,
.doplock-about-cta p{
  margin:0 0 16px;
  color:var(--dop-muted);
  font-size:20px;
  line-height:1.68;
}

.doplock-about-journey{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:20px;
  margin-top:30px;
}

.doplock-about-step,
.doplock-about-value{
  border:1px solid var(--dop-line);
  border-radius:30px;
  background:#fff;
  padding:30px;
  box-shadow:0 16px 42px rgba(0,0,0,.045);
}

.doplock-about-step span,
.doplock-about-value span{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  margin-bottom:24px;
  border-radius:999px;
  background:#fff7ed;
  color:#f97316;
  font-weight:950;
}

.doplock-about-step h3,
.doplock-about-value h3{
  margin:0 0 12px;
  color:var(--dop-text);
  font-size:30px;
  letter-spacing:-.05em;
}

.doplock-about-step p,
.doplock-about-value p{
  margin:0;
  color:var(--dop-muted);
  line-height:1.6;
}

.doplock-about-values{
  display:grid;
  grid-template-columns:repeat(3, minmax(0,1fr));
  gap:20px;
  margin-top:30px;
}

.doplock-about-founder-quote{
  padding:54px 48px;
  border-radius:40px;
  background:#111;
  text-align:center;
  box-shadow:0 24px 60px rgba(0,0,0,.10);
}

.doplock-about-founder-quote p{
  color:#fff;
  font-size:clamp(34px, 4vw, 58px);
  line-height:1.02;
}

.doplock-about-founder-quote span{
  display:block;
  margin-top:16px;
  color:#d4d4d8;
  font-size:18px;
}

.doplock-about-cta{
  text-align:center;
  max-width:920px;
  padding:58px 36px;
  border:1px solid var(--dop-line);
  border-radius:40px;
  background:#fff;
  box-shadow:0 22px 60px rgba(0,0,0,.055);
}

.doplock-about-cta h2{
  margin-bottom:18px;
}

.doplock-about-cta p{
  margin:0 auto 26px;
  max-width:620px;
}

@media (max-width: 900px){
  .doplock-about-hero{
    padding:82px 0 48px;
  }

  .doplock-about-hero-grid,
  .doplock-about-story-personal,
  .doplock-about-journey,
  .doplock-about-values{
    grid-template-columns:1fr;
  }

  .doplock-about-photo,
  .doplock-about-photo img{
    min-height:360px;
  }

  .doplock-about-photo{
    border-radius:28px;
  }

  .doplock-about-photo-placeholder{
    padding:22px;
  }

  .doplock-about-story-copy p,
  .doplock-about-cta p,
  .doplock-about-intro p:not(.doplock-eyebrow):not(.doplock-lead){
    font-size:18px;
  }

  .doplock-about-founder-quote{
    padding:34px 24px;
    border-radius:30px;
  }

  .doplock-about-founder-quote span{
    font-size:16px;
  }

  .doplock-about-step,
  .doplock-about-value,
  .doplock-about-cta{
    border-radius:26px;
  }
}

/* Final trust / shop / footer / simplified menu update */
@media (min-width:1000px){
  .ct-header nav > ul > li:last-child > a,
  #header nav > ul > li:last-child > a{
    background:#111 !important;
    color:#fff !important;
    padding:12px 20px !important;
    border-radius:999px !important;
    box-shadow:0 10px 28px rgba(0,0,0,.12) !important;
  }
}
.doplock-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:30px}
.doplock-proof-card,.doplock-after-buy-grid>div{border:1px solid var(--dop-line);border-radius:28px;background:#fff;padding:26px;box-shadow:0 14px 38px rgba(0,0,0,.045)}
.doplock-proof-card span,.doplock-after-buy-grid span{display:inline-flex;align-items:center;justify-content:center;min-width:44px;height:44px;padding:0 12px;margin-bottom:18px;border-radius:999px;background:#fff7ed;color:#f97316;font-weight:950}
.doplock-proof-card h3,.doplock-after-buy-grid h3{margin:0 0 10px;font-size:24px;letter-spacing:-.045em}
.doplock-proof-card p,.doplock-after-buy-grid p{margin:0;color:var(--dop-muted);line-height:1.6}
.doplock-proof-card a{color:#f97316;font-weight:900}
.doplock-note{margin-top:22px;padding:18px 20px;border:1px solid rgba(249,115,22,.22);border-radius:22px;background:#fff7ed;color:#7c2d12;line-height:1.55}
.doplock-real-photos{display:grid;grid-template-columns:minmax(0,.9fr) minmax(300px,.7fr);gap:30px;align-items:start;padding:38px;border:1px solid var(--dop-line);border-radius:36px;background:#fff;box-shadow:0 18px 54px rgba(0,0,0,.05)}
.doplock-real-photos h2{margin:0 0 14px;font-size:clamp(38px,5vw,72px);line-height:.95;letter-spacing:-.065em}
.doplock-real-photos p{color:var(--dop-muted);font-size:18px;line-height:1.65}
.doplock-photo-checklist{display:grid;gap:12px}
.doplock-photo-checklist div{display:flex;gap:14px;align-items:center;padding:16px;border-radius:22px;background:#fafafa;border:1px solid rgba(17,17,17,.06)}
.doplock-photo-checklist span{display:grid;place-items:center;width:38px;height:38px;border-radius:999px;background:#111;color:#fff;font-weight:900;flex:0 0 38px}
.doplock-photo-checklist p{margin:0;font-size:16px}
.doplock-shop-hero{padding:95px 0 36px;background:linear-gradient(135deg,#fffaf5 0%,#f7efe7 100%)}
.doplock-shop-hero h1{margin:0 0 18px;font-size:clamp(58px,8vw,118px);line-height:.88;letter-spacing:-.075em}
.doplock-shop-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:stretch}
.doplock-shop-product{border:1px solid var(--dop-line);border-radius:34px;background:#fff;padding:30px;box-shadow:0 18px 52px rgba(0,0,0,.055)}
.doplock-shop-product-main{box-shadow:0 28px 80px rgba(0,0,0,.075)}
.doplock-shop-badge{display:inline-flex;padding:8px 14px;border-radius:999px;background:#fff7ed;color:#ea580c;font-weight:900;margin-bottom:18px}
.doplock-shop-image{padding:16px;border:1px solid rgba(17,17,17,.06);border-radius:28px;background:#fafafa;margin-bottom:22px}
.doplock-shop-image img{width:100%;display:block;border-radius:22px}
.doplock-shop-product h2{margin:0 0 10px;font-size:32px;letter-spacing:-.055em}
.doplock-shop-price{margin-bottom:16px;color:#111;font-size:44px;line-height:1;letter-spacing:-.06em;font-weight:950}
.doplock-shop-text{color:var(--dop-muted);font-size:18px;line-height:1.6}
.doplock-product-list{display:grid;gap:10px;margin:22px 0;padding:0;list-style:none}
.doplock-product-list li{position:relative;padding-left:30px;color:var(--dop-text);font-weight:750}
.doplock-product-list li::before{content:"✓";position:absolute;left:0;top:0;width:22px;height:22px;display:grid;place-items:center;border-radius:999px;background:#111;color:#fff;font-size:13px}
.doplock-delivery-box{margin:22px 0;padding:20px;border-radius:24px;background:#fff7ed;border:1px solid rgba(249,115,22,.22)}
.doplock-delivery-box h3{margin:0 0 8px;font-size:22px}
.doplock-delivery-box p{margin:0;color:#7c2d12;line-height:1.6}
.doplock-code-visual-simple{margin-bottom:24px;min-height:220px;display:grid;place-items:center;text-align:center;border-radius:28px;background:radial-gradient(circle at 50% 0%,rgba(249,115,22,.18),transparent 40%),linear-gradient(135deg,#111,#27272a);color:#fff}
.doplock-code-visual-simple span{display:block;color:#fb923c;font-size:13px;font-weight:900;letter-spacing:.16em}
.doplock-code-visual-simple strong{display:block;margin:10px 0;font-size:30px;letter-spacing:.08em}
.doplock-code-visual-simple small{color:#d4d4d8}
.doplock-after-buy-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-top:28px}
.doplock-shop-faq{display:grid;grid-template-columns:.65fr 1fr;gap:36px;align-items:start}
.doplock-shop-faq h2{margin:0;font-size:clamp(38px,5vw,70px);line-height:.95;letter-spacing:-.065em}
.doplock-clean-footer{padding:54px 0 28px;background:#0b0b0d;color:#fff}
.doplock-clean-footer-grid{display:grid;grid-template-columns:1fr 1.4fr;gap:40px;align-items:start}
.doplock-clean-footer strong{display:block;margin-bottom:10px;font-size:28px;letter-spacing:-.05em}
.doplock-clean-footer p{max-width:420px;color:#a1a1aa;line-height:1.6}
.doplock-clean-footer a{color:#fff;text-decoration:none;font-weight:800}
.doplock-clean-footer nav{display:flex;flex-wrap:wrap;gap:14px 24px;justify-content:flex-end}
.doplock-clean-footer nav a{color:#e4e4e7}
.doplock-footer-note{margin-top:28px;padding-top:22px;border-top:1px solid rgba(255,255,255,.1)}
.doplock-footer-note p{max-width:none;margin:0;font-size:14px;color:#a1a1aa}
@media (max-width:1000px){.doplock-proof-grid,.doplock-after-buy-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.doplock-shop-grid,.doplock-shop-faq,.doplock-real-photos,.doplock-clean-footer-grid{grid-template-columns:1fr}.doplock-clean-footer nav{justify-content:flex-start}}
@media (max-width:768px){.doplock-proof-grid,.doplock-after-buy-grid{grid-template-columns:1fr}.doplock-real-photos,.doplock-shop-product{padding:22px;border-radius:28px}.doplock-shop-hero{padding:72px 0 26px}.doplock-shop-price{font-size:38px}.doplock-clean-footer{padding-bottom:96px}}


/* Header + footer cleanup fix */
/* Hide native Blocksy footer so only Doplock footer remains */
.ct-footer,
#footer,
[data-id="footer"],
.site-footer,
footer.ct-footer {
  display: none !important;
}

/* Keep custom Doplock footer visible */
.doplock-clean-footer {
  display: block !important;
}

/* CTA button in header: cleaner + responsive */
.ct-header nav > ul > li:last-child > a,
#header nav > ul > li:last-child > a {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  white-space: nowrap !important;
  line-height: 1.1 !important;
  text-align: center !important;
  min-width: 0 !important;
  max-width: 100% !important;
  text-decoration: none !important;
}

.ct-header nav > ul > li:last-child,
#header nav > ul > li:last-child {
  margin-left: 6px !important;
}

@media (min-width: 1200px) {
  .ct-header nav > ul > li:last-child > a,
  #header nav > ul > li:last-child > a {
    background: #111 !important;
    color: #fff !important;
    padding: 12px 20px !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 28px rgba(0,0,0,.12) !important;
    font-size: 14px !important;
  }
}

@media (min-width: 1000px) and (max-width: 1199px) {
  .ct-header nav > ul > li:last-child > a,
  #header nav > ul > li:last-child > a {
    background: #111 !important;
    color: #fff !important;
    padding: 10px 16px !important;
    border-radius: 999px !important;
    box-shadow: 0 10px 24px rgba(0,0,0,.10) !important;
    font-size: 13px !important;
    letter-spacing: .02em !important;
  }
}

@media (max-width: 999px) {
  .ct-header nav > ul > li:last-child > a,
  #header nav > ul > li:last-child > a {
    background: #111 !important;
    color: #fff !important;
    padding: 8px 12px !important;
    border-radius: 999px !important;
    box-shadow: none !important;
    font-size: 12px !important;
    letter-spacing: .01em !important;
  }
}

@media (max-width: 768px) {
  .ct-header nav > ul > li:last-child,
  #header nav > ul > li:last-child {
    margin-left: 0 !important;
  }

  .doplock-clean-footer {
    padding: 38px 0 24px !important;
  }

  .doplock-clean-footer-grid {
    gap: 24px !important;
  }

  .doplock-clean-footer strong {
    font-size: 22px !important;
  }

  .doplock-clean-footer nav {
    gap: 10px 16px !important;
  }
}


/* SAFE REPAIR: small header button + compact footer, no page hiding */
.ct-header nav > ul > li:last-child > a,
#header nav > ul > li:last-child > a{
  min-height:34px !important;
  height:34px !important;
  padding:0 14px !important;
  border-radius:999px !important;
  background:#111 !important;
  color:#fff !important;
  box-shadow:none !important;
  font-size:12px !important;
  line-height:34px !important;
  letter-spacing:.01em !important;
  font-weight:850 !important;
  white-space:nowrap !important;
}

.ct-header nav > ul > li:last-child,
#header nav > ul > li:last-child{
  margin-left:4px !important;
}

/* Hide only obvious duplicate Blocksy footer rows, not the whole page */
.ct-footer .ct-footer-copyright,
.ct-footer .ct-footer-menu,
.ct-footer [data-id="copyright"],
.ct-footer [data-id="menu"]{
  display:none !important;
}

.doplock-clean-footer{
  display:block !important;
  padding:34px 0 22px !important;
  background:#08080a !important;
  color:#fff !important;
}

.doplock-clean-footer-grid{
  display:grid !important;
  grid-template-columns:1fr auto !important;
  gap:22px 34px !important;
  align-items:start !important;
}

.doplock-clean-footer strong{
  font-size:24px !important;
  margin-bottom:8px !important;
}

.doplock-clean-footer p{
  font-size:15px !important;
  line-height:1.55 !important;
  color:#a1a1aa !important;
}

.doplock-clean-footer nav{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-end !important;
  gap:10px 18px !important;
}

.doplock-clean-footer nav a,
.doplock-clean-footer a{
  font-size:14px !important;
  color:#e5e7eb !important;
}

.doplock-footer-note{
  margin-top:18px !important;
  padding-top:14px !important;
}

@media (max-width:1000px){
  .doplock-clean-footer{
    padding:28px 0 86px !important;
  }

  .doplock-clean-footer-grid{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .doplock-clean-footer nav{
    justify-content:flex-start !important;
  }

  .ct-header nav > ul > li:last-child > a,
  #header nav > ul > li:last-child > a{
    min-height:31px !important;
    height:31px !important;
    padding:0 11px !important;
    font-size:11px !important;
    line-height:31px !important;
  }
}


/* URGENT FOOTER FIX */
.doplock-legal-footer{display:none !important;}

.doplock-clean-footer{
  display:block !important;
  padding:26px 0 18px !important;
  background:#050506 !important;
  color:#fff !important;
  margin:0 !important;
}

.doplock-clean-footer-grid{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:18px 28px !important;
  align-items:start !important;
}

.doplock-clean-footer strong{
  display:block !important;
  margin-bottom:8px !important;
  font-size:22px !important;
  line-height:1.05 !important;
  letter-spacing:-.03em !important;
}

.doplock-clean-footer p{
  max-width:480px !important;
  margin:0 0 12px 0 !important;
  color:#a1a1aa !important;
  font-size:14px !important;
  line-height:1.55 !important;
}

.doplock-clean-footer nav{
  display:flex !important;
  flex-wrap:wrap !important;
  justify-content:flex-end !important;
  align-content:flex-start !important;
  gap:10px 16px !important;
  max-width:560px !important;
}

.doplock-clean-footer nav a,
.doplock-clean-footer a{
  color:#f4f4f5 !important;
  text-decoration:none !important;
  font-size:14px !important;
  font-weight:700 !important;
}

.doplock-clean-footer nav a:hover,
.doplock-clean-footer a:hover{
  opacity:.8 !important;
}

.doplock-footer-note{
  margin-top:14px !important;
  padding-top:12px !important;
  border-top:1px solid rgba(255,255,255,.08) !important;
}

.doplock-footer-note p{
  margin:0 !important;
  font-size:12px !important;
  line-height:1.5 !important;
  color:#8f8f97 !important;
}

@media (max-width: 1000px){
  .doplock-clean-footer{
    padding:22px 0 88px !important;
  }
  .doplock-clean-footer-grid{
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  .doplock-clean-footer nav{
    justify-content:flex-start !important;
    max-width:none !important;
  }
}


/* Smaller header CTA */
.ct-header nav > ul > li:last-child > a,
#header nav > ul > li:last-child > a{
  min-height:30px !important;
  height:30px !important;
  line-height:30px !important;
  padding:0 12px !important;
  font-size:11px !important;
}


/* Apple only / Android coming note */
.doplock-platform-note-section{
  padding:20px 0 0;
  background:linear-gradient(135deg, #fffaf5 0%, #f7efe7 100%);
}

.doplock-platform-note{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:22px 26px;
  border:1px solid rgba(249,115,22,.24);
  border-radius:28px;
  background:#fff7ed;
  box-shadow:0 16px 42px rgba(0,0,0,.045);
}

.doplock-platform-note span{
  display:inline-flex;
  margin-bottom:8px;
  padding:6px 10px;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-size:12px;
  font-weight:900;
  letter-spacing:.06em;
  text-transform:uppercase;
}

.doplock-platform-note h2{
  margin:0 0 8px;
  color:#111;
  font-size:clamp(26px, 3vw, 42px);
  line-height:1;
  letter-spacing:-.055em;
  font-weight:950;
}

.doplock-platform-note p{
  margin:0;
  max-width:760px;
  color:#7c2d12;
  font-size:17px;
  line-height:1.55;
}

.doplock-shop-platform-warning-section{
  padding-bottom:0 !important;
}

.doplock-platform-note-shop{
  background:#fff;
}

@media (max-width:768px){
  .doplock-platform-note{
    display:grid;
    gap:16px;
    padding:20px;
    border-radius:24px;
  }

  .doplock-platform-note .doplock-btn{
    width:100%;
  }

  .doplock-platform-note p{
    font-size:15px;
  }
}


/* Product-only compatibility note */
.doplock-platform-note-section{
  display:none !important;
}

.doplock-shop-platform-warning-section{
  padding:28px 0 0 !important;
  background:linear-gradient(135deg,#fffaf5 0%,#f7efe7 100%) !important;
}

.doplock-platform-card{
  display:grid;
  grid-template-columns:auto 1fr;
  gap:18px;
  align-items:center;
  padding:20px 22px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:26px;
  background:rgba(255,255,255,.78);
  box-shadow:0 18px 48px rgba(0,0,0,.055);
  backdrop-filter:blur(12px);
}

.doplock-platform-icon{
  width:54px;
  height:54px;
  display:grid;
  place-items:center;
  border-radius:18px;
  background:#111;
  color:#fff;
  font-size:28px;
  font-weight:800;
  line-height:1;
}

.doplock-platform-label{
  margin:0 0 5px !important;
  color:#f97316 !important;
  font-size:13px !important;
  font-weight:950 !important;
  letter-spacing:.08em !important;
  text-transform:uppercase !important;
}

.doplock-platform-card h2{
  margin:0 0 6px !important;
  color:#111 !important;
  font-size:clamp(26px,3vw,40px) !important;
  line-height:1 !important;
  letter-spacing:-.055em !important;
  font-weight:950 !important;
}

.doplock-platform-card p:last-child{
  margin:0 !important;
  max-width:780px !important;
  color:#5f6068 !important;
  font-size:16px !important;
  line-height:1.55 !important;
}

@media (max-width:768px){
  .doplock-shop-platform-warning-section{
    padding:20px 0 0 !important;
  }

  .doplock-platform-card{
    grid-template-columns:1fr;
    gap:14px;
    padding:18px;
    border-radius:22px;
  }

  .doplock-platform-icon{
    width:46px;
    height:46px;
    border-radius:15px;
    font-size:24px;
  }

  .doplock-platform-card p:last-child{
    font-size:15px !important;
  }
}


/* Legal pages */
.doplock-legal-hero{
  padding:90px 0 42px;
  background:linear-gradient(135deg,#fffaf5 0%,#f7efe7 100%);
}

.doplock-legal-hero h1{
  margin:0 0 14px;
  color:#111;
  font-size:clamp(52px,8vw,110px);
  line-height:.88;
  letter-spacing:-.075em;
  font-weight:950;
}

.doplock-legal-hero p{
  max-width:760px;
  margin:0;
  color:#5f6068;
  font-size:20px;
  line-height:1.55;
}

.doplock-legal-card{
  max-width:980px;
  margin:0 auto;
  padding:42px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:34px;
  background:#fff;
  box-shadow:0 18px 54px rgba(0,0,0,.055);
}

.doplock-legal-card h2{
  margin:34px 0 12px;
  color:#111;
  font-size:30px;
  line-height:1.05;
  letter-spacing:-.045em;
  font-weight:950;
}

.doplock-legal-card h2:first-child{
  margin-top:0;
}

.doplock-legal-card p,
.doplock-legal-card li{
  color:#5f6068;
  font-size:17px;
  line-height:1.72;
}

.doplock-legal-card a{
  color:#f97316;
  font-weight:850;
  text-decoration:none;
}

.doplock-legal-card ul{
  margin:12px 0 22px;
  padding-left:22px;
}

.doplock-legal-small{
  margin-top:34px !important;
  color:#9ca3af !important;
  font-size:14px !important;
}

.doplock-contact-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:22px;
}

.doplock-contact-grid .doplock-legal-card{
  margin:0;
}

.doplock-contact-mail{
  display:inline-flex;
  padding:14px 18px;
  border-radius:999px;
  background:#111;
  color:#fff !important;
}

@media (max-width:768px){
  .doplock-legal-hero{
    padding:70px 0 30px;
  }

  .doplock-legal-card{
    padding:24px;
    border-radius:26px;
  }

  .doplock-legal-card h2{
    font-size:24px;
  }

  .doplock-legal-card p,
  .doplock-legal-card li{
    font-size:16px;
  }

  .doplock-contact-grid{
    grid-template-columns:1fr;
  }
}



/* Why Doplock screen time comparison */
.doplock-why-screentime-section{background:#fff;}
.doplock-why-screentime{display:grid;grid-template-columns:minmax(0,.9fr) minmax(360px,.82fr);gap:34px;align-items:center;padding:46px;border:1px solid rgba(17,17,17,.08);border-radius:38px;background:linear-gradient(135deg,#fffaf5 0%,#ffffff 72%);box-shadow:0 22px 64px rgba(0,0,0,.055);}
.doplock-why-copy h2{margin:0 0 18px;color:#111;font-size:clamp(44px,6vw,86px);line-height:.92;letter-spacing:-.075em;font-weight:950;}
.doplock-why-copy>p{max-width:720px;margin:0;color:#5f6068;font-size:20px;line-height:1.62;}
.doplock-why-benefits{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px;}
.doplock-why-benefits div{padding:18px;border:1px solid rgba(17,17,17,.07);border-radius:22px;background:rgba(255,255,255,.76);}
.doplock-why-benefits span{display:block;margin-bottom:8px;color:#111;font-size:17px;font-weight:950;letter-spacing:-.025em;}
.doplock-why-benefits p{margin:0;color:#666872;font-size:14px;line-height:1.48;}
.doplock-screen-card{padding:24px;border:1px solid rgba(17,17,17,.08);border-radius:32px;background:#fff;box-shadow:0 24px 70px rgba(0,0,0,.085);}
.doplock-screen-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:18px;}
.doplock-screen-head span{color:#f97316;font-size:13px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;}
.doplock-screen-head strong{color:#111;font-size:16px;font-weight:900;}
.doplock-screen-compare{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.doplock-screen-box{padding:20px;border-radius:24px;background:#f5f5f5;border:1px solid rgba(17,17,17,.06);}
.doplock-screen-box-after{background:#111;color:#fff;}
.doplock-screen-box span{display:block;margin-bottom:16px;color:#6b7280;font-size:14px;font-weight:850;}
.doplock-screen-box-after span{color:#fb923c;}
.doplock-screen-box strong{display:block;margin-bottom:4px;color:#111;font-size:clamp(34px,4vw,52px);line-height:.95;letter-spacing:-.06em;font-weight:950;}
.doplock-screen-box-after strong{color:#fff;}
.doplock-screen-box p{margin:0 0 18px;color:#6b7280;font-size:14px;line-height:1.4;}
.doplock-screen-box-after p{color:#d4d4d8;}
.doplock-screen-bar{height:12px;border-radius:999px;overflow:hidden;background:rgba(17,17,17,.08);}
.doplock-screen-bar::after{content:"";display:block;height:100%;border-radius:999px;background:#f97316;}
.doplock-screen-bar-before::after{width:92%;}
.doplock-screen-bar-after{background:rgba(255,255,255,.16);}
.doplock-screen-bar-after::after{width:65%;background:#fff;}
.doplock-screen-saving{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding:18px;border-radius:22px;background:#fff7ed;border:1px solid rgba(249,115,22,.22);}
.doplock-screen-saving span{color:#7c2d12;font-size:14px;font-weight:850;}
.doplock-screen-saving strong{color:#111;font-size:24px;letter-spacing:-.04em;font-weight:950;}
.doplock-screen-note{margin:14px 0 0;color:#8a8c94;font-size:12px;line-height:1.45;}
@media (max-width:1000px){.doplock-why-screentime{grid-template-columns:1fr;padding:30px}.doplock-why-benefits{grid-template-columns:1fr}}
@media (max-width:640px){.doplock-why-screentime{padding:20px;border-radius:28px}.doplock-screen-card{padding:16px;border-radius:26px}.doplock-screen-compare{grid-template-columns:1fr}.doplock-screen-saving{display:grid;gap:6px}.doplock-screen-saving strong{font-size:22px}}


/* Unified Why Doplock + Screen Time section */
.doplock-why-unified-section{background:#fff;}
.doplock-why-unified-shell{
  padding:48px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:40px;
  background:linear-gradient(180deg,#fffdfb 0%, #ffffff 100%);
  box-shadow:0 24px 60px rgba(17,17,17,.05);
}
.doplock-why-unified-top{
  display:grid;
  grid-template-columns:minmax(0,1.02fr) minmax(360px,.82fr);
  gap:42px;
  align-items:center;
}
.doplock-why-unified-copy h2{
  margin:0 0 18px;
  color:#111111;
  font-size:clamp(42px,6vw,84px);
  line-height:.92;
  letter-spacing:-.075em;
  font-weight:950;
}
.doplock-why-intro{
  margin:0;
  max-width:680px;
  color:#666872;
  font-size:20px;
  line-height:1.65;
}
.doplock-why-points{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
  margin-top:28px;
}
.doplock-why-point{
  display:flex;
  gap:14px;
  align-items:flex-start;
  padding:18px 20px;
  border:1px solid rgba(17,17,17,.07);
  border-radius:22px;
  background:#fff;
}
.doplock-why-point-icon{
  width:34px;height:34px;flex:0 0 34px;border-radius:999px;
  display:grid;place-items:center;background:#fff7ed;color:#f97316;
  font-size:14px;font-weight:900;
}
.doplock-why-point strong{
  display:block;margin:0 0 4px;color:#111;font-size:18px;font-weight:900;letter-spacing:-.03em;
}
.doplock-why-point p{margin:0;color:#666872;font-size:15px;line-height:1.5;}

.doplock-screen-demo{display:flex;justify-content:center;}
.doplock-phone-frame{
  width:min(100%, 430px);
  padding:16px;
  border-radius:42px;
  background:linear-gradient(180deg,#2b2d31 0%, #121315 100%);
  box-shadow:0 28px 70px rgba(17,17,17,.18);
}
.doplock-phone-notch{
  width:44%;height:24px;margin:0 auto 10px;
  border-radius:0 0 18px 18px;background:#090909;
}
.doplock-screen-ui{
  background:#f4f5f7;
  border-radius:30px;
  padding:18px 16px 16px;
  overflow:hidden;
}
.doplock-screen-nav{color:#1473ff;font-size:15px;font-weight:700;margin-bottom:14px;}
.doplock-screen-tabs{
  display:grid;grid-template-columns:1fr 1fr;gap:0;margin-bottom:16px;
  border:1.5px solid #8db8ff;border-radius:10px;overflow:hidden;background:#fff;
}
.doplock-screen-tabs span{
  text-align:center;padding:9px 8px;color:#1473ff;font-size:14px;font-weight:700;background:#fff;
}
.doplock-screen-tabs .is-active{background:#1473ff;color:#fff;}
.doplock-screen-device{color:#111;font-size:18px;font-weight:800;letter-spacing:-.03em;margin-bottom:14px;}
.doplock-screen-metric-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:14px;}
.doplock-screen-metric-main strong{display:block;color:#111;font-size:46px;line-height:.92;letter-spacing:-.06em;font-weight:900;}
.doplock-screen-metric-main small{display:block;margin-top:4px;color:#8a8d95;font-size:13px;font-weight:700;}
.doplock-screen-metric-note{margin-top:6px;color:#1fa97a;font-size:18px;line-height:1.1;font-weight:900;text-align:right;}
.doplock-screen-metric-note span{display:block;color:#69a7ff;font-size:12px;font-weight:700;line-height:1.25;}
.doplock-screen-chart{
  height:118px;display:flex;align-items:flex-end;gap:6px;padding:8px 8px 0;
  background:linear-gradient(180deg,rgba(255,255,255,.8),rgba(245,245,247,1));
  border-radius:14px;border:1px solid rgba(17,17,17,.06);margin-bottom:14px;
}
.doplock-screen-chart span{flex:1;border-radius:5px 5px 0 0;background:linear-gradient(180deg,#6db9ff 0%,#1473ff 72%);position:relative;}
.doplock-screen-chart span:nth-child(3n){background:linear-gradient(180deg,#ffbd5d 0%, #ff9800 72%);}
.doplock-screen-chart span:nth-child(4n){background:linear-gradient(180deg,#78d8ff 0%, #41b4e6 72%);}
.doplock-screen-cats{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;margin-bottom:12px;}
.doplock-screen-cats div{display:flex;flex-direction:column;gap:2px;}
.doplock-screen-cats b{color:#111;font-size:13px;font-weight:800;}
.doplock-screen-cats small{color:#404349;font-size:12px;font-weight:700;}
.doplock-screen-cats span{display:inline-block;width:18px;height:6px;border-radius:999px;margin-bottom:4px;}
.doplock-screen-cats .cat-blue{background:#1473ff;}
.doplock-screen-cats .cat-cyan{background:#41b4e6;}
.doplock-screen-cats .cat-orange{background:#ff9800;}
.doplock-screen-rows{border-top:1px solid rgba(17,17,17,.08);border-bottom:1px solid rgba(17,17,17,.08);margin-bottom:12px;}
.doplock-screen-rows div{display:flex;justify-content:space-between;gap:12px;padding:10px 2px;color:#111;font-size:14px;}
.doplock-screen-rows div+div{border-top:1px solid rgba(17,17,17,.06);}
.doplock-screen-rows span{color:#30333a;}
.doplock-screen-rows strong{font-weight:800;color:#7d8088;}
.doplock-screen-app{
  display:grid;grid-template-columns:40px 1fr auto;gap:12px;align-items:center;
  padding:10px 4px 2px;
}
.doplock-screen-app-icon{
  width:40px;height:40px;border-radius:10px;background:linear-gradient(135deg,#ff5f6d,#ffc371 78%);
  position:relative;
}
.doplock-screen-app-icon:before{content:'';position:absolute;inset:9px;border:2px solid white;border-radius:9px;}
.doplock-screen-app-icon:after{content:'';position:absolute;width:7px;height:7px;right:10px;top:10px;border-radius:999px;background:white;}
.doplock-screen-app-copy strong{display:block;color:#111;font-size:14px;font-weight:800;margin-bottom:8px;}
.doplock-screen-app-bar{height:6px;border-radius:999px;background:#e0e2e8;overflow:hidden;}
.doplock-screen-app-bar span{display:block;width:86%;height:100%;background:#ff9800;border-radius:999px;}
.doplock-screen-app em{font-style:normal;color:#ff9800;font-size:13px;font-weight:800;white-space:nowrap;}

.doplock-why-unified-bottom{margin-top:30px;}
.doplock-screen-card-grid{
  display:grid;grid-template-columns:1fr 1fr 1.2fr;gap:14px;
}
.doplock-mini-card{
  padding:22px;border-radius:26px;border:1px solid rgba(17,17,17,.07);background:#f8f8f8;
}
.doplock-mini-card.is-highlighted{background:#111;color:#fff;box-shadow:0 18px 36px rgba(17,17,17,.1);}
.doplock-mini-card-label{display:block;margin-bottom:10px;color:#f97316;font-size:13px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;}
.doplock-mini-card strong{display:block;color:#111;font-size:40px;line-height:.94;letter-spacing:-.06em;font-weight:950;margin-bottom:6px;}
.doplock-mini-card.is-highlighted strong,.doplock-mini-card.is-highlighted p{color:#fff;}
.doplock-mini-card p{margin:0;color:#666872;font-size:15px;line-height:1.45;}
.doplock-mini-card-wide ul{margin:0;padding-left:18px;color:#111;display:grid;gap:10px;font-size:15px;font-weight:700;}
.doplock-mini-card-wide li::marker{color:#f97316;}
.doplock-why-footnote{margin:16px 4px 0;color:#8a8d95;font-size:12px;line-height:1.45;}

@media (max-width: 1100px){
  .doplock-why-unified-top{grid-template-columns:1fr;}
  .doplock-screen-card-grid{grid-template-columns:1fr;}
}
@media (max-width: 700px){
  .doplock-why-unified-shell{padding:22px;border-radius:28px;}
  .doplock-why-intro{font-size:17px;}
  .doplock-phone-frame{width:100%;padding:12px;border-radius:32px;}
  .doplock-screen-ui{border-radius:24px;padding:14px 12px 14px;}
  .doplock-screen-metric-main strong{font-size:38px;}
  .doplock-screen-cats{grid-template-columns:1fr;gap:8px;}
  .doplock-screen-metric-note{font-size:16px;}
  .doplock-mini-card strong{font-size:34px;}
}


/* Why Doplock animated screen comparison */
.doplock-screen-tabs button{
  appearance:none;border:0;background:#fff;color:#1473ff;text-align:center;padding:9px 8px;font-size:14px;font-weight:700;cursor:pointer;transition:all .25s ease;
}
.doplock-screen-tabs button.is-active{background:#1473ff;color:#fff;}
.doplock-screen-tabs button:not(.is-active):hover{background:#eef5ff;}
.doplock-screen-chart span{transition:height .65s cubic-bezier(.22,1,.36,1), opacity .35s ease, transform .35s ease;transform-origin:bottom center;}
.doplock-screen-metric-main strong,
.doplock-screen-metric-main small,
.doplock-screen-metric-note,
.doplock-screen-cats small,
.doplock-screen-rows strong,
.doplock-screen-app em{transition:opacity .25s ease, transform .25s ease, color .25s ease;}
.doplock-screen-ui.is-switching .doplock-screen-metric-main strong,
.doplock-screen-ui.is-switching .doplock-screen-metric-main small,
.doplock-screen-ui.is-switching .doplock-screen-metric-note,
.doplock-screen-ui.is-switching .doplock-screen-cats small,
.doplock-screen-ui.is-switching .doplock-screen-rows strong,
.doplock-screen-ui.is-switching .doplock-screen-app em{opacity:.18;transform:translateY(4px);}
.doplock-screen-app-bar span{transition:width .65s cubic-bezier(.22,1,.36,1), background .25s ease;}
.doplock-screen-demo-caption{margin:14px 0 0;text-align:center;color:#8a8d95;font-size:13px;line-height:1.4;}
.doplock-mini-card{transition:transform .25s ease, background .25s ease, color .25s ease, box-shadow .25s ease, border-color .25s ease;}
.doplock-mini-card.is-current{background:#111;color:#fff;box-shadow:0 18px 36px rgba(17,17,17,.1);transform:translateY(-2px);}
.doplock-mini-card.is-current strong,.doplock-mini-card.is-current p{color:#fff;}
.doplock-mini-card[data-summary-card="before"].is-current .doplock-mini-card-label,
.doplock-mini-card[data-summary-card="after"].is-current .doplock-mini-card-label{color:#f9a24f;}
.doplock-screen-metric-note.is-positive{color:#1fa97a;}
.doplock-screen-metric-note.is-warning{color:#69a7ff;}
@media (prefers-reduced-motion: reduce){
  .doplock-screen-chart span,
  .doplock-screen-app-bar span,
  .doplock-mini-card,
  .doplock-screen-metric-main strong,
  .doplock-screen-metric-main small,
  .doplock-screen-metric-note,
  .doplock-screen-cats small,
  .doplock-screen-rows strong,
  .doplock-screen-app em{transition:none !important;}
}


/* Real iPhone screen time comparison */
.doplock-screen-demo-card{
  width:100%;
  max-width:520px;
  padding:18px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:34px;
  background:linear-gradient(180deg,#ffffff 0%,#faf7f2 100%);
  box-shadow:0 24px 70px rgba(0,0,0,.08);
}
.doplock-screen-demo .doplock-screen-tabs{
  margin-bottom:16px;
}
.doplock-screen-real-phone{
  position:relative;
  border-radius:28px;
  overflow:hidden;
  background:#ececec;
  box-shadow:0 16px 46px rgba(0,0,0,.08);
}
.doplock-screen-real-phone img{
  display:block;
  width:100%;
  height:auto;
  opacity:0;
  visibility:hidden;
  transition:opacity .55s ease, visibility .55s ease;
}
.doplock-screen-real-phone img + img{
  position:absolute;
  inset:0;
}
.doplock-screen-real-phone img.is-active{
  opacity:1;
  visibility:visible;
}
@media (max-width:640px){
  .doplock-screen-demo-card{padding:14px;border-radius:26px;max-width:100%;}
  .doplock-screen-real-phone{border-radius:22px;}
}



/* Preorder November 2026 update */
.doplock-preorder-inline{
  display:inline-flex;
  flex-wrap:wrap;
  gap:8px 12px;
  align-items:center;
  margin:18px 0 0;
  padding:10px 14px;
  border:1px solid rgba(249,115,22,.24);
  border-radius:999px;
  background:#fff7ed;
  color:#7c2d12;
  font-size:14px;
  line-height:1.35;
}
.doplock-preorder-inline strong{color:#111;font-weight:950;}
.doplock-preorder-box{
  margin:22px 0;
  padding:20px;
  border-radius:24px;
  background:#111;
  color:#fff;
}
.doplock-preorder-box span{
  display:inline-flex;
  margin-bottom:10px;
  padding:6px 10px;
  border-radius:999px;
  background:#fff7ed;
  color:#f97316;
  font-size:12px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.doplock-preorder-box h3{
  margin:0 0 8px;
  color:#fff;
  font-size:24px;
  letter-spacing:-.04em;
}
.doplock-preorder-box p{
  margin:0;
  color:#d4d4d8;
  line-height:1.6;
}
.doplock-account-info{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
  padding:28px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:30px;
  background:#fff;
  box-shadow:0 18px 54px rgba(0,0,0,.055);
}
.doplock-account-info h2{
  margin:0 0 10px;
  color:#111;
  font-size:clamp(32px,4vw,56px);
  line-height:.95;
  letter-spacing:-.06em;
  font-weight:950;
}
.doplock-account-info p:not(.doplock-eyebrow){
  margin:0;
  max-width:760px;
  color:#5f6068;
  font-size:17px;
  line-height:1.6;
}
@media (max-width:768px){
  .doplock-account-info{display:grid;padding:22px;border-radius:24px;}
  .doplock-account-info .doplock-btn{width:100%;}
  .doplock-preorder-inline{border-radius:18px;}
}



/* Shop archive polish */
body.post-type-archive-product .site-main{
  padding-top:0 !important;
}

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

.doplock-shop-hero,
.doplock-product-shop-hero{
  padding-top:92px;
  padding-bottom:64px;
  background:
    radial-gradient(circle at 18% 12%, rgba(249,115,22,.13), transparent 34%),
    linear-gradient(180deg,#fffaf5 0%, #ffffff 72%);
}

.doplock-shop-hero .doplock-title,
.doplock-product-shop-hero .doplock-title{
  max-width:920px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
  font-size:clamp(46px,6vw,92px);
  line-height:.9;
  letter-spacing:-.075em;
}

.doplock-shop-hero .doplock-section-lead,
.doplock-product-shop-hero .doplock-section-lead{
  max-width:760px;
  margin-left:auto;
  margin-right:auto;
  text-align:center;
}

.doplock-shop-grid,
.doplock-product-shop-grid{
  align-items:stretch;
}

.doplock-shop-card,
.doplock-product-shop-card{
  border:1px solid rgba(17,17,17,.08);
  border-radius:34px;
  background:#fff;
  box-shadow:0 22px 70px rgba(17,17,17,.06);
  overflow:hidden;
  transition:transform .22s ease, box-shadow .22s ease;
}

.doplock-shop-card:hover,
.doplock-product-shop-card:hover{
  transform:translateY(-4px);
  box-shadow:0 30px 90px rgba(17,17,17,.1);
}

.doplock-shop-card img,
.doplock-product-shop-card img{
  border-radius:26px;
}

.doplock-shop-card .doplock-btn,
.doplock-product-shop-card .doplock-btn{
  width:100%;
}

@media (max-width:768px){
  .doplock-shop-hero,
  .doplock-product-shop-hero{
    padding-top:58px;
    padding-bottom:42px;
  }
}



/* Shop visual upgrade only */
body.post-type-archive-product,
body.page-template-page-shop{
  background:#f7f4ef;
}

body.post-type-archive-product .doplock-shop-hero,
body.post-type-archive-product .doplock-product-shop-hero,
body.page-template-page-shop .doplock-shop-hero,
body.page-template-page-shop .doplock-product-shop-hero{
  min-height:360px;
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 22% 18%, rgba(249,115,22,.18), transparent 34%),
    radial-gradient(circle at 84% 12%, rgba(17,17,17,.055), transparent 28%),
    linear-gradient(180deg,#fffaf4 0%,#ffffff 68%);
}

body.post-type-archive-product .doplock-shop-hero .doplock-container,
body.post-type-archive-product .doplock-product-shop-hero .doplock-container,
body.page-template-page-shop .doplock-shop-hero .doplock-container,
body.page-template-page-shop .doplock-product-shop-hero .doplock-container{
  max-width:1180px;
}

body.post-type-archive-product .doplock-shop-hero .doplock-title,
body.post-type-archive-product .doplock-product-shop-hero .doplock-title,
body.page-template-page-shop .doplock-shop-hero .doplock-title,
body.page-template-page-shop .doplock-product-shop-hero .doplock-title{
  max-width:760px;
  margin-left:0;
  margin-right:0;
  text-align:left;
  font-size:clamp(58px,7.4vw,116px);
  line-height:.84;
}

body.post-type-archive-product .doplock-shop-hero .doplock-section-lead,
body.post-type-archive-product .doplock-product-shop-hero .doplock-section-lead,
body.page-template-page-shop .doplock-shop-hero .doplock-section-lead,
body.page-template-page-shop .doplock-product-shop-hero .doplock-section-lead{
  max-width:590px;
  margin-left:0;
  margin-right:0;
  text-align:left;
  font-size:18px;
  line-height:1.65;
}

body.post-type-archive-product .doplock-section,
body.page-template-page-shop .doplock-section{
  background:#f7f4ef;
}

body.post-type-archive-product .doplock-shop-section .doplock-container,
body.post-type-archive-product .doplock-product-shop-section .doplock-container,
body.page-template-page-shop .doplock-shop-section .doplock-container,
body.page-template-page-shop .doplock-product-shop-section .doplock-container{
  max-width:1180px;
}

body.post-type-archive-product .doplock-shop-grid,
body.post-type-archive-product .doplock-product-shop-grid,
body.page-template-page-shop .doplock-shop-grid,
body.page-template-page-shop .doplock-product-shop-grid{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:26px;
  max-width:1180px;
  margin:0 auto;
}

body.post-type-archive-product .doplock-shop-card,
body.post-type-archive-product .doplock-product-shop-card,
body.page-template-page-shop .doplock-shop-card,
body.page-template-page-shop .doplock-product-shop-card{
  padding:24px;
  border-radius:34px;
  background:rgba(255,255,255,.92);
  border:1px solid rgba(17,17,17,.08);
  box-shadow:0 22px 70px rgba(17,17,17,.08);
}

body.post-type-archive-product .doplock-shop-card:first-child,
body.post-type-archive-product .doplock-product-shop-card:first-child,
body.page-template-page-shop .doplock-shop-card:first-child,
body.page-template-page-shop .doplock-product-shop-card:first-child{
  transform:scale(1.035);
  transform-origin:center;
  box-shadow:0 30px 96px rgba(17,17,17,.11);
}

body.post-type-archive-product .doplock-shop-card:first-child:hover,
body.post-type-archive-product .doplock-product-shop-card:first-child:hover,
body.page-template-page-shop .doplock-shop-card:first-child:hover,
body.page-template-page-shop .doplock-product-shop-card:first-child:hover{
  transform:scale(1.035) translateY(-4px);
}

body.post-type-archive-product .doplock-shop-card img,
body.post-type-archive-product .doplock-product-shop-card img,
body.page-template-page-shop .doplock-shop-card img,
body.page-template-page-shop .doplock-product-shop-card img{
  width:100%;
  max-height:260px;
  object-fit:cover;
  background:#f2f2f2;
}

body.post-type-archive-product .doplock-shop-card h2,
body.post-type-archive-product .doplock-product-shop-card h2,
body.page-template-page-shop .doplock-shop-card h2,
body.page-template-page-shop .doplock-product-shop-card h2{
  font-size:clamp(30px,3vw,46px);
  line-height:.92;
  letter-spacing:-.06em;
}

body.post-type-archive-product .doplock-shop-card .doplock-price,
body.post-type-archive-product .doplock-product-shop-card .doplock-price,
body.page-template-page-shop .doplock-shop-card .doplock-price,
body.page-template-page-shop .doplock-product-shop-card .doplock-price{
  font-size:clamp(34px,3.4vw,56px);
  letter-spacing:-.065em;
}

body.post-type-archive-product .doplock-compatibility-note,
body.page-template-page-shop .doplock-compatibility-note,
body.post-type-archive-product .doplock-account-info,
body.page-template-page-shop .doplock-account-info{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}

body.post-type-archive-product .doplock-account-info,
body.page-template-page-shop .doplock-account-info{
  background:linear-gradient(135deg,#ffffff 0%,#fff7ed 100%);
}

body.post-type-archive-product .doplock-after-buy-section .doplock-container,
body.page-template-page-shop .doplock-after-buy-section .doplock-container{
  max-width:1180px;
}

body.post-type-archive-product .doplock-steps,
body.page-template-page-shop .doplock-steps{
  max-width:1180px;
  margin-left:auto;
  margin-right:auto;
}

body.post-type-archive-product .doplock-step,
body.page-template-page-shop .doplock-step{
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  box-shadow:0 16px 50px rgba(17,17,17,.055);
}

@media (max-width:980px){
  body.post-type-archive-product .doplock-shop-grid,
  body.post-type-archive-product .doplock-product-shop-grid,
  body.page-template-page-shop .doplock-shop-grid,
  body.page-template-page-shop .doplock-product-shop-grid{
    grid-template-columns:1fr;
  }

  body.post-type-archive-product .doplock-shop-card:first-child,
  body.post-type-archive-product .doplock-product-shop-card:first-child,
  body.page-template-page-shop .doplock-shop-card:first-child,
  body.page-template-page-shop .doplock-product-shop-card:first-child{
    transform:none;
  }

  body.post-type-archive-product .doplock-shop-card:first-child:hover,
  body.post-type-archive-product .doplock-product-shop-card:first-child:hover,
  body.page-template-page-shop .doplock-shop-card:first-child:hover,
  body.page-template-page-shop .doplock-product-shop-card:first-child:hover{
    transform:translateY(-4px);
  }
}

@media (max-width:720px){
  body.post-type-archive-product .doplock-shop-hero,
  body.post-type-archive-product .doplock-product-shop-hero,
  body.page-template-page-shop .doplock-shop-hero,
  body.page-template-page-shop .doplock-product-shop-hero{
    min-height:auto;
  }

  body.post-type-archive-product .doplock-shop-hero .doplock-title,
  body.post-type-archive-product .doplock-product-shop-hero .doplock-title,
  body.page-template-page-shop .doplock-shop-hero .doplock-title,
  body.page-template-page-shop .doplock-product-shop-hero .doplock-title{
    font-size:clamp(48px,14vw,72px);
  }

  body.post-type-archive-product .doplock-shop-card,
  body.post-type-archive-product .doplock-product-shop-card,
  body.page-template-page-shop .doplock-shop-card,
  body.page-template-page-shop .doplock-product-shop-card{
    padding:18px;
    border-radius:26px;
  }
}



/* Product video section */
.doplock-product-video-section{
  background:#f7f4ef;
}
.doplock-product-video-card{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(360px,1.05fr);
  gap:28px;
  align-items:center;
  max-width:1180px;
  margin:0 auto;
  padding:28px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:34px;
  background:#fff;
  box-shadow:0 22px 70px rgba(17,17,17,.06);
}
.doplock-product-video-copy h2{
  margin:0 0 12px;
  color:#111;
  font-size:clamp(34px,4.4vw,64px);
  line-height:.92;
  letter-spacing:-.065em;
  font-weight:950;
}
.doplock-product-video-copy p:not(.doplock-eyebrow){
  margin:0;
  max-width:560px;
  color:#5f6068;
  font-size:17px;
  line-height:1.6;
}
.doplock-product-video-frame{
  aspect-ratio:16/9;
  border-radius:26px;
  overflow:hidden;
  background:
    radial-gradient(circle at 50% 35%, rgba(249,115,22,.28), transparent 28%),
    linear-gradient(135deg,#111 0%,#262626 100%);
  box-shadow:inset 0 0 0 1px rgba(255,255,255,.08);
}
.doplock-product-video-placeholder{
  height:100%;
  display:grid;
  place-items:center;
  align-content:center;
  gap:10px;
  padding:24px;
  text-align:center;
  color:#fff;
}
.doplock-product-video-play{
  width:62px;
  height:62px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#fff;
  color:#111;
  font-size:22px;
  box-shadow:0 18px 48px rgba(0,0,0,.22);
}
.doplock-product-video-placeholder strong{
  color:#fff;
  font-size:22px;
  font-weight:950;
  letter-spacing:-.035em;
}
.doplock-product-video-placeholder p{
  margin:0;
  color:#d4d4d8;
  font-size:14px;
}
@media (max-width:900px){
  .doplock-product-video-card{
    grid-template-columns:1fr;
    padding:22px;
    border-radius:28px;
  }
}



/* Product photo section */
.doplock-product-photo-section{
  background:#f7f4ef;
}
.doplock-product-photo-card{
  display:grid;
  grid-template-columns:minmax(0,.62fr) minmax(420px,1.2fr);
  gap:28px;
  align-items:center;
  max-width:1180px;
  margin:0 auto;
  padding:28px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:34px;
  background:#fff;
  box-shadow:0 22px 70px rgba(17,17,17,.06);
}
.doplock-product-photo-copy h2{
  margin:0 0 12px;
  color:#111;
  font-size:clamp(34px,4.4vw,64px);
  line-height:.92;
  letter-spacing:-.065em;
  font-weight:950;
}
.doplock-product-photo-copy p:not(.doplock-eyebrow){
  margin:0;
  max-width:520px;
  color:#5f6068;
  font-size:17px;
  line-height:1.6;
}
.doplock-product-photo-image{
  border-radius:28px;
  overflow:hidden;
  background:#f4f4f4;
  box-shadow:0 18px 54px rgba(17,17,17,.09);
}
.doplock-product-photo-image img{
  display:block;
  width:100%;
  height:auto;
}
@media (max-width:900px){
  .doplock-product-photo-card{
    grid-template-columns:1fr;
    padding:22px;
    border-radius:28px;
  }
}


/* Final polished shop page */
.doplock-shop-final-page{background:#f7f3ee;color:#111;}
.doplock-shop-final-page .doplock-section{background:#f7f3ee;}
.doplock-shop-final-page .doplock-container{max-width:1180px;}
.doplock-shop-final-hero{position:relative;overflow:hidden;padding:92px 0 72px;background:radial-gradient(circle at 22% 8%,rgba(249,115,22,.22),transparent 36%),linear-gradient(180deg,#fffaf4 0%,#fff 72%);}
.doplock-shop-final-hero:after{content:"";position:absolute;inset:auto -12% -46% 44%;height:420px;border-radius:999px;background:rgba(249,115,22,.08);filter:blur(44px);pointer-events:none;}
.doplock-shop-final-hero-grid{position:relative;z-index:1;display:grid;grid-template-columns:minmax(0,.92fr) minmax(360px,1fr);gap:54px;align-items:center;}
.doplock-shop-final-hero-copy h1{margin:0 0 18px;color:#111;font-size:clamp(58px,7.8vw,118px);line-height:.84;letter-spacing:-.082em;font-weight:950;max-width:760px;}
.doplock-shop-final-hero-copy .doplock-lead{max-width:620px;margin:0;color:#4f5159;font-size:20px;line-height:1.6;}
.doplock-shop-final-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:30px;}
.doplock-shop-final-actions .doplock-btn{min-width:190px;}
.doplock-shop-final-trust-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px;}
.doplock-shop-final-trust-row span{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border:1px solid rgba(17,17,17,.08);border-radius:999px;background:rgba(255,255,255,.72);color:#4f5159;font-size:13px;font-weight:850;box-shadow:0 10px 30px rgba(17,17,17,.035);}
.doplock-shop-final-trust-row span:before{content:"";width:7px;height:7px;border-radius:999px;background:#f97316;}
.doplock-shop-final-hero-visual{display:flex;justify-content:center;}
.doplock-shop-final-card-scene{position:relative;width:100%;max-width:610px;min-height:410px;display:grid;place-items:center;border-radius:44px;background:linear-gradient(135deg,#fff 0%,#fff7ed 100%);box-shadow:0 34px 100px rgba(17,17,17,.11);border:1px solid rgba(17,17,17,.08);overflow:hidden;}
.doplock-shop-final-card-scene:before{content:"";position:absolute;width:76%;height:44%;right:-8%;top:14%;border-radius:30px;background:#171717;transform:rotate(-4deg);box-shadow:0 22px 54px rgba(17,17,17,.18);}
.doplock-shop-final-card-scene img{position:relative;z-index:1;width:84%;max-width:500px;height:auto;border-radius:22px;transform:rotate(-3deg);filter:drop-shadow(0 28px 34px rgba(17,17,17,.22));}
.doplock-shop-final-card-note{position:absolute;z-index:2;right:26px;bottom:26px;display:grid;gap:2px;padding:14px 16px;border-radius:18px;background:#fff;box-shadow:0 18px 50px rgba(17,17,17,.14);}
.doplock-shop-final-card-note span{color:#f97316;font-size:11px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;}.doplock-shop-final-card-note strong{font-size:26px;line-height:1;font-weight:950;letter-spacing:-.055em;}
.doplock-shop-final-strip{padding:0 0 34px;background:#f7f3ee;transform:translateY(-24px);margin-bottom:-24px;position:relative;z-index:3;}
.doplock-shop-final-strip-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:18px;border:1px solid rgba(17,17,17,.08);border-radius:28px;background:#fff;box-shadow:0 22px 70px rgba(17,17,17,.07);}
.doplock-shop-final-strip-grid div{padding:14px 16px;border-radius:20px;background:#fafafa;}.doplock-shop-final-strip-grid strong{display:block;margin-bottom:4px;color:#111;font-size:15px;font-weight:950;letter-spacing:-.025em;}.doplock-shop-final-strip-grid span{display:block;color:#686a72;font-size:13px;line-height:1.35;}
.doplock-shop-final-section-head{text-align:center;max-width:760px;margin:0 auto 28px;}.doplock-shop-final-section-head.is-left{text-align:left;margin-left:0;}.doplock-shop-final-section-head h2{margin:0 0 12px;color:#111;font-size:clamp(38px,5vw,72px);line-height:.9;letter-spacing:-.075em;font-weight:950;}.doplock-shop-final-section-head p:not(.doplock-eyebrow){margin:0 auto;color:#686a72;font-size:18px;line-height:1.55;max-width:620px;}.doplock-shop-final-section-head.is-left p:not(.doplock-eyebrow){margin-left:0;}
.doplock-shop-final-product-grid{display:grid;grid-template-columns:1.05fr .95fr;gap:26px;align-items:stretch;}.doplock-shop-final-product{position:relative;padding:18px;border:1px solid rgba(17,17,17,.08);border-radius:34px;background:#fff;box-shadow:0 22px 70px rgba(17,17,17,.075);overflow:hidden;transition:transform .22s ease,box-shadow .22s ease;}.doplock-shop-final-product:hover{transform:translateY(-4px);box-shadow:0 30px 96px rgba(17,17,17,.11);}.doplock-shop-final-product.is-featured{box-shadow:0 30px 100px rgba(17,17,17,.11);}
.doplock-shop-final-badge{position:absolute;z-index:3;top:22px;left:22px;display:inline-flex;padding:7px 11px;border-radius:999px;background:#ff5a1f;color:#fff;font-size:11px;font-weight:950;letter-spacing:.06em;text-transform:uppercase;}.doplock-shop-final-badge.is-digital{background:#111;color:#fff;}
.doplock-shop-final-product-image{height:300px;border-radius:26px;background:linear-gradient(135deg,#fff7ed,#fff);display:grid;place-items:center;overflow:hidden;margin-bottom:20px;}.doplock-shop-final-product-image img{width:88%;height:auto;border-radius:18px;filter:drop-shadow(0 18px 22px rgba(17,17,17,.18));}
.doplock-shop-final-code-visual{height:300px;border-radius:26px;background:radial-gradient(circle at 50% 35%,rgba(249,115,22,.16),transparent 30%),linear-gradient(135deg,#111,#242424);display:grid;place-items:center;align-content:center;gap:20px;margin-bottom:20px;color:#fff;text-align:center;}.doplock-shop-final-code-visual span{color:#f97316;font-size:12px;font-weight:950;letter-spacing:.12em;}.doplock-shop-final-code-visual strong{font-size:34px;letter-spacing:.22em;}.doplock-shop-final-code-visual small{color:#d4d4d8;font-size:13px;}
.doplock-shop-final-product-body{padding:2px 4px 6px;}.doplock-shop-final-product-title-row{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;margin-bottom:12px;}.doplock-shop-final-product-title-row h3{margin:0;color:#111;font-size:clamp(30px,3.2vw,46px);line-height:.92;letter-spacing:-.065em;font-weight:950;}.doplock-shop-final-product-title-row strong{white-space:nowrap;color:#111;font-size:clamp(26px,3vw,38px);line-height:.95;letter-spacing:-.06em;font-weight:950;}.doplock-shop-final-product-body p{margin:0 0 16px;color:#5f6068;font-size:16px;line-height:1.55;}.doplock-shop-final-product-body ul{list-style:none;padding:0;margin:0 0 18px;display:grid;gap:10px;}.doplock-shop-final-product-body li{position:relative;padding-left:25px;color:#222;font-size:14px;font-weight:750;line-height:1.35;}.doplock-shop-final-product-body li:before{content:"✓";position:absolute;left:0;top:-1px;width:17px;height:17px;border-radius:999px;background:#f97316;color:#fff;display:grid;place-items:center;font-size:11px;font-weight:950;}.doplock-shop-final-product .doplock-btn{width:100%;}
.doplock-shop-final-preorder-note,.doplock-shop-final-digital-note{margin:0 0 18px;padding:15px 16px;border-radius:20px;border:1px solid rgba(249,115,22,.2);background:#fff7ed;}.doplock-shop-final-preorder-note span,.doplock-shop-final-digital-note span{display:block;margin-bottom:5px;color:#f97316;font-size:12px;font-weight:950;letter-spacing:.08em;text-transform:uppercase;}.doplock-shop-final-preorder-note p,.doplock-shop-final-digital-note p{margin:0;color:#7c2d12;font-size:14px;line-height:1.45;}
.doplock-shop-final-compare{display:grid;grid-template-columns:.55fr 1fr;gap:28px;align-items:start;padding:30px;border:1px solid rgba(17,17,17,.08);border-radius:34px;background:#fff;box-shadow:0 22px 70px rgba(17,17,17,.065);}.doplock-shop-final-compare-copy h2{margin:0 0 12px;font-size:clamp(36px,4.8vw,66px);line-height:.9;letter-spacing:-.07em;font-weight:950;}.doplock-shop-final-compare-copy p:not(.doplock-eyebrow){margin:0;color:#686a72;font-size:17px;line-height:1.55;}
.doplock-shop-final-table{border:1px solid rgba(17,17,17,.08);border-radius:24px;overflow:hidden;background:#fff;}.doplock-shop-final-table div{display:grid;grid-template-columns:1.2fr .7fr .7fr;gap:0;}.doplock-shop-final-table div+div{border-top:1px solid rgba(17,17,17,.07);}.doplock-shop-final-table span,.doplock-shop-final-table strong,.doplock-shop-final-table b{padding:16px 18px;font-size:14px;line-height:1.25;}.doplock-shop-final-table span{color:#555861;font-weight:750;}.doplock-shop-final-table strong{background:#111;color:#fff;font-weight:950;text-align:center;}.doplock-shop-final-table strong:last-child{background:#f97316;}.doplock-shop-final-table b{text-align:center;color:#111;font-weight:900;}.doplock-shop-final-table b+ b{border-left:1px solid rgba(17,17,17,.06);}
.doplock-shop-final-process-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;}.doplock-shop-final-process-grid div{padding:22px;border:1px solid rgba(17,17,17,.08);border-radius:26px;background:#fff;box-shadow:0 16px 50px rgba(17,17,17,.05);}.doplock-shop-final-process-grid span{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:999px;background:#fff7ed;color:#f97316;font-size:12px;font-weight:950;margin-bottom:18px;}.doplock-shop-final-process-grid h3{margin:0 0 8px;color:#111;font-size:20px;font-weight:950;letter-spacing:-.035em;}.doplock-shop-final-process-grid p{margin:0;color:#686a72;font-size:14px;line-height:1.5;}
.doplock-shop-final-video-card,.doplock-shop-final-photo-card,.doplock-shop-final-account{max-width:1180px;}.doplock-shop-final-photo-card .doplock-product-photo-image{max-height:560px;}.doplock-shop-final-photo-card .doplock-product-photo-image img{width:100%;height:100%;max-height:560px;object-fit:cover;object-position:top center;}
.doplock-shop-final-faq{display:grid;grid-template-columns:.42fr 1fr;gap:30px;align-items:start;}.doplock-shop-final-faq h2{margin:0;color:#111;font-size:clamp(34px,4.5vw,62px);line-height:.9;letter-spacing:-.07em;font-weight:950;}
.doplock-shop-final-cta-section{padding:72px 0 92px;background:#f7f3ee;}.doplock-shop-final-cta{text-align:center;padding:44px 28px;border-radius:38px;background:radial-gradient(circle at 50% 0%,rgba(249,115,22,.2),transparent 35%),#111;color:#fff;box-shadow:0 30px 90px rgba(17,17,17,.16);}.doplock-shop-final-cta h2{margin:0 auto 12px;max-width:780px;color:#fff;font-size:clamp(38px,5.4vw,78px);line-height:.88;letter-spacing:-.075em;font-weight:950;}.doplock-shop-final-cta p:not(.doplock-eyebrow){margin:0 auto 24px;color:#d4d4d8;font-size:18px;line-height:1.55;}.doplock-shop-final-cta .doplock-eyebrow{color:#f97316;}.doplock-shop-final-cta .doplock-btn{background:#fff;color:#111;}
@media (max-width:1050px){.doplock-shop-final-hero-grid,.doplock-shop-final-product-grid,.doplock-shop-final-compare,.doplock-shop-final-faq{grid-template-columns:1fr;}.doplock-shop-final-strip-grid,.doplock-shop-final-process-grid{grid-template-columns:repeat(2,1fr);}.doplock-shop-final-card-scene{min-height:330px;}.doplock-shop-final-card-scene img{width:78%;}}
@media (max-width:700px){.doplock-shop-final-hero{padding:58px 0 48px;}.doplock-shop-final-hero-copy h1{font-size:clamp(48px,15vw,78px);}.doplock-shop-final-hero-copy .doplock-lead{font-size:17px;}.doplock-shop-final-actions .doplock-btn{width:100%;}.doplock-shop-final-strip{transform:none;margin-bottom:0;padding:24px 0;}.doplock-shop-final-strip-grid,.doplock-shop-final-process-grid{grid-template-columns:1fr;}.doplock-shop-final-card-scene{min-height:250px;border-radius:28px;}.doplock-shop-final-card-note{right:16px;bottom:16px;}.doplock-shop-final-product{padding:14px;border-radius:26px;}.doplock-shop-final-product-image,.doplock-shop-final-code-visual{height:220px;border-radius:20px;}.doplock-shop-final-product-title-row{display:grid;}.doplock-shop-final-compare{padding:20px;border-radius:26px;}.doplock-shop-final-table{overflow:auto;}.doplock-shop-final-table div{min-width:520px;}.doplock-shop-final-cta{border-radius:28px;padding:34px 20px;}}



/* Shop hero simple floating card image - fixed */
.doplock-shop-final-hero-visual{
  display:flex;
  justify-content:center;
  align-items:center;
}
.doplock-shop-simple-floating-card{
  display:block;
  width:100%;
  max-width:610px;
  height:auto;
  border-radius:40px;
  box-shadow:0 30px 90px rgba(17,17,17,.12);
}
@media (max-width:700px){
  .doplock-shop-simple-floating-card{
    border-radius:28px;
  }
}


/* =============================
   SHOP PRODUCT CARD CLEANUP
   ============================= */
body.post-type-archive-product .doplock-shop-final-product-grid,
body.page-template-page-shop .doplock-shop-final-product-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
  gap:26px;
}
body.post-type-archive-product .doplock-shop-final-product,
body.page-template-page-shop .doplock-shop-final-product{
  display:flex;
  flex-direction:column;
  min-height:100%;
}
body.post-type-archive-product .doplock-shop-final-product-image,
body.page-template-page-shop .doplock-shop-final-product-image{
  height:auto;
  min-height:260px;
  padding:18px;
}
body.post-type-archive-product .doplock-shop-final-product-image img,
body.page-template-page-shop .doplock-shop-final-product-image img{
  width:100%;
  max-width:300px;
  max-height:220px;
  object-fit:contain;
}
body.post-type-archive-product .doplock-shop-final-code-visual,
body.page-template-page-shop .doplock-shop-final-code-visual{
  height:auto;
  min-height:260px;
  padding:18px;
}
body.post-type-archive-product .doplock-shop-final-product-title-row,
body.page-template-page-shop .doplock-shop-final-product-title-row{
  align-items:flex-end;
}
body.post-type-archive-product .doplock-shop-final-product-body,
body.page-template-page-shop .doplock-shop-final-product-body{
  display:flex;
  flex-direction:column;
  flex:1;
}
body.post-type-archive-product .doplock-shop-final-product .doplock-btn,
body.page-template-page-shop .doplock-shop-final-product .doplock-btn{
  margin-top:auto;
}
@media (max-width: 900px){
  body.post-type-archive-product .doplock-shop-final-product-grid,
  body.page-template-page-shop .doplock-shop-final-product-grid{grid-template-columns:1fr;}
}

/* =============================
   WOOCOMMERCE MY ACCOUNT STYLING
   ============================= */
body.woocommerce-account .site-main,
body.woocommerce-account .ct-container,
body.woocommerce-account .entry-content{
  width:100%;
}
body.woocommerce-account .entry-content > .woocommerce,
body.woocommerce-account .woocommerce{
  max-width:1280px;
  margin:0 auto;
}
body.woocommerce-account .entry-content{
  padding:24px 0 68px;
}
body.woocommerce-account .woocommerce{
  display:grid;
  grid-template-columns:280px minmax(0,1fr);
  gap:30px;
  align-items:start;
}
body.woocommerce-account .woocommerce h2,
body.woocommerce-account .woocommerce h3,
body.woocommerce-account .woocommerce h1{
  letter-spacing:-0.04em;
}
body.woocommerce-account .woocommerce-MyAccount-navigation{
  position:sticky;
  top:120px;
}
body.woocommerce-account .woocommerce-MyAccount-navigation ul{
  list-style:none;
  margin:0;
  padding:12px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:28px;
  background:#fff;
  box-shadow:0 20px 50px rgba(17,17,17,.06);
}
body.woocommerce-account .woocommerce-MyAccount-navigation li + li{margin-top:8px;}
body.woocommerce-account .woocommerce-MyAccount-navigation a{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:56px;
  padding:14px 18px;
  border-radius:18px;
  color:#23242a;
  font-weight:800;
  text-decoration:none;
  transition:background .18s ease,color .18s ease,transform .18s ease;
}
body.woocommerce-account .woocommerce-MyAccount-navigation a:hover{
  background:#fff7ed;
  color:#111;
  transform:translateX(2px);
}
body.woocommerce-account .woocommerce-MyAccount-navigation .is-active a{
  background:#f97316;
  color:#fff;
  box-shadow:0 16px 36px rgba(249,115,22,.22);
}
body.woocommerce-account .woocommerce-MyAccount-content{
  padding:32px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:32px;
  background:#fff;
  box-shadow:0 22px 60px rgba(17,17,17,.07);
}
body.woocommerce-account .woocommerce-MyAccount-content p:first-child{margin-top:0;}
body.woocommerce-account .woocommerce-MyAccount-content a{color:#111;font-weight:700;}
body.woocommerce-account .woocommerce-MyAccount-content table{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  overflow:hidden;
  border-radius:20px;
  border:1px solid rgba(17,17,17,.08);
}
body.woocommerce-account .woocommerce-MyAccount-content table th,
body.woocommerce-account .woocommerce-MyAccount-content table td{
  padding:14px 16px;
}
body.woocommerce-account .woocommerce-MyAccount-content table th{
  background:#faf7f3;
}
body.woocommerce-account .woocommerce-Address,
body.woocommerce-account .woocommerce-address-fields,
body.woocommerce-account form.woocommerce-EditAccountForm,
body.woocommerce-account form.woocommerce-ResetPassword,
body.woocommerce-account .woocommerce-form-login,
body.woocommerce-account .woocommerce-form-register{
  padding:24px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:24px;
  background:#fcfcfc;
}
body.woocommerce-account .woocommerce input.input-text,
body.woocommerce-account .woocommerce textarea,
body.woocommerce-account .woocommerce select{
  min-height:52px;
  border-radius:16px;
  border:1px solid rgba(17,17,17,.12);
  background:#fff;
  padding:12px 14px;
}
body.woocommerce-account .woocommerce button.button,
body.woocommerce-account .woocommerce a.button,
body.woocommerce-account .woocommerce .button{
  border-radius:999px;
  background:#111;
  color:#fff;
  font-weight:800;
  padding:14px 22px;
}
body.woocommerce-account .woocommerce .button:hover{background:#1c1c1f;color:#fff;}
body.woocommerce-account .woocommerce-info,
body.woocommerce-account .woocommerce-message{
  border-top-color:#f97316;
  border-radius:18px;
  background:#fffaf5;
}
@media (max-width: 980px){
  body.woocommerce-account .woocommerce{grid-template-columns:1fr;}
  body.woocommerce-account .woocommerce-MyAccount-navigation{position:static;}
}
@media (max-width: 640px){
  body.woocommerce-account .woocommerce-MyAccount-content{padding:22px 18px;border-radius:24px;}
  body.woocommerce-account .woocommerce-MyAccount-navigation ul{padding:8px;border-radius:22px;}
  body.woocommerce-account .woocommerce-MyAccount-navigation a{min-height:50px;padding:12px 14px;}
}


/* =============================
   SHOP 100% DESKTOP POLISH
   Only headline + benefit strip
   ============================= */
.doplock-shop-final-hero-copy h1{
  text-wrap:balance;
}
.doplock-shop-final-strip-grid div{
  border:1px solid rgba(17,17,17,.04);
}
@media (min-width:1100px) and (max-width:1500px){
  .doplock-shop-final-hero-grid{
    grid-template-columns:minmax(0,1fr) minmax(420px,.95fr);
    gap:42px;
  }
  .doplock-shop-final-hero-copy h1{
    max-width:640px;
    font-size:clamp(72px,6.15vw,96px);
    line-height:.9;
    letter-spacing:-.07em;
  }
  .doplock-shop-final-hero-copy .doplock-lead{
    max-width:600px;
    font-size:19px;
  }
  .doplock-shop-final-strip{
    padding:6px 0 30px;
  }
  .doplock-shop-final-strip-grid{
    padding:14px;
    gap:12px;
    border-radius:32px;
  }
  .doplock-shop-final-strip-grid div{
    min-height:116px;
    padding:18px 22px;
    display:flex;
    flex-direction:column;
    justify-content:center;
    border-radius:22px;
    background:linear-gradient(180deg,#fcfcfc 0%,#f7f7f7 100%);
  }
  .doplock-shop-final-strip-grid strong{
    margin-bottom:8px;
    font-size:17px;
  }
  .doplock-shop-final-strip-grid span{
    font-size:15px;
    line-height:1.45;
  }
}



/* WooCommerce account addresses polish */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:22px;
  margin-top:24px;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address{
  position:relative;
  min-height:220px;
  padding:28px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:28px;
  background:
    radial-gradient(circle at 100% 0%, rgba(249,115,22,.08), transparent 34%),
    linear-gradient(180deg,#ffffff 0%,#fafafa 100%);
  box-shadow:0 18px 46px rgba(17,17,17,.055);
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
  margin-bottom:28px;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h2{
  margin:0;
  color:#111;
  font-size:clamp(26px,2.4vw,38px);
  line-height:1;
  letter-spacing:-.055em;
  font-weight:950;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a.edit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 16px;
  border-radius:999px;
  background:#111;
  color:#fff !important;
  font-size:13px;
  font-weight:900;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:0 12px 28px rgba(17,17,17,.12);
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a.edit:hover{
  background:#f97316;
  color:#fff !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address{
  margin:0;
  padding:18px;
  border-radius:20px;
  background:#fff;
  color:#69707d;
  font-size:17px;
  line-height:1.6;
  font-style:normal;
  border:1px solid rgba(17,17,17,.06);
}

body.woocommerce-account .woocommerce-MyAccount-content > p:first-child{
  padding:18px 22px;
  border-radius:22px;
  background:#fff7ed;
  color:#7c2d12;
  border:1px solid rgba(249,115,22,.18);
  font-size:17px;
  line-height:1.55;
}

@media (max-width:900px){
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses{
    grid-template-columns:1fr;
  }
}

@media (max-width:640px){
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address{
    min-height:auto;
    padding:22px;
    border-radius:24px;
  }

  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title{
    display:grid;
    gap:12px;
  }

  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a.edit{
    width:100%;
  }
}



/* Less AI copy: founder/beta note */
.doplock-founder-note-section{
  padding-top:34px;
  padding-bottom:34px;
  background:#f7f3ee;
}
.doplock-founder-note{
  max-width:1180px;
  margin:0 auto;
  padding:28px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:30px;
  background:
    radial-gradient(circle at 100% 0%, rgba(249,115,22,.12), transparent 34%),
    #fff;
  box-shadow:0 20px 58px rgba(17,17,17,.055);
}
.doplock-founder-note h2{
  margin:0 0 12px;
  color:#111;
  font-size:clamp(30px,4vw,58px);
  line-height:.95;
  letter-spacing:-.065em;
  font-weight:950;
}
.doplock-founder-note p:not(.doplock-eyebrow){
  margin:0;
  max-width:880px;
  color:#5f6068;
  font-size:17px;
  line-height:1.65;
}
@media (max-width:700px){
  .doplock-founder-note{
    padding:22px;
    border-radius:24px;
  }
}



/* Shop hero font refinement */
.doplock-shop-final-hero-copy h1{
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-weight:900;
  letter-spacing:-.055em;
  line-height:.9;
}
@media (min-width:1100px){
  .doplock-shop-final-hero-copy h1{
    font-size:clamp(58px,6.2vw,98px);
    max-width:720px;
  }
}
@media (max-width:700px){
  .doplock-shop-final-hero-copy h1{
    letter-spacing:-.045em;
    line-height:.94;
  }
}



/* Real Google reviews placeholder - no fake reviews */
.doplock-google-reviews-section{
  background:#f7f3ee;
}
.doplock-google-reviews-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  max-width:1180px;
  margin:0 auto;
  padding:30px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:32px;
  background:#fff;
  box-shadow:0 20px 58px rgba(17,17,17,.055);
}
.doplock-google-reviews-card h2{
  margin:0 0 10px;
  color:#111;
  font-size:clamp(30px,4vw,58px);
  line-height:.95;
  letter-spacing:-.06em;
  font-weight:900;
}
.doplock-google-reviews-card p:not(.doplock-eyebrow){
  margin:0;
  max-width:760px;
  color:#5f6068;
  font-size:17px;
  line-height:1.6;
}
@media (max-width:820px){
  .doplock-google-reviews-card{
    display:grid;
    padding:22px;
    border-radius:26px;
  }
  .doplock-google-reviews-card .doplock-btn{
    width:100%;
  }
}



/* 2.7.3 - Nur Feinschliff: Google-Bewertungen behalten, Bildabstände, Doplock-Schrift */
.doplock-shop-final-hero{
  align-items:center;
  column-gap:clamp(36px,5vw,88px);
  row-gap:34px;
}
.doplock-shop-final-hero-copy{
  max-width:660px;
}
.doplock-shop-final-hero-copy .doplock-eyebrow,
.doplock-shop-final-hero-copy .eyebrow{
  margin-bottom:16px;
}
.doplock-shop-final-hero-copy h1{
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-weight:900;
  letter-spacing:-0.065em;
  line-height:0.92;
  max-width:6.2ch;
  margin:0 0 22px;
  text-wrap:balance;
}
.doplock-shop-final-hero-copy h1 .doplock-highlight,
.doplock-shop-final-hero-copy h1 .doplock-muted,
.doplock-shop-final-hero-copy h1 .is-muted{
  color:#7c7a87;
}
.doplock-shop-final-hero-copy p{
  max-width:560px;
  margin:0 0 28px;
}
.doplock-shop-final-hero-copy .doplock-btn-row,
.doplock-shop-final-hero-copy .hero-actions{
  display:flex;
  flex-wrap:wrap;
  gap:14px;
  margin-top:8px;
}
.doplock-shop-final-hero-visual,
.doplock-shop-final-hero-media{
  display:flex;
  justify-content:center;
  align-items:center;
}
.doplock-shop-final-hero-visual > *,
.doplock-shop-final-hero-media > *{
  max-width:100%;
}
.doplock-shop-final-hero-cardwrap,
.doplock-shop-final-hero-scene{
  padding:22px;
  border-radius:38px;
}
.doplock-shop-final-hero-cardwrap img,
.doplock-shop-final-hero-scene img,
.doplock-shop-final-hero-visual img,
.doplock-shop-final-hero-media img{
  display:block;
  margin:0 auto;
}
.doplock-google-reviews-section{
  padding-top:24px;
}
.doplock-google-reviews-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  padding:28px 30px;
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  box-shadow:0 18px 48px rgba(17,17,17,.05);
}
.doplock-google-reviews-copy h2{
  margin:0 0 8px;
  font-size:clamp(24px,3vw,40px);
  line-height:1;
  letter-spacing:-0.045em;
}
.doplock-google-reviews-copy p{
  margin:0;
  color:#5f6068;
  max-width:700px;
}
@media (max-width:1100px){
  .doplock-shop-final-hero-copy h1{
    max-width:7.2ch;
  }
}
@media (max-width:820px){
  .doplock-shop-final-hero{
    row-gap:26px;
  }
  .doplock-shop-final-hero-copy h1{
    max-width:unset;
    line-height:0.95;
    letter-spacing:-0.055em;
    font-size:clamp(48px,14vw,88px);
  }
  .doplock-shop-final-hero-copy p{
    margin-bottom:22px;
  }
  .doplock-shop-final-hero-cardwrap,
  .doplock-shop-final-hero-scene{
    padding:14px;
    border-radius:26px;
  }
  .doplock-google-reviews-card{
    flex-direction:column;
    align-items:flex-start;
    padding:22px;
  }
  .doplock-google-reviews-actions{
    width:100%;
  }
  .doplock-google-reviews-actions .doplock-btn{
    width:100%;
    text-align:center;
  }
}


/* 2.7.4 Konto / Datenschutz / Sicherheit */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses,
body.woocommerce-account .woocommerce-MyAccount-content .u-columns.woocommerce-Addresses{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:24px;
  align-items:stretch;
  margin-top:22px;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address,
body.woocommerce-account .woocommerce-MyAccount-content .u-column1,
body.woocommerce-account .woocommerce-MyAccount-content .u-column2{
  min-width:0;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address,
body.woocommerce-account .woocommerce-MyAccount-content .u-column1 .woocommerce-Address,
body.woocommerce-account .woocommerce-MyAccount-content .u-column2 .woocommerce-Address,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address,
body.woocommerce-account .woocommerce-MyAccount-content .u-column1,
body.woocommerce-account .woocommerce-MyAccount-content .u-column2{
  padding:24px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:26px;
  background:linear-gradient(180deg,#fff 0%,#fbfbfb 100%);
  box-shadow:0 16px 40px rgba(17,17,17,.05);
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title,
body.woocommerce-account .woocommerce-MyAccount-content .title,
body.woocommerce-account .woocommerce-MyAccount-content header.title{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:center;
  gap:14px;
  margin:0 0 18px;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h2,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h3,
body.woocommerce-account .woocommerce-MyAccount-content .title h2,
body.woocommerce-account .woocommerce-MyAccount-content .title h3,
body.woocommerce-account .woocommerce-MyAccount-content header.title h2,
body.woocommerce-account .woocommerce-MyAccount-content header.title h3{
  margin:0;
  min-width:0;
  color:#111;
  font-size:clamp(24px,2.2vw,32px);
  line-height:1.04;
  letter-spacing:-.045em;
  font-weight:900;
  overflow-wrap:anywhere;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a.edit,
body.woocommerce-account .woocommerce-MyAccount-content .title a.edit,
body.woocommerce-account .woocommerce-MyAccount-content header.title a.edit{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:42px;
  padding:10px 16px;
  border-radius:999px;
  background:#111;
  color:#fff !important;
  font-size:14px;
  line-height:1;
  font-weight:800;
  text-decoration:none;
  white-space:nowrap;
  box-shadow:0 10px 24px rgba(17,17,17,.10);
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address,
body.woocommerce-account .woocommerce-MyAccount-content .u-column1 address,
body.woocommerce-account .woocommerce-MyAccount-content .u-column2 address{
  margin:0;
  padding:18px 18px;
  min-height:132px;
  border-radius:20px;
  border:1px solid rgba(17,17,17,.06);
  background:#fff;
  color:#6b7280;
  font-size:17px;
  line-height:1.65;
  font-style:normal;
}

body.woocommerce-account .woocommerce-form-register .doplock-privacy-consent,
body.woocommerce-account .woocommerce-form-register .doplock-security-note{
  margin:16px 0 18px;
  padding:16px 18px;
  border-radius:18px;
  border:1px solid rgba(249,115,22,.16);
  background:#fff7ed;
}
body.woocommerce-account .woocommerce-form-register .doplock-privacy-consent label{
  display:flex;
  align-items:flex-start;
  gap:12px;
  margin:0;
  color:#23242a;
  font-size:15px;
  line-height:1.55;
  font-weight:600;
}
body.woocommerce-account .woocommerce-form-register .doplock-privacy-consent input[type="checkbox"]{
  width:18px;
  height:18px;
  min-height:18px;
  margin-top:3px;
  border-radius:5px;
}
body.woocommerce-account .woocommerce-form-register .doplock-security-note{
  border-color:rgba(17,17,17,.08);
  background:#f8fafc;
  color:#475569;
  font-size:14px;
  line-height:1.55;
}
body.woocommerce-account .woocommerce-form-register .doplock-security-note strong{
  color:#111;
}

@media (max-width: 900px){
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses,
  body.woocommerce-account .woocommerce-MyAccount-content .u-columns.woocommerce-Addresses{
    grid-template-columns:1fr;
  }
}

@media (max-width: 640px){
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address,
  body.woocommerce-account .woocommerce-MyAccount-content .u-column1,
  body.woocommerce-account .woocommerce-MyAccount-content .u-column2{
    padding:20px;
    border-radius:22px;
  }

  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title,
  body.woocommerce-account .woocommerce-MyAccount-content .title,
  body.woocommerce-account .woocommerce-MyAccount-content header.title{
    grid-template-columns:1fr;
    align-items:start;
  }

  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a.edit,
  body.woocommerce-account .woocommerce-MyAccount-content .title a.edit,
  body.woocommerce-account .woocommerce-MyAccount-content header.title a.edit{
    width:100%;
  }
}



/* 2.7.6 Hero headline + Datenschutz popup */
.doplock-hero h1{
  max-width:880px;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  font-weight:900;
  letter-spacing:-.065em;
  line-height:.88;
  text-wrap:balance;
}
.doplock-hero h1 span,
.doplock-hero h1 .doplock-muted{
  display:block;
  color:#777985;
  font-weight:850;
  letter-spacing:-.06em;
}
.doplock-hero-copy{
  padding-top:clamp(22px,4vw,54px);
}
@media (min-width:1100px){
  .doplock-hero h1{
    font-size:clamp(76px,7.2vw,128px);
  }
}
@media (max-width:760px){
  .doplock-hero h1{
    font-size:clamp(48px,14vw,76px);
    line-height:.94;
    letter-spacing:-.052em;
  }
}

.doplock-privacy-popup-trigger{
  margin:18px 0;
  padding:16px;
  border:1px solid rgba(249,115,22,.18);
  border-radius:20px;
  background:#fff7ed;
}
.doplock-privacy-open{
  width:100%;
  min-height:48px;
  border:0;
  border-radius:999px;
  background:#111;
  color:#fff;
  font-weight:850;
  cursor:pointer;
}
.doplock-privacy-open.is-confirmed{
  background:#15803d;
}
.doplock-privacy-popup-trigger p{
  margin:10px 0 0;
  color:#7c2d12;
  font-size:14px;
  line-height:1.45;
}
.doplock-privacy-modal{
  position:fixed;
  inset:0;
  z-index:999999;
  display:grid;
  place-items:center;
  padding:22px;
}
.doplock-privacy-modal[hidden]{
  display:none;
}
.doplock-privacy-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(17,17,17,.52);
  backdrop-filter:blur(8px);
}
.doplock-privacy-modal-card{
  position:relative;
  z-index:1;
  width:min(100%,540px);
  padding:34px;
  border-radius:30px;
  background:#fffaf5;
  color:#111;
  box-shadow:0 32px 100px rgba(0,0,0,.28);
  border:1px solid rgba(255,255,255,.55);
  transform:translateY(8px) scale(.98);
  opacity:0;
  transition:transform .18s ease, opacity .18s ease;
}
.doplock-privacy-modal.is-open .doplock-privacy-modal-card{
  transform:translateY(0) scale(1);
  opacity:1;
}
.doplock-privacy-modal.is-shaking .doplock-privacy-modal-card{
  animation:doplockPrivacyShake .42s ease;
}
.doplock-privacy-modal-close{
  position:absolute;
  top:18px;
  right:18px;
  width:38px;
  height:38px;
  border:0;
  border-radius:999px;
  background:#fff;
  color:#111;
  font-size:24px;
  line-height:1;
  cursor:pointer;
}
.doplock-privacy-modal-card h3{
  margin:0 42px 14px 0;
  color:#111;
  font-size:clamp(28px,3.4vw,40px);
  line-height:1;
  letter-spacing:-.055em;
  font-weight:900;
}
.doplock-privacy-modal-card p{
  margin:0 0 20px;
  color:#333842;
  font-size:16px;
  line-height:1.6;
}
.doplock-privacy-modal-check{
  display:flex;
  align-items:flex-start;
  gap:13px;
  padding:16px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:18px;
  background:#fff;
}
.doplock-privacy-modal-check input{
  width:20px;
  height:20px;
  margin-top:3px;
  accent-color:#111;
}
.doplock-privacy-modal-check span{
  color:#222;
  font-size:15px;
  line-height:1.55;
}
.doplock-privacy-modal-check a,
.doplock-privacy-modal-link{
  color:#111;
  font-weight:850;
  text-decoration:underline;
}
.doplock-privacy-modal-link{
  display:inline-flex;
  margin-top:16px;
}
.doplock-privacy-modal-card small{
  display:block;
  margin-top:16px;
  color:#6b7280;
  font-size:13px;
  line-height:1.45;
}
.doplock-privacy-modal-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:24px;
}
.doplock-privacy-cancel,
.doplock-privacy-accept{
  min-height:52px;
  border-radius:16px;
  font-weight:850;
  cursor:pointer;
}
.doplock-privacy-cancel{
  border:1px solid rgba(17,17,17,.16);
  background:#fff;
  color:#111;
}
.doplock-privacy-accept{
  border:0;
  background:#111;
  color:#fff;
}
@keyframes doplockPrivacyShake{
  0%,100%{transform:translateX(0);}
  25%{transform:translateX(-8px);}
  75%{transform:translateX(8px);}
}
@media (max-width:560px){
  .doplock-privacy-modal-card{
    padding:26px 20px;
    border-radius:24px;
  }
  .doplock-privacy-modal-actions{
    grid-template-columns:1fr;
  }
}



/* 2.7.7 Hero headline repair */
.doplock-hero h1{
  max-width:980px !important;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  font-size:clamp(58px,7.2vw,116px) !important;
  line-height:.9 !important;
  letter-spacing:-.065em !important;
  font-weight:900 !important;
  text-wrap:balance;
  word-break:normal !important;
  overflow-wrap:normal !important;
}
.doplock-hero h1 span,
.doplock-hero h1 .doplock-muted{
  display:block !important;
  color:#747682;
  font-weight:850;
  letter-spacing:-.055em;
  word-break:normal !important;
  overflow-wrap:normal !important;
}
@media (min-width:1100px){
  .doplock-hero h1{
    max-width:1040px !important;
  }
}
@media (max-width:760px){
  .doplock-hero h1{
    max-width:100% !important;
    font-size:clamp(46px,13vw,74px) !important;
    line-height:.94 !important;
    letter-spacing:-.052em !important;
  }
}



/* 2.7.8 Hero headline smaller refined */
.doplock-hero h1{
  max-width:760px !important;
  font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif !important;
  font-size:clamp(44px,5.4vw,82px) !important;
  line-height:.96 !important;
  letter-spacing:-.052em !important;
  font-weight:880 !important;
  text-wrap:balance;
  word-break:normal !important;
  overflow-wrap:normal !important;
  margin-bottom:22px !important;
}
.doplock-hero h1 span,
.doplock-hero h1 .doplock-muted{
  display:block !important;
  color:#777985;
  font-size:.92em !important;
  font-weight:780 !important;
  letter-spacing:-.045em !important;
  line-height:1 !important;
}
@media (min-width:1100px){
  .doplock-hero h1{
    max-width:800px !important;
    font-size:clamp(56px,5.15vw,86px) !important;
  }
}
@media (max-width:760px){
  .doplock-hero h1{
    max-width:100% !important;
    font-size:clamp(40px,11vw,62px) !important;
    line-height:.98 !important;
    letter-spacing:-.045em !important;
  }
}



/* 2.7.9 Account address title fix */
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:24px !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address{
  min-width:0 !important;
  overflow:hidden !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title,
body.woocommerce-account .woocommerce-MyAccount-content header.title,
body.woocommerce-account .woocommerce-MyAccount-content .title{
  display:flex !important;
  flex-direction:column !important;
  align-items:flex-start !important;
  gap:14px !important;
  margin-bottom:20px !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h2,
body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title h3,
body.woocommerce-account .woocommerce-MyAccount-content header.title h2,
body.woocommerce-account .woocommerce-MyAccount-content header.title h3,
body.woocommerce-account .woocommerce-MyAccount-content .title h2,
body.woocommerce-account .woocommerce-MyAccount-content .title h3{
  width:100% !important;
  max-width:100% !important;
  margin:0 !important;
  font-size:clamp(26px,2vw,34px) !important;
  line-height:1.05 !important;
  letter-spacing:-.045em !important;
  word-break:normal !important;
  overflow-wrap:normal !important;
  hyphens:none !important;
  white-space:normal !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a.edit,
body.woocommerce-account .woocommerce-MyAccount-content header.title a.edit,
body.woocommerce-account .woocommerce-MyAccount-content .title a.edit{
  width:auto !important;
  max-width:100% !important;
  align-self:flex-start !important;
  white-space:nowrap !important;
  font-size:13px !important;
  padding:11px 18px !important;
  min-height:42px !important;
}

body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address address{
  min-height:126px !important;
}

@media (max-width:1050px){
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Addresses{
    grid-template-columns:1fr !important;
  }
}

@media (max-width:640px){
  body.woocommerce-account .woocommerce-MyAccount-content .woocommerce-Address-title a.edit,
  body.woocommerce-account .woocommerce-MyAccount-content header.title a.edit,
  body.woocommerce-account .woocommerce-MyAccount-content .title a.edit{
    width:100% !important;
    justify-content:center !important;
  }
}



/* 2.8.0 KI-Bilder vorübergehend ausblenden */
.doplock-gallery-section,
.doplock-gallery,
.doplock-real-photos-section,
.doplock-product-photo-section,
.doplock-shop-final-photo-card,
.doplock-product-video-section,
.doplock-screen-time-section,
.doplock-why-screentime-section,
.doplock-screentime-section,
.doplock-image-section,
.doplock-lifestyle-section,
.doplock-visual-story-section{
  display:none !important;
}
img[src*="gallery-lifestyle"],
img[src*="screen-time-before-real"],
img[src*="screen-time-after-real"],
img[src*="doplock-product-photo-shop"],
img[src*="minimalistische"],
img[src*="datenschutzerklaerung"],
img[src*="datenschutzerklärung"],
img[src*="imagegen"]{
  display:none !important;
}


/* Doplock im Alltag ohne KI-Bilder */
.doplock-alltag-text-section{
  background:#f7f3ee;
}
.doplock-alltag-text-card{
  padding:32px 32px 28px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:34px;
  background:#fff;
  box-shadow:0 22px 62px rgba(17,17,17,.055);
}
.doplock-alltag-text-card h2{
  margin:0 0 10px;
  color:#111;
  font-size:clamp(36px,4.2vw,64px);
  line-height:.95;
  letter-spacing:-.065em;
  font-weight:900;
}
.doplock-alltag-intro{
  margin:0 0 26px;
  color:#5f6068;
  font-size:17px;
  line-height:1.6;
}
.doplock-alltag-mindmap{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.doplock-alltag-mindmap::before{
  content:"";
  position:absolute;
  left:50%;
  top:52%;
  width:56%;
  height:1px;
  background:rgba(17,17,17,.08);
  transform:translate(-50%,-50%);
  z-index:0;
}
.doplock-alltag-mindmap::after{
  content:"";
  position:absolute;
  left:50%;
  top:52%;
  width:1px;
  height:54%;
  background:rgba(17,17,17,.08);
  transform:translate(-50%,-50%);
  z-index:0;
}
.doplock-alltag-node{
  position:relative;
  z-index:1;
  min-height:unset;
  padding:16px 18px;
  border-radius:22px;
  background:#fafafa;
  border:1px solid rgba(17,17,17,.06);
}
.doplock-node-main{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:112px;
  background:linear-gradient(135deg, #111 0%, #1e1e1e 100%);
  border-color:#111;
  box-shadow:0 18px 34px rgba(17,17,17,.14);
}
.doplock-node-main span{
  color:#fff;
  font-size:28px;
  font-weight:900;
  letter-spacing:-.04em;
}
.doplock-alltag-node strong{
  display:block;
  margin-bottom:6px;
  color:#111;
  font-size:17px;
  line-height:1.1;
  font-weight:900;
  letter-spacing:-.025em;
}
.doplock-alltag-node p{
  margin:0;
  color:#666871;
  font-size:14px;
  line-height:1.45;
}
@media (min-width:901px){
  .doplock-alltag-mindmap .doplock-node-main{grid-column:2; grid-row:2;}
}
@media (max-width:900px){
  .doplock-alltag-text-card{
    padding:24px;
    border-radius:28px;
  }
  .doplock-alltag-mindmap{
    grid-template-columns:1fr 1fr;
  }
  .doplock-alltag-mindmap::before,
  .doplock-alltag-mindmap::after{
    display:none;
  }
  .doplock-node-main{
    grid-column:1 / -1;
    order:-1;
    min-height:86px;
  }
}
@media (max-width:640px){
  .doplock-alltag-text-card{
    padding:20px;
    border-radius:24px;
  }
  .doplock-alltag-text-card h2{
    font-size:clamp(30px,8vw,44px);
  }
  .doplock-alltag-intro{
    font-size:15px;
    margin-bottom:18px;
  }
  .doplock-alltag-mindmap{
    grid-template-columns:1fr;
    gap:10px;
  }
  .doplock-alltag-node{
    padding:14px 16px;
    border-radius:18px;
  }
  .doplock-node-main{
    min-height:72px;
  }
  .doplock-node-main span{
    font-size:24px;
  }
}


/* Payment info section */
.doplock-payment-info-section{background:#f7f3ee;}
.doplock-payment-info-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:24px;
  max-width:1180px;
  margin:0 auto;
  padding:30px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:32px;
  background:#fff;
  box-shadow:0 20px 58px rgba(17,17,17,.055);
}
.doplock-payment-info-card h2{
  margin:0 0 10px;
  color:#111;
  font-size:clamp(30px,4vw,56px);
  line-height:.95;
  letter-spacing:-.06em;
  font-weight:900;
}
.doplock-payment-info-card p:not(.doplock-eyebrow){
  margin:0;
  max-width:760px;
  color:#5f6068;
  font-size:17px;
  line-height:1.6;
}
@media (max-width:900px){
  .doplock-alltag-text-grid{grid-template-columns:1fr;}
  .doplock-payment-info-card{display:grid;padding:22px;border-radius:26px;}
  .doplock-payment-info-card .doplock-btn{width:100%;}
}
@media (max-width:640px){
  .doplock-alltag-text-card{padding:22px;border-radius:26px;}
}



/* 2.8.4 Alltag Textfelder + Video vorübergehend ausblenden */
.doplock-alltag-fields{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:28px;
}
.doplock-alltag-field{
  padding:16px 18px;
  border-radius:20px;
  background:#fafafa;
  border:1px solid rgba(17,17,17,.07);
}
.doplock-alltag-field span{
  display:block;
  margin-bottom:7px;
  color:#111;
  font-size:15px;
  font-weight:900;
  letter-spacing:-.025em;
}
.doplock-alltag-field p{
  margin:0;
  color:#63646f;
  font-size:14px;
  line-height:1.45;
}
.doplock-video-box,
.doplock-product-video-section,
.doplock-video-section,
section:has(.doplock-video-box){
  display:none !important;
}
@media (max-width:1000px){
  .doplock-alltag-fields{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
}
@media (max-width:640px){
  .doplock-alltag-fields{
    grid-template-columns:1fr;
    gap:10px;
    margin-top:20px;
  }
  .doplock-alltag-field{
    padding:14px 16px;
    border-radius:18px;
  }
}



/* 2.8.5 Homepage bestellen + Alltag Mindmap + Warenkorb */
.doplock-hero-order-strip{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:18px;
}
.doplock-hero-order-strip span{
  display:inline-flex;
  align-items:center;
  min-height:34px;
  padding:0 13px;
  border-radius:999px;
  background:#fff7ed;
  border:1px solid #fed7aa;
  color:#9a3412;
  font-size:12px;
  font-weight:850;
}

/* Alltag Mindmap sichtbar */
.doplock-alltag-text-section{
  background:#f7f3ee;
}
.doplock-alltag-text-card{
  padding:32px;
  border:1px solid rgba(17,17,17,.08);
  border-radius:34px;
  background:#fff;
  box-shadow:0 22px 62px rgba(17,17,17,.055);
}
.doplock-alltag-text-card h2{
  margin:0 0 10px;
  color:#111;
  font-size:clamp(36px,4.2vw,64px);
  line-height:.95;
  letter-spacing:-.065em;
  font-weight:900;
}
.doplock-alltag-intro{
  margin:0 0 26px;
  max-width:760px;
  color:#5f6068;
  font-size:17px;
  line-height:1.6;
}
.doplock-alltag-mindmap{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.doplock-alltag-mindmap::before{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:60%;
  height:1px;
  background:rgba(17,17,17,.08);
  transform:translate(-50%,-50%);
  z-index:0;
}
.doplock-alltag-mindmap::after{
  content:"";
  position:absolute;
  left:50%;
  top:50%;
  width:1px;
  height:58%;
  background:rgba(17,17,17,.08);
  transform:translate(-50%,-50%);
  z-index:0;
}
.doplock-alltag-node{
  position:relative;
  z-index:1;
  padding:16px 18px;
  border-radius:22px;
  background:#fafafa;
  border:1px solid rgba(17,17,17,.06);
}
.doplock-node-main{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  min-height:124px;
  text-align:center;
  background:linear-gradient(135deg,#111 0%,#1f1f1f 100%);
  border-color:#111;
  box-shadow:0 18px 34px rgba(17,17,17,.14);
}
.doplock-node-main span{
  color:#fff;
  font-size:30px;
  font-weight:900;
  letter-spacing:-.045em;
}
.doplock-node-main p{
  color:#d4d4d8 !important;
  margin-top:4px !important;
}
.doplock-alltag-node strong{
  display:block;
  margin-bottom:6px;
  color:#111;
  font-size:17px;
  line-height:1.1;
  font-weight:900;
  letter-spacing:-.025em;
}
.doplock-alltag-node p{
  margin:0;
  color:#666871;
  font-size:14px;
  line-height:1.45;
}
.doplock-alltag-mini-cta{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:18px;
  padding:18px;
  border-radius:24px;
  background:#fff7ed;
  border:1px solid #fed7aa;
}
.doplock-alltag-mini-cta p{
  margin:0;
  color:#7c2d12;
  font-weight:800;
}
@media (min-width:901px){
  .doplock-alltag-mindmap .doplock-node-main{
    grid-column:2;
    grid-row:2;
  }
}

/* Warenkorb freundlicher */
.woocommerce-cart .site-main,
.woocommerce-cart main,
body.woocommerce-cart{
  background:#f7f3ee;
}
.woocommerce-cart .woocommerce{
  width:min(1180px, calc(100% - 48px));
  margin:0 auto;
  padding:44px 0 72px;
}
.doplock-cart-intro,
.doplock-empty-cart-intro{
  margin:0 0 22px;
  padding:30px;
  border-radius:32px;
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  box-shadow:0 20px 60px rgba(17,17,17,.055);
}
.doplock-cart-intro h2,
.doplock-empty-cart-intro h2{
  margin:0 0 10px;
  color:#111;
  font-size:clamp(36px,4.5vw,64px);
  line-height:.92;
  letter-spacing:-.065em;
  font-weight:900;
}
.doplock-cart-intro p:not(.doplock-eyebrow),
.doplock-empty-cart-intro p:not(.doplock-eyebrow){
  margin:0;
  max-width:720px;
  color:#63646f;
  font-size:17px;
  line-height:1.6;
}
.doplock-empty-cart-intro .doplock-btn{
  margin-top:22px;
}
.woocommerce-cart table.cart,
.woocommerce-cart .cart_totals{
  border-radius:28px;
  overflow:hidden;
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  box-shadow:0 20px 58px rgba(17,17,17,.055);
}
.woocommerce-cart .cart_totals h2{
  font-size:32px;
  letter-spacing:-.045em;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  border-radius:999px !important;
  background:#111 !important;
  color:#fff !important;
  font-weight:900 !important;
  padding:18px 24px !important;
}
.woocommerce-cart .button,
.woocommerce-cart button.button{
  border-radius:999px !important;
  font-weight:850 !important;
}
@media (max-width:900px){
  .doplock-alltag-mindmap{
    grid-template-columns:1fr 1fr;
  }
  .doplock-alltag-mindmap::before,
  .doplock-alltag-mindmap::after{
    display:none;
  }
  .doplock-node-main{
    order:-1;
    grid-column:1 / -1;
    min-height:90px;
  }
  .doplock-alltag-mini-cta{
    display:grid;
  }
  .woocommerce-cart .woocommerce{
    width:min(100% - 32px, 1180px);
  }
}
@media (max-width:640px){
  .doplock-alltag-text-card,
  .doplock-cart-intro,
  .doplock-empty-cart-intro{
    padding:22px;
    border-radius:24px;
  }
  .doplock-alltag-mindmap{
    grid-template-columns:1fr;
    gap:10px;
  }
  .doplock-alltag-node{
    padding:14px 16px;
    border-radius:18px;
  }
}



/* 2.8.6 echte Warenkorb/Kasse-Seiten + sichtbare Mindmap */
.doplock-real-mindmap-section{
  display:block !important;
  background:#f7f3ee;
}
.doplock-real-mindmap-card{
  padding:34px;
  border-radius:34px;
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  box-shadow:0 22px 62px rgba(17,17,17,.055);
}
.doplock-real-mindmap-head h2{
  margin:0 0 10px;
  color:#111;
  font-size:clamp(36px,4.8vw,68px);
  line-height:.92;
  letter-spacing:-.065em;
  font-weight:900;
}
.doplock-real-mindmap-head p:not(.doplock-eyebrow){
  margin:0 0 28px;
  max-width:740px;
  color:#63646f;
  font-size:17px;
  line-height:1.6;
}
.doplock-real-mindmap{
  position:relative;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  grid-template-rows:auto auto auto;
  gap:16px;
  padding:10px 0;
}
.doplock-real-mindmap:before{
  content:"";
  position:absolute;
  inset:20% 14%;
  border:1px dashed rgba(249,115,22,.34);
  border-radius:34px;
  pointer-events:none;
}
.doplock-real-mindmap-center,
.doplock-real-mindmap-item{
  position:relative;
  z-index:1;
  border-radius:24px;
  border:1px solid rgba(17,17,17,.07);
}
.doplock-real-mindmap-center{
  grid-column:2;
  grid-row:2;
  min-height:140px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
  background:#111;
  box-shadow:0 18px 38px rgba(17,17,17,.16);
}
.doplock-real-mindmap-center strong{
  color:#fff;
  font-size:34px;
  line-height:1;
  letter-spacing:-.05em;
  font-weight:950;
}
.doplock-real-mindmap-center span{
  margin-top:8px;
  color:#d4d4d8;
  font-size:14px;
  font-weight:800;
}
.doplock-real-mindmap-item{
  min-height:118px;
  padding:18px;
  background:#fafafa;
}
.doplock-real-mindmap-item b{
  display:block;
  margin-bottom:8px;
  color:#111;
  font-size:18px;
  letter-spacing:-.03em;
  font-weight:950;
}
.doplock-real-mindmap-item span{
  display:block;
  color:#63646f;
  font-size:14px;
  line-height:1.45;
}
.item-lernen{grid-column:1; grid-row:1;}
.item-schule{grid-column:2; grid-row:1;}
.item-arbeit{grid-column:3; grid-row:1;}
.item-zuhause{grid-column:1; grid-row:3;}
.item-routine{grid-column:2; grid-row:3;}
.item-fokus{grid-column:3; grid-row:3;}
.doplock-real-mindmap-footer{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin-top:20px;
  padding:18px;
  border-radius:24px;
  background:#fff7ed;
  border:1px solid #fed7aa;
}
.doplock-real-mindmap-footer p{
  margin:0;
  color:#7c2d12;
  font-weight:850;
  line-height:1.45;
}

/* Echte WooCommerce Warenkorb- und Kasse-Seiten */
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main,
.woocommerce-cart main,
.woocommerce-checkout main,
body.woocommerce-cart,
body.woocommerce-checkout{
  background:#f7f3ee;
}
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce{
  width:min(1180px, calc(100% - 48px));
  margin:0 auto;
  padding:44px 0 76px;
}
.woocommerce-cart .entry-header,
.woocommerce-checkout .entry-header{
  width:min(1180px, calc(100% - 48px));
  margin:0 auto;
  padding-top:34px;
}
.woocommerce-cart .entry-title,
.woocommerce-checkout .entry-title{
  color:#111;
  font-size:clamp(42px,5vw,74px);
  line-height:.92;
  letter-spacing:-.065em;
  font-weight:950;
}
.woocommerce-cart table.cart,
.woocommerce-checkout form.checkout,
.woocommerce-cart .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout #customer_details{
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  box-shadow:0 20px 58px rgba(17,17,17,.055);
}
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review{
  padding:24px;
}
.woocommerce-cart .cart_totals{
  padding:24px;
}
.woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #place_order{
  border-radius:999px !important;
  background:#111 !important;
  color:#fff !important;
  font-weight:950 !important;
  padding:18px 24px !important;
}
.woocommerce-cart .button,
.woocommerce-cart button.button,
.woocommerce-checkout .button,
.woocommerce-checkout button.button{
  border-radius:999px !important;
  font-weight:850 !important;
}
.woocommerce-cart input,
.woocommerce-checkout input,
.woocommerce-checkout textarea,
.woocommerce-checkout select{
  border-radius:16px !important;
}
.doplock-cart-intro,
.doplock-empty-cart-intro{
  display:block !important;
}

@media (max-width:900px){
  .doplock-real-mindmap{
    grid-template-columns:1fr 1fr;
  }
  .doplock-real-mindmap:before{
    display:none;
  }
  .doplock-real-mindmap-center{
    grid-column:1 / -1;
    grid-row:auto;
    min-height:94px;
  }
  .item-lernen,
  .item-schule,
  .item-arbeit,
  .item-zuhause,
  .item-routine,
  .item-fokus{
    grid-column:auto;
    grid-row:auto;
  }
  .doplock-real-mindmap-footer{
    display:grid;
  }
  .woocommerce-cart .woocommerce,
  .woocommerce-checkout .woocommerce,
  .woocommerce-cart .entry-header,
  .woocommerce-checkout .entry-header{
    width:min(100% - 32px, 1180px);
  }
}
@media (max-width:640px){
  .doplock-real-mindmap-card{
    padding:22px;
    border-radius:24px;
  }
  .doplock-real-mindmap{
    grid-template-columns:1fr;
    gap:10px;
  }
  .doplock-real-mindmap-item{
    min-height:auto;
    padding:16px;
    border-radius:18px;
  }
}


/* 2.8.7 Alltag Mindmap an der gewünschten Stelle + Card/WooCommerce Fix */
.doplock-alltag-mindmap-shell{
  margin-top:28px;
  padding:22px;
  border-radius:28px;
  background:#fafafa;
  border:1px solid rgba(17,17,17,.07);
}
.doplock-alltag-mindmap-center{
  position:relative;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  width:220px;
  min-height:96px;
  margin:0 auto 22px;
  padding:18px 20px;
  border-radius:24px;
  background:#111;
  text-align:center;
  box-shadow:0 16px 34px rgba(17,17,17,.14);
}
.doplock-alltag-mindmap-center::after{
  content:"";
  position:absolute;
  left:50%;
  bottom:-20px;
  width:1px;
  height:20px;
  background:rgba(249,115,22,.45);
  transform:translateX(-50%);
}
.doplock-alltag-mindmap-center strong{
  color:#fff;
  font-size:30px;
  line-height:1;
  letter-spacing:-.05em;
  font-weight:950;
}
.doplock-alltag-mindmap-center span{
  margin-top:6px;
  color:#d4d4d8;
  font-size:13px;
  font-weight:800;
}
.doplock-alltag-mindmap-grid{
  position:relative;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
}
.doplock-alltag-mindmap-grid::before{
  content:"";
  position:absolute;
  left:12.5%;
  right:12.5%;
  top:-10px;
  border-top:1px dashed rgba(249,115,22,.42);
}
.doplock-alltag-mindmap-item{
  position:relative;
  padding:16px 18px;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(17,17,17,.07);
}
.doplock-alltag-mindmap-item::before{
  content:"";
  position:absolute;
  top:-10px;
  left:50%;
  width:1px;
  height:10px;
  background:rgba(249,115,22,.42);
  transform:translateX(-50%);
}
.doplock-alltag-mindmap-item b{
  display:block;
  margin-bottom:7px;
  color:#111;
  font-size:15px;
  font-weight:900;
  letter-spacing:-.025em;
}
.doplock-alltag-mindmap-item p{
  margin:0;
  color:#63646f;
  font-size:14px;
  line-height:1.45;
}
@media (max-width:1000px){
  .doplock-alltag-mindmap-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .doplock-alltag-mindmap-grid::before{
    left:25%;
    right:25%;
  }
}
@media (max-width:640px){
  .doplock-alltag-mindmap-shell{
    margin-top:20px;
    padding:18px;
    border-radius:22px;
  }
  .doplock-alltag-mindmap-center{
    width:100%;
    min-height:84px;
    margin-bottom:16px;
    border-radius:18px;
  }
  .doplock-alltag-mindmap-center::after,
  .doplock-alltag-mindmap-grid::before,
  .doplock-alltag-mindmap-item::before{
    display:none;
  }
  .doplock-alltag-mindmap-grid{
    grid-template-columns:1fr;
    gap:10px;
  }
}



/* 2.8.8 Mindmap CTA unten entfernen */
.doplock-real-mindmap-footer,
.doplock-alltag-mini-cta{
  display:none !important;
}



/* 2.8.9 Produktbilder bei Doplock Card */
.doplock-card-product-images{
  margin:22px 0;
  padding:16px;
  border-radius:24px;
  background:#fafafa;
  border:1px solid rgba(17,17,17,.07);
}
.doplock-card-product-images-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.doplock-card-product-images-head span{
  color:#111;
  font-size:16px;
  font-weight:950;
  letter-spacing:-.025em;
}
.doplock-card-product-images-head small{
  color:#71717a;
  font-size:12px;
  line-height:1.35;
  text-align:right;
}
.doplock-card-product-image-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.doplock-card-product-image-grid figure{
  margin:0;
  overflow:hidden;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(17,17,17,.06);
}
.doplock-card-product-image-grid figure.is-large{
  grid-column:span 2;
}
.doplock-card-product-image-grid img{
  display:block;
  width:100%;
  aspect-ratio:1 / 1;
  object-fit:cover;
  background:#fff;
}
.doplock-card-product-image-grid figcaption{
  padding:9px 11px 11px;
  color:#52525b;
  font-size:12px;
  font-weight:800;
  line-height:1.25;
}
@media (max-width:900px){
  .doplock-card-product-image-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .doplock-card-product-image-grid figure.is-large{
    grid-column:span 2;
  }
}
@media (max-width:560px){
  .doplock-card-product-images{
    padding:12px;
    border-radius:20px;
  }
  .doplock-card-product-images-head{
    display:block;
  }
  .doplock-card-product-images-head small{
    display:block;
    margin-top:4px;
    text-align:left;
  }
  .doplock-card-product-image-grid{
    grid-template-columns:1fr;
  }
  .doplock-card-product-image-grid figure.is-large{
    grid-column:auto;
  }
}



/* 2.9.0 Code-Produktbild */
.doplock-code-product-image-card{
  margin:16px 0 14px;
  padding:12px;
  border-radius:18px;
  background:#fafafa;
  border:1px solid rgba(17,17,17,.06);
}
.doplock-code-product-image-card img{
  display:block;
  width:100%;
  border-radius:14px;
  background:#fff;
}
.doplock-code-product-image-card span{
  display:block;
  margin-top:8px;
  color:#52525b;
  font-size:12px;
  font-weight:800;
  line-height:1.3;
}



/* 2.9.2 Fake Produktbilder durch echte Produktbilder ersetzen */
.doplock-shop-final-code-image{
  padding:0 !important;
  overflow:hidden;
  background:#fff !important;
  border:1px solid rgba(17,17,17,.08);
}
.doplock-shop-final-code-image img{
  display:block;
  width:100%;
  height:100%;
  min-height:240px;
  object-fit:cover;
  border-radius:inherit;
}
.doplock-shop-final-hero-visual img,
.doplock-hero-media img,
.doplock-shop-final-product-image img,
.doplock-card-frame img,
.doplock-gallery-item img,
.doplock-step-img img{
  background:#fff;
}


/* 2.9.3 Hero Karte allein stehend */
.doplock-hero .doplock-hero-media,
.doplock-hero .doplock-card-frame{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
}

.doplock-hero .doplock-hero-media::before,
.doplock-hero .doplock-hero-media::after,
.doplock-hero .doplock-card-frame::before,
.doplock-hero .doplock-card-frame::after{
  display:none !important;
  content:none !important;
}

.doplock-hero .doplock-hero-media{
  max-width:430px !important;
  justify-self:center !important;
}

.doplock-hero .doplock-product-img{
  display:block;
  width:100%;
  height:auto;
  border-radius:26px !important;
  box-shadow:0 26px 60px rgba(0,0,0,.14) !important;
}



/* 2.9.4 Produktbilder einzeln + Shop-Text kleiner + Home CTA */
.doplock-shop-final-hero-copy h1{
  max-width:760px;
  font-size:clamp(48px,6.2vw,92px) !important;
  line-height:.9 !important;
  letter-spacing:-.065em !important;
}
.doplock-shop-final-hero-copy .doplock-lead{
  max-width:660px;
}

.doplock-card-product-images{
  margin:22px 0;
  padding:16px;
  border-radius:24px;
  background:#fafafa;
  border:1px solid rgba(17,17,17,.07);
}
.doplock-card-product-images-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:12px;
  margin-bottom:14px;
}
.doplock-card-product-images-head span{
  color:#111;
  font-size:16px;
  font-weight:950;
  letter-spacing:-.025em;
}
.doplock-card-product-images-head small{
  color:#71717a;
  font-size:12px;
  line-height:1.35;
  text-align:right;
}

.doplock-card-product-slider{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:minmax(260px, 76%);
  gap:12px;
  overflow-x:auto;
  overscroll-behavior-inline:contain;
  scroll-snap-type:x mandatory;
  padding:2px 2px 14px;
  scrollbar-width:thin;
}
.doplock-card-product-slider figure,
.doplock-card-product-stack figure{
  margin:0;
  overflow:hidden;
  border-radius:20px;
  background:#fff;
  border:1px solid rgba(17,17,17,.07);
  scroll-snap-align:start;
}
.doplock-card-product-slider img,
.doplock-card-product-stack img{
  display:block;
  width:100%;
  aspect-ratio: 1.55 / 1;
  object-fit:contain;
  background:#fff;
}
.doplock-card-product-slider figcaption,
.doplock-card-product-stack figcaption{
  padding:10px 12px 12px;
  color:#52525b;
  font-size:12px;
  font-weight:850;
  line-height:1.25;
}
.doplock-card-product-stack{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:12px;
  margin-top:12px;
}

@media (max-width:760px){
  .doplock-shop-final-hero-copy h1{
    font-size:clamp(44px,14vw,64px) !important;
    line-height:.92 !important;
    letter-spacing:-.055em !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
    hyphens:none !important;
  }
  .doplock-card-product-images{
    padding:12px;
    border-radius:20px;
  }
  .doplock-card-product-images-head{
    display:block;
  }
  .doplock-card-product-images-head small{
    display:block;
    margin-top:4px;
    text-align:left;
  }
  .doplock-card-product-slider{
    grid-auto-columns:100%;
  }
  .doplock-card-product-stack{
    grid-template-columns:1fr;
  }
  .doplock-card-product-slider img,
  .doplock-card-product-stack img{
    aspect-ratio:1.55 / 1;
  }
}


/* 2.9.5 Funktion Showcase mit eingebautem Layoutbild */
.doplock-funktion-showcase-section{
  padding-top: 18px;
}

.doplock-funktion-showcase{
  background: transparent;
}

.doplock-funktion-showcase img{
  display:block;
  width:100%;
  max-width:1280px;
  margin:0 auto;
  height:auto;
  border-radius:32px;
  box-shadow:0 28px 70px rgba(15, 23, 42, 0.08);
}

@media (max-width: 900px){
  .doplock-funktion-showcase img{
    border-radius:22px;
    box-shadow:0 18px 42px rgba(15, 23, 42, 0.08);
  }
}

@media (max-width: 640px){
  .doplock-funktion-showcase-section{
    padding-top: 6px;
  }

  .doplock-funktion-showcase img{
    border-radius:18px;
  }
}

/* 2.9.6 Shop Produktkarten grösser + Slider oben + keine weissen Bildränder */
.doplock-shop-final-grid{
  align-items:stretch;
  gap:34px !important;
}

.doplock-shop-final-product{
  transform:none;
  border-radius:36px !important;
  box-shadow:0 30px 90px rgba(17,17,17,.10) !important;
}

.doplock-shop-final-product.is-featured{
  transform:scale(1.025);
  border-color:rgba(249,115,22,.18) !important;
}

.doplock-shop-final-product-image,
.doplock-shop-final-code-visual{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  overflow:visible !important;
}

.doplock-shop-final-product-image img,
.doplock-shop-final-code-visual img{
  background:transparent !important;
  box-shadow:0 24px 58px rgba(17,17,17,.16);
  border-radius:22px !important;
}

/* Slider sitzt jetzt oben in der Produktbild-Fläche */
.doplock-shop-card-slider-wrap{
  min-height:310px !important;
  display:block !important;
  background:transparent !important;
}

.doplock-shop-card-slider{
  display:grid;
  grid-auto-flow:column;
  grid-auto-columns:100%;
  gap:16px;
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  overscroll-behavior-inline:contain;
  padding:4px 4px 18px;
  scrollbar-width:thin;
}

.doplock-shop-card-slider img{
  width:100%;
  min-height:290px;
  max-height:340px;
  object-fit:contain !important;
  scroll-snap-align:center;
}

/* Alte untere Galerie sicher ausblenden, falls gecacht */
.doplock-card-product-images{
  display:none !important;
}

/* Hero/Hover Card ohne weissen Rand/Kasten */
.doplock-hero .doplock-hero-media,
.doplock-hero .doplock-card-frame{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
  overflow:visible !important;
}

.doplock-hero .doplock-hero-media::before,
.doplock-hero .doplock-hero-media::after,
.doplock-hero .doplock-card-frame::before,
.doplock-hero .doplock-card-frame::after{
  display:none !important;
  content:none !important;
}

.doplock-hero .doplock-product-img{
  background:transparent !important;
  border-radius:24px !important;
  box-shadow:0 26px 64px rgba(0,0,0,.16) !important;
  transform:translateZ(18px) scale(1.08);
}

/* Shop Hero/Intro Bild ohne weissen Kasten */
.doplock-shop-final-hero-visual,
.doplock-shop-final-hero-visual figure,
.doplock-shop-final-hero-visual .doplock-card-frame{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
}

.doplock-shop-final-hero-visual img{
  background:transparent !important;
  border-radius:24px !important;
  box-shadow:0 26px 64px rgba(0,0,0,.16) !important;
}

@media (min-width:980px){
  .doplock-shop-final-grid{
    grid-template-columns:minmax(0,1.08fr) minmax(0,.92fr) !important;
  }
}

@media (max-width:900px){
  .doplock-shop-final-product.is-featured{
    transform:none;
  }
  .doplock-shop-card-slider-wrap{
    min-height:260px !important;
  }
  .doplock-shop-card-slider img{
    min-height:240px;
    max-height:300px;
  }
}

@media (max-width:560px){
  .doplock-shop-final-product{
    border-radius:28px !important;
  }
  .doplock-shop-card-slider-wrap{
    min-height:220px !important;
  }
  .doplock-shop-card-slider img{
    min-height:205px;
    max-height:255px;
  }
}



/* 2.9.7 Hero Karte wirklich freigestellt */
.doplock-hero .doplock-hero-media,
.doplock-hero .doplock-card-frame{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  border-radius:0 !important;
  overflow:visible !important;
}

.doplock-hero .doplock-hero-media::before,
.doplock-hero .doplock-hero-media::after,
.doplock-hero .doplock-card-frame::before,
.doplock-hero .doplock-card-frame::after{
  display:none !important;
  content:none !important;
}

.doplock-hero .doplock-product-img{
  display:block !important;
  width:min(100%, 520px) !important;
  height:auto !important;
  object-fit:contain !important;
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 26px 34px rgba(0,0,0,.18)) !important;
}



/* 2.9.8 Shop Card wie Code + Shop-Hero-Bild entfernen */
.doplock-shop-final-hero{
  grid-template-columns:1fr !important;
}

.doplock-shop-final-hero-visual,
.doplock-shop-hero-visual{
  display:none !important;
}

.doplock-shop-final-hero-copy{
  max-width:860px !important;
}

.doplock-shop-final-card-image-clean,
.doplock-shop-final-code-image,
.doplock-shop-final-code-visual{
  background:#fff !important;
  border:none !important;
  box-shadow:none !important;
  padding:0 !important;
  overflow:visible !important;
}

.doplock-shop-final-card-image-clean img,
.doplock-shop-final-code-image img,
.doplock-shop-final-code-visual img{
  display:block !important;
  width:100% !important;
  min-height:360px !important;
  max-height:420px !important;
  object-fit:contain !important;
  background:#fff !important;
  border-radius:24px !important;
  box-shadow:0 24px 58px rgba(17,17,17,.13) !important;
}

.doplock-shop-card-slider-wrap,
.doplock-shop-card-slider,
.doplock-card-product-images{
  display:none !important;
}

.doplock-shop-final-grid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:34px !important;
  align-items:stretch !important;
}

.doplock-shop-final-product{
  min-height:100%;
  border-radius:36px !important;
  box-shadow:0 30px 90px rgba(17,17,17,.10) !important;
}

.doplock-shop-final-product.is-featured{
  transform:none !important;
}

@media (max-width:980px){
  .doplock-shop-final-grid{
    grid-template-columns:1fr !important;
  }
  .doplock-shop-final-card-image-clean img,
  .doplock-shop-final-code-image img,
  .doplock-shop-final-code-visual img{
    min-height:280px !important;
    max-height:340px !important;
  }
}

@media (max-width:560px){
  .doplock-shop-final-card-image-clean img,
  .doplock-shop-final-code-image img,
  .doplock-shop-final-code-visual img{
    min-height:220px !important;
    max-height:270px !important;
    border-radius:20px !important;
  }
}



/* 3.0.0 Shop komplett neu: nur zwei Produkte */
.doplock-simple-shop{
  background:#f7f3ee;
  min-height:80vh;
}

.doplock-simple-shop-hero{
  padding:92px 0 28px;
}

.doplock-simple-shop-hero h1{
  max-width:900px;
  margin:0 0 18px;
  color:#111;
  font-size:clamp(56px,8vw,116px);
  line-height:.86;
  letter-spacing:-.075em;
  font-weight:950;
}

.doplock-simple-shop-hero p:not(.doplock-eyebrow){
  max-width:720px;
  margin:0;
  color:#5f6068;
  font-size:20px;
  line-height:1.6;
}

.doplock-simple-products-section{
  padding:24px 0 96px;
}

.doplock-simple-products{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:34px;
  align-items:stretch;
}

.doplock-simple-product{
  position:relative;
  overflow:hidden;
  border-radius:42px;
  background:#fff;
  border:1px solid rgba(17,17,17,.08);
  box-shadow:0 32px 92px rgba(17,17,17,.10);
}

.doplock-simple-product.is-card{
  border-color:rgba(249,115,22,.22);
}

.doplock-simple-badge{
  position:absolute;
  z-index:3;
  left:24px;
  top:24px;
  display:inline-flex;
  align-items:center;
  min-height:36px;
  padding:0 15px;
  border-radius:999px;
  background:#ff5b1a;
  color:#fff;
  font-size:12px;
  font-weight:950;
  letter-spacing:.045em;
  text-transform:uppercase;
}

.doplock-simple-badge.is-dark{
  background:#111;
}

.doplock-simple-product-media{
  min-height:360px;
  padding:52px 28px 14px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#fff;
}

.doplock-simple-product-media img{
  display:block;
  width:auto;
  max-width:100%;
  max-height:300px;
  object-fit:contain;
  background:transparent !important;
  border-radius:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 26px 34px rgba(0,0,0,.16));
}

.doplock-simple-product.is-code .doplock-simple-product-media img{
  border-radius:18px !important;
  filter:drop-shadow(0 22px 28px rgba(0,0,0,.14));
}

.doplock-simple-product.is-card .doplock-simple-product-media img{
  max-height:280px;
}

.doplock-simple-product.is-code .doplock-simple-product-media img{
  max-height:270px;
}

.doplock-simple-product-body{
  padding:0 34px 34px;
}

.doplock-simple-product-title{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:20px;
  margin-bottom:12px;
}

.doplock-simple-product-title h2{
  margin:0;
  color:#111;
  font-size:clamp(38px,4.6vw,62px);
  line-height:.88;
  letter-spacing:-.065em;
  font-weight:950;
}

.doplock-simple-product-title strong{
  white-space:nowrap;
  color:#111;
  font-size:clamp(30px,3vw,44px);
  line-height:.95;
  font-weight:950;
  letter-spacing:-.045em;
}

.doplock-simple-product-text{
  max-width:650px;
  margin:0 0 20px;
  color:#5f6068;
  font-size:17px;
  line-height:1.6;
}

.doplock-simple-product-list{
  display:grid;
  gap:10px;
  margin:0 0 22px;
  padding:0;
  list-style:none;
}

.doplock-simple-product-list li{
  position:relative;
  padding-left:30px;
  color:#161616;
  font-size:15px;
  line-height:1.45;
  font-weight:850;
}

.doplock-simple-product-list li::before{
  content:"✓";
  position:absolute;
  left:0;
  top:0;
  width:20px;
  height:20px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#ff6b1a;
  color:#fff;
  font-size:12px;
  font-weight:950;
}

.doplock-simple-note{
  margin:0 0 22px;
  padding:18px;
  border-radius:22px;
  background:#fff7ed;
  border:1px solid #fed7aa;
}

.doplock-simple-note.is-neutral{
  background:#f8fafc;
  border-color:rgba(17,17,17,.08);
}

.doplock-simple-note span{
  display:block;
  margin-bottom:7px;
  color:#ea580c;
  font-size:12px;
  font-weight:950;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.doplock-simple-note.is-neutral span{
  color:#111;
}

.doplock-simple-note p{
  margin:0;
  color:#7c2d12;
  font-size:14px;
  line-height:1.55;
}

.doplock-simple-note.is-neutral p{
  color:#52525b;
}

.doplock-simple-buy{
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:58px;
  border-radius:999px;
  background:#111;
  color:#fff !important;
  text-decoration:none !important;
  font-size:15px;
  font-weight:950;
  box-shadow:0 18px 40px rgba(17,17,17,.18);
  transition:transform .18s ease, box-shadow .18s ease;
}

.doplock-simple-buy:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 48px rgba(17,17,17,.22);
}

@media (max-width:1050px){
  .doplock-simple-products{
    grid-template-columns:1fr;
  }
  .doplock-simple-product-media{
    min-height:360px;
  }
}

@media (max-width:640px){
  .doplock-simple-shop-hero{
    padding:62px 0 22px;
  }

  .doplock-simple-shop-hero h1{
    font-size:clamp(48px,15vw,72px);
  }

  .doplock-simple-shop-hero p:not(.doplock-eyebrow){
    font-size:17px;
  }

  .doplock-simple-products-section{
    padding-bottom:62px;
  }

  .doplock-simple-product{
    border-radius:30px;
  }

  .doplock-simple-badge{
    left:18px;
    top:18px;
  }

  .doplock-simple-product-media{
    min-height:230px;
    padding:44px 16px 14px;
  }

  .doplock-simple-product-media img{
    max-height:190px;
  }

  .doplock-simple-product-body{
    padding:0 22px 24px;
  }

  .doplock-simple-product-title{
    display:grid;
    gap:8px;
  }

  .doplock-simple-product-title h2{
    font-size:42px;
  }

  .doplock-simple-product-title strong{
    font-size:32px;
  }
}


/* 3.0.1 Bildzuschnitte optimiert */



/* 3.0.3 Shop Card CSS-Fix: Orange Rand weg + helle Ecken unten ausblenden */
.doplock-simple-product.is-card{
  border-color:rgba(17,17,17,.08) !important;
}

.doplock-simple-product.is-card .doplock-simple-product-media{
  overflow:hidden !important;
}

/* Nur Website-Zuschnitt: Bilddatei bleibt unverändert */
.doplock-simple-product.is-card .doplock-simple-product-media img,
.doplock-hero .doplock-product-img{
  clip-path:inset(0 0 4.6% 0) !important;
  -webkit-clip-path:inset(0 0 4.6% 0) !important;
}

.doplock-simple-product.is-card .doplock-simple-product-media img{
  margin-bottom:-12px !important;
}

/* Falls der helle Rest durch Schatten/Filter sichtbar wird */
.doplock-simple-product.is-card .doplock-simple-product-media img{
  filter:drop-shadow(0 22px 28px rgba(0,0,0,.15)) !important;
}


/* 3.0.4 Feinschliff: weniger Beschnitt links/hover, weisse Ränder rechts entfernen */
/* Hero-Karte: weniger unten abschneiden */
.doplock-hero .doplock-product-img{
  clip-path: inset(0 0 2.2% 0) !important;
  -webkit-clip-path: inset(0 0 2.2% 0) !important;
}

/* Linke Produktkarte: nur minimal unten beschneiden, damit die Karte nicht zu stark gekappt wirkt */
.doplock-simple-product.is-card .doplock-simple-product-media img{
  clip-path: inset(0 0 2.2% 0) !important;
  -webkit-clip-path: inset(0 0 2.2% 0) !important;
  margin-bottom: -6px !important;
}

/* Rechte Code-Karte: weissen Rand rundum weg, aber Motiv erhalten */
.doplock-simple-product.is-code .doplock-simple-product-media{
  overflow: hidden !important;
}
.doplock-simple-product.is-code .doplock-simple-product-media img{
  clip-path: inset(1.6% 1.5% 2.0% 1.5%) !important;
  -webkit-clip-path: inset(1.6% 1.5% 2.0% 1.5%) !important;
  margin-bottom: -4px !important;
}



/* 3.0.5 Saubere transparente Produktbilder ohne Abschneiden */
.doplock-hero .doplock-product-img,
.doplock-simple-product.is-card .doplock-simple-product-media img,
.doplock-simple-product.is-code .doplock-simple-product-media img{
  clip-path:none !important;
  -webkit-clip-path:none !important;
  margin:0 !important;
  background:transparent !important;
  border-radius:0 !important;
  object-fit:contain !important;
}

.doplock-hero .doplock-product-img{
  width:min(100%, 560px) !important;
  height:auto !important;
  filter:drop-shadow(0 26px 34px rgba(0,0,0,.16)) !important;
}

.doplock-simple-product-media{
  background:#fff !important;
  overflow:visible !important;
}

.doplock-simple-product.is-card .doplock-simple-product-media img,
.doplock-simple-product.is-code .doplock-simple-product-media img{
  width:100% !important;
  max-width:560px !important;
  max-height:310px !important;
  height:auto !important;
  filter:drop-shadow(0 24px 30px rgba(0,0,0,.14)) !important;
}

.doplock-simple-product.is-card .doplock-simple-product-media,
.doplock-simple-product.is-code .doplock-simple-product-media{
  padding:58px 32px 20px !important;
  min-height:360px !important;
}

@media (max-width:640px){
  .doplock-simple-product.is-card .doplock-simple-product-media,
  .doplock-simple-product.is-code .doplock-simple-product-media{
    padding:48px 18px 18px !important;
    min-height:250px !important;
  }

  .doplock-simple-product.is-card .doplock-simple-product-media img,
  .doplock-simple-product.is-code .doplock-simple-product-media img{
    max-height:210px !important;
  }
}


/* 3.0.6 Warenkorb Premium Design */
.woocommerce-cart .woocommerce{
  width:min(1160px, calc(100% - 40px)) !important;
  padding:38px 0 88px !important;
}

.woocommerce-cart .woocommerce-notices-wrapper{
  margin-bottom:22px;
}

.woocommerce-cart .woocommerce-error,
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info{
  border:0 !important;
  border-radius:22px !important;
  padding:18px 22px !important;
  box-shadow:0 18px 44px rgba(17,17,17,.06) !important;
  font-weight:850;
  line-height:1.45;
}

.woocommerce-cart .woocommerce-error{
  background:#fff1f2 !important;
  color:#9f1239 !important;
}

.woocommerce-cart .woocommerce-message{
  background:#f0fdf4 !important;
  color:#166534 !important;
}

.woocommerce-cart .woocommerce-info{
  background:#fff7ed !important;
  color:#7c2d12 !important;
}

.doplock-cart-intro,
.doplock-empty-cart-intro{
  margin:0 0 26px !important;
  padding:34px !important;
  border-radius:34px !important;
  background:#fff !important;
  border:1px solid rgba(17,17,17,.07) !important;
  box-shadow:0 24px 70px rgba(17,17,17,.06) !important;
}

.doplock-cart-intro h2,
.doplock-empty-cart-intro h2{
  font-size:clamp(42px,5.4vw,76px) !important;
  letter-spacing:-.075em !important;
}

.woocommerce-cart .woocommerce-cart-form{
  display:block;
}

.woocommerce-cart .cart-collaterals{
  margin-top:0 !important;
}

.woocommerce-cart .woocommerce-cart-form__contents,
.woocommerce-cart table.shop_table.cart{
  width:100% !important;
  border-collapse:separate !important;
  border-spacing:0 !important;
  overflow:hidden !important;
  border-radius:30px !important;
  background:#fff !important;
  border:1px solid rgba(17,17,17,.07) !important;
  box-shadow:0 24px 70px rgba(17,17,17,.065) !important;
}

.woocommerce-cart table.cart th{
  padding:20px 22px !important;
  border:0 !important;
  border-bottom:1px solid rgba(17,17,17,.08) !important;
  color:#111 !important;
  font-size:13px !important;
  font-weight:950 !important;
  letter-spacing:.04em !important;
  text-transform:uppercase !important;
  background:#fff !important;
}

.woocommerce-cart table.cart td{
  padding:24px 22px !important;
  border:0 !important;
  border-bottom:1px solid rgba(17,17,17,.06) !important;
  vertical-align:middle !important;
  color:#111 !important;
}

.woocommerce-cart table.cart tr:last-child td{
  border-bottom:0 !important;
}

.woocommerce-cart table.cart .product-thumbnail img{
  width:92px !important;
  height:72px !important;
  object-fit:contain !important;
  border-radius:16px !important;
  background:#f7f3ee !important;
  padding:8px !important;
}

.woocommerce-cart table.cart .product-name a,
.woocommerce-cart table.cart .product-name{
  color:#111 !important;
  font-size:17px !important;
  font-weight:950 !important;
  text-decoration:none !important;
  letter-spacing:-.02em !important;
}

.woocommerce-cart table.cart .product-price,
.woocommerce-cart table.cart .product-subtotal{
  color:#111 !important;
  font-weight:900 !important;
}

.woocommerce-cart table.cart .quantity{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:96px !important;
  height:44px !important;
  border-radius:999px !important;
  border:1px solid rgba(249,115,22,.38) !important;
  background:#fff !important;
  overflow:hidden !important;
}

.woocommerce-cart table.cart .quantity input.qty{
  width:74px !important;
  height:42px !important;
  padding:0 !important;
  border:0 !important;
  background:transparent !important;
  color:#111 !important;
  text-align:center !important;
  font-weight:900 !important;
  box-shadow:none !important;
}

.woocommerce-cart table.cart .product-remove a{
  display:inline-grid !important;
  place-items:center !important;
  width:34px !important;
  height:34px !important;
  border-radius:999px !important;
  background:#f4f4f5 !important;
  color:#71717a !important;
  text-decoration:none !important;
  font-size:0 !important;
}

.woocommerce-cart table.cart .product-remove a::before{
  content:'×';
  font-size:20px;
  line-height:1;
  font-weight:800;
}

.woocommerce-cart table.cart .product-remove a:hover{
  background:#111 !important;
  color:#fff !important;
}

.woocommerce-cart table.cart td.actions{
  padding:22px !important;
  background:#fbfaf8 !important;
}

.woocommerce-cart table.cart td.actions .coupon{
  display:flex !important;
  gap:10px !important;
  align-items:center !important;
  float:none !important;
  margin:0 !important;
}

.woocommerce-cart table.cart td.actions .coupon input.input-text{
  min-width:220px !important;
  min-height:48px !important;
  border-radius:999px !important;
  border:1px solid rgba(17,17,17,.12) !important;
  background:#fff !important;
  padding:0 18px !important;
  color:#111 !important;
  font-weight:750 !important;
}

.woocommerce-cart table.cart td.actions .coupon input.input-text::placeholder{
  color:#8a8b93 !important;
}

.woocommerce-cart table.cart td.actions .button,
.woocommerce-cart table.cart td.actions button.button{
  min-height:48px !important;
  padding:0 22px !important;
  border-radius:999px !important;
  border:0 !important;
  background:#ff6b1a !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:950 !important;
  box-shadow:none !important;
}

.woocommerce-cart table.cart td.actions > .button,
.woocommerce-cart table.cart td.actions > button.button{
  float:right !important;
  background:#111 !important;
}

.woocommerce-cart .cart-collaterals{
  display:grid !important;
  grid-template-columns:minmax(0,1fr) minmax(320px,380px) !important;
  gap:34px !important;
  align-items:start !important;
}

.woocommerce-cart .cart-collaterals::before,
.woocommerce-cart .cart-collaterals::after{
  content:none !important;
  display:none !important;
}

.woocommerce-cart .cart-collaterals .cart_totals{
  grid-column:2 !important;
  width:100% !important;
  float:none !important;
  padding:28px !important;
  border-radius:30px !important;
  background:#fff !important;
  border:1px solid rgba(17,17,17,.07) !important;
  box-shadow:0 24px 70px rgba(17,17,17,.075) !important;
}

.woocommerce-cart .cart_totals h2{
  margin:0 0 22px !important;
  color:#111 !important;
  font-size:32px !important;
  line-height:1 !important;
  letter-spacing:-.055em !important;
  font-weight:950 !important;
}

.woocommerce-cart .cart_totals table.shop_table{
  border:0 !important;
  margin:0 0 24px !important;
  border-collapse:collapse !important;
}

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td{
  padding:16px 0 !important;
  border:0 !important;
  border-bottom:1px dashed rgba(17,17,17,.12) !important;
  background:#fff !important;
  color:#111 !important;
}

.woocommerce-cart .cart_totals table.shop_table tr:last-child th,
.woocommerce-cart .cart_totals table.shop_table tr:last-child td{
  border-bottom:0 !important;
}

.woocommerce-cart .cart_totals .order-total th,
.woocommerce-cart .cart_totals .order-total td{
  font-size:18px !important;
  font-weight:950 !important;
}

.woocommerce-cart .wc-proceed-to-checkout{
  padding:0 !important;
  margin:0 !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
  width:100% !important;
  min-height:58px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:999px !important;
  background:#111 !important;
  color:#fff !important;
  font-size:15px !important;
  font-weight:950 !important;
  box-shadow:0 18px 40px rgba(17,17,17,.18) !important;
  transition:transform .18s ease, box-shadow .18s ease !important;
}

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover{
  transform:translateY(-2px);
  box-shadow:0 22px 48px rgba(17,17,17,.23) !important;
}

.woocommerce-cart .wc-proceed-to-checkout .wcpay-express-checkout-wrapper,
.woocommerce-cart .wc-proceed-to-checkout .wc-stripe-cart-checkout-container,
.woocommerce-cart .wc-proceed-to-checkout .wc-stripe-payment-request-wrapper{
  margin-top:14px !important;
  overflow:hidden !important;
  border-radius:14px !important;
}

@media (min-width: 980px){
  .woocommerce-cart .woocommerce-cart-form{
    width:calc(100% - 414px) !important;
    float:left !important;
  }

  .woocommerce-cart .cart-collaterals{
    width:380px !important;
    float:right !important;
    display:block !important;
  }
}

@media (max-width: 979px){
  .woocommerce-cart .woocommerce,
  .woocommerce-cart .entry-header{
    width:min(100% - 28px, 1180px) !important;
  }

  .woocommerce-cart .cart-collaterals{
    display:block !important;
  }

  .woocommerce-cart .cart-collaterals .cart_totals{
    margin-top:24px !important;
  }
}

@media (max-width: 720px){
  .doplock-cart-intro,
  .doplock-empty-cart-intro{
    padding:24px !important;
    border-radius:26px !important;
  }

  .woocommerce-cart table.cart th{
    display:none !important;
  }

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

  .woocommerce-cart table.cart tr.cart_item{
    padding:20px !important;
    border-bottom:1px solid rgba(17,17,17,.08) !important;
  }

  .woocommerce-cart table.cart td{
    padding:8px 0 !important;
    border:0 !important;
    text-align:left !important;
  }

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

  .woocommerce-cart table.cart .product-thumbnail img{
    width:120px !important;
    height:90px !important;
  }

  .woocommerce-cart table.cart td.actions{
    padding:20px !important;
  }

  .woocommerce-cart table.cart td.actions .coupon{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
  }

  .woocommerce-cart table.cart td.actions .coupon input.input-text,
  .woocommerce-cart table.cart td.actions .coupon .button,
  .woocommerce-cart table.cart td.actions > .button{
    width:100% !important;
    float:none !important;
  }

  .woocommerce-cart table.cart td.actions > .button{
    margin-top:12px !important;
  }

  .woocommerce-cart .cart-collaterals .cart_totals{
    padding:24px !important;
    border-radius:26px !important;
  }
}



/* 3.0.7 Shop + Warenkorb Feinschliff + Header-Warenkorb */
.doplock-simple-shop .doplock-container,
.doplock-simple-products-section .doplock-container{
  width:min(1320px, calc(100% - 48px)) !important;
}

.doplock-simple-shop-hero{
  padding:82px 0 34px !important;
}

.doplock-simple-shop-hero h1{
  max-width:760px !important;
  font-size:clamp(64px,7.2vw,108px) !important;
}

.doplock-simple-products{
  gap:42px !important;
  align-items:stretch !important;
}

.doplock-simple-product{
  border-radius:38px !important;
  box-shadow:0 30px 90px rgba(17,17,17,.09) !important;
}

.doplock-simple-product-media{
  min-height:365px !important;
  padding:58px 36px 18px !important;
}

.doplock-simple-product-media img{
  max-height:310px !important;
}

.doplock-simple-product-body{
  padding:0 34px 34px !important;
}

.doplock-simple-product-title{
  align-items:flex-start !important;
  gap:18px !important;
}

.doplock-simple-product-title h2{
  font-size:clamp(44px,4.7vw,66px) !important;
}

.doplock-simple-product-title strong{
  font-size:clamp(30px,3vw,42px) !important;
}

.doplock-simple-product-text{
  font-size:16px !important;
  line-height:1.55 !important;
}

.doplock-simple-product-list{
  gap:8px !important;
}

/* Warenkorb: breiter, weniger gequetscht, sauberere Produktzeile */
.woocommerce-cart .woocommerce{
  width:min(1240px, calc(100% - 48px)) !important;
  padding:42px 0 90px !important;
}

.doplock-cart-intro,
.doplock-empty-cart-intro{
  padding:36px 38px !important;
  border-radius:34px !important;
}

.woocommerce-cart .woocommerce-message{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:18px !important;
}

.woocommerce-cart .woocommerce-message .button,
.woocommerce-cart .woocommerce-message a.button{
  order:2;
  margin-left:auto !important;
  border-radius:999px !important;
  background:#ff6b1a !important;
  color:#fff !important;
  font-weight:950 !important;
  padding:12px 22px !important;
}

@media (min-width: 980px){
  .woocommerce-cart .woocommerce-cart-form{
    width:calc(100% - 430px) !important;
    float:left !important;
  }

  .woocommerce-cart .cart-collaterals{
    width:390px !important;
    float:right !important;
  }
}

.woocommerce-cart table.shop_table.cart{
  table-layout:auto !important;
}

.woocommerce-cart table.cart th,
.woocommerce-cart table.cart td{
  text-align:left !important;
}

.woocommerce-cart table.cart th.product-thumbnail,
.woocommerce-cart table.cart td.product-thumbnail{
  width:128px !important;
  min-width:128px !important;
}

.woocommerce-cart table.cart .product-thumbnail img{
  width:112px !important;
  height:82px !important;
  object-fit:contain !important;
  border-radius:18px !important;
  background:#f7f3ee !important;
  padding:10px !important;
  display:block !important;
}

.woocommerce-cart table.cart td.product-name{
  min-width:180px !important;
}

.woocommerce-cart table.cart .product-name a,
.woocommerce-cart table.cart .product-name{
  font-size:18px !important;
  line-height:1.18 !important;
}

.woocommerce-cart table.cart .product-price{
  color:#374151 !important;
  font-size:15px !important;
  font-weight:850 !important;
}

.woocommerce-cart table.cart .product-quantity{
  text-align:center !important;
}

.woocommerce-cart table.cart .product-subtotal{
  text-align:right !important;
  white-space:nowrap !important;
}

.woocommerce-cart table.cart td.product-remove{
  width:52px !important;
  text-align:center !important;
}

.woocommerce-cart table.cart td.actions{
  padding:24px !important;
}

.woocommerce-cart table.cart td.actions .coupon{
  max-width:520px !important;
}

.woocommerce-cart table.cart td.actions .coupon input.input-text{
  min-width:260px !important;
}

.woocommerce-cart table.cart td.actions > .button,
.woocommerce-cart table.cart td.actions > button.button{
  float:right !important;
  min-width:210px !important;
  background:#111 !important;
  opacity:1 !important;
}

.woocommerce-cart table.cart td.actions > .button:disabled,
.woocommerce-cart table.cart td.actions > button.button:disabled{
  background:#9ca3af !important;
  color:#fff !important;
  opacity:1 !important;
}

.woocommerce-cart .cart-collaterals .cart_totals{
  padding:32px !important;
  border-radius:32px !important;
}

.woocommerce-cart .cart_totals h2{
  font-size:36px !important;
}

.woocommerce-cart .cart_totals table.shop_table th,
.woocommerce-cart .cart_totals table.shop_table td{
  font-size:15px !important;
}

@media (max-width: 1050px){
  .doplock-simple-products{
    grid-template-columns:1fr !important;
    max-width:760px !important;
    margin-inline:auto !important;
  }
}

@media (max-width: 720px){
  .doplock-simple-shop .doplock-container,
  .doplock-simple-products-section .doplock-container,
  .woocommerce-cart .woocommerce{
    width:min(100% - 28px, 1180px) !important;
  }

  .doplock-simple-shop-hero h1{
    font-size:clamp(52px,15vw,76px) !important;
  }

  .doplock-simple-product-title{
    display:grid !important;
    gap:8px !important;
  }

  .woocommerce-cart .woocommerce-message{
    display:block !important;
  }

  .woocommerce-cart .woocommerce-message .button,
  .woocommerce-cart .woocommerce-message a.button{
    display:flex !important;
    justify-content:center !important;
    margin:14px 0 0 !important;
    width:100% !important;
  }

  .woocommerce-cart table.cart tr.cart_item{
    display:grid !important;
    grid-template-columns:104px 1fr;
    gap:8px 16px;
  }

  .woocommerce-cart table.cart .product-thumbnail{
    grid-row:1 / span 4;
  }

  .woocommerce-cart table.cart .product-thumbnail img{
    width:96px !important;
    height:76px !important;
  }

  .woocommerce-cart table.cart .product-name,
  .woocommerce-cart table.cart .product-price,
  .woocommerce-cart table.cart .product-quantity,
  .woocommerce-cart table.cart .product-subtotal,
  .woocommerce-cart table.cart .product-remove{
    grid-column:2;
  }

  .woocommerce-cart table.cart .product-subtotal{
    text-align:left !important;
  }

  .woocommerce-cart table.cart td.actions .coupon input.input-text{
    min-width:0 !important;
  }
}






/* 3.0.9 Warenkorb als normaler Menüpunkt nach Login */
.doplock-nav a[href*="warenkorb"],
.doplock-header nav a[href*="warenkorb"],
.site-header nav a[href*="warenkorb"],
header nav a[href*="warenkorb"]{
  color:inherit;
  text-decoration:none;
}



/* 3.1.0 Header, Shop, Warenkorb und Mehr-ansehen Feinschliff */

/* Header bei 100% Ansicht sauberer */
.site-header,
header.site-header,
.doplock-header{
  border-bottom:1px solid rgba(17,17,17,.06) !important;
  box-shadow:0 10px 28px rgba(17,17,17,.035) !important;
}

.site-header nav,
header nav,
.doplock-nav,
.doplock-header nav{
  display:flex !important;
  align-items:center !important;
  gap:24px !important;
}

.site-header nav a,
header nav a,
.doplock-nav a,
.doplock-header nav a{
  font-size:13px !important;
  font-weight:950 !important;
  letter-spacing:.01em !important;
  white-space:nowrap !important;
}

.site-header nav a[href*="warenkorb"],
header nav a[href*="warenkorb"],
.doplock-nav a[href*="warenkorb"],
.doplock-header nav a[href*="warenkorb"]{
  margin-left:0 !important;
}

.site-header nav a[href*="shop"],
header nav a[href*="shop"],
.doplock-nav a[href*="shop"],
.doplock-header nav a[href*="shop"]{
  padding:10px 18px !important;
  border-radius:999px !important;
  background:#111 !important;
  color:#fff !important;
}

/* Shop 100% Ansicht: grösser, ruhiger, mehr Premium */
.doplock-simple-shop .doplock-container,
.doplock-simple-products-section .doplock-container,
.doplock-shop-more-section .doplock-container{
  width:min(1240px, calc(100% - 56px)) !important;
}

.doplock-simple-shop-hero{
  padding:72px 0 34px !important;
}

.doplock-simple-shop-hero h1{
  max-width:760px !important;
  font-size:clamp(60px,6.8vw,104px) !important;
  line-height:.88 !important;
}

.doplock-simple-shop-hero p:not(.doplock-eyebrow){
  max-width:620px !important;
  font-size:18px !important;
}

.doplock-simple-products{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:44px !important;
}

.doplock-simple-product{
  border-radius:36px !important;
  border:1px solid rgba(17,17,17,.07) !important;
  box-shadow:0 26px 80px rgba(17,17,17,.08) !important;
}

.doplock-simple-product-media{
  min-height:330px !important;
  padding:54px 34px 12px !important;
}

.doplock-simple-product-media img{
  max-height:285px !important;
}

.doplock-simple-product-body{
  padding:0 32px 32px !important;
}

.doplock-simple-product-title{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:20px !important;
  margin-bottom:14px !important;
}

.doplock-simple-product-title h2{
  font-size:clamp(42px,4.1vw,60px) !important;
  line-height:.9 !important;
}

.doplock-simple-product-title strong{
  font-size:clamp(28px,2.6vw,38px) !important;
  line-height:1 !important;
  padding-top:4px !important;
}

.doplock-simple-product-text{
  font-size:16px !important;
  line-height:1.58 !important;
}

.doplock-simple-product-list li{
  font-size:14px !important;
}

.doplock-simple-buy{
  min-height:56px !important;
}

/* Mehr ansehen */
.doplock-shop-more-section{
  padding:4px 0 100px;
  background:#f7f3ee;
}

.doplock-shop-more-head{
  margin:0 0 26px;
  padding:34px;
  border-radius:32px;
  background:#fff;
  border:1px solid rgba(17,17,17,.07);
  box-shadow:0 18px 54px rgba(17,17,17,.055);
}

.doplock-shop-more-head h2{
  margin:0 0 10px;
  color:#111;
  font-size:clamp(42px,5.2vw,76px);
  line-height:.9;
  letter-spacing:-.07em;
  font-weight:950;
}

.doplock-shop-more-head p:not(.doplock-eyebrow){
  max-width:690px;
  margin:0;
  color:#62636c;
  font-size:17px;
  line-height:1.6;
}

.doplock-shop-more-grid{
  display:grid;
  grid-template-columns:1.25fr .85fr;
  gap:22px;
  align-items:stretch;
}

.doplock-shop-more-item{
  margin:0;
  overflow:hidden;
  border-radius:30px;
  background:#fff;
  border:1px solid rgba(17,17,17,.07);
  box-shadow:0 22px 68px rgba(17,17,17,.07);
}

.doplock-shop-more-item.is-wide{
  grid-row:span 2;
}

.doplock-shop-more-item img{
  display:block;
  width:100%;
  aspect-ratio:1.25 / 1;
  object-fit:contain;
  background:#fff;
  padding:26px;
}

.doplock-shop-more-item.is-wide img{
  aspect-ratio:1.6 / 1;
  padding:34px;
}

.doplock-shop-more-item figcaption{
  padding:20px 22px 22px;
  border-top:1px solid rgba(17,17,17,.06);
}

.doplock-shop-more-item figcaption strong{
  display:block;
  margin-bottom:5px;
  color:#111;
  font-size:20px;
  line-height:1.05;
  letter-spacing:-.035em;
  font-weight:950;
}

.doplock-shop-more-item figcaption span{
  display:block;
  color:#62636c;
  font-size:14px;
  line-height:1.5;
}

/* Warenkorb schöner: mehr Luft und bessere Ausrichtung */
.woocommerce-cart .woocommerce{
  width:min(1240px, calc(100% - 56px)) !important;
  padding:42px 0 94px !important;
}

.doplock-cart-intro,
.doplock-empty-cart-intro{
  padding:36px 38px !important;
  border-radius:34px !important;
  box-shadow:0 22px 64px rgba(17,17,17,.055) !important;
}

.doplock-cart-intro h2,
.doplock-empty-cart-intro h2{
  font-size:clamp(44px,5.4vw,76px) !important;
}

@media (min-width: 980px){
  .woocommerce-cart .woocommerce-cart-form{
    width:calc(100% - 430px) !important;
    float:left !important;
  }

  .woocommerce-cart .cart-collaterals{
    width:390px !important;
    float:right !important;
  }
}

.woocommerce-cart table.shop_table.cart{
  border-radius:30px !important;
  box-shadow:0 24px 70px rgba(17,17,17,.065) !important;
}

.woocommerce-cart table.cart th{
  padding:22px 26px !important;
}

.woocommerce-cart table.cart td{
  padding:26px !important;
}

.woocommerce-cart table.cart .product-thumbnail img{
  width:116px !important;
  height:86px !important;
  padding:10px !important;
  border-radius:18px !important;
}

.woocommerce-cart table.cart .product-name a,
.woocommerce-cart table.cart .product-name{
  font-size:18px !important;
  line-height:1.2 !important;
}

.woocommerce-cart table.cart .product-subtotal{
  text-align:right !important;
  white-space:nowrap !important;
}

.woocommerce-cart table.cart td.actions{
  padding:24px 26px !important;
}

.woocommerce-cart table.cart td.actions .coupon{
  max-width:540px !important;
}

.woocommerce-cart table.cart td.actions .coupon input.input-text{
  min-width:260px !important;
}

.woocommerce-cart .cart-collaterals .cart_totals{
  padding:34px !important;
  border-radius:32px !important;
  box-shadow:0 24px 70px rgba(17,17,17,.075) !important;
}

.woocommerce-cart .cart_totals h2{
  font-size:36px !important;
}

@media (max-width: 1050px){
  .doplock-simple-products{
    grid-template-columns:1fr !important;
    max-width:760px !important;
    margin-inline:auto !important;
  }

  .doplock-shop-more-grid{
    grid-template-columns:1fr !important;
  }

  .doplock-shop-more-item.is-wide{
    grid-row:auto;
  }
}

@media (max-width: 720px){
  .doplock-simple-shop .doplock-container,
  .doplock-simple-products-section .doplock-container,
  .doplock-shop-more-section .doplock-container,
  .woocommerce-cart .woocommerce{
    width:min(100% - 28px, 1180px) !important;
  }

  .site-header nav,
  header nav,
  .doplock-nav,
  .doplock-header nav{
    gap:14px !important;
  }

  .doplock-simple-shop-hero h1{
    font-size:clamp(52px,15vw,76px) !important;
  }

  .doplock-simple-product-title{
    display:grid !important;
    gap:8px !important;
  }

  .doplock-shop-more-head{
    padding:26px;
    border-radius:26px;
  }

  .doplock-shop-more-item img,
  .doplock-shop-more-item.is-wide img{
    padding:18px;
  }
}



/* 3.2.0 Einzelproduktseiten schöner + Hinweise */
.doplock-single-product-page{
  background:#f7f3ee;
  padding:34px 0 100px;
}

.doplock-single-product-page .doplock-container,
.doplock-default-single .doplock-container{
  width:min(1240px, calc(100% - 56px));
  margin-inline:auto;
}

.doplock-single-breadcrumb-wrap{
  margin-bottom:18px;
}

.doplock-single-product-page .woocommerce-breadcrumb{
  color:#7b7e89;
  font-size:12px;
  font-weight:800;
  letter-spacing:.08em;
  text-transform:uppercase;
}

.doplock-single-product-page .woocommerce-breadcrumb a{
  color:#111;
  text-decoration:none;
}

.doplock-single-product-page .woocommerce-breadcrumb .sep{
  margin:0 8px;
  color:#b2b3bb;
}

.doplock-single-layout{
  display:grid;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr);
  gap:34px;
  align-items:start;
}

.doplock-single-gallery-main,
.doplock-single-summary-card,
.doplock-single-highlight-card,
.doplock-single-story-card,
.doplock-single-gallery-card{
  background:#fff;
  border:1px solid rgba(17,17,17,.07);
  box-shadow:0 22px 64px rgba(17,17,17,.07);
}

.doplock-single-gallery-main{
  border-radius:34px;
  padding:38px;
  margin-bottom:18px;
}

.doplock-single-gallery-main img{
  width:100%;
  aspect-ratio:1.18/1;
  object-fit:contain;
  display:block;
}

.doplock-single-gallery-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}

.doplock-single-gallery-card{
  margin:0;
  overflow:hidden;
  border-radius:24px;
}

.doplock-single-gallery-thumb{
  padding:18px;
  background:#fff;
}

.doplock-single-gallery-thumb img{
  display:block;
  width:100%;
  aspect-ratio:1.18/1;
  object-fit:contain;
}

.doplock-single-gallery-card figcaption{
  padding:16px 18px 18px;
  border-top:1px solid rgba(17,17,17,.06);
}

.doplock-single-gallery-card figcaption strong{
  display:block;
  margin-bottom:5px;
  color:#111;
  font-size:17px;
  line-height:1.1;
  font-weight:950;
}

.doplock-single-gallery-card figcaption span{
  display:block;
  color:#646773;
  font-size:13px;
  line-height:1.5;
}

.doplock-single-summary-card{
  border-radius:34px;
  padding:34px;
}

.doplock-single-summary-card h1{
  margin:8px 0 10px;
  color:#111;
  font-size:clamp(42px,4.8vw,70px);
  line-height:.92;
  letter-spacing:-.06em;
  font-weight:950;
}

.doplock-single-price{
  margin-bottom:16px;
  color:#111;
  font-size:clamp(28px,2.7vw,38px);
  line-height:1;
  font-weight:950;
}

.doplock-single-price .amount{
  color:#111;
}

.doplock-single-lead{
  margin:0 0 18px;
  color:#61636f;
  font-size:17px;
  line-height:1.65;
}

.doplock-single-features{
  margin:0 0 20px;
  padding:0;
  list-style:none;
  display:grid;
  gap:10px;
}

.doplock-single-features li{
  position:relative;
  padding-left:28px;
  color:#111;
  font-size:15px;
  line-height:1.45;
  font-weight:800;
}

.doplock-single-features li:before{
  content:'✓';
  position:absolute;
  left:0;
  top:0;
  width:18px;
  height:18px;
  border-radius:50%;
  background:#ff6a1a;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:12px;
  font-weight:900;
}

.doplock-single-notices{
  display:grid;
  gap:12px;
  margin-bottom:22px;
}

.doplock-single-notice,
.doplock-simple-note.is-info{
  padding:16px 18px;
  border-radius:18px;
  border:1px solid rgba(255,106,26,.22);
  background:#fff6ef;
}

.doplock-single-notice span,
.doplock-simple-note.is-info span{
  display:block;
  margin-bottom:5px;
  color:#ff6a1a;
  font-size:12px;
  line-height:1;
  letter-spacing:.08em;
  text-transform:uppercase;
  font-weight:950;
}

.doplock-single-notice p,
.doplock-simple-note.is-info p{
  margin:0;
  color:#6a4b31;
  font-size:14px;
  line-height:1.55;
}

.doplock-single-buybox form.cart{
  margin:0;
}

.doplock-single-buybox .quantity{
  margin:0 12px 0 0 !important;
}

.doplock-single-buybox .qty{
  min-height:54px;
  min-width:86px;
  border-radius:16px;
  border:1px solid rgba(17,17,17,.12);
  background:#fff;
}

.doplock-single-buybox .single_add_to_cart_button,
.doplock-single-buybox button[type=submit]{
  min-height:54px;
  padding:0 26px !important;
  border:none !important;
  border-radius:16px !important;
  background:#111 !important;
  color:#fff !important;
  box-shadow:none !important;
}

.doplock-single-buybox .single_add_to_cart_button:hover,
.doplock-single-buybox button[type=submit]:hover{
  transform:translateY(-1px);
}

.doplock-single-product-content{
  padding-top:24px;
}

.doplock-single-highlights{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-bottom:18px;
}

.doplock-single-highlight-card{
  border-radius:24px;
  padding:24px;
}

.doplock-single-highlight-card h3{
  margin:0 0 8px;
  color:#111;
  font-size:24px;
  line-height:1;
  letter-spacing:-.04em;
  font-weight:950;
}

.doplock-single-highlight-card p{
  margin:0;
  color:#61636f;
  font-size:15px;
  line-height:1.6;
}

.doplock-single-story-grid{
  display:grid;
  grid-template-columns:1.08fr .92fr;
  gap:18px;
}

.doplock-single-story-card{
  border-radius:28px;
  padding:28px;
}

.doplock-single-story-card h2{
  margin:6px 0 12px;
  color:#111;
  font-size:clamp(34px,3.2vw,50px);
  line-height:.95;
  letter-spacing:-.05em;
  font-weight:950;
}

.doplock-single-story-card p{
  margin:0;
  color:#61636f;
  font-size:16px;
  line-height:1.7;
}

.doplock-single-steps{
  margin:0;
  padding-left:22px;
}

.doplock-single-steps li{
  color:#111;
  font-size:16px;
  line-height:1.65;
  margin-bottom:12px;
  font-weight:700;
}

.doplock-simple-note.is-neutral p{
  color:#666b77;
}

@media (max-width: 1100px){
  .doplock-single-layout,
  .doplock-single-story-grid,
  .doplock-single-highlights{
    grid-template-columns:1fr;
  }
}

@media (max-width: 720px){
  .doplock-single-product-page .doplock-container,
  .doplock-default-single .doplock-container{
    width:min(100% - 28px, 1240px);
  }

  .doplock-single-gallery-main,
  .doplock-single-summary-card,
  .doplock-single-story-card{
    padding:22px;
    border-radius:24px;
  }

  .doplock-single-gallery-grid{
    grid-template-columns:1fr;
  }

  .doplock-single-summary-card h1{
    font-size:48px;
  }
}



/* 3.2.1 Stabiler Fix: Header normal, Warenkorb normal, Shop/Cart nicht kaputt */
.site-header nav a[href*="warenkorb"],
header nav a[href*="warenkorb"],
.doplock-nav a[href*="warenkorb"],
.ct-header a[href*="warenkorb"]{
  color:inherit !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  min-width:0 !important;
  min-height:0 !important;
  width:auto !important;
  height:auto !important;
  border-radius:0 !important;
  font-size:inherit !important;
  font-weight:inherit !important;
  text-decoration:none !important;
}

/* CTA darf nicht zu einem riesigen schwarzen Block werden */
.site-header nav a[href*="shop"],
header nav a[href*="shop"],
.doplock-nav a[href*="shop"],
.ct-header a[href*="shop"]{
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  min-height:0 !important;
  height:auto !important;
  padding:10px 18px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  white-space:nowrap !important;
  line-height:1 !important;
}

.doplock-simple-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:10px;
  margin-top:18px;
}

.doplock-simple-more{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 18px;
  border-radius:999px;
  border:1px solid rgba(17,17,17,.12);
  background:#fff;
  color:#111;
  text-decoration:none;
  font-size:14px;
  font-weight:850;
}

.doplock-simple-more:hover{
  background:#f7f3ee;
}

.woocommerce-cart .doplock-cart-more-link{
  margin-top:6px;
}

.woocommerce-cart .doplock-cart-more-link a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:auto !important;
  padding:5px 10px !important;
  border-radius:999px !important;
  background:#f6f3ee !important;
  border:1px solid rgba(17,17,17,.08) !important;
  color:#111 !important;
  font-size:11px !important;
  font-weight:800 !important;
  text-decoration:none !important;
  box-shadow:none !important;
}

@media (max-width: 720px){
  .doplock-simple-actions{
    grid-template-columns:1fr;
  }
}


/* 3.2.2 Warenkorb im Header exakt wie normale Menuepunkte */
.site-header nav li.doplock-menu-cart,
header nav li.doplock-menu-cart,
.doplock-nav li.doplock-menu-cart,
.doplock-header nav li.doplock-menu-cart{
  display:list-item !important;
  margin:0 !important;
  padding:0 !important;
}

.site-header nav li.doplock-menu-cart > a,
header nav li.doplock-menu-cart > a,
.doplock-nav li.doplock-menu-cart > a,
.doplock-header nav li.doplock-menu-cart > a,
.site-header nav a[href*="/warenkorb"],
header nav a[href*="/warenkorb"],
.doplock-nav a[href*="/warenkorb"],
.doplock-header nav a[href*="/warenkorb"]{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:0 !important;
  margin:0 !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  min-height:0 !important;
  color:inherit !important;
  font:inherit !important;
  font-size:13px !important;
  font-weight:950 !important;
  letter-spacing:.01em !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  text-decoration:none !important;
  vertical-align:middle !important;
}

.site-header nav li.doplock-menu-cart > a:hover,
header nav li.doplock-menu-cart > a:hover,
.doplock-nav li.doplock-menu-cart > a:hover,
.doplock-header nav li.doplock-menu-cart > a:hover,
.site-header nav a[href*="/warenkorb"]:hover,
header nav a[href*="/warenkorb"]:hover,
.doplock-nav a[href*="/warenkorb"]:hover,
.doplock-header nav a[href*="/warenkorb"]:hover{
  color:inherit !important;
  opacity:1 !important;
}



/* 3.2.3 Clean Reset: weniger überladen, Header sauber */
:root{
  --doplock-bg:#f7f3ee;
  --doplock-ink:#111111;
  --doplock-muted:#62636c;
  --doplock-line:rgba(17,17,17,.08);
}

/* HEADER: alle Menüpunkte gleich, nur CTA als Button */
.site-header,
header.site-header,
.ct-header,
.doplock-header{
  background:#fff !important;
  border-bottom:1px solid rgba(17,17,17,.055) !important;
  box-shadow:none !important;
}

.site-header nav,
header nav,
.ct-header nav,
.doplock-header nav,
.doplock-nav,
.ct-header .menu,
header .menu{
  display:flex !important;
  align-items:center !important;
  gap:24px !important;
}

.site-header nav li,
header nav li,
.ct-header nav li,
.doplock-header nav li,
.doplock-nav li,
.ct-header .menu li,
header .menu li{
  margin:0 !important;
  padding:0 !important;
}

.site-header nav a,
header nav a,
.ct-header nav a,
.doplock-header nav a,
.doplock-nav a,
.ct-header .menu > li > a,
header .menu > li > a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:transparent !important;
  color:#111 !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  width:auto !important;
  min-width:0 !important;
  max-width:none !important;
  height:auto !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  font-size:13px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.01em !important;
  text-transform:uppercase !important;
  white-space:nowrap !important;
  text-decoration:none !important;
  opacity:1 !important;
}

.site-header nav a:hover,
header nav a:hover,
.ct-header nav a:hover,
.doplock-header nav a:hover,
.doplock-nav a:hover,
.ct-header .menu > li > a:hover,
header .menu > li > a:hover,
.site-header nav li.current-menu-item > a,
header nav li.current-menu-item > a,
.ct-header nav li.current-menu-item > a,
.doplock-header nav li.current-menu-item > a,
.doplock-nav li.current-menu-item > a,
.ct-header .menu > li.current-menu-item > a,
header .menu > li.current-menu-item > a{
  background:transparent !important;
  color:#111 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}

/* nur Jetzt vorbestellen ist Button */
.site-header nav a[href*="/shop"],
header nav a[href*="/shop"],
.ct-header nav a[href*="/shop"],
.doplock-header nav a[href*="/shop"],
.doplock-nav a[href*="/shop"],
.ct-header .menu > li > a[href*="/shop"],
header .menu > li > a[href*="/shop"]{
  background:#111 !important;
  color:#fff !important;
  border-radius:999px !important;
  padding:10px 18px !important;
  margin-left:2px !important;
  box-shadow:none !important;
}

/* Warenkorb exakt normal lassen */
.site-header nav a[href*="warenkorb"],
header nav a[href*="warenkorb"],
.ct-header nav a[href*="warenkorb"],
.doplock-header nav a[href*="warenkorb"],
.doplock-nav a[href*="warenkorb"]{
  background:transparent !important;
  color:#111 !important;
  border-radius:0 !important;
  padding:0 !important;
  margin:0 !important;
  box-shadow:none !important;
}

/* SHOP: ruhiger, weniger schwer */
.doplock-simple-shop{
  background:var(--doplock-bg) !important;
}

.doplock-simple-shop .doplock-container,
.doplock-simple-products-section .doplock-container,
.doplock-shop-more-section .doplock-container{
  width:min(1160px, calc(100% - 48px)) !important;
}

.doplock-simple-shop-hero{
  padding:64px 0 28px !important;
}

.doplock-simple-shop-hero h1{
  max-width:780px !important;
  font-size:clamp(54px,6.2vw,92px) !important;
  line-height:.9 !important;
  letter-spacing:-.065em !important;
}

.doplock-simple-shop-hero p:not(.doplock-eyebrow){
  max-width:620px !important;
  font-size:17px !important;
  line-height:1.6 !important;
  color:var(--doplock-muted) !important;
}

.doplock-simple-products{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:28px !important;
  align-items:stretch !important;
}

.doplock-simple-product{
  border-radius:28px !important;
  border:1px solid var(--doplock-line) !important;
  background:#fff !important;
  box-shadow:0 18px 48px rgba(17,17,17,.06) !important;
  overflow:hidden !important;
}

.doplock-simple-product-media{
  min-height:280px !important;
  padding:42px 28px 8px !important;
  background:#fff !important;
}

.doplock-simple-product-media img{
  max-height:240px !important;
  width:100% !important;
  object-fit:contain !important;
  filter:drop-shadow(0 18px 22px rgba(0,0,0,.10)) !important;
}

.doplock-simple-product-body{
  padding:0 26px 26px !important;
}

.doplock-simple-product-title{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:16px !important;
  margin-bottom:14px !important;
}

.doplock-simple-product-title h2{
  max-width:58% !important;
  font-size:clamp(36px,3.8vw,56px) !important;
  line-height:.9 !important;
  letter-spacing:-.06em !important;
}

.doplock-simple-product-title strong{
  font-size:clamp(24px,2.25vw,34px) !important;
  line-height:1 !important;
  white-space:nowrap !important;
}

.doplock-simple-product-text,
.doplock-simple-note p,
.doplock-compat-note p{
  font-size:15px !important;
  line-height:1.58 !important;
}

.doplock-simple-note,
.doplock-compat-note{
  border-radius:18px !important;
  padding:14px 16px !important;
}

.doplock-simple-actions{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
  margin-top:18px !important;
}

.doplock-simple-buy,
.doplock-simple-more{
  min-height:52px !important;
  border-radius:999px !important;
  font-size:14px !important;
}

.doplock-simple-more{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#fff !important;
  color:#111 !important;
  border:1px solid rgba(17,17,17,.12) !important;
  text-decoration:none !important;
  font-weight:850 !important;
}

/* Mehr ansehen: weniger überladen */
.doplock-shop-more-section{
  padding:16px 0 84px !important;
}

.doplock-shop-more-head{
  padding:28px 30px !important;
  border-radius:28px !important;
  background:#fff !important;
  border:1px solid var(--doplock-line) !important;
  box-shadow:0 16px 42px rgba(17,17,17,.05) !important;
}

.doplock-shop-more-head h2{
  font-size:clamp(38px,4.5vw,64px) !important;
}

.doplock-shop-more-grid,
.doplock-shop-more-grid-refined{
  display:grid !important;
  grid-template-columns:1.15fr .85fr .85fr !important;
  gap:18px !important;
  margin-top:20px !important;
}

.doplock-shop-more-item{
  border-radius:24px !important;
  border:1px solid var(--doplock-line) !important;
  background:#fff !important;
  box-shadow:0 14px 40px rgba(17,17,17,.05) !important;
}

.doplock-shop-more-item img{
  padding:22px !important;
}

/* Produktdetailseite: sauberer statt wild */
.single-product div.product{
  display:grid !important;
  grid-template-columns:minmax(0, .95fr) minmax(0, 1.05fr) !important;
  gap:30px !important;
  align-items:start !important;
}

.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary{
  float:none !important;
  width:auto !important;
  margin:0 !important;
}

.single-product div.product .woocommerce-product-gallery,
.single-product div.product .summary.entry-summary,
.single-product .woocommerce-tabs,
.doplock-single-extra-head,
.doplock-single-extra-item{
  border-radius:28px !important;
  border:1px solid var(--doplock-line) !important;
  background:#fff !important;
  box-shadow:0 16px 42px rgba(17,17,17,.055) !important;
}

.single-product div.product .summary.entry-summary{
  padding:28px !important;
}

.single-product div.product .product_title{
  font-size:clamp(42px,4.8vw,66px) !important;
  line-height:.92 !important;
  letter-spacing:-.065em !important;
}

.single-product .woocommerce-tabs,
.single-product div.product > .woocommerce-tabs,
.single-product .product.type-product > .woocommerce-tabs,
.single-product .product.type-product > .doplock-single-extra{
  grid-column:1 / -1 !important;
  width:100% !important;
}

/* Warenkorb: ruhiger */
.woocommerce-cart .woocommerce{
  width:min(1160px, calc(100% - 48px)) !important;
}

.doplock-cart-intro,
.woocommerce-cart table.shop_table.cart,
.woocommerce-cart .cart-collaterals .cart_totals{
  border-radius:28px !important;
  box-shadow:0 16px 44px rgba(17,17,17,.055) !important;
}

.woocommerce-cart .doplock-cart-more-link a,
.woocommerce-cart .doplock-cart-item-more a{
  display:inline-flex !important;
  min-height:auto !important;
  padding:4px 9px !important;
  border-radius:999px !important;
  background:#f6f3ee !important;
  border:1px solid rgba(17,17,17,.08) !important;
  color:#111 !important;
  font-size:11px !important;
  font-weight:800 !important;
  box-shadow:none !important;
  text-decoration:none !important;
}

@media (max-width:1050px){
  .doplock-simple-products,
  .doplock-shop-more-grid,
  .doplock-shop-more-grid-refined,
  .single-product div.product{
    grid-template-columns:1fr !important;
  }
}

@media (max-width:720px){
  .site-header nav,
  header nav,
  .ct-header nav,
  .doplock-header nav,
  .doplock-nav,
  .ct-header .menu,
  header .menu{
    gap:16px !important;
  }

  .doplock-simple-shop .doplock-container,
  .doplock-simple-products-section .doplock-container,
  .doplock-shop-more-section .doplock-container,
  .woocommerce-cart .woocommerce{
    width:min(100% - 28px, 1160px) !important;
  }

  .doplock-simple-product-title{
    display:grid !important;
  }

  .doplock-simple-product-title h2{
    max-width:none !important;
  }

  .doplock-simple-actions{
    grid-template-columns:1fr !important;
  }
}

/* 3.2.4 Card-Rand weg + Shop passt auf Chrome 100% + bessere Produktbilder */

/* Hero / Card: neues sauberes Bild ohne weissen Rand */
.doplock-hero .doplock-product-img,
#produkt .doplock-product-img,
.doplock-product-img{
  object-fit:contain !important;
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 28px 42px rgba(0,0,0,.18)) !important;
}

.doplock-hero .doplock-card-frame,
.doplock-hero-media,
#produkt .doplock-card-frame{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}

/* Shop: auf 100% Chrome besser im ersten Sichtbereich */
.doplock-simple-shop .doplock-container,
.doplock-simple-products-section .doplock-container,
.doplock-shop-more-section .doplock-container{
  width:min(1120px, calc(100% - 48px)) !important;
}

.doplock-simple-shop-hero{
  padding:42px 0 18px !important;
}

.doplock-simple-shop-hero h1{
  max-width:720px !important;
  margin-bottom:14px !important;
  font-size:clamp(48px,5.2vw,78px) !important;
  line-height:.9 !important;
  letter-spacing:-.065em !important;
}

.doplock-simple-shop-hero p:not(.doplock-eyebrow){
  max-width:580px !important;
  font-size:16px !important;
  line-height:1.5 !important;
  margin-bottom:0 !important;
}

.doplock-simple-products-section{
  padding:10px 0 54px !important;
}

.doplock-simple-products{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:26px !important;
  align-items:stretch !important;
}

.doplock-simple-product{
  border-radius:28px !important;
  overflow:hidden !important;
  background:#fff !important;
  box-shadow:0 18px 52px rgba(17,17,17,.07) !important;
  border:1px solid rgba(17,17,17,.07) !important;
}

.doplock-simple-badge{
  top:18px !important;
  left:20px !important;
  min-height:30px !important;
  padding:0 12px !important;
  font-size:11px !important;
}

.doplock-simple-product-media{
  min-height:210px !important;
  padding:38px 26px 6px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:#fff !important;
}

.doplock-simple-product-media img{
  display:block !important;
  width:100% !important;
  max-width:470px !important;
  max-height:190px !important;
  object-fit:contain !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 18px 26px rgba(0,0,0,.12)) !important;
}

.doplock-simple-product-body{
  padding:0 24px 24px !important;
  gap:11px !important;
}

.doplock-simple-product-title{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:14px !important;
  margin-bottom:6px !important;
}

.doplock-simple-product-title h2{
  max-width:58% !important;
  margin:0 !important;
  font-size:clamp(34px,3.45vw,48px) !important;
  line-height:.9 !important;
  letter-spacing:-.06em !important;
}

.doplock-simple-product-title strong{
  white-space:nowrap !important;
  margin-left:auto !important;
  padding-top:2px !important;
  font-size:clamp(24px,2.2vw,32px) !important;
  line-height:1 !important;
}

.doplock-simple-product-text{
  margin:0 !important;
  font-size:14px !important;
  line-height:1.45 !important;
  color:#5f6270 !important;
}

.doplock-simple-product-list{
  gap:5px !important;
  margin:2px 0 !important;
}

.doplock-simple-product-list li{
  font-size:12.5px !important;
  line-height:1.35 !important;
  padding-left:26px !important;
}

.doplock-simple-product-list li::before{
  width:18px !important;
  height:18px !important;
  font-size:11px !important;
}

.doplock-simple-note,
.doplock-compat-note{
  padding:12px 14px !important;
  border-radius:16px !important;
}

.doplock-simple-note span,
.doplock-compat-note strong{
  font-size:10px !important;
}

.doplock-simple-note p,
.doplock-compat-note p{
  font-size:12px !important;
  line-height:1.4 !important;
}

.doplock-simple-actions{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:10px !important;
  margin-top:8px !important;
}

.doplock-simple-buy,
.doplock-simple-more{
  min-height:46px !important;
  font-size:13px !important;
  border-radius:999px !important;
}

/* Mehr ansehen: simple, mit den neuen Produktbildern */
.doplock-shop-more-section{
  padding:12px 0 76px !important;
}

.doplock-shop-more-head{
  padding:28px 30px !important;
  border-radius:28px !important;
}

.doplock-shop-more-grid,
.doplock-shop-more-grid-refined{
  display:grid !important;
  grid-template-columns:1.12fr .88fr .88fr !important;
  gap:18px !important;
  margin-top:20px !important;
}

.doplock-shop-more-item{
  border-radius:24px !important;
  box-shadow:0 14px 40px rgba(17,17,17,.055) !important;
}

.doplock-shop-more-item img{
  padding:20px !important;
  object-fit:contain !important;
  background:#fff !important;
}

/* Header Warenkorb normal wie Login/FAQ */
.site-header nav a[href*="warenkorb"],
header nav a[href*="warenkorb"],
.ct-header nav a[href*="warenkorb"],
.doplock-header nav a[href*="warenkorb"],
.doplock-nav a[href*="warenkorb"],
.ct-header .menu > li > a[href*="warenkorb"],
header .menu > li > a[href*="warenkorb"]{
  display:inline-flex !important;
  align-items:center !important;
  background:transparent !important;
  color:#111 !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  padding:0 !important;
  margin:0 !important;
  width:auto !important;
  min-width:0 !important;
  height:auto !important;
  min-height:0 !important;
  font-size:13px !important;
  font-weight:900 !important;
  line-height:1 !important;
  text-transform:uppercase !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}

@media (max-width:1050px){
  .doplock-simple-products,
  .doplock-shop-more-grid,
  .doplock-shop-more-grid-refined{
    grid-template-columns:1fr !important;
  }

  .doplock-simple-product-media{
    min-height:240px !important;
  }

  .doplock-simple-product-media img{
    max-height:220px !important;
  }
}

@media (max-width:720px){
  .doplock-simple-shop .doplock-container,
  .doplock-simple-products-section .doplock-container,
  .doplock-shop-more-section .doplock-container{
    width:min(100% - 28px, 1120px) !important;
  }

  .doplock-simple-shop-hero h1{
    font-size:clamp(46px,14vw,68px) !important;
  }

  .doplock-simple-product-title{
    display:grid !important;
  }

  .doplock-simple-product-title h2{
    max-width:none !important;
  }

  .doplock-simple-product-title strong{
    margin-left:0 !important;
  }

  .doplock-simple-actions{
    grid-template-columns:1fr !important;
  }
}




/* 3.2.5 Saubere Produktbilder + Shop erste Ansicht bei Chrome 100% */
/* Hero: keine dunklen/grauen Zusatzränder um die Karte */
.doplock-hero .doplock-hero-media,
.doplock-hero .doplock-card-frame{
  background:transparent !important;
  border:none !important;
  box-shadow:none !important;
  overflow:visible !important;
}
.doplock-hero .doplock-hero-media::before,
.doplock-hero .doplock-hero-media::after,
.doplock-hero .doplock-card-frame::before,
.doplock-hero .doplock-card-frame::after{
  display:none !important;
  content:none !important;
}
.doplock-hero .doplock-product-img{
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 28px 42px rgba(0,0,0,.16)) !important;
  clip-path:none !important;
  -webkit-clip-path:none !important;
}

/* Shop bei 100%: Produktwahl und Buttons in die erste Ansicht holen */
.doplock-simple-shop .doplock-container,
.doplock-simple-products-section .doplock-container,
.doplock-shop-more-section .doplock-container{
  width:min(1060px, calc(100% - 48px)) !important;
}
.doplock-simple-shop-hero{
  padding:24px 0 8px !important;
}
.doplock-simple-shop-hero .doplock-eyebrow{
  margin-bottom:8px !important;
}
.doplock-simple-shop-hero h1{
  max-width:620px !important;
  margin:0 0 8px !important;
  font-size:clamp(42px,4.4vw,64px) !important;
  line-height:.9 !important;
  letter-spacing:-.06em !important;
}
.doplock-simple-shop-hero p:not(.doplock-eyebrow){
  max-width:560px !important;
  margin:0 !important;
  font-size:14.5px !important;
  line-height:1.45 !important;
}
.doplock-simple-products-section{
  padding:8px 0 48px !important;
}
.doplock-simple-products{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:24px !important;
  align-items:stretch !important;
}
.doplock-simple-product{
  border-radius:24px !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1px solid rgba(17,17,17,.065) !important;
  box-shadow:0 14px 40px rgba(17,17,17,.055) !important;
}
.doplock-simple-badge{
  top:14px !important;
  left:16px !important;
  min-height:28px !important;
  padding:0 11px !important;
  font-size:10.5px !important;
  z-index:3 !important;
}
.doplock-simple-product-media{
  min-height:166px !important;
  height:166px !important;
  padding:34px 22px 4px !important;
  background:#fff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}
.doplock-simple-product-media img{
  display:block !important;
  width:100% !important;
  max-width:440px !important;
  max-height:145px !important;
  object-fit:contain !important;
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  filter:drop-shadow(0 14px 20px rgba(0,0,0,.10)) !important;
  clip-path:none !important;
  -webkit-clip-path:none !important;
}
.doplock-simple-product.is-card .doplock-simple-product-media img{
  max-height:148px !important;
  object-position:center center !important;
}
.doplock-simple-product-body{
  padding:0 22px 20px !important;
  gap:7px !important;
}
.doplock-simple-product-title{
  display:flex !important;
  align-items:flex-start !important;
  justify-content:space-between !important;
  gap:12px !important;
  margin:0 0 4px !important;
}
.doplock-simple-product-title h2{
  max-width:62% !important;
  margin:0 !important;
  font-size:clamp(28px,2.7vw,38px) !important;
  line-height:.9 !important;
  letter-spacing:-.055em !important;
}
.doplock-simple-product-title strong{
  white-space:nowrap !important;
  margin-left:auto !important;
  padding-top:2px !important;
  font-size:clamp(21px,1.8vw,27px) !important;
  line-height:1 !important;
}
.doplock-simple-product-text{
  margin:0 !important;
  font-size:12.5px !important;
  line-height:1.35 !important;
  color:#62646f !important;
}
.doplock-simple-product-list{
  gap:3px !important;
  margin:3px 0 !important;
}
.doplock-simple-product-list li{
  font-size:11.5px !important;
  line-height:1.25 !important;
  padding-left:23px !important;
}
.doplock-simple-product-list li::before{
  width:16px !important;
  height:16px !important;
  font-size:10px !important;
}
.doplock-simple-note,
.doplock-compat-note{
  padding:9px 11px !important;
  border-radius:14px !important;
  margin-top:2px !important;
}
.doplock-simple-note span,
.doplock-compat-note strong{
  font-size:9.5px !important;
  letter-spacing:.08em !important;
}
.doplock-simple-note p,
.doplock-compat-note p{
  margin-top:3px !important;
  font-size:10.8px !important;
  line-height:1.28 !important;
}
.doplock-simple-actions{
  display:grid !important;
  grid-template-columns:1fr 1fr !important;
  gap:8px !important;
  margin-top:8px !important;
}
.doplock-simple-buy,
.doplock-simple-more{
  min-height:40px !important;
  font-size:12px !important;
  border-radius:999px !important;
}

/* Mehr ansehen Bereich simple halten */
.doplock-shop-more-section{
  padding:12px 0 70px !important;
}
.doplock-shop-more-head{
  padding:22px 24px !important;
  border-radius:24px !important;
}
.doplock-shop-more-head h2{
  font-size:clamp(32px,3.8vw,52px) !important;
}
.doplock-shop-more-grid,
.doplock-shop-more-grid-refined{
  gap:16px !important;
}
.doplock-shop-more-item img{
  padding:18px !important;
  object-fit:contain !important;
}

@media (max-width:1050px){
  .doplock-simple-products,
  .doplock-shop-more-grid,
  .doplock-shop-more-grid-refined{
    grid-template-columns:1fr !important;
  }
  .doplock-simple-product-media{
    min-height:210px !important;
    height:210px !important;
  }
  .doplock-simple-product-media img{
    max-height:180px !important;
  }
}
@media (max-width:720px){
  .doplock-simple-shop .doplock-container,
  .doplock-simple-products-section .doplock-container,
  .doplock-shop-more-section .doplock-container{
    width:min(100% - 28px, 1060px) !important;
  }
  .doplock-simple-shop-hero h1{
    font-size:clamp(42px,13vw,62px) !important;
  }
  .doplock-simple-product-title{
    display:grid !important;
  }
  .doplock-simple-product-title h2{
    max-width:none !important;
  }
  .doplock-simple-product-title strong{
    margin-left:0 !important;
  }
  .doplock-simple-actions{
    grid-template-columns:1fr !important;
  }
}


/* 3.2.6 Produktdetail: Apps-auswählen-Kachel entfernt + Warenkorb-Abstand */
.doplock-single-buybox form.cart{
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:14px 18px !important;
  margin:0 !important;
}

.doplock-single-buybox .quantity{
  margin:0 !important;
}

.doplock-single-buybox .single_add_to_cart_button,
.doplock-single-buybox button[type=submit]{
  margin-left:8px !important;
  min-width:220px !important;
}

.doplock-single-buybox .wcpay-express-checkout-wrapper,
.doplock-single-buybox .wc-stripe-payment-request-wrapper,
.doplock-single-buybox .wc-stripe-payment-request-button,
.doplock-single-buybox .express-payment-methods,
.doplock-single-buybox .ppc-button-wrapper,
.doplock-single-buybox .wc-block-components-express-payment{
  flex:0 0 100% !important;
  width:100% !important;
  margin-top:10px !important;
}

@media (max-width:720px){
  .doplock-single-buybox form.cart{
    gap:12px !important;
  }
  .doplock-single-buybox .single_add_to_cart_button,
  .doplock-single-buybox button[type=submit]{
    margin-left:0 !important;
    min-width:100% !important;
  }
}



/* 3.2.7 Card-Bild gleich gross + Warenkorb-Button auf Produktseite sichtbar */
.doplock-simple-product-media{
  height:235px !important;
  min-height:235px !important;
  padding:34px 26px 10px !important;
  overflow:hidden !important;
}

.doplock-simple-product-media img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  filter:drop-shadow(0 14px 22px rgba(0,0,0,.10)) !important;
}

.doplock-simple-product.is-card .doplock-simple-product-media img,
.doplock-simple-product.is-code .doplock-simple-product-media img{
  width:100% !important;
  height:100% !important;
  object-fit:contain !important;
}

/* Produktdetail: Hauptbild proportional wie beim Code, nicht riesig/leer */
.doplock-single-gallery-main{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:520px !important;
  padding:34px !important;
}

.doplock-single-gallery-main img{
  width:100% !important;
  height:auto !important;
  max-height:440px !important;
  object-fit:contain !important;
}

.doplock-single-gallery-thumb{
  min-height:210px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.doplock-single-gallery-thumb img{
  width:100% !important;
  max-height:180px !important;
  object-fit:contain !important;
}

.doplock-single-buybox{
  display:block !important;
  margin-top:20px !important;
}

.doplock-single-cart-direct{
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:58px !important;
  border-radius:999px !important;
  background:#111 !important;
  color:#fff !important;
  text-decoration:none !important;
  font-size:15px !important;
  font-weight:950 !important;
  box-shadow:0 16px 36px rgba(17,17,17,.16) !important;
}

.doplock-single-cart-direct:hover{
  transform:translateY(-1px);
  color:#fff !important;
}

/* falls alte Woo-Express-Wrapper direkt nach dem Button auftauchen */
.doplock-single-buybox + .wcpay-express-checkout-wrapper,
.doplock-single-buybox + .wc-stripe-payment-request-wrapper{
  margin-top:14px !important;
}

@media (max-width:1050px){
  .doplock-simple-product-media{
    height:260px !important;
    min-height:260px !important;
  }

  .doplock-single-gallery-main{
    min-height:420px !important;
  }

  .doplock-single-gallery-main img{
    max-height:360px !important;
  }
}

@media (max-width:720px){
  .doplock-simple-product-media{
    height:220px !important;
    min-height:220px !important;
  }

  .doplock-single-gallery-main{
    min-height:330px !important;
    padding:22px !important;
  }

  .doplock-single-gallery-main img{
    max-height:285px !important;
  }
}


/* 3.2.8 Warenkorb-Produktbilder schöner */
.woocommerce-cart table.cart th.product-thumbnail,
.woocommerce-cart table.cart td.product-thumbnail{
  width:148px !important;
  min-width:148px !important;
}

.woocommerce-cart table.cart td.product-thumbnail{
  vertical-align:middle !important;
}

.woocommerce-cart .doplock-cart-thumb-frame{
  width:116px !important;
  height:86px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:0 auto !important;
  border-radius:20px !important;
  background:linear-gradient(180deg,#ffffff 0%, #faf7f2 100%) !important;
  box-shadow:0 12px 28px rgba(17,17,17,.08) !important;
  overflow:hidden !important;
}

.woocommerce-cart .doplock-cart-thumb-image,
.woocommerce-cart table.cart .product-thumbnail img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:cover !important;
  object-position:center center !important;
  border-radius:20px !important;
  background:transparent !important;
  padding:0 !important;
  display:block !important;
}

.woocommerce-cart table.cart .product-name{
  min-width:210px !important;
}

.woocommerce-cart table.cart .product-name a{
  font-size:18px !important;
  line-height:1.15 !important;
}

.woocommerce-cart .doplock-cart-more-link{
  margin-top:8px !important;
}

@media (max-width:720px){
  .woocommerce-cart table.cart th.product-thumbnail,
  .woocommerce-cart table.cart td.product-thumbnail{
    width:118px !important;
    min-width:118px !important;
  }

  .woocommerce-cart .doplock-cart-thumb-frame{
    width:86px !important;
    height:66px !important;
    border-radius:16px !important;
  }

  .woocommerce-cart .doplock-cart-thumb-image,
  .woocommerce-cart table.cart .product-thumbnail img{
    border-radius:16px !important;
  }
}


/* 3.2.9 Cart polish: nicer success icon + cleaner cart look */
.woocommerce-cart .woocommerce-notices-wrapper{
  margin:0 0 24px !important;
}

.woocommerce-cart .woocommerce-error,
.woocommerce-cart .woocommerce-message,
.woocommerce-cart .woocommerce-info{
  position:relative !important;
  padding:18px 20px 18px 74px !important;
  border-radius:24px !important;
  border:1px solid rgba(17,17,17,.06) !important;
  box-shadow:0 16px 36px rgba(17,17,17,.05) !important;
  outline:none !important;
}

.woocommerce-cart .woocommerce-message{
  background:linear-gradient(180deg,#f6fff9 0%, #eef9f1 100%) !important;
  color:#166534 !important;
  border-color:rgba(22,101,52,.10) !important;
}

.woocommerce-cart .woocommerce-error{
  background:linear-gradient(180deg,#fff7f8 0%, #fff1f3 100%) !important;
  color:#9f1239 !important;
  border-color:rgba(190,24,93,.10) !important;
}

.woocommerce-cart .woocommerce-info{
  background:linear-gradient(180deg,#fffaf3 0%, #fff6e8 100%) !important;
  color:#9a3412 !important;
  border-color:rgba(234,88,12,.12) !important;
}

.woocommerce-cart .woocommerce-message::before,
.woocommerce-cart .woocommerce-error::before,
.woocommerce-cart .woocommerce-info::before{
  width:34px !important;
  height:34px !important;
  left:24px !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  border-radius:999px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:17px !important;
  line-height:1 !important;
  text-indent:0 !important;
  opacity:1 !important;
}

.woocommerce-cart .woocommerce-message::before{
  content:"✓" !important;
  background:#16a34a !important;
  color:#fff !important;
  box-shadow:0 10px 22px rgba(22,163,74,.22) !important;
}

.woocommerce-cart .woocommerce-error::before{
  content:"!" !important;
  background:#e11d48 !important;
  color:#fff !important;
  box-shadow:0 10px 22px rgba(225,29,72,.18) !important;
}

.woocommerce-cart .woocommerce-info::before{
  content:"i" !important;
  background:#f97316 !important;
  color:#fff !important;
  box-shadow:0 10px 22px rgba(249,115,22,.18) !important;
}

.woocommerce-cart .woocommerce-message .button,
.woocommerce-cart .woocommerce-message a.button{
  border:0 !important;
  box-shadow:0 14px 28px rgba(249,115,22,.20) !important;
}

.woocommerce-cart .woocommerce-cart-form__contents,
.woocommerce-cart table.shop_table.cart,
.woocommerce-cart .cart-collaterals .cart_totals{
  box-shadow:0 18px 38px rgba(17,17,17,.05) !important;
  border:1px solid rgba(17,17,17,.06) !important;
}

.woocommerce-cart table.cart th{
  padding:22px 24px !important;
  letter-spacing:.03em !important;
}

.woocommerce-cart table.cart td{
  padding:22px 24px !important;
}

.woocommerce-cart table.cart tr.cart_item:hover td{
  background:rgba(255,255,255,.7) !important;
}

.woocommerce-cart table.cart .product-name a{
  margin-bottom:4px !important;
}

.woocommerce-cart .doplock-cart-more-link{
  background:#f7f3ee !important;
  border:1px solid rgba(17,17,17,.08) !important;
  color:#111 !important;
}

.woocommerce-cart .doplock-cart-more-link:hover{
  background:#111 !important;
  color:#fff !important;
  border-color:#111 !important;
}

.woocommerce-cart table.cart td.actions{
  background:linear-gradient(180deg,#fff 0%, #fcfbf8 100%) !important;
}

.woocommerce-cart table.cart td.actions .coupon input.input-text{
  background:#fff !important;
  border:1px solid rgba(17,17,17,.08) !important;
  box-shadow:none !important;
}

.woocommerce-cart table.cart td.actions .coupon input.input-text:focus{
  border-color:rgba(249,115,22,.35) !important;
  box-shadow:0 0 0 4px rgba(249,115,22,.08) !important;
}

.woocommerce-cart .cart-collaterals .cart_totals{
  background:linear-gradient(180deg,#ffffff 0%, #fdfcf9 100%) !important;
}

.woocommerce-cart .cart_totals h2{
  letter-spacing:-.045em !important;
}

.woocommerce-cart .checkout-button.button.alt.wc-forward{
  box-shadow:0 20px 36px rgba(17,17,17,.14) !important;
}

@media (max-width:720px){
  .woocommerce-cart .woocommerce-error,
  .woocommerce-cart .woocommerce-message,
  .woocommerce-cart .woocommerce-info{
    padding:16px 16px 16px 62px !important;
  }

  .woocommerce-cart .woocommerce-message::before,
  .woocommerce-cart .woocommerce-error::before,
  .woocommerce-cart .woocommerce-info::before{
    left:18px !important;
    width:28px !important;
    height:28px !important;
    font-size:15px !important;
  }
}


/* 3.3.0 Cart refine: cleaner "Mehr ansehen" button */
.woocommerce-cart .product-name{
  position:relative !important;
}

.woocommerce-cart .product-name > a{
  display:block !important;
}

.woocommerce-cart .doplock-cart-more-link{
  margin-top:10px !important;
  display:block !important;
  background:transparent !important;
  border:0 !important;
  color:inherit !important;
}

.woocommerce-cart .doplock-cart-more-link a,
.woocommerce-cart .doplock-cart-item-more a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:8px !important;
  min-height:42px !important;
  padding:0 16px !important;
  border-radius:999px !important;
  background:linear-gradient(180deg,#ffffff 0%, #f7f3ee 100%) !important;
  border:1px solid rgba(17,17,17,.08) !important;
  color:#111 !important;
  font-size:13px !important;
  font-weight:850 !important;
  line-height:1 !important;
  letter-spacing:-.01em !important;
  white-space:nowrap !important;
  text-decoration:none !important;
  box-shadow:0 10px 22px rgba(17,17,17,.06) !important;
  transition:transform .18s ease, box-shadow .18s ease, background .18s ease, color .18s ease, border-color .18s ease !important;
}

.woocommerce-cart .doplock-cart-more-link a::after,
.woocommerce-cart .doplock-cart-item-more a::after{
  content:"→";
  display:inline-block !important;
  font-size:14px !important;
  line-height:1 !important;
  transform:translateX(0) !important;
  transition:transform .18s ease !important;
}

.woocommerce-cart .doplock-cart-more-link a:hover,
.woocommerce-cart .doplock-cart-item-more a:hover{
  background:#111 !important;
  color:#fff !important;
  border-color:#111 !important;
  box-shadow:0 14px 30px rgba(17,17,17,.14) !important;
  transform:translateY(-1px) !important;
}

.woocommerce-cart .doplock-cart-more-link a:hover::after,
.woocommerce-cart .doplock-cart-item-more a:hover::after{
  transform:translateX(2px) !important;
}

@media (max-width:720px){
  .woocommerce-cart .doplock-cart-more-link a,
  .woocommerce-cart .doplock-cart-item-more a{
    min-height:38px !important;
    padding:0 13px !important;
    font-size:12px !important;
  }
}



/* 3.3.2 Fulfillment / Rechnung / Tracking / Warenkorb Textlink */
.doplock-fulfillment-section{
  padding:24px 0 90px !important;
  background:#f7f3ee !important;
}

.doplock-fulfillment-card{
  display:grid;
  grid-template-columns:minmax(0,1.05fr) minmax(360px,.95fr);
  gap:32px;
  align-items:center;
  padding:34px;
  border-radius:34px;
  background:#fff;
  border:1px solid rgba(17,17,17,.07);
  box-shadow:0 20px 60px rgba(17,17,17,.06);
}

.doplock-fulfillment-visual{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:420px;
  border-radius:26px;
  background:#fafafa;
  overflow:hidden;
}

.doplock-fulfillment-visual img{
  display:block;
  width:100%;
  max-width:620px;
  height:auto;
  object-fit:contain;
  padding:22px;
}

.doplock-fulfillment-copy h2{
  margin:8px 0 14px;
  color:#111;
  font-size:clamp(42px,5vw,76px);
  line-height:.9;
  letter-spacing:-.07em;
  font-weight:950;
}

.doplock-fulfillment-copy > p{
  max-width:620px;
  margin:0 0 22px;
  color:#62636c;
  font-size:17px;
  line-height:1.65;
}

.doplock-fulfillment-list{
  display:grid;
  gap:12px;
}

.doplock-fulfillment-list div{
  padding:16px 18px;
  border-radius:20px;
  background:#fbfaf8;
  border:1px solid rgba(17,17,17,.07);
}

.doplock-fulfillment-list strong{
  display:block;
  margin-bottom:4px;
  color:#111;
  font-size:17px;
  line-height:1.15;
  font-weight:950;
}

.doplock-fulfillment-list span{
  display:block;
  color:#636671;
  font-size:14px;
  line-height:1.5;
}

.doplock-order-info-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
  margin-top:20px;
}

.doplock-order-info-grid article{
  padding:24px;
  border-radius:26px;
  background:#fff;
  border:1px solid rgba(17,17,17,.07);
  box-shadow:0 16px 44px rgba(17,17,17,.05);
}

.doplock-order-info-grid span{
  display:block;
  margin-bottom:10px;
  color:#ff6b1a;
  font-size:12px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
}

.doplock-order-info-grid h3{
  margin:0 0 8px;
  color:#111;
  font-size:26px;
  line-height:1;
  letter-spacing:-.045em;
  font-weight:950;
}

.doplock-order-info-grid p{
  margin:0;
  color:#62636c;
  font-size:15px;
  line-height:1.6;
}

/* Mehr ansehen im Warenkorb als ruhiger Textlink statt schwerem Button */
.woocommerce-cart .doplock-cart-more-link{
  margin-top:7px !important;
  display:block !important;
  background:transparent !important;
  border:0 !important;
}

.woocommerce-cart .doplock-cart-more-link a,
.woocommerce-cart .doplock-cart-item-more a{
  display:inline-flex !important;
  align-items:center !important;
  gap:5px !important;
  min-height:auto !important;
  padding:0 !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  color:#5f6270 !important;
  font-size:13px !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  text-decoration:none !important;
}

.woocommerce-cart .doplock-cart-more-link a::after,
.woocommerce-cart .doplock-cart-item-more a::after{
  content:"→";
  font-size:13px;
  transform:translateX(0);
  transition:transform .18s ease;
}

.woocommerce-cart .doplock-cart-more-link a:hover,
.woocommerce-cart .doplock-cart-item-more a:hover{
  color:#111 !important;
  background:transparent !important;
}

.woocommerce-cart .doplock-cart-more-link a:hover::after,
.woocommerce-cart .doplock-cart-item-more a:hover::after{
  transform:translateX(2px);
}

.doplock-cart-intro p{
  max-width:760px !important;
}

@media (max-width:980px){
  .doplock-fulfillment-card,
  .doplock-order-info-grid{
    grid-template-columns:1fr;
  }

  .doplock-fulfillment-visual{
    min-height:300px;
  }
}

@media (max-width:640px){
  .doplock-fulfillment-card{
    padding:22px;
    border-radius:26px;
  }

  .doplock-fulfillment-copy h2{
    font-size:42px;
  }

  .doplock-order-info-grid article{
    padding:20px;
  }
}



/* 3.3.4 Produktdetail sauberer / ruhiger */
.doplock-single-product-page{
  background:#f7f3ee !important;
  padding:34px 0 88px !important;
}

.doplock-single-product-page .doplock-container{
  width:min(1180px, calc(100% - 56px)) !important;
  max-width:1180px !important;
  margin-inline:auto !important;
}

.doplock-single-breadcrumb-wrap{
  margin:0 0 16px !important;
}

.doplock-single-product-page .woocommerce-breadcrumb{
  font-size:11px !important;
  letter-spacing:.12em !important;
  color:#6b7280 !important;
}

.doplock-single-layout{
  display:grid !important;
  grid-template-columns:minmax(0,1.08fr) minmax(360px,.92fr) !important;
  gap:28px !important;
  align-items:start !important;
}

.doplock-single-gallery-col,
.doplock-single-summary-col{
  min-width:0 !important;
}

.doplock-single-gallery-main,
.doplock-single-summary-card,
.doplock-single-gallery-card,
.doplock-single-highlight-card,
.doplock-single-story-card{
  background:#fff !important;
  border:1px solid rgba(17,17,17,.065) !important;
  box-shadow:0 18px 46px rgba(17,17,17,.055) !important;
}

.doplock-single-gallery-main{
  min-height:420px !important;
  height:420px !important;
  padding:34px !important;
  border-radius:30px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}

.doplock-single-gallery-main img{
  width:100% !important;
  height:100% !important;
  max-width:620px !important;
  max-height:350px !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
}

.doplock-single-gallery-grid{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px !important;
  margin-top:18px !important;
}

.doplock-single-gallery-card{
  margin:0 !important;
  border-radius:24px !important;
  overflow:hidden !important;
}

.doplock-single-gallery-thumb{
  height:205px !important;
  min-height:205px !important;
  padding:22px !important;
  background:#fff !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.doplock-single-gallery-thumb img{
  width:100% !important;
  height:100% !important;
  max-width:none !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  display:block !important;
}

.doplock-single-gallery-card figcaption{
  min-height:92px !important;
  padding:17px 18px 19px !important;
  border-top:1px solid rgba(17,17,17,.06) !important;
}

.doplock-single-gallery-card figcaption strong{
  font-size:18px !important;
  line-height:1.05 !important;
  letter-spacing:-.035em !important;
}

.doplock-single-gallery-card figcaption span{
  font-size:13.5px !important;
  line-height:1.5 !important;
  color:#666a75 !important;
}

.doplock-single-summary-card{
  border-radius:30px !important;
  padding:32px !important;
  position:sticky !important;
  top:104px !important;
}

.doplock-single-summary-card .doplock-eyebrow{
  margin-bottom:10px !important;
}

.doplock-single-summary-card h1{
  margin:0 0 10px !important;
  font-size:clamp(46px,4.8vw,72px) !important;
  line-height:.88 !important;
  letter-spacing:-.075em !important;
}

.doplock-single-price{
  margin:0 0 18px !important;
  font-size:clamp(28px,2.4vw,38px) !important;
}

.doplock-single-lead{
  margin:0 0 20px !important;
  max-width:520px !important;
  color:#60636f !important;
  font-size:16.5px !important;
  line-height:1.65 !important;
}

.doplock-single-features{
  gap:9px !important;
  margin:0 0 22px !important;
}

.doplock-single-features li{
  font-size:15px !important;
  line-height:1.38 !important;
}

.doplock-single-notices{
  gap:12px !important;
  margin:0 0 22px !important;
}

.doplock-single-notice{
  padding:15px 17px !important;
  border-radius:18px !important;
  background:#fff8f1 !important;
  border:1px solid rgba(249,115,22,.20) !important;
}

.doplock-single-notice span{
  margin-bottom:6px !important;
  font-size:11px !important;
  letter-spacing:.11em !important;
}

.doplock-single-notice p{
  color:#6a4b31 !important;
  font-size:13.5px !important;
  line-height:1.48 !important;
}

.doplock-single-cart-direct{
  min-height:56px !important;
  border-radius:999px !important;
  box-shadow:0 16px 34px rgba(17,17,17,.14) !important;
}

.doplock-single-product-content{
  padding-top:26px !important;
}

.doplock-single-highlights{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:18px !important;
  margin-bottom:18px !important;
}

.doplock-single-highlight-card{
  border-radius:22px !important;
  padding:22px !important;
  min-height:122px !important;
}

.doplock-single-highlight-card h3{
  margin:0 0 8px !important;
  font-size:22px !important;
  line-height:1 !important;
  letter-spacing:-.04em !important;
}

.doplock-single-highlight-card p{
  font-size:14.5px !important;
  line-height:1.55 !important;
  color:#626672 !important;
}

.doplock-single-story-grid{
  display:grid !important;
  grid-template-columns:1.05fr .95fr !important;
  gap:18px !important;
}

.doplock-single-story-card{
  border-radius:26px !important;
  padding:26px !important;
}

.doplock-single-story-card h2{
  margin:6px 0 12px !important;
  font-size:clamp(32px,3vw,48px) !important;
  line-height:.94 !important;
  letter-spacing:-.055em !important;
}

.doplock-single-story-card p,
.doplock-single-steps li{
  color:#5f6270 !important;
  font-size:15.5px !important;
  line-height:1.7 !important;
}

.doplock-single-steps{
  padding-left:20px !important;
}

.doplock-single-steps li{
  margin-bottom:10px !important;
  color:#111 !important;
  font-weight:750 !important;
}

@media (max-width:1100px){
  .doplock-single-layout,
  .doplock-single-highlights,
  .doplock-single-story-grid{
    grid-template-columns:1fr !important;
  }

  .doplock-single-summary-card{
    position:relative !important;
    top:auto !important;
  }

  .doplock-single-gallery-main{
    height:390px !important;
    min-height:390px !important;
  }
}

@media (max-width:720px){
  .doplock-single-product-page .doplock-container{
    width:min(100% - 28px, 1180px) !important;
  }

  .doplock-single-gallery-main{
    height:300px !important;
    min-height:300px !important;
    padding:20px !important;
    border-radius:24px !important;
  }

  .doplock-single-gallery-main img{
    max-height:260px !important;
  }

  .doplock-single-gallery-grid{
    grid-template-columns:1fr !important;
  }

  .doplock-single-gallery-thumb{
    height:180px !important;
    min-height:180px !important;
  }

  .doplock-single-summary-card,
  .doplock-single-story-card{
    padding:22px !important;
    border-radius:24px !important;
  }

  .doplock-single-summary-card h1{
    font-size:46px !important;
  }
}



/* 3.3.5 Produktbilder anklickbar + Lightbox */
.doplock-clickable-product-image{
  cursor:zoom-in !important;
  transition:transform .18s ease, filter .18s ease;
}

.doplock-clickable-product-image:hover{
  transform:scale(1.012);
}

.doplock-clickable-product-image:focus{
  outline:3px solid rgba(249,115,22,.28) !important;
  outline-offset:4px !important;
}

html.doplock-lightbox-open{
  overflow:hidden !important;
}

.doplock-image-lightbox[hidden]{
  display:none !important;
}

.doplock-image-lightbox{
  position:fixed;
  inset:0;
  z-index:999999;
  display:grid;
  place-items:center;
  padding:32px;
  opacity:0;
  pointer-events:none;
  transition:opacity .18s ease;
}

.doplock-image-lightbox.is-open{
  opacity:1;
  pointer-events:auto;
}

.doplock-image-lightbox-backdrop{
  position:absolute;
  inset:0;
  background:rgba(8,8,10,.74);
  backdrop-filter:blur(14px);
}

.doplock-image-lightbox-card{
  position:relative;
  z-index:2;
  width:min(1080px, 94vw);
  max-height:88vh;
  margin:0;
  padding:22px;
  border-radius:30px;
  background:#fff;
  box-shadow:0 42px 120px rgba(0,0,0,.36);
  transform:scale(.985);
  transition:transform .18s ease;
}

.doplock-image-lightbox.is-open .doplock-image-lightbox-card{
  transform:scale(1);
}

.doplock-image-lightbox-card img{
  display:block;
  width:100%;
  max-height:76vh;
  object-fit:contain;
  border-radius:20px;
  background:#fff;
}

.doplock-image-lightbox-card figcaption{
  margin-top:12px;
  color:#4b5563;
  font-size:14px;
  line-height:1.45;
  text-align:center;
}

.doplock-image-lightbox-close{
  position:fixed;
  z-index:3;
  top:24px;
  right:24px;
  width:46px;
  height:46px;
  border:0;
  border-radius:999px;
  background:#fff;
  color:#111;
  font-size:28px;
  line-height:1;
  font-weight:800;
  cursor:pointer;
  box-shadow:0 18px 44px rgba(0,0,0,.22);
}

.doplock-image-lightbox-close:hover{
  background:#111;
  color:#fff;
}

@media (max-width:700px){
  .doplock-image-lightbox{
    padding:16px;
  }

  .doplock-image-lightbox-card{
    padding:14px;
    border-radius:22px;
  }

  .doplock-image-lightbox-card img{
    border-radius:16px;
    max-height:72vh;
  }

  .doplock-image-lightbox-close{
    top:14px;
    right:14px;
    width:40px;
    height:40px;
    font-size:24px;
  }
}



/* 3.3.6 Doplock Guide Antworten/Support */
.doplock-guide-inline-link{
  color:#fff !important;
  text-decoration:underline !important;
  font-weight:900 !important;
}

.doplock-guide-message-bot .doplock-guide-inline-link{
  color:#111 !important;
}

.doplock-guide-quick{
  max-height:180px;
  overflow:auto;
  scrollbar-width:thin;
}

.doplock-guide-message{
  white-space:pre-wrap;
}



/* 3.3.7 Apple App Store Download */
.doplock-appstore-btn{
  white-space:nowrap !important;
}

.doplock-app-download-strip{
  padding:0 0 18px !important;
  background:#f7f3ee !important;
}

.doplock-app-download-card{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:22px;
  padding:24px 28px;
  border-radius:28px;
  background:#fff;
  border:1px solid rgba(17,17,17,.07);
  box-shadow:0 16px 44px rgba(17,17,17,.05);
}

.doplock-app-download-card h2{
  margin:4px 0 8px;
  color:#111;
  font-size:clamp(30px,3.2vw,48px);
  line-height:.95;
  letter-spacing:-.055em;
  font-weight:950;
}

.doplock-app-download-card p:not(.doplock-eyebrow){
  margin:0;
  max-width:640px;
  color:#62636c;
  font-size:15px;
  line-height:1.55;
}

.doplock-app-download-card > a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 22px;
  border-radius:999px;
  background:#111;
  color:#fff;
  text-decoration:none;
  font-size:14px;
  font-weight:950;
  white-space:nowrap;
}

.doplock-app-download-card > a:hover{
  transform:translateY(-1px);
  color:#fff;
}

@media (max-width:720px){
  .doplock-app-download-card{
    display:grid;
    padding:22px;
  }

  .doplock-app-download-card > a{
    width:100%;
  }
}



/* 3.3.8 Mobile Full Optimierung */
@media (max-width: 782px){

  html{
    scroll-padding-top:78px !important;
  }

  body{
    overflow-x:hidden !important;
  }

  .site-main,
  .doplock-landing,
  .doplock-simple-shop,
  .doplock-single-product-page{
    overflow-x:hidden !important;
  }

  .doplock-container,
  .doplock-simple-shop .doplock-container,
  .doplock-simple-products-section .doplock-container,
  .doplock-shop-more-section .doplock-container,
  .doplock-fulfillment-section .doplock-container,
  .doplock-single-product-page .doplock-container,
  .woocommerce-cart .woocommerce,
  .woocommerce-checkout .woocommerce{
    width:min(100% - 28px, 1180px) !important;
    margin-inline:auto !important;
  }

  /* Header / Mobile Menü */
  .doplock-mobile-menu-button{
    width:44px !important;
    height:44px !important;
    right:14px !important;
    top:14px !important;
    border-radius:999px !important;
    box-shadow:0 12px 28px rgba(17,17,17,.10) !important;
  }

  .doplock-mobile-menu-panel{
    width:min(92vw, 380px) !important;
    padding:20px !important;
    border-radius:28px 0 0 28px !important;
  }

  .doplock-mobile-menu-brand span{
    font-size:15px !important;
  }

  .doplock-mobile-menu-nav{
    gap:8px !important;
  }

  .doplock-mobile-menu-nav a{
    min-height:48px !important;
    padding:0 16px !important;
    border-radius:16px !important;
    font-size:15px !important;
  }

  .doplock-mobile-menu-cta .doplock-btn{
    width:100% !important;
  }

  /* Startseite Hero */
  .doplock-hero{
    display:flex !important;
    flex-direction:column !important;
    gap:28px !important;
    padding:54px 0 42px !important;
    text-align:left !important;
  }

  .doplock-hero h1{
    max-width:100% !important;
    font-size:clamp(46px, 14vw, 68px) !important;
    line-height:.9 !important;
    letter-spacing:-.065em !important;
    margin-bottom:18px !important;
  }

  .doplock-lead{
    max-width:100% !important;
    font-size:16.5px !important;
    line-height:1.6 !important;
  }

  .doplock-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-top:24px !important;
  }

  .doplock-actions .doplock-btn{
    width:100% !important;
    min-height:52px !important;
  }

  .doplock-hero-media,
  .doplock-card-frame{
    max-width:86% !important;
    margin:0 auto !important;
    justify-self:center !important;
  }

  .doplock-product-img{
    max-width:100% !important;
  }

  /* Allgemeine Sections */
  .doplock-section{
    padding:54px 0 !important;
  }

  .doplock-title{
    font-size:clamp(34px, 10vw, 48px) !important;
    line-height:.98 !important;
    letter-spacing:-.055em !important;
  }

  .doplock-text{
    font-size:16px !important;
    line-height:1.65 !important;
  }

  .doplock-panel{
    padding:24px !important;
    border-radius:26px !important;
  }

  .doplock-two,
  .doplock-trust-grid,
  .doplock-proof-grid,
  .doplock-screen-card-grid,
  .doplock-why-unified-top,
  .doplock-why-unified-bottom{
    grid-template-columns:1fr !important;
  }

  /* Funktion / Showcase Bild */
  .doplock-funktion-showcase-section{
    padding:36px 0 !important;
  }

  .doplock-funktion-showcase img{
    border-radius:18px !important;
    box-shadow:0 14px 34px rgba(17,17,17,.08) !important;
  }

  /* Shop */
  .doplock-simple-shop-hero{
    padding:42px 0 18px !important;
  }

  .doplock-simple-shop-hero h1{
    max-width:100% !important;
    font-size:clamp(44px, 14vw, 66px) !important;
    line-height:.9 !important;
    margin-bottom:10px !important;
  }

  .doplock-simple-shop-hero p:not(.doplock-eyebrow){
    font-size:15.5px !important;
    line-height:1.55 !important;
  }

  .doplock-simple-products-section{
    padding:12px 0 50px !important;
  }

  .doplock-simple-products{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }

  .doplock-simple-product{
    border-radius:26px !important;
  }

  .doplock-simple-badge{
    top:16px !important;
    left:16px !important;
    min-height:30px !important;
    padding:0 12px !important;
    font-size:10.5px !important;
  }

  .doplock-simple-product-media{
    height:220px !important;
    min-height:220px !important;
    padding:42px 18px 8px !important;
  }

  .doplock-simple-product-media img{
    max-height:180px !important;
  }

  .doplock-simple-product-body{
    padding:0 20px 22px !important;
    gap:10px !important;
  }

  .doplock-simple-product-title{
    display:grid !important;
    gap:6px !important;
    margin-bottom:4px !important;
  }

  .doplock-simple-product-title h2{
    max-width:none !important;
    font-size:clamp(36px, 11vw, 48px) !important;
  }

  .doplock-simple-product-title strong{
    margin-left:0 !important;
    font-size:30px !important;
  }

  .doplock-simple-product-text{
    font-size:14px !important;
    line-height:1.48 !important;
  }

  .doplock-simple-product-list{
    gap:6px !important;
  }

  .doplock-simple-product-list li{
    font-size:13px !important;
    line-height:1.36 !important;
  }

  .doplock-simple-note,
  .doplock-compat-note{
    padding:12px 14px !important;
    border-radius:16px !important;
  }

  .doplock-simple-note p,
  .doplock-compat-note p{
    font-size:12.5px !important;
    line-height:1.4 !important;
  }

  .doplock-simple-actions{
    grid-template-columns:1fr !important;
    gap:9px !important;
  }

  .doplock-simple-buy,
  .doplock-simple-more{
    width:100% !important;
    min-height:48px !important;
  }

  /* App Download */
  .doplock-app-download-strip{
    padding:0 0 18px !important;
  }

  .doplock-app-download-card{
    display:grid !important;
    gap:16px !important;
    padding:22px !important;
    border-radius:24px !important;
  }

  .doplock-app-download-card h2{
    font-size:clamp(32px, 10vw, 44px) !important;
  }

  .doplock-app-download-card > a{
    width:100% !important;
  }

  /* Lieferumfang */
  .doplock-fulfillment-section{
    padding:20px 0 60px !important;
  }

  .doplock-fulfillment-card{
    grid-template-columns:1fr !important;
    gap:20px !important;
    padding:20px !important;
    border-radius:26px !important;
  }

  .doplock-fulfillment-visual{
    min-height:230px !important;
    border-radius:20px !important;
  }

  .doplock-fulfillment-visual img{
    padding:14px !important;
  }

  .doplock-fulfillment-copy h2{
    font-size:clamp(36px, 11vw, 52px) !important;
  }

  .doplock-fulfillment-copy > p{
    font-size:15.5px !important;
  }

  .doplock-fulfillment-list div{
    padding:14px !important;
    border-radius:16px !important;
  }

  .doplock-order-info-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .doplock-order-info-grid article{
    padding:20px !important;
    border-radius:22px !important;
  }

  .doplock-order-info-grid h3{
    font-size:24px !important;
  }

  /* Produktdetail */
  .doplock-single-product-page{
    padding:24px 0 60px !important;
  }

  .doplock-single-layout{
    grid-template-columns:1fr !important;
    gap:20px !important;
  }

  .doplock-single-gallery-main{
    height:300px !important;
    min-height:300px !important;
    padding:20px !important;
    border-radius:24px !important;
  }

  .doplock-single-gallery-main img{
    max-height:260px !important;
  }

  .doplock-single-gallery-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .doplock-single-gallery-thumb{
    height:175px !important;
    min-height:175px !important;
    padding:16px !important;
  }

  .doplock-single-gallery-card{
    border-radius:22px !important;
  }

  .doplock-single-summary-card{
    position:relative !important;
    top:auto !important;
    padding:22px !important;
    border-radius:24px !important;
  }

  .doplock-single-summary-card h1{
    font-size:clamp(42px, 13vw, 58px) !important;
  }

  .doplock-single-lead{
    font-size:15.5px !important;
  }

  .doplock-single-highlights,
  .doplock-single-story-grid{
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .doplock-single-highlight-card,
  .doplock-single-story-card{
    padding:20px !important;
    border-radius:22px !important;
  }

  /* Warenkorb */
  .woocommerce-cart .woocommerce{
    width:min(100% - 28px, 1180px) !important;
    padding:28px 0 62px !important;
  }

  .doplock-cart-intro,
  .doplock-empty-cart-intro{
    padding:22px !important;
    border-radius:24px !important;
  }

  .doplock-cart-intro h2,
  .doplock-empty-cart-intro h2{
    font-size:clamp(38px, 12vw, 54px) !important;
  }

  .woocommerce-cart table.cart th{
    display:none !important;
  }

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

  .woocommerce-cart table.cart tr.cart_item{
    display:grid !important;
    grid-template-columns:92px 1fr !important;
    gap:8px 14px !important;
    padding:18px !important;
    border-bottom:1px solid rgba(17,17,17,.08) !important;
  }

  .woocommerce-cart table.cart td{
    padding:4px 0 !important;
    border:0 !important;
    text-align:left !important;
  }

  .woocommerce-cart table.cart .product-thumbnail{
    grid-row:1 / span 5 !important;
  }

  .woocommerce-cart .doplock-cart-thumb-frame{
    width:84px !important;
    height:64px !important;
    border-radius:16px !important;
  }

  .woocommerce-cart .product-name,
  .woocommerce-cart .product-price,
  .woocommerce-cart .product-quantity,
  .woocommerce-cart .product-subtotal,
  .woocommerce-cart .product-remove{
    grid-column:2 !important;
  }

  .woocommerce-cart table.cart .product-name a{
    font-size:16px !important;
  }

  .woocommerce-cart table.cart .quantity{
    min-width:84px !important;
    height:38px !important;
  }

  .woocommerce-cart table.cart td.actions{
    padding:18px !important;
  }

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

  .woocommerce-cart table.cart td.actions .coupon input.input-text,
  .woocommerce-cart table.cart td.actions .coupon .button,
  .woocommerce-cart table.cart td.actions > .button{
    width:100% !important;
    min-width:0 !important;
    float:none !important;
  }

  .woocommerce-cart table.cart td.actions > .button{
    margin-top:10px !important;
  }

  .woocommerce-cart .cart-collaterals{
    display:block !important;
    width:100% !important;
    float:none !important;
  }

  .woocommerce-cart .cart-collaterals .cart_totals{
    margin-top:22px !important;
    padding:22px !important;
    border-radius:24px !important;
  }

  /* Chatbot */
  .doplock-guide-button{
    left:14px !important;
    right:auto !important;
    bottom:14px !important;
    min-height:44px !important;
    padding:0 14px !important;
    border-radius:999px !important;
    font-size:13px !important;
  }

  .doplock-guide-widget{
    left:12px !important;
    right:12px !important;
    bottom:70px !important;
    width:auto !important;
    max-width:none !important;
  }

  .doplock-guide-card{
    border-radius:24px !important;
    max-height:min(78vh, 620px) !important;
  }

  .doplock-guide-quick{
    max-height:150px !important;
  }

  .doplock-guide-form{
    gap:8px !important;
  }

  .doplock-guide-form input{
    min-width:0 !important;
  }

  /* Lightbox */
  .doplock-image-lightbox{
    padding:14px !important;
  }

  .doplock-image-lightbox-card{
    padding:12px !important;
    border-radius:22px !important;
  }

  .doplock-image-lightbox-card img{
    max-height:72vh !important;
    border-radius:16px !important;
  }
}

@media (max-width: 380px){
  .doplock-simple-shop-hero h1,
  .doplock-hero h1{
    font-size:42px !important;
  }

  .doplock-simple-product-title h2,
  .doplock-single-summary-card h1{
    font-size:38px !important;
  }
}



/* 3.3.9 Warenkorb: doppelten WooCommerce-Zurück-zum-Shop Button entfernen */
.woocommerce-cart .return-to-shop,
.woocommerce-cart p.return-to-shop{
  display:none !important;
}

.woocommerce-cart .doplock-empty-cart-intro .doplock-btn,
.woocommerce-cart .doplock-empty-cart-intro a{
  display:inline-flex !important;
}



/* 3.4.0 App Download Banner deutlicher */
.doplock-appstore-btn{ white-space:nowrap !important; }

.doplock-appstore-banner,
.doplock-app-download-card{
  position:relative;
  overflow:hidden;
}

.doplock-appstore-banner{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:18px;
  width:100%;
  margin-top:18px;
  padding:18px 20px;
  border-radius:28px;
  text-decoration:none;
  background:linear-gradient(135deg,#0b0b10 0%,#121826 45%,#0d5bd7 100%);
  color:#fff;
  box-shadow:0 18px 48px rgba(17,17,17,.14);
}

.doplock-appstore-banner::after,
.doplock-app-download-card::after{
  content:"";
  position:absolute;
  inset:auto -80px -80px auto;
  width:220px;
  height:220px;
  border-radius:999px;
  background:radial-gradient(circle,rgba(255,255,255,.18),rgba(255,255,255,0) 65%);
  pointer-events:none;
}

.doplock-appstore-banner__icon,
.doplock-app-download-card__brand{
  flex:0 0 auto;
}

.doplock-appstore-banner__appmark,
.doplock-app-download-card__logo{
  position:relative;
  display:block;
  width:64px;
  height:64px;
  border-radius:18px;
  background:linear-gradient(180deg,#3aa1ff 0%,#0a84ff 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.28),0 10px 22px rgba(0,0,0,.22);
}

.doplock-appstore-banner__appmark i,
.doplock-app-download-card__logo i{
  position:absolute;
  display:block;
  background:#fff;
  border-radius:999px;
}

.doplock-appstore-banner__appmark i:nth-child(1),
.doplock-app-download-card__logo i:nth-child(1){
  width:7px;height:34px;left:23px;top:12px;transform:rotate(28deg);
}
.doplock-appstore-banner__appmark i:nth-child(2),
.doplock-app-download-card__logo i:nth-child(2){
  width:7px;height:34px;right:23px;top:12px;transform:rotate(-28deg);
}
.doplock-appstore-banner__appmark i:nth-child(3),
.doplock-app-download-card__logo i:nth-child(3){
  width:30px;height:7px;left:17px;bottom:16px;
}

.doplock-appstore-banner__copy{
  display:grid;
  gap:4px;
}

.doplock-appstore-banner__eyebrow{
  color:rgba(255,255,255,.75);
  font-size:12px;
  font-weight:800;
  letter-spacing:.14em;
  text-transform:uppercase;
}

.doplock-appstore-banner__copy strong{
  color:#fff;
  font-size:clamp(22px,2.8vw,30px);
  line-height:1.02;
  letter-spacing:-.04em;
}

.doplock-appstore-banner__copy small{
  color:rgba(255,255,255,.84);
  font-size:14px;
  line-height:1.45;
}

.doplock-appstore-banner__cta{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:52px;
  padding:0 22px;
  border-radius:999px;
  background:#fff;
  color:#111;
  font-size:14px;
  font-weight:950;
  white-space:nowrap;
}

.doplock-app-download-strip{
  padding:0 0 22px !important;
  background:#f7f3ee !important;
}

.doplock-app-download-card{
  display:grid;
  grid-template-columns:auto 1fr auto;
  align-items:center;
  gap:24px;
  padding:28px 30px;
  border-radius:30px;
  background:linear-gradient(135deg,#111215 0%,#141926 42%,#0b5fe5 100%);
  border:1px solid rgba(17,17,17,.05);
  box-shadow:0 18px 54px rgba(17,17,17,.08);
  color:#fff;
}

.doplock-app-download-card .doplock-eyebrow{
  color:rgba(255,255,255,.72) !important;
}

.doplock-app-download-card h2{
  margin:4px 0 10px;
  color:#fff;
  font-size:clamp(32px,3.4vw,50px);
  line-height:.95;
  letter-spacing:-.055em;
  font-weight:950;
}

.doplock-app-download-card p:not(.doplock-eyebrow){
  margin:0;
  max-width:720px;
  color:rgba(255,255,255,.84);
  font-size:15px;
  line-height:1.6;
}

.doplock-app-download-card__content{ display:grid; gap:6px; }

.doplock-app-download-card__meta{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin-top:10px;
}

.doplock-app-download-card__meta span,
.doplock-app-download-card__storelabel{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:0 12px;
  border-radius:999px;
  background:rgba(255,255,255,.12);
  color:#fff;
  font-size:12px;
  font-weight:800;
  letter-spacing:.02em;
}

.doplock-app-download-card__actions{
  display:grid;
  justify-items:end;
  gap:12px;
}

.doplock-app-download-card > a,
.doplock-app-download-card__actions > a{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  padding:0 24px;
  border-radius:999px;
  background:#fff;
  color:#111;
  text-decoration:none;
  font-size:14px;
  font-weight:950;
  white-space:nowrap;
  box-shadow:0 8px 24px rgba(0,0,0,.14);
}

.doplock-app-download-card > a:hover,
.doplock-app-download-card__actions > a:hover,
.doplock-appstore-banner:hover{
  transform:translateY(-1px);
}

@media (max-width: 900px){
  .doplock-appstore-banner,
  .doplock-app-download-card{
    grid-template-columns:1fr;
  }

  .doplock-appstore-banner__cta,
  .doplock-app-download-card__actions{
    justify-self:start;
  }

  .doplock-app-download-card__actions{
    justify-items:start;
  }
}

@media (max-width:720px){
  .doplock-appstore-banner{
    grid-template-columns:1fr;
    padding:18px;
    border-radius:24px;
  }

  .doplock-appstore-banner__icon{ order:1; }
  .doplock-appstore-banner__copy{ order:2; }
  .doplock-appstore-banner__cta{
    order:3;
    width:100%;
  }

  .doplock-app-download-card{
    display:grid;
    gap:16px;
    padding:22px;
    border-radius:24px;
  }

  .doplock-app-download-card h2{
    font-size:clamp(32px, 10vw, 44px);
  }

  .doplock-app-download-card__actions,
  .doplock-app-download-card__actions > a{
    width:100%;
  }
}

@media (max-width: 782px){
  .doplock-app-download-strip{
    padding:0 0 18px !important;
  }

  .doplock-app-download-card{
    display:grid !important;
    gap:16px !important;
    padding:22px !important;
    border-radius:24px !important;
  }

  .doplock-app-download-card h2{
    font-size:clamp(32px, 10vw, 44px) !important;
  }

  .doplock-app-download-card__actions,
  .doplock-app-download-card__actions > a,
  .doplock-appstore-banner__cta{
    width:100% !important;
  }
}




/* 3.4.1 App Store Banner im Doplock Webseiten-Stil */
.doplock-appstore-banner,
.doplock-app-download-card{
  text-decoration:none !important;
}

.doplock-appstore-banner{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:22px !important;
  width:min(100%, 760px) !important;
  margin-top:20px !important;
  padding:18px 20px !important;
  border-radius:30px !important;
  background:rgba(255,255,255,.88) !important;
  border:1px solid rgba(17,17,17,.075) !important;
  color:#111 !important;
  box-shadow:0 18px 48px rgba(17,17,17,.07) !important;
  backdrop-filter:blur(10px) !important;
  transform:none !important;
}

.doplock-appstore-banner::after,
.doplock-app-download-card::after{
  display:none !important;
}

.doplock-appstore-official-badge{
  display:inline-flex !important;
  align-items:center !important;
  gap:13px !important;
  flex:0 0 auto !important;
  min-width:230px !important;
  height:72px !important;
  padding:0 22px !important;
  border-radius:18px !important;
  background:#050505 !important;
  color:#fff !important;
  box-shadow:0 12px 28px rgba(17,17,17,.14) !important;
}

.doplock-appstore-apple{
  color:#fff !important;
  font-size:40px !important;
  line-height:1 !important;
  font-weight:700 !important;
  letter-spacing:0 !important;
}

.doplock-appstore-official-badge span:last-child{
  display:grid !important;
  gap:1px !important;
}

.doplock-appstore-official-badge small{
  display:block !important;
  color:#fff !important;
  font-size:13px !important;
  line-height:1 !important;
  letter-spacing:.02em !important;
  font-weight:500 !important;
  text-transform:none !important;
}

.doplock-appstore-official-badge strong{
  display:block !important;
  color:#fff !important;
  font-size:30px !important;
  line-height:.96 !important;
  letter-spacing:-.03em !important;
  font-weight:760 !important;
}

.doplock-appstore-banner__copy{
  display:grid !important;
  gap:4px !important;
  min-width:0 !important;
}

.doplock-appstore-banner__eyebrow{
  color:#ff6b1a !important;
  font-size:11px !important;
  font-weight:950 !important;
  letter-spacing:.14em !important;
  text-transform:uppercase !important;
}

.doplock-appstore-banner__copy strong{
  color:#111 !important;
  font-size:clamp(28px,3vw,42px) !important;
  line-height:.92 !important;
  letter-spacing:-.06em !important;
  font-weight:950 !important;
}

.doplock-appstore-banner__copy small{
  color:#62636c !important;
  font-size:14.5px !important;
  line-height:1.45 !important;
  max-width:420px !important;
}

.doplock-appstore-banner__cta{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:48px !important;
  padding:0 20px !important;
  border-radius:999px !important;
  background:#111 !important;
  color:#fff !important;
  font-size:14px !important;
  font-weight:950 !important;
  white-space:nowrap !important;
}

.doplock-appstore-banner:hover,
.doplock-app-download-card:hover{
  transform:translateY(-1px) !important;
  color:inherit !important;
}

/* Shop Banner länger, ruhiger, passend zur Seite */
.doplock-app-download-strip{
  padding:0 0 26px !important;
  background:#f7f3ee !important;
}

.doplock-app-download-card{
  display:grid !important;
  grid-template-columns:auto minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:28px !important;
  width:100% !important;
  padding:24px 28px !important;
  border-radius:34px !important;
  background:#fff !important;
  border:1px solid rgba(17,17,17,.075) !important;
  color:#111 !important;
  box-shadow:0 18px 54px rgba(17,17,17,.065) !important;
}

.doplock-app-download-card .doplock-eyebrow{
  color:#ff6b1a !important;
  margin:0 0 7px !important;
}

.doplock-app-download-card h2{
  margin:0 0 8px !important;
  color:#111 !important;
  font-size:clamp(34px,4vw,58px) !important;
  line-height:.92 !important;
  letter-spacing:-.065em !important;
  font-weight:950 !important;
}

.doplock-app-download-card p:not(.doplock-eyebrow){
  margin:0 !important;
  max-width:720px !important;
  color:#62636c !important;
  font-size:15.5px !important;
  line-height:1.55 !important;
}

.doplock-app-download-card__content{
  display:block !important;
  min-width:0 !important;
}

.doplock-app-download-card__meta{
  display:flex !important;
  flex-wrap:wrap !important;
  gap:9px !important;
  margin-top:13px !important;
}

.doplock-app-download-card__meta span{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:32px !important;
  padding:0 12px !important;
  border-radius:999px !important;
  background:#f7f3ee !important;
  color:#333642 !important;
  font-size:12px !important;
  font-weight:850 !important;
}

.doplock-app-download-card__actions{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:54px !important;
  padding:0 24px !important;
  border-radius:999px !important;
  background:#111 !important;
  color:#fff !important;
  white-space:nowrap !important;
  box-shadow:0 16px 34px rgba(17,17,17,.13) !important;
}

.doplock-app-download-card__actions span{
  color:#fff !important;
  font-size:14px !important;
  font-weight:950 !important;
}

@media (max-width: 980px){
  .doplock-appstore-banner,
  .doplock-app-download-card{
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .doplock-appstore-official-badge{
    min-width:0 !important;
    width:max-content !important;
    max-width:100% !important;
  }

  .doplock-appstore-banner__cta,
  .doplock-app-download-card__actions{
    width:100% !important;
  }
}

@media (max-width: 720px){
  .doplock-appstore-banner{
    width:100% !important;
    padding:17px !important;
    border-radius:24px !important;
  }

  .doplock-appstore-official-badge{
    height:64px !important;
    padding:0 18px !important;
    border-radius:16px !important;
  }

  .doplock-appstore-apple{
    font-size:35px !important;
  }

  .doplock-appstore-official-badge strong{
    font-size:25px !important;
  }

  .doplock-appstore-official-badge small{
    font-size:11px !important;
  }

  .doplock-appstore-banner__copy strong{
    font-size:32px !important;
  }

  .doplock-app-download-card{
    padding:20px !important;
    border-radius:26px !important;
  }

  .doplock-app-download-card h2{
    font-size:38px !important;
  }
}



/* 3.4.2 Shop-Produktbilder ausgleichen + App-Banner ohne Öffnen-Button */
.doplock-appstore-banner{
  grid-template-columns:auto minmax(0,1fr) !important;
  width:min(100%, 720px) !important;
  padding:20px 24px !important;
  gap:24px !important;
  border-radius:30px !important;
}

.doplock-appstore-banner__cta{
  display:none !important;
}

.doplock-appstore-banner__copy strong{
  font-size:clamp(30px,3.2vw,44px) !important;
}

.doplock-appstore-banner__copy small{
  max-width:460px !important;
}

.doplock-appstore-official-badge{
  min-width:220px !important;
  height:68px !important;
}

/* Shop: beide Produktbilder visuell gleich gross */
.doplock-simple-product-media{
  height:300px !important;
  min-height:300px !important;
  padding:52px 34px 18px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
}

.doplock-simple-product-media img{
  width:auto !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
}

/* Linke Card */
.doplock-simple-product.is-card .doplock-simple-product-media img{
  max-width:72% !important;
  max-height:150px !important;
}

/* Rechter Code bewusst kleiner, damit er gleich gross wirkt wie die Card links */
.doplock-simple-product.is-code .doplock-simple-product-media img{
  max-width:72% !important;
  max-height:150px !important;
}

/* Auch Produktkachel-Abstände stabil halten */
.doplock-simple-product.is-card .doplock-simple-product-media,
.doplock-simple-product.is-code .doplock-simple-product-media{
  background:#fff !important;
}

@media (max-width: 782px){
  .doplock-appstore-banner{
    grid-template-columns:1fr !important;
    width:100% !important;
    padding:18px !important;
    gap:16px !important;
  }

  .doplock-appstore-official-badge{
    width:max-content !important;
    max-width:100% !important;
    height:64px !important;
    min-width:0 !important;
  }

  .doplock-simple-product-media{
    height:230px !important;
    min-height:230px !important;
    padding:44px 22px 10px !important;
  }

  .doplock-simple-product.is-card .doplock-simple-product-media img,
  .doplock-simple-product.is-code .doplock-simple-product-media img{
    max-width:74% !important;
    max-height:130px !important;
  }
}


/* 3.4.3 Feinabgleich: rechtes Code-Bild nochmals leicht kleiner */
.doplock-simple-product.is-code .doplock-simple-product-media img{
  max-width:66% !important;
  max-height:138px !important;
}

@media (max-width: 782px){
  .doplock-simple-product.is-code .doplock-simple-product-media img{
    max-width:68% !important;
    max-height:118px !important;
  }
}




/* =========================================================
   3.5.1 MOBILE ONLY – kleiner, mehr Luft, Warenkorb sauberer
   Desktop bleibt unverändert.
   ========================================================= */
@media (max-width: 782px){
  html, body{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
  }

  body{
    background:#f7f3ee !important;
  }

  /* global: ein wenig Luft links/rechts, nicht alles 100% an den Rand */
  .doplock-container,
  .ct-container,
  .site-main > .ct-container,
  .doplock-simple-shop .doplock-container,
  .doplock-simple-products-section .doplock-container,
  .doplock-shop-more-section .doplock-container,
  .doplock-fulfillment-section .doplock-container,
  .doplock-single-product-page .doplock-container,
  .woocommerce-cart .woocommerce,
  .woocommerce-checkout .woocommerce,
  .woocommerce-account .woocommerce{
    width:calc(100% - 36px) !important;
    max-width:430px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  /* allgemein etwas kleiner */
  .doplock-section{
    padding:38px 0 !important;
  }

  .doplock-title,
  .doplock-cart-intro h2,
  .doplock-empty-cart-intro h2,
  .doplock-fulfillment-copy h2,
  .doplock-single-story-card h2{
    font-size:clamp(31px, 9.2vw, 42px) !important;
    line-height:.96 !important;
    letter-spacing:-.055em !important;
  }

  .doplock-text,
  .doplock-lead,
  .doplock-single-lead,
  .doplock-simple-shop-hero p:not(.doplock-eyebrow),
  .doplock-cart-intro p,
  .doplock-empty-cart-intro p{
    font-size:14.5px !important;
    line-height:1.55 !important;
  }

  .doplock-eyebrow{
    font-size:10px !important;
    letter-spacing:.14em !important;
  }

  .doplock-btn,
  .doplock-simple-buy,
  .doplock-simple-more,
  .doplock-single-cart-direct,
  .single_add_to_cart_button,
  .woocommerce .button,
  .woocommerce button.button,
  .woocommerce a.button{
    min-height:48px !important;
    border-radius:999px !important;
    font-size:14px !important;
    line-height:1 !important;
    padding-left:16px !important;
    padding-right:16px !important;
  }

  /* Header */
  #header [data-row],
  .ct-header [data-row]{
    min-height:66px !important;
  }

  #header [data-id="logo"] img,
  .ct-header [data-id="logo"] img,
  .site-logo-container img,
  .site-branding img{
    width:34px !important;
    max-width:34px !important;
    height:34px !important;
    max-height:34px !important;
  }

  .site-title,
  #header [data-id="logo"] .site-title,
  .ct-header [data-id="logo"] .site-title{
    font-size:20px !important;
  }

  .doplock-mobile-menu-button{
    width:42px !important;
    height:42px !important;
    right:14px !important;
    top:12px !important;
  }

  /* Mobile Menü */
  .doplock-mobile-menu-panel{
    width:min(90vw, 340px) !important;
    padding:18px !important;
    border-radius:24px 0 0 24px !important;
  }

  .doplock-mobile-menu-nav{
    gap:8px !important;
  }

  .doplock-mobile-menu-nav a{
    min-height:47px !important;
    padding:0 15px !important;
    font-size:14px !important;
    border-radius:15px !important;
  }

  .doplock-mobile-menu-cta{
    margin-top:12px !important;
  }

  .doplock-mobile-menu-cta .doplock-btn{
    width:100% !important;
    min-height:50px !important;
  }

  html.doplock-menu-open .doplock-guide-button,
  html.doplock-menu-open .doplock-guide-widget{
    opacity:0 !important;
    pointer-events:none !important;
    visibility:hidden !important;
  }

  /* Floating Guide kleiner, auf Warenkorb/Checkout ganz weg */
  .doplock-guide-button{
    right:12px !important;
    left:auto !important;
    bottom:12px !important;
    min-height:42px !important;
    padding:0 13px !important;
    gap:8px !important;
    font-size:12.5px !important;
    box-shadow:0 12px 26px rgba(0,0,0,.14) !important;
  }

  .doplock-guide-button-dot{
    width:8px !important;
    height:8px !important;
    box-shadow:0 0 0 5px rgba(249,115,22,.14) !important;
  }

  .doplock-guide-widget{
    right:10px !important;
    left:auto !important;
    bottom:62px !important;
    width:min(92vw, 370px) !important;
  }

  .woocommerce-cart .doplock-guide-button,
  .woocommerce-cart .doplock-guide-widget,
  .woocommerce-checkout .doplock-guide-button,
  .woocommerce-checkout .doplock-guide-widget{
    display:none !important;
  }

  /* Startseite Hero */
  .doplock-hero{
    display:flex !important;
    flex-direction:column !important;
    gap:22px !important;
    padding:28px 0 34px !important;
  }

  .doplock-hero-copy{
    order:1 !important;
  }

  .doplock-hero-media,
  .doplock-hero .doplock-card-frame{
    order:2 !important;
    max-width:84% !important;
    margin:4px auto 0 !important;
  }

  .doplock-hero h1{
    font-size:clamp(40px, 12.8vw, 56px) !important;
    line-height:.92 !important;
    letter-spacing:-.065em !important;
    margin-bottom:14px !important;
  }

  .doplock-badge{
    min-height:34px !important;
    padding:0 14px !important;
    font-size:11px !important;
  }

  .doplock-preorder-inline{
    display:grid !important;
    gap:4px !important;
    padding:12px 14px !important;
    border-radius:16px !important;
    font-size:13px !important;
  }

  .doplock-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
    margin-top:18px !important;
  }

  .doplock-actions .doplock-btn{
    width:100% !important;
  }

  /* App Store Banner mobile */
  .doplock-appstore-banner{
    grid-template-columns:1fr !important;
    width:100% !important;
    margin-top:14px !important;
    padding:16px !important;
    gap:13px !important;
    border-radius:22px !important;
  }

  .doplock-appstore-official-badge{
    width:100% !important;
    min-width:0 !important;
    height:60px !important;
    padding:0 17px !important;
    border-radius:15px !important;
  }

  .doplock-appstore-apple{
    font-size:33px !important;
  }

  .doplock-appstore-official-badge strong{
    font-size:24px !important;
  }

  .doplock-appstore-official-badge small{
    font-size:11px !important;
  }

  .doplock-appstore-banner__copy strong{
    font-size:clamp(25px, 8vw, 33px) !important;
  }

  .doplock-appstore-banner__copy small{
    font-size:13.5px !important;
  }

  .doplock-appstore-banner__cta,
  .doplock-app-download-card__actions{
    display:none !important;
  }

  /* Panels / Bilder */
  .doplock-panel,
  .doplock-funktion-showcase,
  .doplock-trust-card,
  .doplock-proof-card,
  .doplock-single-story-card,
  .doplock-single-highlight-card,
  .doplock-fulfillment-card,
  .doplock-order-info-grid article{
    padding:18px !important;
    border-radius:22px !important;
  }

  .doplock-gallery,
  .doplock-trust-grid,
  .doplock-proof-grid,
  .doplock-screen-card-grid{
    gap:12px !important;
  }

  .doplock-gallery{
    grid-template-columns:1fr 1fr !important;
  }

  .doplock-gallery-item,
  .doplock-gallery-item img,
  .doplock-funktion-showcase img{
    border-radius:16px !important;
  }

  /* Shop */
  .doplock-simple-shop-hero{
    padding:28px 0 12px !important;
  }

  .doplock-simple-shop-hero h1{
    font-size:clamp(38px, 12vw, 52px) !important;
    line-height:.92 !important;
    margin-bottom:8px !important;
  }

  .doplock-app-download-strip{
    padding:0 0 16px !important;
  }

  .doplock-app-download-card{
    padding:17px !important;
    border-radius:22px !important;
    gap:13px !important;
  }

  .doplock-app-download-card h2{
    font-size:clamp(28px, 8.8vw, 38px) !important;
    line-height:.95 !important;
  }

  .doplock-app-download-card p:not(.doplock-eyebrow){
    font-size:14px !important;
  }

  .doplock-app-download-card__meta{
    gap:7px !important;
  }

  .doplock-app-download-card__meta span{
    min-height:30px !important;
    padding:0 10px !important;
    font-size:11px !important;
  }

  .doplock-simple-products-section{
    padding:12px 0 42px !important;
  }

  .doplock-simple-products{
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .doplock-simple-product{
    padding:15px !important;
    border-radius:24px !important;
  }

  .doplock-simple-badge{
    left:17px !important;
    top:17px !important;
    min-height:29px !important;
    padding:0 11px !important;
    font-size:10px !important;
  }

  .doplock-simple-product-media{
    height:202px !important;
    min-height:202px !important;
    padding:36px 18px 6px !important;
    border-radius:20px !important;
  }

  .doplock-simple-product.is-card .doplock-simple-product-media img{
    max-width:64% !important;
    max-height:108px !important;
  }

  .doplock-simple-product.is-code .doplock-simple-product-media img{
    max-width:59% !important;
    max-height:100px !important;
  }

  .doplock-simple-product-body{
    padding:0 2px 2px !important;
  }

  .doplock-simple-product-title{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:4px !important;
    margin-bottom:8px !important;
  }

  .doplock-simple-product-title h2{
    font-size:clamp(34px, 10.5vw, 45px) !important;
    line-height:.92 !important;
  }

  .doplock-simple-product-title strong{
    margin:0 !important;
    font-size:21px !important;
    line-height:1 !important;
  }

  .doplock-simple-product-text{
    font-size:13.5px !important;
    line-height:1.45 !important;
  }

  .doplock-simple-product-list li{
    font-size:12.8px !important;
    line-height:1.34 !important;
  }

  .doplock-simple-note,
  .doplock-compat-note{
    padding:11px 12px !important;
    border-radius:15px !important;
  }

  .doplock-simple-note span,
  .doplock-compat-note span{
    font-size:9.5px !important;
  }

  .doplock-simple-note p,
  .doplock-compat-note p{
    font-size:12px !important;
    line-height:1.4 !important;
  }

  .doplock-simple-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
  }

  .doplock-simple-buy,
  .doplock-simple-more{
    width:100% !important;
    min-height:48px !important;
  }

  /* Produktdetail */
  .doplock-single-product-page{
    padding:20px 0 46px !important;
  }

  .doplock-single-gallery-main{
    height:260px !important;
    min-height:260px !important;
    padding:18px !important;
    border-radius:22px !important;
  }

  .doplock-single-gallery-main img{
    max-height:210px !important;
  }

  .doplock-single-summary-card,
  .doplock-single-story-card,
  .doplock-single-highlight-card{
    padding:18px !important;
    border-radius:22px !important;
  }

  .doplock-single-summary-card h1{
    font-size:clamp(36px, 11vw, 48px) !important;
  }

  .doplock-single-price{
    font-size:26px !important;
  }

  /* Warenkorb mobil: neu geordnet */
  .woocommerce-cart .woocommerce{
    width:calc(100% - 28px) !important;
    max-width:430px !important;
    padding:18px 0 42px !important;
  }

  .doplock-cart-intro,
  .doplock-empty-cart-intro{
    padding:18px !important;
    border-radius:22px !important;
    margin-bottom:15px !important;
  }

  .woocommerce-cart table.cart,
  .woocommerce-cart table.shop_table.cart{
    display:block !important;
    width:100% !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:visible !important;
  }

  .woocommerce-cart table.cart thead,
  .woocommerce-cart table.cart th{
    display:none !important;
  }

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

  .woocommerce-cart table.cart tr.cart_item{
    position:relative !important;
    display:grid !important;
    grid-template-columns:82px minmax(0, 1fr) 30px !important;
    grid-template-areas:
      "thumb name remove"
      "thumb price price"
      "thumb qty subtotal" !important;
    gap:9px 12px !important;
    padding:16px !important;
    margin:0 0 14px !important;
    border:1px solid rgba(17,17,17,.08) !important;
    border-radius:22px !important;
    background:#fff !important;
    box-shadow:0 14px 36px rgba(17,17,17,.055) !important;
  }

  .woocommerce-cart table.cart td{
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    text-align:left !important;
  }

  .woocommerce-cart table.cart td::before{
    content:none !important;
    display:none !important;
  }

  .woocommerce-cart table.cart td.product-thumbnail{
    grid-area:thumb !important;
    width:82px !important;
    min-width:82px !important;
  }

  .woocommerce-cart .doplock-cart-thumb-frame,
  .woocommerce-cart table.cart td.product-thumbnail img{
    width:74px !important;
    height:62px !important;
    border-radius:15px !important;
    object-fit:contain !important;
    background:#faf8f5 !important;
    padding:8px !important;
  }

  .woocommerce-cart table.cart td.product-name{
    grid-area:name !important;
    padding-right:0 !important;
  }

  .woocommerce-cart table.cart td.product-name a{
    display:block !important;
    font-size:18px !important;
    line-height:1.05 !important;
    letter-spacing:-.04em !important;
    color:#111 !important;
    text-decoration:none !important;
  }

  .woocommerce-cart .doplock-cart-more-link a,
  .woocommerce-cart .doplock-cart-item-more a{
    font-size:12px !important;
  }

  .woocommerce-cart table.cart td.product-price{
    grid-area:price !important;
    font-size:14px !important;
    font-weight:800 !important;
    color:#575a64 !important;
  }

  .woocommerce-cart table.cart td.product-quantity{
    grid-area:qty !important;
    align-self:center !important;
  }

  .woocommerce-cart table.cart td.product-subtotal{
    grid-area:subtotal !important;
    justify-self:end !important;
    align-self:center !important;
    font-size:16px !important;
    font-weight:950 !important;
    color:#111 !important;
  }

  .woocommerce-cart table.cart td.product-remove{
    grid-area:remove !important;
    justify-self:end !important;
    align-self:start !important;
    width:30px !important;
    height:30px !important;
  }

  .woocommerce-cart table.cart .product-remove a{
    width:30px !important;
    height:30px !important;
    font-size:0 !important;
    background:#f4f4f5 !important;
  }

  .woocommerce-cart table.cart .quantity{
    width:96px !important;
    min-width:96px !important;
    height:38px !important;
  }

  .woocommerce-cart table.cart .quantity input.qty{
    width:100% !important;
    height:36px !important;
    font-size:14px !important;
  }

  .woocommerce-cart table.cart td.actions{
    display:grid !important;
    gap:10px !important;
    padding:14px !important;
    margin-top:8px !important;
    border-radius:20px !important;
    background:#fff !important;
    box-shadow:0 14px 36px rgba(17,17,17,.05) !important;
  }

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

  .woocommerce-cart table.cart td.actions .coupon input.input-text,
  .woocommerce-cart table.cart td.actions .coupon .button,
  .woocommerce-cart table.cart td.actions button.button,
  .woocommerce-cart table.cart td.actions > .button{
    width:100% !important;
    min-width:0 !important;
    min-height:48px !important;
    margin:0 !important;
    float:none !important;
  }

  .woocommerce-cart .cart-collaterals{
    display:block !important;
    width:100% !important;
    margin-top:16px !important;
  }

  .woocommerce-cart .cart-collaterals .cart_totals{
    width:100% !important;
    padding:20px !important;
    border-radius:22px !important;
    box-shadow:0 14px 36px rgba(17,17,17,.055) !important;
  }

  .woocommerce-cart .cart_totals h2{
    font-size:28px !important;
  }

  .woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
    width:100% !important;
    min-height:52px !important;
    padding:0 18px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
  }

  .woocommerce-cart .woocommerce-message,
  .woocommerce-cart .woocommerce-info,
  .woocommerce-cart .woocommerce-error{
    padding:15px 16px 15px 58px !important;
    border-radius:18px !important;
    font-size:13px !important;
  }

  /* Checkout */
  .woocommerce-checkout .woocommerce{
    width:calc(100% - 28px) !important;
    max-width:430px !important;
  }

  .woocommerce-checkout .col2-set,
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review,
  .woocommerce-checkout #order_review_heading{
    width:100% !important;
    float:none !important;
  }

  .woocommerce form .form-row input.input-text,
  .woocommerce form .form-row textarea,
  .woocommerce form .form-row select,
  .select2-container .select2-selection--single{
    min-height:48px !important;
    border-radius:15px !important;
  }

  .woocommerce-checkout #place_order{
    width:100% !important;
    min-height:52px !important;
    border-radius:999px !important;
  }
}


/* =========================================================
   3.6 Code-Produkt + digitale Codes + Bildhintergründe sauber
   ========================================================= */
/* Code-Produktbild ohne doofen weissen Bildhintergrund */
.doplock-simple-product.is-code .doplock-simple-product-media,
.doplock-single-gallery-main,
.doplock-single-gallery-thumb{
  background:#fff !important;
}

.doplock-simple-product.is-code .doplock-simple-product-media img,
.doplock-single-gallery-main img[src*="doplock-code-clean-transparent"],
.doplock-single-gallery-thumb img[src*="doplock-code-clean-transparent"]{
  background:transparent !important;
  box-shadow:none !important;
  border-radius:0 !important;
}

/* Shop Desktop: Card und Code jetzt optisch gleich gross */
.doplock-simple-product.is-card .doplock-simple-product-media img,
.doplock-simple-product.is-code .doplock-simple-product-media img{
  max-width:72% !important;
  max-height:150px !important;
}

@media (max-width: 782px){
  /* Mobile: beide Produktbilder gleich gross, nicht mehr 90% zu gross */
  .doplock-simple-product.is-card .doplock-simple-product-media img,
  .doplock-simple-product.is-code .doplock-simple-product-media img{
    max-width:64% !important;
    max-height:108px !important;
  }

  /* Noch etwas mehr Luft in Shop-Karten */
  .doplock-simple-product-media{
    height:206px !important;
    min-height:206px !important;
    padding:38px 18px 8px !important;
  }
}



/* 3.6 Mobile Warenkorb Clean Fix – nur Handy */
@media (max-width: 782px){

  body.woocommerce-cart{
    background:#f7f3ee !important;
  }

  .woocommerce-cart .woocommerce{
    width:min(100% - 26px, 430px) !important;
    padding:18px 0 44px !important;
    margin-inline:auto !important;
  }

  .woocommerce-cart .woocommerce-notices-wrapper{
    margin-bottom:14px !important;
  }

  .woocommerce-cart .woocommerce-message,
  .woocommerce-cart .woocommerce-info,
  .woocommerce-cart .woocommerce-error{
    display:grid !important;
    grid-template-columns:32px 1fr !important;
    gap:10px !important;
    align-items:center !important;
    padding:16px !important;
    border-radius:22px !important;
    font-size:13px !important;
    line-height:1.35 !important;
  }

  .woocommerce-cart .woocommerce-message::before,
  .woocommerce-cart .woocommerce-info::before,
  .woocommerce-cart .woocommerce-error::before{
    position:static !important;
    transform:none !important;
    width:30px !important;
    height:30px !important;
    margin:0 !important;
  }

  .woocommerce-cart .woocommerce-message .button,
  .woocommerce-cart .woocommerce-message a.button,
  .woocommerce-cart .woocommerce-info .button,
  .woocommerce-cart .woocommerce-info a.button{
    grid-column:1 / -1 !important;
    width:100% !important;
    min-height:44px !important;
    margin:8px 0 0 !important;
    border-radius:999px !important;
    text-align:center !important;
  }

  .doplock-cart-intro,
  .doplock-empty-cart-intro{
    padding:18px !important;
    border-radius:22px !important;
    margin:0 0 14px !important;
  }

  .doplock-cart-intro h2,
  .doplock-empty-cart-intro h2{
    font-size:36px !important;
    line-height:.95 !important;
    letter-spacing:-.055em !important;
  }

  .doplock-cart-intro p,
  .doplock-empty-cart-intro p{
    font-size:14px !important;
    line-height:1.5 !important;
  }

  .woocommerce-cart table.cart{
    display:block !important;
    width:100% !important;
    margin:0 !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
    overflow:visible !important;
  }

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

  .woocommerce-cart table.cart tbody{
    display:grid !important;
    gap:14px !important;
    width:100% !important;
  }

  .woocommerce-cart table.cart tr.cart_item{
    display:grid !important;
    grid-template-columns:78px minmax(0,1fr) 34px !important;
    grid-template-areas:
      "thumb name remove"
      "thumb qty remove"
      "thumb subtotal remove" !important;
    gap:8px 12px !important;
    position:relative !important;
    width:100% !important;
    padding:16px !important;
    border-radius:24px !important;
    background:#fff !important;
    border:1px solid rgba(17,17,17,.07) !important;
    box-shadow:0 14px 34px rgba(17,17,17,.055) !important;
  }

  .woocommerce-cart table.cart td{
    display:block !important;
    width:auto !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    text-align:left !important;
  }

  .woocommerce-cart table.cart td::before{
    display:none !important;
    content:none !important;
  }

  .woocommerce-cart table.cart td.product-thumbnail{
    grid-area:thumb !important;
    align-self:start !important;
  }

  .woocommerce-cart table.cart td.product-name{
    grid-area:name !important;
    padding-right:0 !important;
    min-width:0 !important;
  }

  .woocommerce-cart table.cart td.product-price{
    display:none !important;
  }

  .woocommerce-cart table.cart td.product-quantity{
    grid-area:qty !important;
    margin:0 !important;
  }

  .woocommerce-cart table.cart td.product-subtotal{
    grid-area:subtotal !important;
    margin:0 !important;
    font-size:16px !important;
    font-weight:950 !important;
    color:#111 !important;
  }

  .woocommerce-cart table.cart td.product-remove{
    grid-area:remove !important;
    position:static !important;
    width:34px !important;
    justify-self:end !important;
    align-self:start !important;
  }

  .woocommerce-cart .doplock-cart-thumb-frame{
    width:72px !important;
    height:72px !important;
    margin:0 !important;
    border-radius:18px !important;
    background:#faf8f5 !important;
    box-shadow:none !important;
  }

  .woocommerce-cart table.cart td.product-thumbnail img,
  .woocommerce-cart .doplock-cart-thumb-image{
    width:72px !important;
    height:72px !important;
    max-width:72px !important;
    max-height:72px !important;
    object-fit:contain !important;
    border-radius:18px !important;
    padding:8px !important;
    background:#faf8f5 !important;
    box-shadow:none !important;
  }

  .woocommerce-cart table.cart td.product-name a{
    display:block !important;
    font-size:18px !important;
    line-height:1.05 !important;
    font-weight:950 !important;
    letter-spacing:-.04em !important;
    color:#111 !important;
    text-decoration:none !important;
    margin:0 0 4px !important;
  }

  .woocommerce-cart .doplock-cart-more-link,
  .woocommerce-cart .doplock-cart-item-more{
    margin:0 !important;
  }

  .woocommerce-cart .doplock-cart-more-link a,
  .woocommerce-cart .doplock-cart-item-more a{
    font-size:13px !important;
    line-height:1.2 !important;
    font-weight:850 !important;
    color:#111 !important;
    padding:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }

  .woocommerce-cart table.cart .quantity{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:96px !important;
    min-width:96px !important;
    height:38px !important;
    border-radius:999px !important;
    border:1px solid rgba(249,115,22,.30) !important;
    background:#fff !important;
    overflow:hidden !important;
  }

  .woocommerce-cart table.cart .quantity input.qty{
    width:44px !important;
    height:36px !important;
    min-height:36px !important;
    padding:0 !important;
    border:0 !important;
    background:transparent !important;
    text-align:center !important;
    font-size:14px !important;
    font-weight:900 !important;
  }

  .woocommerce-cart table.cart .product-remove a{
    display:grid !important;
    place-items:center !important;
    width:32px !important;
    height:32px !important;
    border-radius:999px !important;
    background:#f4f4f5 !important;
    color:#71717a !important;
    font-size:0 !important;
    text-decoration:none !important;
  }

  .woocommerce-cart table.cart .product-remove a::before{
    content:"×" !important;
    font-size:22px !important;
    line-height:1 !important;
    font-weight:800 !important;
  }

  /* Aktionen im Warenkorb */
  .woocommerce-cart table.cart tr:not(.cart_item),
  .woocommerce-cart table.cart td.actions{
    display:block !important;
    width:100% !important;
  }

  .woocommerce-cart table.cart td.actions{
    padding:16px !important;
    border-radius:24px !important;
    background:#fff !important;
    border:1px solid rgba(17,17,17,.07) !important;
    box-shadow:0 14px 34px rgba(17,17,17,.045) !important;
    margin:0 !important;
  }

  .woocommerce-cart table.cart td.actions .coupon{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    width:100% !important;
    float:none !important;
    margin:0 0 10px !important;
  }

  .woocommerce-cart table.cart td.actions .coupon label{
    display:none !important;
  }

  .woocommerce-cart table.cart td.actions .coupon input.input-text{
    width:100% !important;
    min-width:0 !important;
    height:50px !important;
    min-height:50px !important;
    border-radius:999px !important;
    padding:0 18px !important;
    font-size:15px !important;
    box-sizing:border-box !important;
  }

  .woocommerce-cart table.cart td.actions .coupon .button,
  .woocommerce-cart table.cart td.actions button[name="apply_coupon"]{
    width:100% !important;
    min-height:50px !important;
    border-radius:999px !important;
    float:none !important;
    background:#ff6b1a !important;
    color:#fff !important;
  }

  .woocommerce-cart table.cart td.actions > .button,
  .woocommerce-cart table.cart td.actions button[name="update_cart"]{
    width:100% !important;
    min-height:50px !important;
    border-radius:999px !important;
    float:none !important;
    margin:0 !important;
    background:#111 !important;
    color:#fff !important;
    opacity:.45 !important;
  }

  .woocommerce-cart table.cart td.actions button[name="update_cart"]:not(:disabled){
    opacity:1 !important;
  }

  .woocommerce-cart .cart-collaterals{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
    width:100% !important;
    margin:14px 0 0 !important;
    float:none !important;
  }

  .woocommerce-cart .cart-collaterals .cart_totals{
    width:100% !important;
    grid-column:auto !important;
    float:none !important;
    padding:18px !important;
    border-radius:24px !important;
    background:#fff !important;
    box-shadow:0 14px 34px rgba(17,17,17,.055) !important;
  }

  .woocommerce-cart .cart_totals h2{
    font-size:28px !important;
    line-height:1 !important;
    margin:0 0 12px !important;
  }

  .woocommerce-cart .cart_totals table,
  .woocommerce-cart .cart_totals tbody,
  .woocommerce-cart .cart_totals tr,
  .woocommerce-cart .cart_totals th,
  .woocommerce-cart .cart_totals td{
    display:block !important;
    width:100% !important;
    text-align:left !important;
  }

  .woocommerce-cart .cart_totals tr{
    padding:10px 0 !important;
    border-bottom:1px solid rgba(17,17,17,.07) !important;
  }

  .woocommerce-cart .cart_totals th{
    padding:0 0 4px !important;
    color:#737680 !important;
    font-size:12px !important;
    text-transform:uppercase !important;
    letter-spacing:.08em !important;
  }

  .woocommerce-cart .cart_totals td{
    padding:0 !important;
    font-size:17px !important;
    font-weight:900 !important;
    color:#111 !important;
  }

  .woocommerce-cart .wc-proceed-to-checkout{
    padding:14px 0 0 !important;
  }

  .woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
    width:100% !important;
    min-height:54px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:999px !important;
    font-size:16px !important;
    font-weight:950 !important;
    background:#111 !important;
    color:#fff !important;
  }

  /* Im Warenkorb stört der Guide auf Handy */
  body.woocommerce-cart .doplock-guide-button,
  body.woocommerce-cart .doplock-guide-widget{
    display:none !important;
  }
}


/* 3.7 Mobile Cart Rebuild – versteckt alten Table-Cart nur mobil und nutzt saubere Karten */
.doplock-mobile-cart-rebuild{
  display:none;
}

@media (max-width: 782px){
  body.woocommerce-cart .doplock-guide-button,
  body.woocommerce-cart .doplock-guide-widget{
    display:none !important;
  }

  body.woocommerce-cart,
  .woocommerce-cart .site-main,
  .woocommerce-cart main{
    background:#f7f3ee !important;
  }

  .woocommerce-cart .woocommerce{
    width:min(100% - 24px, 430px) !important;
    margin:0 auto !important;
    padding:18px 0 44px !important;
  }

  .woocommerce-cart .woocommerce-cart-form__contents,
  .woocommerce-cart table.shop_table.cart,
  .woocommerce-cart table.cart{
    display:none !important;
  }

  .doplock-mobile-cart-rebuild{
    display:grid !important;
    gap:14px !important;
    width:100% !important;
  }

  .doplock-mobile-cart-items{
    display:grid !important;
    gap:12px !important;
  }

  .doplock-mobile-cart-item{
    display:grid !important;
    grid-template-columns:74px minmax(0,1fr) !important;
    gap:14px !important;
    padding:16px !important;
    border-radius:24px !important;
    background:#fff !important;
    border:1px solid rgba(17,17,17,.07) !important;
    box-shadow:0 14px 34px rgba(17,17,17,.055) !important;
  }

  .doplock-mobile-cart-item__image,
  .doplock-mobile-cart-item__image a{
    width:74px !important;
    height:74px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:18px !important;
    background:#faf8f5 !important;
    overflow:hidden !important;
  }

  .doplock-mobile-cart-item__image img,
  .doplock-mobile-cart-item__image .doplock-cart-thumb-image,
  .doplock-mobile-cart-item__image .doplock-cart-thumb-frame{
    width:74px !important;
    height:74px !important;
    max-width:74px !important;
    max-height:74px !important;
    margin:0 !important;
    padding:8px !important;
    object-fit:contain !important;
    border-radius:18px !important;
    background:#faf8f5 !important;
    box-shadow:none !important;
  }

  .doplock-mobile-cart-item__main{
    min-width:0 !important;
    display:grid !important;
    gap:12px !important;
  }

  .doplock-mobile-cart-item__top{
    display:grid !important;
    gap:4px !important;
    min-width:0 !important;
  }

  .doplock-mobile-cart-item__name{
    display:block !important;
    color:#111 !important;
    text-decoration:none !important;
    font-size:18px !important;
    line-height:1.05 !important;
    letter-spacing:-.04em !important;
    font-weight:950 !important;
    word-break:normal !important;
  }

  .doplock-mobile-cart-item__more{
    display:inline-flex !important;
    width:max-content !important;
    color:#111 !important;
    text-decoration:none !important;
    font-size:13px !important;
    font-weight:850 !important;
    line-height:1.2 !important;
  }

  .doplock-mobile-cart-item__controls{
    display:grid !important;
    grid-template-columns:104px minmax(0,1fr) !important;
    gap:12px !important;
    align-items:center !important;
  }

  .doplock-mobile-cart-qty{
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    width:104px !important;
    height:38px !important;
    border:1px solid rgba(249,115,22,.32) !important;
    border-radius:999px !important;
    background:#fff !important;
    overflow:hidden !important;
  }

  .doplock-mobile-cart-qty__btn{
    width:32px !important;
    height:38px !important;
    border:0 !important;
    background:transparent !important;
    color:#7a7d88 !important;
    font-size:17px !important;
    font-weight:700 !important;
    line-height:1 !important;
    cursor:pointer !important;
  }

  .doplock-mobile-cart-qty__input{
    width:38px !important;
    height:38px !important;
    border:0 !important;
    background:transparent !important;
    color:#111 !important;
    font-size:14px !important;
    font-weight:950 !important;
    text-align:center !important;
    padding:0 !important;
    box-shadow:none !important;
    appearance:textfield !important;
    -moz-appearance:textfield !important;
  }

  .doplock-mobile-cart-qty__input::-webkit-outer-spin-button,
  .doplock-mobile-cart-qty__input::-webkit-inner-spin-button{
    -webkit-appearance:none !important;
    margin:0 !important;
  }

  .doplock-mobile-cart-item__sum{
    display:grid !important;
    gap:2px !important;
    justify-items:end !important;
    text-align:right !important;
    min-width:0 !important;
  }

  .doplock-mobile-cart-item__sum span{
    color:#8a8d97 !important;
    font-size:10px !important;
    line-height:1 !important;
    font-weight:850 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
  }

  .doplock-mobile-cart-item__sum strong,
  .doplock-mobile-cart-item__sum .woocommerce-Price-amount{
    color:#111 !important;
    font-size:16px !important;
    line-height:1 !important;
    font-weight:950 !important;
    white-space:nowrap !important;
  }

  .doplock-mobile-cart-item__remove{
    display:inline-flex !important;
    width:max-content !important;
    color:#9ca3af !important;
    text-decoration:none !important;
    font-size:12px !important;
    font-weight:850 !important;
  }

  .doplock-mobile-cart-item__remove:hover{
    color:#111 !important;
  }

  .doplock-mobile-cart-actions{
    display:grid !important;
    gap:12px !important;
    padding:16px !important;
    border-radius:24px !important;
    background:#fff !important;
    border:1px solid rgba(17,17,17,.07) !important;
    box-shadow:0 14px 34px rgba(17,17,17,.045) !important;
  }

  .doplock-mobile-cart-coupon{
    display:grid !important;
    gap:10px !important;
  }

  .doplock-mobile-cart-coupon input,
  .doplock-mobile-cart-coupon .button,
  .doplock-mobile-cart-update{
    width:100% !important;
    min-height:50px !important;
    border-radius:999px !important;
    font-size:15px !important;
    font-weight:900 !important;
    box-sizing:border-box !important;
  }

  .doplock-mobile-cart-coupon input{
    border:1px solid rgba(17,17,17,.09) !important;
    background:#fff !important;
    color:#111 !important;
    padding:0 18px !important;
  }

  .doplock-mobile-cart-coupon .button{
    border:0 !important;
    background:#ff6b1a !important;
    color:#fff !important;
  }

  .doplock-mobile-cart-update{
    border:0 !important;
    background:#111 !important;
    color:#fff !important;
  }

  .woocommerce-cart .cart-collaterals{
    display:grid !important;
    grid-template-columns:1fr !important;
    width:100% !important;
    margin:14px 0 0 !important;
    gap:14px !important;
    float:none !important;
  }

  .woocommerce-cart .cart-collaterals .cart_totals{
    width:100% !important;
    float:none !important;
    grid-column:auto !important;
    padding:18px !important;
    border-radius:24px !important;
    background:#fff !important;
    border:1px solid rgba(17,17,17,.07) !important;
    box-shadow:0 14px 34px rgba(17,17,17,.055) !important;
  }

  .woocommerce-cart .cart_totals h2{
    margin:0 0 12px !important;
    font-size:28px !important;
    line-height:1 !important;
    letter-spacing:-.04em !important;
  }

  .woocommerce-cart .cart_totals table,
  .woocommerce-cart .cart_totals tbody,
  .woocommerce-cart .cart_totals tr,
  .woocommerce-cart .cart_totals th,
  .woocommerce-cart .cart_totals td{
    display:block !important;
    width:100% !important;
    text-align:left !important;
  }

  .woocommerce-cart .cart_totals tr{
    padding:10px 0 !important;
    border-bottom:1px solid rgba(17,17,17,.07) !important;
  }

  .woocommerce-cart .cart_totals th{
    padding:0 0 4px !important;
    color:#747782 !important;
    font-size:12px !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
  }

  .woocommerce-cart .cart_totals td{
    padding:0 !important;
    color:#111 !important;
    font-size:17px !important;
    font-weight:900 !important;
  }

  .woocommerce-cart .wc-proceed-to-checkout{
    padding:14px 0 0 !important;
  }

  .woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
    display:flex !important;
    width:100% !important;
    min-height:54px !important;
    align-items:center !important;
    justify-content:center !important;
    border-radius:999px !important;
    background:#111 !important;
    color:#fff !important;
    font-size:16px !important;
    font-weight:950 !important;
  }

  .woocommerce-cart .woocommerce-message,
  .woocommerce-cart .woocommerce-info,
  .woocommerce-cart .woocommerce-error{
    padding:14px 16px !important;
    border-radius:22px !important;
    font-size:13px !important;
    line-height:1.35 !important;
  }

  .woocommerce-cart .woocommerce-message::before,
  .woocommerce-cart .woocommerce-info::before,
  .woocommerce-cart .woocommerce-error::before{
    display:none !important;
  }
}



/* 4.3 Stable Checkout Payments Layout
   Wichtig: Keine Payment-Buttons per JS verschieben.
   Originale WooCommerce/WooPayments/PayPal/Klarna UI bleibt klickbar.
*/
.woocommerce-checkout form.checkout{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(360px, 440px) !important;
  gap:34px !important;
  align-items:start !important;
}

/* Linke Seite: Kundendaten */
.woocommerce-checkout #customer_details{
  grid-column:1 !important;
  grid-row:auto !important;
  width:100% !important;
  float:none !important;
  margin:0 !important;
}

/* Rechte Seite: Bestellung + normale Zahlungsarten */
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order{
  grid-column:2 !important;
  width:100% !important;
  float:none !important;
  margin:0 !important;
}

/* Express Payments: original lassen, nur per CSS in rechte Spalte setzen */
.woocommerce-checkout form.checkout > #wcpay-express-checkout-wrapper,
.woocommerce-checkout form.checkout > .wcpay-express-checkout-wrapper,
.woocommerce-checkout form.checkout > .wcpay-express-checkout-element,
.woocommerce-checkout form.checkout > #wc-stripe-payment-request-wrapper,
.woocommerce-checkout form.checkout > .wc-stripe-payment-request-wrapper,
.woocommerce-checkout form.checkout > .wc-stripe-wallet-buttons,
.woocommerce-checkout form.checkout > .wc-stripe-express-checkout,
.woocommerce-checkout form.checkout > .wc-stripe-banner-checkout,
.woocommerce-checkout form.checkout > .stripe-gateway-payment-request,
.woocommerce-checkout form.checkout > .express-payment-methods,
.woocommerce-checkout form.checkout > .express-checkout,
.woocommerce-checkout form.checkout > .wc-block-components-express-payment,
.woocommerce-checkout form.checkout > .wc-block-components-express-payment--checkout,
.woocommerce-checkout form.checkout > .wc-block-components-express-payment-continue-rule,
.woocommerce-checkout form.checkout > #pay_with_amazon,
.woocommerce-checkout form.checkout > .amazon-payments-advanced,
.woocommerce-checkout form.checkout > .amazon-pay-button,
.woocommerce-checkout form.checkout > .ppc-button-wrapper,
.woocommerce-checkout form.checkout > #ppc-button-ppcp-gateway{
  grid-column:2 !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 0 12px !important;
}

/* Wenn Express-Wrapper in anderer Containerstruktur liegt */
.woocommerce-checkout .woocommerce > #wcpay-express-checkout-wrapper,
.woocommerce-checkout .woocommerce > .wcpay-express-checkout-wrapper,
.woocommerce-checkout .woocommerce > #wc-stripe-payment-request-wrapper,
.woocommerce-checkout .woocommerce > .wc-stripe-payment-request-wrapper,
.woocommerce-checkout .woocommerce > .express-payment-methods,
.woocommerce-checkout .woocommerce > .express-checkout,
.woocommerce-checkout .woocommerce > #pay_with_amazon,
.woocommerce-checkout .woocommerce > .amazon-payments-advanced,
.woocommerce-checkout .woocommerce > .amazon-pay-button{
  width:min(440px, 100%) !important;
  margin-left:auto !important;
  margin-right:0 !important;
}

/* OR / ODER optisch entfernen, nicht funktional notwendig */
.woocommerce-checkout .wcpay-express-checkout-separator,
.woocommerce-checkout .wc-stripe-payment-request-separator,
.woocommerce-checkout .express-payment-separator,
.woocommerce-checkout .wc-block-components-express-payment-continue-rule{
  display:none !important;
}

/* Rechte Box darf nichts abschneiden */
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-checkout-review-order,
.woocommerce-checkout #payment,
.woocommerce-checkout .woocommerce-checkout-payment{
  overflow:visible !important;
}

/* Payment-Box rechts optisch sauber, aber original klickbar */
.woocommerce-checkout #payment,
.woocommerce-checkout .woocommerce-checkout-payment{
  margin-top:18px !important;
  padding:18px !important;
  border-radius:24px !important;
  background:#fff !important;
  border:1px solid rgba(17,17,17,.07) !important;
  box-shadow:0 14px 34px rgba(17,17,17,.045) !important;
}

.woocommerce-checkout #payment ul.payment_methods,
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods{
  display:grid !important;
  gap:10px !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  list-style:none !important;
}

.woocommerce-checkout #payment ul.payment_methods li,
.woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li,
.woocommerce-checkout .wc_payment_method{
  margin:0 !important;
  padding:14px !important;
  border-radius:18px !important;
  background:#fff !important;
  border:1px solid rgba(17,17,17,.075) !important;
}

.woocommerce-checkout .wc_payment_method input[type="radio"]{
  margin-right:9px !important;
}

.woocommerce-checkout .wc_payment_method label{
  display:inline-flex !important;
  align-items:center !important;
  gap:8px !important;
  flex-wrap:wrap !important;
  font-weight:900 !important;
  color:#111 !important;
  cursor:pointer !important;
}

.woocommerce-checkout .wc_payment_method label img{
  max-height:24px !important;
  width:auto !important;
  object-fit:contain !important;
}

.woocommerce-checkout .payment_box{
  margin:12px 0 0 !important;
  padding:12px !important;
  border-radius:16px !important;
  background:#fbfaf8 !important;
  color:#4b5563 !important;
  font-size:13px !important;
}

.woocommerce-checkout #payment .place-order,
.woocommerce-checkout .woocommerce-checkout-payment .place-order{
  margin:14px 0 0 !important;
  padding:0 !important;
}

.woocommerce-checkout #place_order,
.woocommerce-checkout button[name="woocommerce_checkout_place_order"]{
  width:100% !important;
  min-height:54px !important;
  border-radius:999px !important;
  background:#111 !important;
  color:#fff !important;
  font-size:15px !important;
  font-weight:950 !important;
}

/* Express Buttons rechts sauber füllen */
.woocommerce-checkout form.checkout > #wcpay-express-checkout-wrapper iframe,
.woocommerce-checkout form.checkout > .wcpay-express-checkout-wrapper iframe,
.woocommerce-checkout form.checkout > #wc-stripe-payment-request-wrapper iframe,
.woocommerce-checkout form.checkout > .wc-stripe-payment-request-wrapper iframe,
.woocommerce-checkout form.checkout > .express-payment-methods iframe,
.woocommerce-checkout form.checkout > .express-checkout iframe,
.woocommerce-checkout form.checkout > #pay_with_amazon iframe,
.woocommerce-checkout form.checkout > .amazon-pay-button iframe,
.woocommerce-checkout form.checkout > .ppc-button-wrapper iframe{
  max-width:100% !important;
}

/* Mobile: Zahlungsarten nach oben im Checkout-Flow, aber original klickbar */
@media (max-width: 782px){
  .woocommerce-checkout form.checkout{
    display:block !important;
  }

  .woocommerce-checkout form.checkout > #wcpay-express-checkout-wrapper,
  .woocommerce-checkout form.checkout > .wcpay-express-checkout-wrapper,
  .woocommerce-checkout form.checkout > .wcpay-express-checkout-element,
  .woocommerce-checkout form.checkout > #wc-stripe-payment-request-wrapper,
  .woocommerce-checkout form.checkout > .wc-stripe-payment-request-wrapper,
  .woocommerce-checkout form.checkout > .wc-stripe-wallet-buttons,
  .woocommerce-checkout form.checkout > .wc-stripe-express-checkout,
  .woocommerce-checkout form.checkout > .express-payment-methods,
  .woocommerce-checkout form.checkout > .express-checkout,
  .woocommerce-checkout form.checkout > .wc-block-components-express-payment,
  .woocommerce-checkout form.checkout > #pay_with_amazon,
  .woocommerce-checkout form.checkout > .amazon-payments-advanced,
  .woocommerce-checkout form.checkout > .amazon-pay-button,
  .woocommerce-checkout form.checkout > .ppc-button-wrapper,
  .woocommerce-checkout form.checkout > #ppc-button-ppcp-gateway{
    width:100% !important;
    margin:0 0 12px !important;
  }

  .woocommerce-checkout #payment,
  .woocommerce-checkout .woocommerce-checkout-payment{
    padding:16px !important;
    border-radius:22px !important;
  }

  .woocommerce-checkout #payment ul.payment_methods li,
  .woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods li,
  .woocommerce-checkout .wc_payment_method{
    padding:13px !important;
    border-radius:16px !important;
  }
}



/* =========================================================
   5.0 MOBILE FINAL CLEAN – nur Mobile Ansicht
   Desktop bleibt unverändert.
   Keine Payment-JS-Verschiebung. Originale Payment-Buttons bleiben klickbar.
   ========================================================= */
@media (max-width: 782px){

  html{
    scroll-padding-top:76px !important;
  }

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

  body{
    background:#f7f3ee !important;
  }

  .doplock-container,
  .doplock-landing .doplock-container,
  .doplock-simple-shop .doplock-container,
  .doplock-single-product-page .doplock-container,
  .woocommerce-cart .woocommerce,
  .woocommerce-checkout .woocommerce{
    width:min(100% - 30px, 430px) !important;
    max-width:430px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }

  /* ---------------- Header / Mobile Menu ---------------- */

  .doplock-mobile-menu-button{
    width:42px !important;
    height:42px !important;
    right:14px !important;
    top:14px !important;
    border-radius:999px !important;
    box-shadow:0 12px 26px rgba(17,17,17,.12) !important;
  }

  .doplock-mobile-menu-panel{
    width:min(90vw, 360px) !important;
    padding:18px !important;
    border-radius:24px 0 0 24px !important;
  }

  .doplock-mobile-menu-brand img{
    width:34px !important;
    height:34px !important;
  }

  .doplock-mobile-menu-brand span{
    font-size:15px !important;
  }

  .doplock-mobile-menu-nav{
    display:grid !important;
    gap:8px !important;
  }

  .doplock-mobile-menu-nav a{
    min-height:48px !important;
    padding:0 15px !important;
    border-radius:15px !important;
    font-size:15px !important;
  }

  /* Im Menü nicht doppelt CTA anzeigen */
  .doplock-mobile-menu-cta{
    margin-top:12px !important;
  }

  .doplock-mobile-menu-cta .doplock-btn{
    width:100% !important;
    min-height:50px !important;
  }

  html.doplock-menu-open .doplock-guide-button,
  html.doplock-menu-open .doplock-guide-widget{
    opacity:0 !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }

  /* ---------------- Global Mobile Cards/Buttons ---------------- */

  .doplock-btn,
  .button,
  button.button,
  input.button{
    min-height:48px !important;
    border-radius:999px !important;
  }

  .doplock-section{
    padding:42px 0 !important;
  }

  .doplock-panel,
  .doplock-card,
  .doplock-simple-product,
  .doplock-single-summary-card,
  .doplock-single-story-card,
  .doplock-single-highlight-card,
  .doplock-fulfillment-card,
  .doplock-app-download-card{
    border-radius:24px !important;
  }

  .doplock-eyebrow{
    font-size:10px !important;
    letter-spacing:.14em !important;
  }

  .doplock-title{
    font-size:clamp(34px, 10vw, 46px) !important;
    line-height:.96 !important;
    letter-spacing:-.055em !important;
  }

  .doplock-text,
  .doplock-lead{
    font-size:15px !important;
    line-height:1.56 !important;
  }

  /* ---------------- Startseite Mobile ---------------- */

  .doplock-hero{
    display:flex !important;
    flex-direction:column !important;
    gap:22px !important;
    padding:28px 0 34px !important;
  }

  .doplock-hero-copy{
    order:1 !important;
  }

  .doplock-hero-media,
  .doplock-hero .doplock-card-frame{
    order:2 !important;
    width:100% !important;
    max-width:315px !important;
    margin:4px auto 0 !important;
  }

  .doplock-hero h1{
    font-size:clamp(42px, 13vw, 58px) !important;
    line-height:.93 !important;
    letter-spacing:-.065em !important;
    margin-bottom:14px !important;
  }

  .doplock-badge{
    min-height:34px !important;
    padding:0 14px !important;
    font-size:12px !important;
    margin-bottom:20px !important;
  }

  .doplock-preorder-inline{
    display:grid !important;
    gap:5px !important;
    padding:13px 15px !important;
    border-radius:18px !important;
    margin:18px 0 0 !important;
  }

  .doplock-preorder-inline strong,
  .doplock-preorder-inline span{
    font-size:13px !important;
    line-height:1.32 !important;
  }

  .doplock-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-top:20px !important;
  }

  .doplock-actions .doplock-btn{
    width:100% !important;
    justify-content:center !important;
  }

  .doplock-appstore-banner{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
    width:100% !important;
    margin-top:16px !important;
    padding:17px !important;
    border-radius:24px !important;
  }

  .doplock-appstore-official-badge{
    width:max-content !important;
    max-width:100% !important;
    min-width:0 !important;
    height:62px !important;
    padding:0 17px !important;
    border-radius:16px !important;
  }

  .doplock-appstore-apple{
    font-size:34px !important;
  }

  .doplock-appstore-official-badge strong{
    font-size:24px !important;
  }

  .doplock-appstore-official-badge small{
    font-size:11px !important;
  }

  .doplock-appstore-banner__copy strong{
    font-size:31px !important;
    line-height:.95 !important;
  }

  .doplock-appstore-banner__copy small{
    font-size:13.5px !important;
    line-height:1.45 !important;
  }

  .doplock-funktion-showcase,
  .doplock-gallery,
  .doplock-trust-grid,
  .doplock-proof-grid{
    margin-top:16px !important;
  }

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

  .doplock-gallery-item{
    border-radius:16px !important;
  }

  /* grosse Mindmap/Altbereiche auf Mobile entschlacken */
  .doplock-alltag-mindmap-shell,
  .doplock-real-mindmap,
  .doplock-real-mindmap-card{
    transform:none !important;
  }

  /* ---------------- Shop Mobile ---------------- */

  .doplock-simple-shop-hero{
    padding:26px 0 14px !important;
  }

  .doplock-simple-shop-hero h1{
    font-size:clamp(42px, 12vw, 58px) !important;
    line-height:.92 !important;
    margin-bottom:10px !important;
  }

  .doplock-simple-shop-hero p:not(.doplock-eyebrow){
    font-size:14.5px !important;
    line-height:1.5 !important;
  }

  .doplock-app-download-strip{
    padding:0 0 16px !important;
  }

  .doplock-app-download-card{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
    padding:18px !important;
    border-radius:24px !important;
  }

  .doplock-app-download-card h2{
    font-size:34px !important;
    line-height:.94 !important;
    margin-bottom:6px !important;
  }

  .doplock-app-download-card p{
    font-size:13.5px !important;
    line-height:1.45 !important;
  }

  .doplock-app-download-card__actions{
    display:none !important;
  }

  .doplock-app-download-card__meta{
    display:flex !important;
    flex-wrap:wrap !important;
    gap:7px !important;
    margin-top:10px !important;
  }

  .doplock-app-download-card__meta span{
    min-height:30px !important;
    padding:0 10px !important;
    font-size:11.5px !important;
  }

  .doplock-simple-products-section{
    padding:16px 0 46px !important;
  }

  .doplock-simple-products{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
  }

  .doplock-simple-product{
    padding:16px !important;
    border-radius:24px !important;
    box-shadow:0 18px 42px rgba(17,17,17,.07) !important;
  }

  .doplock-simple-badge{
    top:14px !important;
    left:14px !important;
    min-height:30px !important;
    padding:0 11px !important;
    font-size:10px !important;
  }

  .doplock-simple-product-media{
    height:205px !important;
    min-height:205px !important;
    padding:38px 18px 6px !important;
    border-radius:20px !important;
  }

  .doplock-simple-product.is-card .doplock-simple-product-media img{
    max-width:66% !important;
    max-height:112px !important;
  }

  .doplock-simple-product.is-code .doplock-simple-product-media img{
    max-width:64% !important;
    max-height:108px !important;
  }

  .doplock-simple-product-body{
    padding:0 !important;
  }

  .doplock-simple-product-title{
    display:grid !important;
    grid-template-columns:1fr auto !important;
    gap:10px !important;
    align-items:end !important;
    margin:12px 0 8px !important;
  }

  .doplock-simple-product-title h2{
    font-size:clamp(32px, 10vw, 42px) !important;
    line-height:.95 !important;
    letter-spacing:-.055em !important;
  }

  .doplock-simple-product-title strong{
    font-size:18px !important;
    white-space:nowrap !important;
  }

  .doplock-simple-product-text{
    font-size:13.5px !important;
    line-height:1.45 !important;
    margin-bottom:10px !important;
  }

  .doplock-simple-product-list{
    gap:5px !important;
    margin:0 0 12px !important;
  }

  .doplock-simple-product-list li{
    font-size:12.5px !important;
    line-height:1.28 !important;
  }

  .doplock-simple-note,
  .doplock-compat-note{
    padding:11px 12px !important;
    border-radius:15px !important;
    margin-top:10px !important;
  }

  .doplock-simple-note span,
  .doplock-compat-note span{
    font-size:10px !important;
  }

  .doplock-simple-note p,
  .doplock-compat-note p{
    font-size:12px !important;
    line-height:1.38 !important;
  }

  .doplock-simple-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px !important;
    margin-top:14px !important;
  }

  .doplock-simple-buy,
  .doplock-simple-more{
    width:100% !important;
    min-height:48px !important;
    justify-content:center !important;
  }

  /* ---------------- Produktdetail Mobile ---------------- */

  .doplock-single-product-page{
    padding:20px 0 46px !important;
  }

  .doplock-single-layout{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
  }

  .doplock-single-gallery-main{
    height:255px !important;
    min-height:255px !important;
    padding:18px !important;
    border-radius:22px !important;
  }

  .doplock-single-gallery-main img{
    max-height:215px !important;
    object-fit:contain !important;
  }

  .doplock-single-gallery-grid{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:10px !important;
  }

  .doplock-single-gallery-thumb{
    height:120px !important;
    min-height:120px !important;
    padding:12px !important;
  }

  .doplock-single-gallery-card figcaption{
    padding:12px !important;
    min-height:auto !important;
  }

  .doplock-single-gallery-card figcaption strong{
    font-size:14px !important;
  }

  .doplock-single-gallery-card figcaption span{
    font-size:11.5px !important;
  }

  .doplock-single-summary-card{
    position:relative !important;
    top:auto !important;
    padding:20px !important;
    border-radius:24px !important;
  }

  .doplock-single-summary-card h1{
    font-size:clamp(38px, 12vw, 52px) !important;
    line-height:.92 !important;
  }

  .doplock-single-price{
    font-size:26px !important;
  }

  .doplock-single-lead{
    font-size:14px !important;
    line-height:1.5 !important;
  }

  .doplock-single-cart-direct{
    min-height:52px !important;
    width:100% !important;
  }

  .doplock-single-highlights,
  .doplock-single-story-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .doplock-single-highlight-card,
  .doplock-single-story-card{
    padding:18px !important;
    border-radius:22px !important;
  }

  /* ---------------- Warenkorb Mobile ---------------- */

  body.woocommerce-cart .doplock-guide-button,
  body.woocommerce-cart .doplock-guide-widget{
    display:none !important;
  }

  .woocommerce-cart .woocommerce{
    width:min(100% - 30px, 430px) !important;
    max-width:430px !important;
    padding:18px 0 44px !important;
  }

  .woocommerce-cart .woocommerce-notices-wrapper{
    margin-bottom:12px !important;
  }

  .woocommerce-cart .woocommerce-message,
  .woocommerce-cart .woocommerce-info,
  .woocommerce-cart .woocommerce-error{
    padding:14px 16px !important;
    border-radius:20px !important;
    font-size:13px !important;
    line-height:1.35 !important;
  }

  .doplock-cart-intro,
  .doplock-empty-cart-intro{
    padding:18px !important;
    border-radius:22px !important;
    margin-bottom:14px !important;
  }

  .doplock-cart-intro h2,
  .doplock-empty-cart-intro h2{
    font-size:34px !important;
    line-height:.95 !important;
  }

  .woocommerce-cart form.woocommerce-cart-form > table.cart{
    display:none !important;
  }

  .doplock-mobile-cart-rebuild{
    display:block !important;
    margin:0 !important;
  }

  .doplock-mobile-cart-items{
    display:grid !important;
    gap:12px !important;
  }

  .doplock-mobile-cart-item{
    display:grid !important;
    grid-template-columns:74px minmax(0,1fr) !important;
    gap:12px !important;
    padding:14px !important;
    border-radius:22px !important;
    background:#fff !important;
    border:1px solid rgba(17,17,17,.07) !important;
    box-shadow:0 14px 32px rgba(17,17,17,.05) !important;
  }

  .doplock-mobile-cart-item__image,
  .doplock-mobile-cart-item__image a{
    width:74px !important;
    height:74px !important;
    border-radius:16px !important;
  }

  .doplock-mobile-cart-item__image img,
  .doplock-mobile-cart-item__image .doplock-cart-thumb-frame,
  .doplock-mobile-cart-item__image .doplock-cart-thumb-image{
    width:74px !important;
    height:74px !important;
    max-width:74px !important;
    max-height:74px !important;
    object-fit:contain !important;
    padding:8px !important;
    border-radius:16px !important;
    background:#faf8f5 !important;
    box-shadow:none !important;
    box-sizing:border-box !important;
  }

  .doplock-mobile-cart-item__main{
    min-width:0 !important;
    display:grid !important;
    gap:9px !important;
  }

  .doplock-mobile-cart-item__top{
    display:grid !important;
    gap:4px !important;
  }

  .doplock-mobile-cart-item__name{
    font-size:18px !important;
    line-height:1.05 !important;
    font-weight:950 !important;
    letter-spacing:-.04em !important;
    color:#111 !important;
    text-decoration:none !important;
  }

  .doplock-mobile-cart-item__more{
    font-size:12.5px !important;
    line-height:1.2 !important;
    font-weight:850 !important;
    color:#111 !important;
    text-decoration:none !important;
  }

  .doplock-mobile-cart-item__controls{
    display:grid !important;
    grid-template-columns:100px 1fr !important;
    gap:10px !important;
    align-items:center !important;
  }

  .doplock-mobile-cart-qty{
    width:100px !important;
    height:38px !important;
    border-radius:999px !important;
  }

  .doplock-mobile-cart-qty__btn{
    width:30px !important;
    height:36px !important;
    font-size:14px !important;
  }

  .doplock-mobile-cart-qty__input{
    width:38px !important;
    height:36px !important;
    font-size:14px !important;
  }

  .doplock-mobile-cart-item__sum{
    display:grid !important;
    gap:2px !important;
    text-align:right !important;
  }

  .doplock-mobile-cart-item__sum span{
    font-size:10px !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
    color:#737680 !important;
  }

  .doplock-mobile-cart-item__sum strong,
  .doplock-mobile-cart-item__sum .woocommerce-Price-amount{
    font-size:15px !important;
    font-weight:950 !important;
    color:#111 !important;
  }

  .doplock-mobile-cart-item__remove{
    justify-self:start !important;
    min-height:32px !important;
    padding:0 12px !important;
    border-radius:999px !important;
    background:#f4f4f5 !important;
    color:#52525b !important;
    font-size:12px !important;
    font-weight:850 !important;
    text-decoration:none !important;
  }

  .doplock-mobile-cart-actions{
    display:grid !important;
    gap:10px !important;
    margin-top:12px !important;
    padding:14px !important;
    border-radius:22px !important;
    background:#fff !important;
    border:1px solid rgba(17,17,17,.07) !important;
    box-shadow:0 14px 32px rgba(17,17,17,.045) !important;
  }

  .doplock-mobile-cart-coupon{
    display:grid !important;
    gap:9px !important;
  }

  .doplock-mobile-cart-coupon input,
  .doplock-mobile-cart-coupon .button,
  .doplock-mobile-cart-update{
    width:100% !important;
    min-height:48px !important;
    border-radius:999px !important;
  }

  .doplock-mobile-cart-coupon input{
    padding:0 17px !important;
    border:1px solid rgba(17,17,17,.10) !important;
    font-size:15px !important;
  }

  .doplock-mobile-cart-coupon .button{
    background:#ff6b1a !important;
    color:#fff !important;
    font-weight:950 !important;
  }

  .doplock-mobile-cart-update{
    background:#111 !important;
    color:#fff !important;
    font-weight:950 !important;
    opacity:.45 !important;
  }

  .doplock-mobile-cart-update:not(:disabled){
    opacity:1 !important;
  }

  .woocommerce-cart .cart-collaterals{
    display:block !important;
    width:100% !important;
    margin-top:14px !important;
  }

  .woocommerce-cart .cart-collaterals .cart_totals{
    width:100% !important;
    float:none !important;
    padding:18px !important;
    border-radius:22px !important;
    background:#fff !important;
    border:1px solid rgba(17,17,17,.07) !important;
    box-shadow:0 14px 32px rgba(17,17,17,.05) !important;
  }

  .woocommerce-cart .cart_totals h2{
    font-size:28px !important;
    line-height:1 !important;
  }

  .woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
    width:100% !important;
    min-height:52px !important;
  }

  /* ---------------- Checkout Mobile ---------------- */

  body.woocommerce-checkout .doplock-guide-button,
  body.woocommerce-checkout .doplock-guide-widget{
    display:none !important;
  }

  .woocommerce-checkout .woocommerce{
    width:min(100% - 30px, 430px) !important;
    max-width:430px !important;
    padding:18px 0 46px !important;
  }

  .woocommerce-checkout form.checkout{
    display:block !important;
    width:100% !important;
  }

  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review,
  .woocommerce-checkout .woocommerce-checkout-review-order{
    width:100% !important;
    max-width:100% !important;
    float:none !important;
    margin:0 0 14px !important;
    box-sizing:border-box !important;
  }

  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review,
  .woocommerce-checkout .woocommerce-checkout-review-order{
    padding:18px !important;
    border-radius:22px !important;
    background:#fff !important;
    border:1px solid rgba(17,17,17,.07) !important;
    box-shadow:0 14px 32px rgba(17,17,17,.045) !important;
    overflow:visible !important;
  }

  .woocommerce-checkout .col2-set .col-1,
  .woocommerce-checkout .col2-set .col-2{
    width:100% !important;
    float:none !important;
    margin:0 !important;
    padding:0 !important;
  }

  .woocommerce-checkout h3,
  .woocommerce-checkout #order_review_heading{
    font-size:22px !important;
    line-height:1.05 !important;
    margin:0 0 14px !important;
  }

  .woocommerce-checkout .form-row,
  .woocommerce-checkout p.form-row{
    width:100% !important;
    float:none !important;
    margin:0 0 12px !important;
    padding:0 !important;
  }

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

  .woocommerce-checkout label{
    font-size:13px !important;
    font-weight:800 !important;
    margin-bottom:6px !important;
  }

  .woocommerce-checkout input.input-text,
  .woocommerce-checkout textarea,
  .woocommerce-checkout select,
  .woocommerce-checkout .select2-container .select2-selection--single{
    width:100% !important;
    min-height:48px !important;
    border-radius:16px !important;
    font-size:15px !important;
    box-sizing:border-box !important;
  }

  .woocommerce-checkout textarea{
    min-height:112px !important;
  }

  .woocommerce-checkout table.shop_table,
  .woocommerce-checkout-review-order-table{
    width:100% !important;
    margin:0 0 14px !important;
    border:0 !important;
    table-layout:auto !important;
  }

  .woocommerce-checkout table.shop_table th,
  .woocommerce-checkout table.shop_table td{
    padding:10px 0 !important;
    font-size:13px !important;
    line-height:1.35 !important;
  }

  .woocommerce-checkout #payment,
  .woocommerce-checkout .woocommerce-checkout-payment{
    width:100% !important;
    margin:14px 0 0 !important;
    padding:16px !important;
    border-radius:22px !important;
    background:#fff !important;
    border:1px solid rgba(17,17,17,.07) !important;
    box-shadow:0 14px 32px rgba(17,17,17,.045) !important;
    overflow:visible !important;
  }

  .woocommerce-checkout #payment ul.payment_methods,
  .woocommerce-checkout .woocommerce-checkout-payment ul.payment_methods{
    display:grid !important;
    gap:10px !important;
    padding:0 !important;
    margin:0 !important;
    border:0 !important;
  }

  .woocommerce-checkout .wc_payment_method{
    width:100% !important;
    padding:13px !important;
    border-radius:16px !important;
    border:1px solid rgba(17,17,17,.075) !important;
    box-sizing:border-box !important;
  }

  .woocommerce-checkout .wc_payment_method label{
    display:inline-flex !important;
    align-items:center !important;
    flex-wrap:wrap !important;
    gap:7px !important;
    font-size:14px !important;
    font-weight:900 !important;
  }

  .woocommerce-checkout .wc_payment_method label img{
    max-height:22px !important;
    width:auto !important;
  }

  .woocommerce-checkout .payment_box{
    width:100% !important;
    margin:12px 0 0 !important;
    padding:12px !important;
    border-radius:16px !important;
    background:#fbfaf8 !important;
    box-sizing:border-box !important;
  }

  .woocommerce-checkout .payment_box::before,
  .woocommerce-checkout .payment_box::after{
    display:none !important;
  }

  .woocommerce-checkout .payment_box input,
  .woocommerce-checkout .payment_box iframe,
  .woocommerce-checkout .payment_box .StripeElement,
  .woocommerce-checkout .payment_box .wc-stripe-elements-field{
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  .woocommerce-checkout #place_order,
  .woocommerce-checkout button[name="woocommerce_checkout_place_order"]{
    width:100% !important;
    min-height:54px !important;
    border-radius:999px !important;
    font-size:15px !important;
    font-weight:950 !important;
  }

  .woocommerce-checkout .wcpay-express-checkout-separator,
  .woocommerce-checkout .wc-stripe-payment-request-separator,
  .woocommerce-checkout .express-payment-separator,
  .woocommerce-checkout .wc-block-components-express-payment-continue-rule{
    display:none !important;
  }
}

/* sehr kleine Geräte */
@media (max-width: 380px){
  .doplock-container,
  .woocommerce-cart .woocommerce,
  .woocommerce-checkout .woocommerce{
    width:min(100% - 24px, 430px) !important;
  }

  .doplock-hero h1{
    font-size:40px !important;
  }

  .doplock-simple-product-title h2{
    font-size:31px !important;
  }

  .doplock-mobile-cart-item{
    grid-template-columns:66px minmax(0,1fr) !important;
  }

  .doplock-mobile-cart-item__image,
  .doplock-mobile-cart-item__image a,
  .doplock-mobile-cart-item__image img,
  .doplock-mobile-cart-item__image .doplock-cart-thumb-frame,
  .doplock-mobile-cart-item__image .doplock-cart-thumb-image{
    width:66px !important;
    height:66px !important;
  }

  .doplock-mobile-cart-item__controls{
    grid-template-columns:94px 1fr !important;
  }
}



/* 5.1 TWINT allgemein berücksichtigen
   Keine technische Payment-Verschiebung. TWINT bleibt original vom TWINT/WooCommerce-Plugin klickbar.
*/
.woocommerce-checkout .wc_payment_method[class*="twint"],
.woocommerce-checkout .payment_method_twint,
.woocommerce-checkout li[class*="twint"]{
  border-color:rgba(17,17,17,.09) !important;
}

.woocommerce-checkout .wc_payment_method[class*="twint"] label,
.woocommerce-checkout .payment_method_twint label,
.woocommerce-checkout li[class*="twint"] label{
  font-weight:950 !important;
}

.woocommerce-checkout .wc_payment_method[class*="twint"] label::after,
.woocommerce-checkout .payment_method_twint label::after,
.woocommerce-checkout li[class*="twint"] label::after{
  content:"Schweizer Mobile Payment";
  display:inline-flex;
  align-items:center;
  min-height:24px;
  margin-left:8px;
  padding:0 10px;
  border-radius:999px;
  background:#f7f3ee;
  color:#4b5563;
  font-size:11px;
  line-height:1;
  font-weight:850;
}

@media (max-width:782px){
  .woocommerce-checkout .wc_payment_method[class*="twint"] label::after,
  .woocommerce-checkout .payment_method_twint label::after,
  .woocommerce-checkout li[class*="twint"] label::after{
    margin-left:0 !important;
    margin-top:6px !important;
  }
}



/* 5.2 Mobile Mehr-erfahren Auffalter
   Nur Mobile. Desktop bleibt unverändert.
*/
.doplock-mobile-more-toggle{
  display:none;
}

.doplock-mobile-more-collapse{
  display:contents;
}

.doplock-mobile-more-anchor{
  display:none;
}

@media (max-width: 782px){
  .doplock-mobile-more-anchor{
    display:block !important;
  }

  .doplock-mobile-more-toggle{
    width:100% !important;
    min-height:44px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:space-between !important;
    gap:12px !important;
    margin:12px 0 0 !important;
    padding:0 15px !important;
    border:1px solid rgba(17,17,17,.08) !important;
    border-radius:999px !important;
    background:#f7f3ee !important;
    color:#111 !important;
    font-size:14px !important;
    line-height:1 !important;
    font-weight:950 !important;
    cursor:pointer !important;
    box-shadow:none !important;
  }

  .doplock-mobile-more-toggle strong{
    width:26px !important;
    height:26px !important;
    display:grid !important;
    place-items:center !important;
    border-radius:999px !important;
    background:#111 !important;
    color:#fff !important;
    font-size:17px !important;
    line-height:1 !important;
    font-weight:900 !important;
  }

  .doplock-mobile-more-toggle.is-open{
    background:#111 !important;
    color:#fff !important;
    border-color:#111 !important;
  }

  .doplock-mobile-more-toggle.is-open strong{
    background:#fff !important;
    color:#111 !important;
  }

  .doplock-mobile-more-collapse{
    display:none !important;
  }

  .doplock-mobile-more-collapse.is-open{
    display:grid !important;
    gap:10px !important;
    margin-top:10px !important;
  }

  .doplock-simple-product .doplock-mobile-more-collapse.is-open{
    margin-bottom:4px !important;
  }

  .doplock-single-summary-card .doplock-mobile-more-collapse.is-open{
    margin-bottom:12px !important;
  }

  .doplock-mobile-more-collapse .doplock-simple-product-list,
  .doplock-mobile-more-collapse .doplock-single-features{
    margin:0 !important;
  }

  .doplock-mobile-more-collapse .doplock-simple-note,
  .doplock-mobile-more-collapse .doplock-compat-note{
    margin-top:0 !important;
  }

  .doplock-mobile-more-collapse .doplock-order-info-grid,
  .doplock-mobile-more-collapse .doplock-single-highlights,
  .doplock-mobile-more-collapse .doplock-single-story-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-top:0 !important;
  }

  .doplock-mobile-more-collapse .doplock-fulfillment-list{
    margin-top:0 !important;
  }

  /* Keep buy buttons always visible below collapsed details */
  .doplock-simple-actions,
  .doplock-single-buybox{
    margin-top:14px !important;
  }
}



/* =========================================================
   6.0 MOBILE REBUILD COMPACT
   Ziel: echte mobile Ansicht, weniger Scrollweg, weniger Text,
   Kacheln kompakter, Kaufweg schneller.
   Desktop bleibt unverändert.
   ========================================================= */
@media (max-width: 782px){

  /* Grundlayout kleiner und mit mehr Luft */
  .doplock-container,
  .doplock-landing .doplock-container,
  .doplock-simple-shop .doplock-container,
  .doplock-single-product-page .doplock-container,
  .woocommerce-cart .woocommerce,
  .woocommerce-checkout .woocommerce{
    width:min(100% - 24px, 430px) !important;
    max-width:430px !important;
    margin-left:auto !important;
    margin-right:auto !important;
  }

  body{
    background:#f7f3ee !important;
  }

  .doplock-section{
    padding:28px 0 !important;
  }

  /* ---------------- MOBILE STARTSEITE NEU ---------------- */

  .doplock-hero{
    min-height:auto !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:16px !important;
    padding:18px 0 26px !important;
  }

  .doplock-hero-copy{
    order:1 !important;
  }

  .doplock-hero-media,
  .doplock-hero .doplock-card-frame{
    order:2 !important;
    width:100% !important;
    max-width:250px !important;
    margin:0 auto !important;
    transform:none !important;
  }

  .doplock-hero-media::before,
  .doplock-hero-media::after,
  .doplock-card-frame::before,
  .doplock-card-frame::after{
    opacity:.25 !important;
  }

  .doplock-badge{
    min-height:30px !important;
    padding:0 12px !important;
    font-size:10px !important;
    margin-bottom:14px !important;
  }

  .doplock-hero h1{
    font-size:clamp(36px, 11.5vw, 48px) !important;
    line-height:.95 !important;
    letter-spacing:-.055em !important;
    margin:0 0 10px !important;
  }

  .doplock-lead{
    font-size:14px !important;
    line-height:1.48 !important;
    margin:0 !important;
  }

  .doplock-preorder-inline{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:3px !important;
    padding:11px 13px !important;
    border-radius:16px !important;
    margin:14px 0 0 !important;
  }

  .doplock-preorder-inline strong,
  .doplock-preorder-inline span{
    font-size:12px !important;
    line-height:1.28 !important;
  }

  .doplock-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:9px !important;
    margin-top:16px !important;
  }

  .doplock-actions .doplock-btn{
    width:100% !important;
    min-height:44px !important;
    padding:0 12px !important;
    font-size:13px !important;
    justify-content:center !important;
  }

  .doplock-actions .doplock-btn-primary{
    grid-column:1 / -1 !important;
  }

  .doplock-appstore-banner{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-top:13px !important;
    padding:13px !important;
    border-radius:20px !important;
  }

  .doplock-appstore-official-badge{
    width:max-content !important;
    max-width:100% !important;
    height:52px !important;
    min-width:0 !important;
    padding:0 14px !important;
    border-radius:14px !important;
  }

  .doplock-appstore-apple{
    font-size:29px !important;
  }

  .doplock-appstore-official-badge small{
    font-size:9.5px !important;
  }

  .doplock-appstore-official-badge strong{
    font-size:20px !important;
  }

  .doplock-appstore-banner__eyebrow{
    font-size:9.5px !important;
  }

  .doplock-appstore-banner__copy strong{
    font-size:25px !important;
    line-height:.95 !important;
  }

  .doplock-appstore-banner__copy small{
    font-size:12px !important;
    line-height:1.35 !important;
  }

  /* Am Anfang schwere Sachen ausblenden, um Scrollweg zu sparen */
  .doplock-landing #video,
  .doplock-landing #bilder,
  .doplock-alltag-mindmap-shell,
  .doplock-real-mindmap-section,
  .doplock-trust-section,
  .doplock-proof-section,
  .doplock-why-unified-section{
    display:none !important;
  }

  /* Funktion-Bild kompakter */
  .doplock-funktion-showcase-section{
    padding:20px 0 !important;
  }

  .doplock-funktion-showcase{
    padding:10px !important;
    border-radius:18px !important;
  }

  .doplock-funktion-showcase img{
    border-radius:14px !important;
  }

  /* Text-Karten auf Startseite kleiner */
  .doplock-panel{
    padding:18px !important;
    border-radius:22px !important;
  }

  .doplock-title{
    font-size:clamp(28px, 8.5vw, 38px) !important;
    line-height:.98 !important;
  }

  .doplock-text{
    font-size:13.5px !important;
    line-height:1.48 !important;
  }

  /* ---------------- MOBILE SHOP NEU ---------------- */

  .doplock-simple-shop-hero{
    padding:18px 0 8px !important;
  }

  .doplock-simple-shop-hero h1{
    font-size:clamp(34px, 10vw, 46px) !important;
    line-height:.94 !important;
    margin:0 0 8px !important;
  }

  .doplock-simple-shop-hero p:not(.doplock-eyebrow){
    font-size:13px !important;
    line-height:1.4 !important;
    max-width:330px !important;
  }

  .doplock-app-download-strip{
    padding:0 0 10px !important;
  }

  .doplock-app-download-card{
    display:grid !important;
    grid-template-columns:64px 1fr !important;
    gap:12px !important;
    align-items:center !important;
    padding:13px !important;
    border-radius:20px !important;
  }

  .doplock-app-download-card .doplock-appstore-official-badge{
    width:64px !important;
    min-width:64px !important;
    height:64px !important;
    padding:0 !important;
    justify-content:center !important;
    border-radius:17px !important;
  }

  .doplock-app-download-card .doplock-appstore-official-badge span:not(.doplock-appstore-apple){
    display:none !important;
  }

  .doplock-app-download-card h2{
    font-size:23px !important;
    line-height:1 !important;
    margin:0 0 3px !important;
  }

  .doplock-app-download-card p{
    font-size:12px !important;
    line-height:1.35 !important;
  }

  .doplock-app-download-card__meta,
  .doplock-app-download-card__actions{
    display:none !important;
  }

  .doplock-simple-products-section{
    padding:10px 0 34px !important;
  }

  /* Produktkarten nebeneinander auf Mobile */
  .doplock-simple-products{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:12px !important;
    align-items:stretch !important;
  }

  .doplock-simple-product{
    display:flex !important;
    flex-direction:column !important;
    padding:10px !important;
    border-radius:20px !important;
    min-width:0 !important;
    box-shadow:0 14px 30px rgba(17,17,17,.065) !important;
  }

  .doplock-simple-badge{
    top:9px !important;
    left:9px !important;
    min-height:24px !important;
    padding:0 8px !important;
    font-size:8.5px !important;
    letter-spacing:.04em !important;
  }

  .doplock-simple-product-media{
    height:116px !important;
    min-height:116px !important;
    padding:28px 8px 4px !important;
    border-radius:16px !important;
  }

  .doplock-simple-product.is-card .doplock-simple-product-media img{
    max-width:86% !important;
    max-height:72px !important;
  }

  .doplock-simple-product.is-code .doplock-simple-product-media img{
    max-width:82% !important;
    max-height:70px !important;
  }

  .doplock-simple-product-body{
    display:flex !important;
    flex-direction:column !important;
    flex:1 !important;
    padding:0 !important;
  }

  .doplock-simple-product-title{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:3px !important;
    margin:9px 0 6px !important;
  }

  .doplock-simple-product-title h2{
    font-size:22px !important;
    line-height:.98 !important;
    letter-spacing:-.045em !important;
  }

  .doplock-simple-product-title strong{
    font-size:14px !important;
    line-height:1 !important;
  }

  .doplock-simple-product-text{
    font-size:11.5px !important;
    line-height:1.32 !important;
    margin:0 0 8px !important;
  }

  /* Details auf Mobile nicht sofort zeigen */
  .doplock-simple-product-list,
  .doplock-simple-note,
  .doplock-compat-note,
  .doplock-mobile-more-toggle,
  .doplock-mobile-more-collapse{
    display:none !important;
  }

  .doplock-simple-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:7px !important;
    margin-top:auto !important;
  }

  .doplock-simple-buy,
  .doplock-simple-more{
    width:100% !important;
    min-height:40px !important;
    padding:0 8px !important;
    border-radius:999px !important;
    font-size:11.5px !important;
    font-weight:950 !important;
    justify-content:center !important;
  }

  .doplock-simple-more{
    min-height:34px !important;
    font-size:11px !important;
    background:#f7f3ee !important;
  }

  /* Falls Bildschirm extrem schmal ist, wieder untereinander */
  @media (max-width: 360px){
    .doplock-simple-products{
      grid-template-columns:1fr !important;
    }

    .doplock-simple-product-media{
      height:150px !important;
      min-height:150px !important;
    }

    .doplock-simple-product-title{
      grid-template-columns:1fr auto !important;
      align-items:end !important;
    }
  }

  /* ---------------- MOBILE PRODUKTDETAIL NEU ---------------- */

  .doplock-single-product-page{
    padding:16px 0 34px !important;
  }

  .doplock-single-layout{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:12px !important;
  }

  .doplock-single-gallery-main{
    height:210px !important;
    min-height:210px !important;
    padding:14px !important;
    border-radius:20px !important;
  }

  .doplock-single-gallery-main img{
    max-height:178px !important;
  }

  .doplock-single-gallery-grid{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
    gap:9px !important;
  }

  .doplock-single-gallery-thumb{
    height:92px !important;
    min-height:92px !important;
    padding:9px !important;
  }

  .doplock-single-gallery-card figcaption{
    display:none !important;
  }

  .doplock-single-summary-card{
    padding:17px !important;
    border-radius:22px !important;
  }

  .doplock-single-summary-card h1{
    font-size:clamp(34px, 10vw, 44px) !important;
    line-height:.94 !important;
  }

  .doplock-single-price{
    font-size:23px !important;
    margin-bottom:10px !important;
  }

  .doplock-single-lead{
    font-size:13px !important;
    line-height:1.43 !important;
  }

  .doplock-single-features,
  .doplock-single-notices,
  .doplock-single-product-content{
    display:none !important;
  }

  .doplock-single-cart-direct{
    min-height:48px !important;
  }

  /* ---------------- MOBILE WARENKORB NEU ---------------- */

  body.woocommerce-cart .doplock-guide-button,
  body.woocommerce-cart .doplock-guide-widget{
    display:none !important;
  }

  .woocommerce-cart .woocommerce{
    padding:16px 0 34px !important;
  }

  .doplock-cart-intro{
    display:none !important;
  }

  .woocommerce-cart form.woocommerce-cart-form > table.cart{
    display:none !important;
  }

  .doplock-mobile-cart-rebuild{
    display:block !important;
  }

  .doplock-mobile-cart-items{
    display:grid !important;
    gap:10px !important;
  }

  .doplock-mobile-cart-item{
    display:grid !important;
    grid-template-columns:64px minmax(0,1fr) !important;
    gap:10px !important;
    padding:12px !important;
    border-radius:20px !important;
    background:#fff !important;
    border:1px solid rgba(17,17,17,.07) !important;
    box-shadow:0 12px 26px rgba(17,17,17,.05) !important;
  }

  .doplock-mobile-cart-item__image,
  .doplock-mobile-cart-item__image a,
  .doplock-mobile-cart-item__image img,
  .doplock-mobile-cart-item__image .doplock-cart-thumb-frame,
  .doplock-mobile-cart-item__image .doplock-cart-thumb-image{
    width:64px !important;
    height:64px !important;
    max-width:64px !important;
    max-height:64px !important;
    border-radius:14px !important;
    object-fit:contain !important;
    background:#faf8f5 !important;
    box-shadow:none !important;
  }

  .doplock-mobile-cart-item__main{
    display:grid !important;
    gap:7px !important;
    min-width:0 !important;
  }

  .doplock-mobile-cart-item__name{
    font-size:16px !important;
    line-height:1.05 !important;
    font-weight:950 !important;
  }

  .doplock-mobile-cart-item__more{
    display:none !important;
  }

  .doplock-mobile-cart-item__controls{
    display:grid !important;
    grid-template-columns:90px 1fr !important;
    gap:8px !important;
  }

  .doplock-mobile-cart-qty{
    width:90px !important;
    height:36px !important;
  }

  .doplock-mobile-cart-qty__btn{
    width:28px !important;
    height:34px !important;
  }

  .doplock-mobile-cart-qty__input{
    width:34px !important;
    height:34px !important;
    font-size:13px !important;
  }

  .doplock-mobile-cart-item__sum{
    text-align:right !important;
  }

  .doplock-mobile-cart-item__sum span{
    display:none !important;
  }

  .doplock-mobile-cart-item__sum strong,
  .doplock-mobile-cart-item__sum .woocommerce-Price-amount{
    font-size:14px !important;
    font-weight:950 !important;
  }

  .doplock-mobile-cart-item__remove{
    min-height:30px !important;
    padding:0 10px !important;
    border-radius:999px !important;
    font-size:11px !important;
    background:#f4f4f5 !important;
  }

  .doplock-mobile-cart-actions{
    display:grid !important;
    gap:9px !important;
    margin-top:10px !important;
    padding:12px !important;
    border-radius:20px !important;
    background:#fff !important;
  }

  .doplock-mobile-cart-coupon{
    display:grid !important;
    gap:8px !important;
  }

  .doplock-mobile-cart-coupon input,
  .doplock-mobile-cart-coupon .button,
  .doplock-mobile-cart-update{
    width:100% !important;
    min-height:44px !important;
    border-radius:999px !important;
  }

  .woocommerce-cart .cart-collaterals .cart_totals{
    padding:15px !important;
    border-radius:20px !important;
  }

  .woocommerce-cart .cart_totals h2{
    font-size:24px !important;
  }

  .woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
    min-height:50px !important;
  }

  /* ---------------- MOBILE CHECKOUT NEU ---------------- */

  body.woocommerce-checkout .doplock-guide-button,
  body.woocommerce-checkout .doplock-guide-widget{
    display:none !important;
  }

  .woocommerce-checkout .woocommerce{
    padding:16px 0 36px !important;
  }

  .woocommerce-checkout form.checkout{
    display:block !important;
  }

  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review,
  .woocommerce-checkout .woocommerce-checkout-review-order{
    width:100% !important;
    padding:15px !important;
    margin:0 0 12px !important;
    border-radius:20px !important;
    background:#fff !important;
    border:1px solid rgba(17,17,17,.07) !important;
    box-shadow:0 12px 26px rgba(17,17,17,.045) !important;
    box-sizing:border-box !important;
    overflow:visible !important;
  }

  .woocommerce-checkout .col2-set .col-1,
  .woocommerce-checkout .col2-set .col-2{
    width:100% !important;
    float:none !important;
    padding:0 !important;
    margin:0 !important;
  }

  .woocommerce-checkout h3,
  .woocommerce-checkout #order_review_heading{
    font-size:20px !important;
    margin:0 0 12px !important;
  }

  .woocommerce-checkout .form-row,
  .woocommerce-checkout p.form-row{
    width:100% !important;
    margin:0 0 10px !important;
  }

  .woocommerce-checkout label{
    font-size:12px !important;
    margin-bottom:5px !important;
  }

  .woocommerce-checkout input.input-text,
  .woocommerce-checkout textarea,
  .woocommerce-checkout select,
  .woocommerce-checkout .select2-container .select2-selection--single{
    min-height:44px !important;
    border-radius:14px !important;
    font-size:14px !important;
  }

  .woocommerce-checkout table.shop_table th,
  .woocommerce-checkout table.shop_table td{
    padding:8px 0 !important;
    font-size:12.5px !important;
  }

  .woocommerce-checkout #payment,
  .woocommerce-checkout .woocommerce-checkout-payment{
    margin-top:12px !important;
    padding:13px !important;
    border-radius:18px !important;
  }

  .woocommerce-checkout .wc_payment_method{
    padding:11px !important;
    border-radius:14px !important;
  }

  .woocommerce-checkout .wc_payment_method label{
    font-size:13px !important;
  }

  .woocommerce-checkout .wc_payment_method label img{
    max-height:20px !important;
  }

  .woocommerce-checkout .payment_box{
    padding:10px !important;
    border-radius:14px !important;
    font-size:12.5px !important;
  }

  .woocommerce-checkout #place_order,
  .woocommerce-checkout button[name="woocommerce_checkout_place_order"]{
    min-height:50px !important;
    font-size:14px !important;
  }

  .woocommerce-checkout .wcpay-express-checkout-separator,
  .woocommerce-checkout .wc-stripe-payment-request-separator,
  .woocommerce-checkout .express-payment-separator,
  .woocommerce-checkout .wc-block-components-express-payment-continue-rule{
    display:none !important;
  }
}



/* 6.1 Video am Anfang eingebaut – Desktop + Mobile */
.doplock-video-section{
  padding:24px 0 56px !important;
  background:#f7f3ee !important;
}

.doplock-video-start-card{
  display:grid;
  grid-template-columns:minmax(0,.82fr) minmax(420px,1.18fr);
  gap:28px;
  align-items:center;
  padding:28px;
  border-radius:34px;
  background:#fff;
  border:1px solid rgba(17,17,17,.07);
  box-shadow:0 20px 60px rgba(17,17,17,.06);
}

.doplock-video-start-copy h2{
  margin:6px 0 12px;
}

.doplock-video-start-copy .doplock-text{
  max-width:520px;
}

.doplock-video-start-player{
  overflow:hidden;
  border-radius:26px;
  background:#0b0b0f;
  box-shadow:0 20px 50px rgba(17,17,17,.18);
}

.doplock-video-start-player video{
  display:block;
  width:100%;
  aspect-ratio:16 / 9;
  height:auto;
  object-fit:cover;
  background:#0b0b0f;
}

/* Mobile: Video wieder sichtbar machen, kompakt am Anfang */
@media (max-width: 782px){
  .doplock-landing #video,
  .doplock-video-section{
    display:block !important;
  }

  .doplock-video-section{
    padding:10px 0 24px !important;
  }

  .doplock-video-start-card{
    grid-template-columns:1fr !important;
    gap:14px !important;
    padding:16px !important;
    border-radius:24px !important;
  }

  .doplock-video-start-copy h2{
    font-size:30px !important;
    line-height:.96 !important;
    margin:4px 0 8px !important;
  }

  .doplock-video-start-copy .doplock-text{
    font-size:13.5px !important;
    line-height:1.45 !important;
  }

  .doplock-video-start-player{
    border-radius:18px !important;
  }

  .doplock-video-start-player video{
    aspect-ratio:16 / 9 !important;
    object-fit:cover !important;
  }
}



/* 6.2 Video austauschbar */
.doplock-video-change-note{
  margin:10px 0 0;
  color:#737680;
  font-size:12px;
  line-height:1.35;
  text-align:center;
}

@media (max-width:782px){
  .doplock-video-change-note{
    font-size:11.5px !important;
  }
}



/* 6.3 Video zwischen Alltag und Kurz ansehen */
.doplock-video-section{
  padding-top:24px !important;
  padding-bottom:42px !important;
}

.doplock-video-section + .doplock-funktion-showcase-section{
  padding-top:18px !important;
}

@media (max-width:782px){
  .doplock-video-section{
    padding-top:10px !important;
    padding-bottom:24px !important;
  }

  .doplock-video-section + .doplock-funktion-showcase-section{
    padding-top:10px !important;
  }
}


/* 6.4 Mobile Optimierung Hero + Video */
.doplock-appstore-banner--mobileonly{
  display:none !important;
}

@keyframes doplockMobileCardFloat {
  0%,100% { transform: translate3d(0,0,0) rotate(-1.5deg); }
  50% { transform: translate3d(0,-8px,0) rotate(1.5deg); }
}

@media (max-width: 782px){
  .doplock-appstore-banner--desktoponly{
    display:none !important;
  }

  .doplock-appstore-banner--mobileonly{
    display:flex !important;
    margin-top:14px !important;
    margin-bottom:6px !important;
  }

  .doplock-hero{
    display:flex !important;
    flex-direction:column !important;
    gap:14px !important;
  }

  .doplock-hero-copy{
    display:flex !important;
    flex-direction:column !important;
    gap:0 !important;
  }

  .doplock-hero-media,
  .doplock-hero .doplock-card-frame{
    order:2 !important;
    width:100% !important;
    max-width:330px !important;
    margin:4px auto 0 !important;
    animation:doplockMobileCardFloat 4.8s ease-in-out infinite !important;
  }

  .doplock-appstore-banner--mobileonly{
    order:3 !important;
  }

  .doplock-hero-copy .doplock-lead{
    margin-bottom:10px !important;
  }

  .doplock-preorder-inline{
    margin-bottom:12px !important;
  }

  .doplock-actions{
    margin-bottom:4px !important;
  }

  .doplock-video-start-copy .doplock-text{
    display:none !important;
  }

  .doplock-video-start-card{
    gap:14px !important;
  }

  .doplock-video-start-player video{
    border-radius:18px !important;
  }
}

.doplock-video-change-note{
  display:none !important;
}



/* =========================================================
   6.5 MOBILE FEINSCHLIFF ABSCHNITT FÜR ABSCHNITT
   Desktop bleibt unverändert – ausser: Video ist auf Desktop garantiert sichtbar.
   ========================================================= */

/* Desktop-Absicherung: Video muss sichtbar bleiben */
.doplock-video-section{
  display:block !important;
}

.doplock-video-change-note{
  display:none !important;
}

@media (max-width: 782px){

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

  body{
    background:#f7f3ee !important;
  }

  .doplock-container,
  .doplock-landing .doplock-container,
  .doplock-simple-shop .doplock-container,
  .doplock-single-product-page .doplock-container,
  .woocommerce-cart .woocommerce,
  .woocommerce-checkout .woocommerce{
    width:min(100% - 24px, 430px) !important;
    max-width:430px !important;
    margin-inline:auto !important;
    box-sizing:border-box !important;
  }

  /* 1. HERO – klarer Kaufweg, Karte vor App-Store-Banner */
  .doplock-hero{
    display:flex !important;
    flex-direction:column !important;
    gap:12px !important;
    padding:18px 0 20px !important;
    min-height:auto !important;
  }

  .doplock-hero-copy{
    order:1 !important;
    display:flex !important;
    flex-direction:column !important;
  }

  .doplock-badge{
    width:max-content !important;
    min-height:29px !important;
    padding:0 12px !important;
    margin:0 0 13px !important;
    font-size:10px !important;
  }

  .doplock-hero h1{
    margin:0 0 9px !important;
    font-size:clamp(36px, 11vw, 48px) !important;
    line-height:.94 !important;
    letter-spacing:-.055em !important;
  }

  .doplock-lead{
    margin:0 !important;
    font-size:13.5px !important;
    line-height:1.45 !important;
  }

  .doplock-preorder-inline{
    display:grid !important;
    gap:3px !important;
    margin:12px 0 0 !important;
    padding:10px 12px !important;
    border-radius:15px !important;
  }

  .doplock-preorder-inline strong,
  .doplock-preorder-inline span{
    font-size:11.5px !important;
    line-height:1.25 !important;
  }

  .doplock-actions{
    display:grid !important;
    grid-template-columns:1fr 1fr !important;
    gap:8px !important;
    margin:14px 0 0 !important;
  }

  .doplock-actions .doplock-btn{
    width:100% !important;
    min-height:42px !important;
    padding:0 10px !important;
    font-size:12.5px !important;
    justify-content:center !important;
  }

  .doplock-actions .doplock-btn-primary{
    grid-column:1 / -1 !important;
  }

  .doplock-hero-media,
  .doplock-hero .doplock-card-frame{
    order:2 !important;
    width:100% !important;
    max-width:315px !important;
    margin:2px auto 0 !important;
    animation:doplockMobileCardFloat 5s ease-in-out infinite !important;
  }

  .doplock-hero .doplock-product-img{
    width:100% !important;
    max-height:210px !important;
    object-fit:contain !important;
  }

  .doplock-appstore-banner--desktoponly{
    display:none !important;
  }

  .doplock-appstore-banner--mobileonly{
    order:3 !important;
    display:flex !important;
    width:100% !important;
    margin:10px 0 0 !important;
    padding:12px !important;
    border-radius:18px !important;
    gap:10px !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-official-badge{
    width:max-content !important;
    min-width:0 !important;
    height:50px !important;
    padding:0 13px !important;
    border-radius:13px !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-apple{
    font-size:28px !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-official-badge small{
    font-size:9px !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-official-badge strong{
    font-size:19px !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-banner__eyebrow{
    font-size:9px !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-banner__copy strong{
    font-size:22px !important;
    line-height:.95 !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-banner__copy small{
    font-size:11.5px !important;
    line-height:1.3 !important;
  }

  /* schwere Anfangsbereiche auf Mobile nicht überladen */
  .doplock-landing #bilder,
  .doplock-alltag-mindmap-shell,
  .doplock-trust-section,
  .doplock-proof-section,
  .doplock-why-unified-section{
    display:none !important;
  }

  /* 2. VIDEO – sichtbar, kompakt, ohne Hinweistext */
  .doplock-landing #video,
  .doplock-video-section{
    display:block !important;
  }

  .doplock-video-section{
    padding:12px 0 22px !important;
  }

  .doplock-video-start-card{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:11px !important;
    padding:13px !important;
    border-radius:20px !important;
  }

  .doplock-video-start-copy .doplock-eyebrow{
    font-size:9.5px !important;
  }

  .doplock-video-start-copy h2{
    margin:3px 0 0 !important;
    font-size:28px !important;
    line-height:.96 !important;
    letter-spacing:-.045em !important;
  }

  .doplock-video-start-copy .doplock-text{
    display:none !important;
  }

  .doplock-video-start-player{
    border-radius:16px !important;
  }

  .doplock-video-start-player video{
    width:100% !important;
    aspect-ratio:16 / 9 !important;
    object-fit:cover !important;
    border-radius:16px !important;
  }

  /* 3. KURZ ANSEHEN – kompakter und nicht zu hoch */
  .doplock-funktion-showcase-section{
    display:block !important;
    padding:14px 0 24px !important;
  }

  .doplock-funktion-showcase{
    padding:12px !important;
    border-radius:20px !important;
    overflow:hidden !important;
  }

  .doplock-funktion-showcase img{
    width:100% !important;
    height:auto !important;
    max-height:420px !important;
    object-fit:contain !important;
    border-radius:14px !important;
  }

  /* 4. SHOP / PRODUKTKARTEN – zwei kleine Kacheln, weniger Text */
  .doplock-simple-shop-hero{
    padding:18px 0 8px !important;
  }

  .doplock-simple-shop-hero h1{
    margin:0 0 7px !important;
    font-size:clamp(34px, 10vw, 45px) !important;
    line-height:.94 !important;
  }

  .doplock-simple-shop-hero p:not(.doplock-eyebrow){
    max-width:330px !important;
    font-size:13px !important;
    line-height:1.38 !important;
  }

  .doplock-app-download-card{
    grid-template-columns:56px 1fr !important;
    gap:10px !important;
    padding:12px !important;
    border-radius:18px !important;
  }

  .doplock-app-download-card .doplock-appstore-official-badge{
    width:56px !important;
    min-width:56px !important;
    height:56px !important;
    padding:0 !important;
    justify-content:center !important;
    border-radius:15px !important;
  }

  .doplock-app-download-card .doplock-appstore-official-badge span:not(.doplock-appstore-apple){
    display:none !important;
  }

  .doplock-app-download-card h2{
    font-size:21px !important;
    line-height:1 !important;
    margin:0 0 3px !important;
  }

  .doplock-app-download-card p{
    font-size:11.5px !important;
    line-height:1.3 !important;
  }

  .doplock-app-download-card__meta,
  .doplock-app-download-card__actions{
    display:none !important;
  }

  .doplock-simple-products{
    display:grid !important;
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
    gap:10px !important;
  }

  .doplock-simple-product{
    display:flex !important;
    flex-direction:column !important;
    padding:9px !important;
    border-radius:18px !important;
  }

  .doplock-simple-product-media{
    height:108px !important;
    min-height:108px !important;
    padding:26px 7px 3px !important;
    border-radius:15px !important;
  }

  .doplock-simple-product.is-card .doplock-simple-product-media img{
    max-width:88% !important;
    max-height:68px !important;
  }

  .doplock-simple-product.is-code .doplock-simple-product-media img{
    max-width:84% !important;
    max-height:66px !important;
  }

  .doplock-simple-badge{
    top:8px !important;
    left:8px !important;
    min-height:22px !important;
    padding:0 7px !important;
    font-size:8px !important;
  }

  .doplock-simple-product-title{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:2px !important;
    margin:8px 0 5px !important;
  }

  .doplock-simple-product-title h2{
    font-size:21px !important;
    line-height:.98 !important;
  }

  .doplock-simple-product-title strong{
    font-size:13px !important;
  }

  .doplock-simple-product-text{
    font-size:11px !important;
    line-height:1.28 !important;
    margin:0 0 7px !important;
  }

  .doplock-simple-product-list,
  .doplock-simple-note,
  .doplock-compat-note,
  .doplock-mobile-more-toggle,
  .doplock-mobile-more-collapse{
    display:none !important;
  }

  .doplock-simple-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:6px !important;
    margin-top:auto !important;
  }

  .doplock-simple-buy,
  .doplock-simple-more{
    min-height:38px !important;
    padding:0 7px !important;
    font-size:11px !important;
  }

  .doplock-simple-more{
    min-height:32px !important;
    background:#f7f3ee !important;
  }

  @media (max-width:360px){
    .doplock-simple-products{
      grid-template-columns:1fr !important;
    }
  }

  /* 5. CHECKOUT / WARENKORB – stabil, nicht überladen */
  body.woocommerce-cart .doplock-guide-button,
  body.woocommerce-cart .doplock-guide-widget,
  body.woocommerce-checkout .doplock-guide-button,
  body.woocommerce-checkout .doplock-guide-widget{
    display:none !important;
  }

  .woocommerce-cart .woocommerce,
  .woocommerce-checkout .woocommerce{
    padding:14px 0 34px !important;
  }

  .doplock-cart-intro{
    display:none !important;
  }

  .woocommerce-cart form.woocommerce-cart-form > table.cart{
    display:none !important;
  }

  .doplock-mobile-cart-rebuild{
    display:block !important;
  }

  .doplock-mobile-cart-items{
    gap:9px !important;
  }

  .doplock-mobile-cart-item{
    grid-template-columns:62px minmax(0,1fr) !important;
    gap:9px !important;
    padding:11px !important;
    border-radius:18px !important;
  }

  .doplock-mobile-cart-item__image,
  .doplock-mobile-cart-item__image a,
  .doplock-mobile-cart-item__image img,
  .doplock-mobile-cart-item__image .doplock-cart-thumb-frame,
  .doplock-mobile-cart-item__image .doplock-cart-thumb-image{
    width:62px !important;
    height:62px !important;
    max-width:62px !important;
    max-height:62px !important;
    border-radius:13px !important;
  }

  .doplock-mobile-cart-item__name{
    font-size:15.5px !important;
    line-height:1.05 !important;
  }

  .doplock-mobile-cart-item__more{
    display:none !important;
  }

  .doplock-mobile-cart-item__controls{
    grid-template-columns:88px 1fr !important;
    gap:8px !important;
  }

  .doplock-mobile-cart-qty{
    width:88px !important;
    height:34px !important;
  }

  .doplock-mobile-cart-item__sum strong,
  .doplock-mobile-cart-item__sum .woocommerce-Price-amount{
    font-size:13.5px !important;
  }

  .doplock-mobile-cart-actions,
  .woocommerce-cart .cart-collaterals .cart_totals{
    padding:12px !important;
    border-radius:18px !important;
  }

  .doplock-mobile-cart-coupon input,
  .doplock-mobile-cart-coupon .button,
  .doplock-mobile-cart-update,
  .woocommerce-cart .wc-proceed-to-checkout a.checkout-button{
    min-height:44px !important;
  }

  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review,
  .woocommerce-checkout .woocommerce-checkout-review-order{
    padding:14px !important;
    border-radius:18px !important;
    margin-bottom:10px !important;
  }

  .woocommerce-checkout h3,
  .woocommerce-checkout #order_review_heading{
    font-size:19px !important;
    margin-bottom:11px !important;
  }

  .woocommerce-checkout .form-row,
  .woocommerce-checkout p.form-row{
    margin-bottom:9px !important;
  }

  .woocommerce-checkout input.input-text,
  .woocommerce-checkout textarea,
  .woocommerce-checkout select,
  .woocommerce-checkout .select2-container .select2-selection--single{
    min-height:43px !important;
    border-radius:13px !important;
    font-size:14px !important;
  }

  .woocommerce-checkout table.shop_table th,
  .woocommerce-checkout table.shop_table td{
    padding:7px 0 !important;
    font-size:12.5px !important;
  }

  .woocommerce-checkout #payment,
  .woocommerce-checkout .woocommerce-checkout-payment{
    padding:12px !important;
    border-radius:17px !important;
  }

  .woocommerce-checkout .wc_payment_method{
    padding:10px !important;
    border-radius:13px !important;
  }

  .woocommerce-checkout .wc_payment_method label{
    font-size:13px !important;
  }

  .woocommerce-checkout #place_order,
  .woocommerce-checkout button[name="woocommerce_checkout_place_order"]{
    min-height:48px !important;
  }
}


/* =========================================================
   6.6 MOBILE HERO CTA FIX
   - "Kurz ansehen" auf Mobile ausblenden
   - "Jetzt vorbestellen" unter die Karte verschieben
   ========================================================= */
@media (max-width: 782px){
  .doplock-hero{
    display:flex !important;
    flex-direction:column !important;
  }

  .doplock-hero-copy{
    display:contents !important;
  }

  .doplock-badge{ order:1 !important; }
  .doplock-hero h1{ order:2 !important; }
  .doplock-lead{ order:3 !important; }
  .doplock-preorder-inline{ order:4 !important; }
  .doplock-hero-media,
  .doplock-hero .doplock-card-frame{ order:5 !important; }
  .doplock-actions{ order:6 !important; }
  .doplock-appstore-banner--mobileonly{ order:7 !important; }

  .doplock-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
    margin:12px 0 0 !important;
  }

  .doplock-actions .doplock-btn-primary{
    grid-column:auto !important;
    width:100% !important;
  }

  .doplock-actions .doplock-btn-secondary,
  .doplock-actions a[href="#funktion"]{
    display:none !important;
  }
}



/* =========================================================
   6.7 MOBILE HOMEPAGE CLEAN
   Fokus: Hauptseite Mobile. Desktop bleibt unverändert.
   Ziel: weniger Scrollweg, klare Reihenfolge, weniger überladen.
   ========================================================= */
@media (max-width: 782px){

  body.home,
  body.front-page,
  .doplock-landing{
    background:#f7f3ee !important;
    overflow-x:hidden !important;
  }

  .doplock-landing .doplock-container,
  .doplock-container{
    width:min(100% - 26px, 430px) !important;
    max-width:430px !important;
    margin-left:auto !important;
    margin-right:auto !important;
    box-sizing:border-box !important;
  }

  .doplock-hero{
    display:flex !important;
    flex-direction:column !important;
    gap:11px !important;
    padding:18px 0 18px !important;
    min-height:auto !important;
  }

  .doplock-hero-copy{
    display:contents !important;
  }

  .doplock-badge{
    order:1 !important;
    width:max-content !important;
    min-height:28px !important;
    padding:0 11px !important;
    margin:0 0 10px !important;
    font-size:9.5px !important;
    letter-spacing:.06em !important;
  }

  .doplock-hero h1{
    order:2 !important;
    margin:0 0 8px !important;
    font-size:clamp(34px, 10.5vw, 46px) !important;
    line-height:.94 !important;
    letter-spacing:-.055em !important;
  }

  .doplock-lead{
    order:3 !important;
    margin:0 !important;
    max-width:310px !important;
    font-size:13px !important;
    line-height:1.42 !important;
  }

  .doplock-preorder-inline{
    order:4 !important;
    display:grid !important;
    gap:2px !important;
    margin:10px 0 0 !important;
    padding:10px 12px !important;
    border-radius:15px !important;
    background:#fff7ed !important;
  }

  .doplock-preorder-inline strong,
  .doplock-preorder-inline span{
    font-size:11px !important;
    line-height:1.23 !important;
  }

  .doplock-hero-media,
  .doplock-hero .doplock-card-frame{
    order:5 !important;
    width:100% !important;
    max-width:300px !important;
    margin:6px auto 0 !important;
    transform:none !important;
    animation:doplockMobileCardFloat 5s ease-in-out infinite !important;
  }

  .doplock-hero .doplock-product-img{
    width:100% !important;
    max-height:195px !important;
    object-fit:contain !important;
  }

  .doplock-actions{
    order:6 !important;
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:0 !important;
    margin:10px 0 0 !important;
    width:100% !important;
  }

  .doplock-actions .doplock-btn-primary{
    display:flex !important;
    width:100% !important;
    min-height:46px !important;
    justify-content:center !important;
    font-size:13px !important;
  }

  .doplock-actions .doplock-btn-secondary,
  .doplock-actions a[href="#funktion"]{
    display:none !important;
  }

  .doplock-appstore-banner--desktoponly{
    display:none !important;
  }

  .doplock-appstore-banner--mobileonly{
    order:7 !important;
    display:grid !important;
    grid-template-columns:80px 1fr !important;
    align-items:center !important;
    width:100% !important;
    gap:10px !important;
    margin:10px 0 0 !important;
    padding:12px !important;
    border-radius:18px !important;
    background:#fff !important;
    box-shadow:0 12px 28px rgba(17,17,17,.055) !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-official-badge{
    width:80px !important;
    min-width:80px !important;
    height:52px !important;
    padding:0 !important;
    justify-content:center !important;
    border-radius:14px !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-official-badge span:not(.doplock-appstore-apple){
    display:none !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-apple{
    font-size:28px !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-banner__eyebrow{
    font-size:9px !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-banner__copy strong{
    font-size:21px !important;
    line-height:.96 !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-banner__copy small{
    font-size:11.5px !important;
    line-height:1.3 !important;
  }

  .doplock-landing #bilder,
  .doplock-alltag-mindmap-shell,
  .doplock-real-mindmap-section,
  .doplock-trust-section,
  .doplock-proof-section,
  .doplock-why-unified-section{
    display:none !important;
  }

  .doplock-video-section{
    display:block !important;
    padding:10px 0 18px !important;
  }

  .doplock-video-start-card{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    padding:13px !important;
    border-radius:20px !important;
    background:#fff !important;
  }

  .doplock-video-start-copy .doplock-eyebrow{
    font-size:9px !important;
    margin:0 !important;
  }

  .doplock-video-start-copy h2{
    margin:2px 0 0 !important;
    font-size:26px !important;
    line-height:.98 !important;
    letter-spacing:-.045em !important;
  }

  .doplock-video-start-copy .doplock-text{
    display:none !important;
  }

  .doplock-video-start-player{
    border-radius:16px !important;
    overflow:hidden !important;
  }

  .doplock-video-start-player video{
    width:100% !important;
    aspect-ratio:16 / 9 !important;
    object-fit:cover !important;
    border-radius:16px !important;
    display:block !important;
  }

  .doplock-video-change-note{
    display:none !important;
  }

  .doplock-funktion-showcase-section{
    display:block !important;
    padding:10px 0 22px !important;
  }

  .doplock-funktion-showcase{
    padding:10px !important;
    border-radius:20px !important;
    background:#fff !important;
    overflow:hidden !important;
  }

  .doplock-funktion-showcase img{
    width:100% !important;
    height:auto !important;
    max-height:380px !important;
    object-fit:contain !important;
    border-radius:14px !important;
    display:block !important;
  }

  .doplock-faq-home{
    padding:22px 0 34px !important;
  }

  .doplock-faq-home .doplock-title{
    font-size:30px !important;
  }

  .doplock-faq-item{
    border-radius:16px !important;
  }

  .doplock-faq-item summary{
    min-height:48px !important;
    padding:0 14px !important;
    font-size:14px !important;
  }

  .doplock-faq-item p{
    padding:0 14px 14px !important;
    font-size:13px !important;
    line-height:1.45 !important;
  }

  .doplock-guide-button{
    right:12px !important;
    bottom:12px !important;
    min-height:42px !important;
    padding:0 13px !important;
    font-size:12.5px !important;
  }
}



/* =========================================================
   6.8 MOBILE HERO + APPSTORE + SWIPE STEPS
   Nur Mobile: schöneres Preorder-Feld, App-Store sichtbar,
   Kurz-ansehen als Swipe-Karussell.
   ========================================================= */
.doplock-funktion-mobile-carousel{
  display:none;
}

@media (max-width: 782px){

  .doplock-preorder-inline{
    position:relative !important;
    display:grid !important;
    grid-template-columns:44px 1fr !important;
    gap:12px !important;
    align-items:center !important;
    padding:13px 14px !important;
    margin:13px 0 0 !important;
    border-radius:20px !important;
    background:#fff !important;
    border:1px solid rgba(249,115,22,.22) !important;
    box-shadow:0 12px 30px rgba(17,17,17,.055) !important;
  }

  .doplock-preorder-inline::before{
    content:"";
    width:42px !important;
    height:42px !important;
    display:block !important;
    border-radius:14px !important;
    background:#fff7ed !important;
    border:1px solid rgba(249,115,22,.18) !important;
  }

  .doplock-preorder-inline::after{
    content:"↗";
    position:absolute !important;
    left:29px !important;
    top:25px !important;
    color:#ff6b1a !important;
    font-size:18px !important;
    line-height:1 !important;
    font-weight:900 !important;
    transform:rotate(45deg) !important;
  }

  .doplock-preorder-inline strong{
    display:block !important;
    color:#111 !important;
    font-size:13px !important;
    line-height:1.15 !important;
    font-weight:950 !important;
  }

  .doplock-preorder-inline span{
    display:block !important;
    margin-top:3px !important;
    color:#6b3b18 !important;
    font-size:12.5px !important;
    line-height:1.25 !important;
  }

  .doplock-appstore-banner--mobileonly{
    display:grid !important;
    grid-template-columns:118px 1fr !important;
    align-items:center !important;
    gap:12px !important;
    padding:14px !important;
    margin:12px 0 0 !important;
    border-radius:22px !important;
    background:#fff !important;
    border:1px solid rgba(17,17,17,.07) !important;
    box-shadow:0 14px 34px rgba(17,17,17,.06) !important;
    overflow:hidden !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-official-badge{
    width:118px !important;
    min-width:118px !important;
    height:44px !important;
    padding:0 12px !important;
    border-radius:13px !important;
    display:flex !important;
    justify-content:flex-start !important;
    gap:8px !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-official-badge span:not(.doplock-appstore-apple){
    display:grid !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-apple{
    font-size:25px !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-official-badge small{
    font-size:8px !important;
    line-height:1 !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-official-badge strong{
    font-size:16px !important;
    line-height:.95 !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-banner__eyebrow{
    font-size:9px !important;
    line-height:1 !important;
    margin:0 0 3px !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-banner__copy strong{
    font-size:22px !important;
    line-height:.95 !important;
    letter-spacing:-.045em !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-banner__copy small{
    font-size:11.5px !important;
    line-height:1.3 !important;
  }

  .doplock-funktion-showcase-section{
    padding:14px 0 26px !important;
  }

  .doplock-funktion-mobile-carousel{
    display:block !important;
    padding:18px 0 18px !important;
    border-radius:26px !important;
    background:#fff !important;
    border:1px solid rgba(17,17,17,.06) !important;
    box-shadow:0 14px 34px rgba(17,17,17,.05) !important;
    overflow:hidden !important;
  }

  .doplock-funktion-mobile-head{
    padding:0 16px 12px !important;
  }

  .doplock-funktion-mobile-head .doplock-eyebrow{
    margin:0 0 5px !important;
    color:#ff6b1a !important;
    font-size:9.5px !important;
    letter-spacing:.16em !important;
  }

  .doplock-funktion-mobile-head h2{
    margin:0 !important;
    color:#111 !important;
    font-size:34px !important;
    line-height:.95 !important;
    letter-spacing:-.055em !important;
    font-weight:950 !important;
  }

  .doplock-funktion-mobile-head span{
    display:block !important;
    margin-top:6px !important;
    color:#737680 !important;
    font-size:12.5px !important;
    line-height:1.35 !important;
  }

  .doplock-funktion-mobile-track{
    display:flex !important;
    gap:12px !important;
    overflow-x:auto !important;
    overscroll-behavior-x:contain !important;
    scroll-snap-type:x mandatory !important;
    -webkit-overflow-scrolling:touch !important;
    padding:0 16px 8px !important;
    scrollbar-width:none !important;
  }

  .doplock-funktion-mobile-track::-webkit-scrollbar{
    display:none !important;
  }

  .doplock-funktion-mobile-step{
    flex:0 0 74% !important;
    max-width:260px !important;
    scroll-snap-align:start !important;
    display:grid !important;
    gap:8px !important;
    padding:10px !important;
    border-radius:20px !important;
    background:#fff !important;
    border:1px solid rgba(17,17,17,.07) !important;
    box-shadow:0 10px 24px rgba(17,17,17,.055) !important;
  }

  .doplock-funktion-mobile-step img{
    width:100% !important;
    aspect-ratio:3 / 4 !important;
    height:auto !important;
    object-fit:cover !important;
    border-radius:16px !important;
    display:block !important;
  }

  .doplock-funktion-mobile-step span{
    width:34px !important;
    height:34px !important;
    display:grid !important;
    place-items:center !important;
    border-radius:999px !important;
    background:#fff7ed !important;
    color:#ff6b1a !important;
    font-size:12px !important;
    font-weight:950 !important;
  }

  .doplock-funktion-mobile-step strong{
    color:#111 !important;
    font-size:19px !important;
    line-height:1 !important;
    letter-spacing:-.035em !important;
    font-weight:950 !important;
  }

  .doplock-funktion-mobile-step p{
    margin:0 !important;
    color:#737680 !important;
    font-size:12.5px !important;
    line-height:1.35 !important;
  }

  .doplock-funktion-mobile-hint{
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:7px !important;
    padding:6px 16px 0 !important;
  }

  .doplock-funktion-mobile-hint i{
    width:7px !important;
    height:7px !important;
    border-radius:999px !important;
    background:#d9d9de !important;
  }

  .doplock-funktion-mobile-hint i:first-child{
    background:#ff6b1a !important;
  }

  .doplock-funktion-mobile-hint small{
    margin-left:7px !important;
    color:#8a8b93 !important;
    font-size:12px !important;
    font-weight:750 !important;
  }

  .doplock-funktion-showcase{
    display:none !important;
  }

  body.home .doplock-guide-button,
  body.front-page .doplock-guide-button{
    transform:scale(.92) !important;
    transform-origin:right bottom !important;
  }
}

@media (max-width: 380px){
  .doplock-appstore-banner--mobileonly{
    grid-template-columns:1fr !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-official-badge{
    width:max-content !important;
  }

  .doplock-funktion-mobile-step{
    flex-basis:82% !important;
  }
}



/* 6.9 Mobile Swipe Fix – Optik bleibt gleich, nur Wischen/Drag wird zuverlässig */
@media (max-width: 782px){
  .doplock-funktion-mobile-track{
    overflow-x:auto !important;
    overflow-y:hidden !important;
    touch-action:pan-x !important;
    -webkit-overflow-scrolling:touch !important;
    scroll-behavior:smooth !important;
    user-select:none !important;
    cursor:grab !important;
  }

  .doplock-funktion-mobile-track.is-dragging{
    cursor:grabbing !important;
    scroll-snap-type:none !important;
  }

  .doplock-funktion-mobile-step{
    scroll-snap-align:start !important;
    touch-action:pan-x !important;
  }

  .doplock-funktion-mobile-step img{
    pointer-events:none !important;
    user-select:none !important;
    -webkit-user-drag:none !important;
  }

  .doplock-funktion-mobile-hint i.is-active{
    background:#ff6b1a !important;
  }
}



/* 6.11 Mobile Hero: markierten Text/Infobox entfernen */
@media (max-width: 782px){
  .doplock-hero .doplock-lead,
  .doplock-hero .doplock-preorder-inline{
    display:none !important;
  }

  .doplock-hero{
    gap:10px !important;
    padding-top:18px !important;
  }

  .doplock-hero h1{
    margin-bottom:4px !important;
  }

  .doplock-hero-media,
  .doplock-hero .doplock-card-frame{
    margin-top:8px !important;
  }

  .doplock-actions{
    margin-top:10px !important;
  }
}



/* 6.12 Mobile Kurz-ansehen: jede Folie einzeln swipen
   Optik bleibt gleich, nur nächste Karte wird nicht mehr angeschnitten.
*/
@media (max-width: 782px){
  .doplock-funktion-mobile-track{
    gap:0 !important;
    padding-left:16px !important;
    padding-right:16px !important;
    scroll-snap-type:x mandatory !important;
  }

  .doplock-funktion-mobile-step{
    flex:0 0 100% !important;
    max-width:none !important;
    width:100% !important;
    box-sizing:border-box !important;
    scroll-snap-align:start !important;
    scroll-snap-stop:always !important;
  }

  .doplock-funktion-mobile-step:not(:last-child){
    margin-right:0 !important;
  }

  .doplock-funktion-mobile-track.is-dragging{
    scroll-snap-type:none !important;
  }
}



/* 6.13 Mobile Color Restore
   Nur Mobile: wieder mehr Doplock-Wärme, Orange-Akzente und bessere Kontraste.
   Desktop bleibt unverändert.
*/
@media (max-width: 782px){

  body,
  body.home,
  body.front-page,
  .doplock-landing,
  .doplock-simple-shop,
  .woocommerce-cart,
  .woocommerce-checkout{
    background:
      radial-gradient(circle at 20% 8%, rgba(255,107,26,.10), transparent 30%),
      radial-gradient(circle at 82% 16%, rgba(255,190,120,.12), transparent 34%),
      linear-gradient(180deg, #fbf7f1 0%, #f7f3ee 100%) !important;
  }

  .doplock-hero{
    background:
      radial-gradient(circle at 80% 20%, rgba(255,107,26,.08), transparent 34%),
      linear-gradient(180deg, rgba(255,255,255,.72), rgba(255,247,237,.72)) !important;
  }

  .doplock-badge,
  .doplock-eyebrow,
  .doplock-appstore-banner__eyebrow,
  .doplock-funktion-mobile-head .doplock-eyebrow{
    color:#ff6b1a !important;
  }

  .doplock-badge{
    background:#fff7ed !important;
    border:1px solid rgba(255,107,26,.26) !important;
    box-shadow:0 8px 22px rgba(255,107,26,.08) !important;
  }

  .doplock-hero h1 span{
    color:#7c7f8a !important;
  }

  .doplock-actions .doplock-btn-primary,
  .doplock-simple-buy,
  .woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
  .woocommerce-checkout #place_order,
  .woocommerce-checkout button[name="woocommerce_checkout_place_order"]{
    background:linear-gradient(180deg,#111 0%,#050505 100%) !important;
    box-shadow:0 14px 32px rgba(17,17,17,.16) !important;
  }

  .doplock-actions .doplock-btn-primary::after{
    content:"";
    width:7px;
    height:7px;
    margin-left:8px;
    border-radius:999px;
    background:#ff6b1a;
    box-shadow:0 0 0 5px rgba(255,107,26,.16);
  }

  .doplock-appstore-banner--mobileonly,
  .doplock-video-start-card,
  .doplock-funktion-mobile-carousel,
  .doplock-simple-product,
  .doplock-mobile-cart-item,
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review,
  .woocommerce-checkout .woocommerce-checkout-review-order{
    background:rgba(255,255,255,.94) !important;
    border:1px solid rgba(17,17,17,.065) !important;
    box-shadow:0 16px 38px rgba(17,17,17,.07) !important;
  }

  .doplock-appstore-banner--mobileonly{
    position:relative !important;
  }

  .doplock-appstore-banner--mobileonly::before{
    content:"";
    position:absolute;
    left:14px;
    top:0;
    right:14px;
    height:3px;
    border-radius:999px;
    background:linear-gradient(90deg,#ff6b1a,#ffb86b);
  }

  .doplock-video-start-card{
    background:
      radial-gradient(circle at 96% 8%, rgba(255,107,26,.10), transparent 32%),
      #fff !important;
  }

  .doplock-video-start-player{
    box-shadow:0 12px 28px rgba(17,17,17,.18) !important;
  }

  .doplock-funktion-mobile-carousel{
    background:
      linear-gradient(180deg,#fff 0%,#fffaf5 100%) !important;
  }

  .doplock-funktion-mobile-step span,
  .doplock-funktion-mobile-hint i.is-active,
  .doplock-funktion-mobile-hint i:first-child{
    background:#ff6b1a !important;
    color:#fff !important;
  }

  .doplock-funktion-mobile-step{
    border:1px solid rgba(255,107,26,.12) !important;
    box-shadow:0 12px 28px rgba(17,17,17,.065) !important;
  }

  .doplock-simple-badge{
    background:#ff6b1a !important;
    color:#fff !important;
    box-shadow:0 8px 20px rgba(255,107,26,.18) !important;
  }

  .doplock-simple-more{
    background:#fff7ed !important;
    color:#9a3412 !important;
    border:1px solid rgba(255,107,26,.18) !important;
  }

  .doplock-simple-product-media,
  .doplock-mobile-cart-item__image,
  .doplock-mobile-cart-item__image a,
  .doplock-mobile-cart-item__image img,
  .doplock-mobile-cart-item__image .doplock-cart-thumb-frame,
  .doplock-mobile-cart-item__image .doplock-cart-thumb-image{
    background:linear-gradient(180deg,#fff,#fff7ed) !important;
  }

  .doplock-faq-item[open] summary,
  .doplock-faq-item summary:hover{
    color:#ff6b1a !important;
  }

  .doplock-guide-button{
    background:#111 !important;
    box-shadow:0 16px 36px rgba(17,17,17,.20) !important;
  }

  .doplock-guide-button-dot{
    background:#ff6b1a !important;
    box-shadow:0 0 0 6px rgba(255,107,26,.18) !important;
  }

  .doplock-mobile-menu-nav a:hover,
  .doplock-mobile-menu-nav a[aria-current="page"],
  .doplock-mobile-menu-nav .current-menu-item > a{
    background:#fff7ed !important;
    color:#ff6b1a !important;
  }
}



/* 6.14 Mobile Swipe Scroll-Trap Fix
   Kein Pointer-Capture mehr. Vertikales Scrollen bleibt normal.
   Horizontal wischen bleibt nativ möglich.
*/
@media (max-width: 782px){
  .doplock-funktion-mobile-track{
    overflow-x:auto !important;
    overflow-y:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    scroll-snap-type:x mandatory !important;
    scroll-behavior:smooth !important;
    overscroll-behavior-x:contain !important;
    overscroll-behavior-y:auto !important;
    touch-action:pan-y pan-x !important;
    cursor:auto !important;
    user-select:auto !important;
  }

  .doplock-funktion-mobile-track.is-dragging{
    cursor:auto !important;
    scroll-snap-type:x mandatory !important;
  }

  .doplock-funktion-mobile-step{
    touch-action:auto !important;
    scroll-snap-align:start !important;
    scroll-snap-stop:normal !important;
  }

  .doplock-funktion-mobile-step img{
    pointer-events:auto !important;
    user-select:auto !important;
    -webkit-user-drag:auto !important;
  }

  .doplock-funktion-mobile-track,
  .doplock-funktion-mobile-step,
  .doplock-funktion-mobile-step *{
    -ms-touch-action:auto !important;
  }
}



/* 6.15 Mobile Kurz-ansehen No-Trap Slider
   Eine Folie sichtbar, Swipe wechselt Folie.
   Kein horizontales Scroll-Container-Fangen mehr.
*/
@media (max-width: 782px){
  .doplock-funktion-mobile-track{
    display:block !important;
    overflow:visible !important;
    padding:0 16px 8px !important;
    touch-action:pan-y !important;
    overscroll-behavior:auto !important;
    scroll-snap-type:none !important;
    cursor:auto !important;
    user-select:auto !important;
  }

  .doplock-funktion-mobile-track.is-dragging{
    scroll-snap-type:none !important;
    cursor:auto !important;
  }

  .doplock-funktion-mobile-step{
    display:none !important;
    width:100% !important;
    max-width:none !important;
    flex:none !important;
    box-sizing:border-box !important;
    scroll-snap-align:none !important;
    touch-action:pan-y !important;
  }

  .doplock-funktion-mobile-step.is-active{
    display:grid !important;
  }

  .doplock-funktion-mobile-step img{
    pointer-events:auto !important;
    user-select:auto !important;
    -webkit-user-drag:auto !important;
  }

  .doplock-funktion-mobile-hint i{
    transition:background .18s ease, transform .18s ease !important;
  }

  .doplock-funktion-mobile-hint i.is-active{
    background:#ff6b1a !important;
    transform:scale(1.15) !important;
  }

  .doplock-funktion-mobile-hint small{
    color:#8a8b93 !important;
  }
}



/* 6.16 Mobile Hero/App-Store Fix
   Orange Linie raus, App-Store Badge sauber, Hero ruhiger.
   Nur Mobile. Desktop unverändert.
*/
@media (max-width: 782px){

  /* Orange Linie im App-Store-Block komplett entfernen */
  .doplock-appstore-banner--mobileonly::before,
  .doplock-appstore-banner--mobileonly::after{
    display:none !important;
    content:none !important;
  }

  /* Hero insgesamt ruhiger */
  .doplock-hero{
    padding-top:18px !important;
    padding-bottom:18px !important;
    gap:10px !important;
  }

  .doplock-hero h1{
    font-size:clamp(34px, 10.2vw, 44px) !important;
    line-height:.94 !important;
    margin-bottom:6px !important;
  }

  .doplock-hero-media,
  .doplock-hero .doplock-card-frame{
    max-width:285px !important;
    margin-top:6px !important;
  }

  .doplock-hero .doplock-product-img{
    max-height:185px !important;
  }

  .doplock-actions{
    margin-top:8px !important;
  }

  .doplock-actions .doplock-btn-primary{
    min-height:44px !important;
    border-radius:999px !important;
    font-size:13px !important;
  }

  /* App-Store-Karte sauberer und nicht gequetscht */
  .doplock-appstore-banner--mobileonly{
    display:grid !important;
    grid-template-columns:128px 1fr !important;
    align-items:center !important;
    gap:12px !important;
    padding:14px !important;
    margin-top:12px !important;
    border-radius:22px !important;
    background:#fff !important;
    border:1px solid rgba(17,17,17,.07) !important;
    box-shadow:0 14px 34px rgba(17,17,17,.06) !important;
    overflow:hidden !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-official-badge{
    position:relative !important;
    width:128px !important;
    min-width:128px !important;
    height:48px !important;
    padding:0 13px !important;
    border-radius:14px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:9px !important;
    background:#050505 !important;
    color:#fff !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
    box-shadow:0 10px 22px rgba(17,17,17,.13) !important;
  }

  /* Kaputte/zu enge Download-on-the-App-Store-Texte im Badge ausblenden */
  .doplock-appstore-banner--mobileonly .doplock-appstore-official-badge span:not(.doplock-appstore-apple),
  .doplock-appstore-banner--mobileonly .doplock-appstore-official-badge small,
  .doplock-appstore-banner--mobileonly .doplock-appstore-official-badge strong{
    display:none !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-apple{
    display:block !important;
    flex:0 0 auto !important;
    color:#fff !important;
    font-size:28px !important;
    line-height:1 !important;
    width:auto !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-official-badge::after{
    content:"App Store";
    display:block !important;
    color:#fff !important;
    font-size:20px !important;
    line-height:1 !important;
    font-weight:850 !important;
    letter-spacing:-.025em !important;
    white-space:nowrap !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-banner__copy{
    min-width:0 !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-banner__eyebrow{
    margin:0 0 3px !important;
    color:#ff6b1a !important;
    font-size:9.5px !important;
    line-height:1 !important;
    letter-spacing:.16em !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-banner__copy strong{
    display:block !important;
    color:#111 !important;
    font-size:22px !important;
    line-height:.96 !important;
    letter-spacing:-.045em !important;
    font-weight:950 !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-banner__copy small{
    display:block !important;
    margin-top:3px !important;
    color:#686b75 !important;
    font-size:11.5px !important;
    line-height:1.32 !important;
  }

  /* Guide auf Mobile-Hauptseite ausblenden, damit App-Store/Video nicht verdeckt wird */
  body.home .doplock-guide-button,
  body.home .doplock-guide-widget,
  body.front-page .doplock-guide-button,
  body.front-page .doplock-guide-widget,
  .doplock-landing .doplock-guide-button,
  .doplock-landing .doplock-guide-widget{
    display:none !important;
  }
}

@media (max-width: 380px){
  .doplock-appstore-banner--mobileonly{
    grid-template-columns:1fr !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-official-badge{
    width:max-content !important;
    min-width:0 !important;
  }
}



/* 6.17 Mobile App-Store + Hintergrund Fix
   Nur Mobile: Badge nicht mehr abschneiden, Hintergrund ruhiger/einfarbig.
*/
@media (max-width: 782px){

  /* Hintergrund einheitlich statt Streifen/Verlauf */
  body.home,
  body.front-page,
  .doplock-landing,
  .doplock-hero,
  .doplock-video-section,
  .doplock-funktion-showcase-section{
    background:#f7f3ee !important;
    background-image:none !important;
  }

  .doplock-hero::before,
  .doplock-hero::after,
  .doplock-landing::before,
  .doplock-landing::after{
    display:none !important;
    content:none !important;
  }

  /* App-Store-Karte sauberer */
  .doplock-appstore-banner--mobileonly{
    grid-template-columns:148px minmax(0,1fr) !important;
    gap:12px !important;
    padding:14px !important;
    overflow:visible !important;
    background:#fff !important;
  }

  .doplock-appstore-banner--mobileonly::before,
  .doplock-appstore-banner--mobileonly::after{
    display:none !important;
    content:none !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-official-badge{
    width:148px !important;
    min-width:148px !important;
    max-width:148px !important;
    height:48px !important;
    padding:0 12px !important;
    gap:8px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-apple{
    font-size:27px !important;
    line-height:1 !important;
    flex:0 0 auto !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-official-badge::after{
    content:"App Store" !important;
    display:block !important;
    color:#fff !important;
    font-size:18px !important;
    line-height:1 !important;
    font-weight:850 !important;
    letter-spacing:-.025em !important;
    white-space:nowrap !important;
    overflow:visible !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-banner__copy{
    min-width:0 !important;
    overflow:visible !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-banner__copy strong{
    font-size:21px !important;
    line-height:.96 !important;
    white-space:normal !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-banner__copy small{
    font-size:11.5px !important;
    line-height:1.32 !important;
  }
}

@media (max-width: 380px){
  .doplock-appstore-banner--mobileonly{
    grid-template-columns:1fr !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-official-badge{
    width:148px !important;
    min-width:148px !important;
    max-width:148px !important;
  }
}



/* 6.18 Mobile Background exakt wie Referenz */
@media (max-width: 782px){

  html,
  body,
  body.home,
  body.front-page,
  .site,
  .site-main,
  #main,
  main,
  .doplock-landing,
  .doplock-hero,
  .doplock-section,
  .doplock-video-section,
  .doplock-funktion-showcase-section,
  .doplock-faq-home,
  .doplock-simple-shop,
  .woocommerce-cart,
  .woocommerce-checkout{
    background:#f7efe6 !important;
    background-color:#f7efe6 !important;
    background-image:none !important;
  }

  .doplock-hero::before,
  .doplock-hero::after,
  .doplock-landing::before,
  .doplock-landing::after,
  .doplock-section::before,
  .doplock-section::after{
    display:none !important;
    content:none !important;
  }

  /* Karten selbst bleiben weiss, damit es hochwertig und lesbar bleibt */
  .doplock-appstore-banner--mobileonly,
  .doplock-video-start-card,
  .doplock-funktion-mobile-carousel,
  .doplock-faq-item,
  .doplock-simple-product,
  .doplock-mobile-cart-item,
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review,
  .woocommerce-checkout .woocommerce-checkout-review-order{
    background:#fff !important;
    background-image:none !important;
  }
}



/* 6.19 Mobile Text-Kontrast Fix
   Nur Mobile: helle/unsichtbare Texte auf hellem Hintergrund korrigieren.
   Footer bleibt dunkel.
*/
@media (max-width: 782px){

  /* Allgemeine Hauptseiten-Texte auf hellem Mobile-Hintergrund */
  .doplock-landing,
  .doplock-landing p,
  .doplock-landing span,
  .doplock-landing li,
  .doplock-landing summary{
    color:#111827 !important;
  }

  .doplock-landing .doplock-eyebrow,
  .doplock-faq-home .doplock-eyebrow{
    color:#ff6b1a !important;
  }

  .doplock-landing .doplock-title,
  .doplock-faq-home .doplock-title,
  .doplock-faq-home h2,
  .doplock-faq-home h3{
    color:#111 !important;
  }

  .doplock-landing .doplock-text,
  .doplock-landing .doplock-lead{
    color:#5f6270 !important;
  }

  /* FAQ auf Mobile wieder lesbar */
  .doplock-faq-home{
    background:#f7efe6 !important;
    background-image:none !important;
    color:#111 !important;
    padding-top:26px !important;
  }

  .doplock-faq-home .doplock-container{
    background:transparent !important;
  }

  .doplock-faq-home .doplock-title{
    color:#111 !important;
    opacity:1 !important;
    text-shadow:none !important;
  }

  .doplock-faq-list{
    display:grid !important;
    gap:10px !important;
  }

  .doplock-faq-item{
    background:#fff !important;
    border:1px solid rgba(17,17,17,.08) !important;
    border-radius:18px !important;
    box-shadow:0 10px 24px rgba(17,17,17,.045) !important;
    overflow:hidden !important;
  }

  .doplock-faq-item summary{
    color:#111 !important;
    opacity:1 !important;
    min-height:50px !important;
    padding:0 16px !important;
    font-size:14px !important;
    font-weight:900 !important;
    text-shadow:none !important;
  }

  .doplock-faq-item summary::marker{
    color:#ff6b1a !important;
  }

  .doplock-faq-item p{
    color:#5f6270 !important;
    opacity:1 !important;
    padding:0 16px 15px !important;
    font-size:13px !important;
    line-height:1.45 !important;
    text-shadow:none !important;
  }

  .doplock-faq-item[open] summary{
    color:#ff6b1a !important;
  }

  /* Bestell-/CTA-Text auf Mobile sauber */
  .doplock-actions .doplock-btn-primary,
  .doplock-actions .doplock-btn-primary span,
  .doplock-simple-buy,
  .doplock-single-cart-direct{
    color:#fff !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-banner__copy strong{
    color:#111 !important;
  }

  .doplock-appstore-banner--mobileonly .doplock-appstore-banner__copy small{
    color:#5f6270 !important;
  }

  /* Video/Kurz ansehen Texte */
  .doplock-video-start-copy h2,
  .doplock-funktion-mobile-head h2{
    color:#111 !important;
  }

  .doplock-video-start-copy p,
  .doplock-funktion-mobile-head span,
  .doplock-funktion-mobile-step p{
    color:#5f6270 !important;
  }

  .doplock-funktion-mobile-step strong{
    color:#111 !important;
  }

  /* Footer darf dunkel bleiben */
  footer,
  .site-footer,
  footer *,
  .site-footer *{
    color:inherit !important;
  }

  .site-footer,
  footer{
    background:#050505 !important;
  }

  .site-footer h2,
  .site-footer h3,
  .site-footer strong,
  .site-footer a,
  footer h2,
  footer h3,
  footer strong,
  footer a{
    color:#fff !important;
  }

  .site-footer p,
  .site-footer span,
  footer p,
  footer span{
    color:rgba(255,255,255,.72) !important;
  }

  /* Kleine Absicherung: keine weissen Überschriften auf hell */
  .doplock-landing section:not(.site-footer):not(footer) h1,
  .doplock-landing section:not(.site-footer):not(footer) h2,
  .doplock-landing section:not(.site-footer):not(footer) h3,
  .doplock-landing section:not(.site-footer):not(footer) summary{
    color:#111 !important;
  }
}






/* 6.27 Kundenkonto V7 Template */
.doplock-register-v7-form .woocommerce-privacy-policy-text,
.doplock-register-v7-form .woocommerce-password-strength,
.doplock-register-v7-form .woocommerce-password-hint{
  display:none !important;
}

.doplock-register-v7-form .doplock-v7-password-row,
.doplock-register-v7-form .doplock-v7-password-repeat-row{
  display:block !important;
}

.doplock-register-v7-legal{
  display:flex;
  gap:10px;
  align-items:flex-start;
  margin:14px 0 18px;
  padding:13px 14px;
  border-radius:16px;
  background:#fff7ed;
  border:1px solid rgba(249,115,22,.18);
  color:#111;
  font-size:13px;
  line-height:1.4;
}

.doplock-register-v7-legal input{
  margin-top:2px;
}

.doplock-register-v7-legal a{
  color:#111;
  font-weight:900;
  text-decoration:underline;
}

.doplock-register-v7-codebox{
  margin:14px 0 16px;
  padding:16px;
  border:1px solid rgba(249,115,22,.18);
  border-radius:18px;
  background:#fff;
}

.doplock-register-v7-codebox .doplock-register-verification-title{
  margin:0 0 6px;
  color:#111;
  font-weight:950;
  font-size:16px;
}

.doplock-register-v7-codebox .doplock-register-verification-text{
  margin:0 0 12px;
  color:#5f6270;
  font-size:13px;
  line-height:1.45;
}

.doplock-register-v7-codebox #doplock_email_code{
  text-align:center;
  letter-spacing:.14em;
  font-weight:900;
}

.doplock-register-v7-main-button{
  min-width:260px;
}

.doplock-register-v7-code-actions{
  display:grid;
  gap:10px;
}

.doplock-resend-code-button{
  width:100%;
  min-height:44px;
  border-radius:999px;
  background:#fff7ed !important;
  color:#9a3412 !important;
  border:1px solid rgba(249,115,22,.24) !important;
  font-weight:900;
}

@media (max-width:782px){
  .doplock-register-v7-legal{
    padding:12px;
    border-radius:15px;
  }

  .doplock-register-v7-codebox{
    padding:14px;
    border-radius:16px;
  }

  .doplock-register-v7-main-button{
    width:100%;
    min-width:0;
  }
}



/* 6.28 Security Pack V8 */
.doplock-v8-hp{
  position:absolute !important;
  left:-9999px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
}


/* ===============================================================
   6.30 Doplock V10 – Mobile Warenkorb Meldungen ohne Textbruch
   =============================================================== */
@media (max-width:782px) {
  body.woocommerce-cart .woocommerce-notices-wrapper,
  body.woocommerce-cart .woocommerce-notices-wrapper > * {
    box-sizing:border-box !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
  }

  /* WooCommerce liefert zuerst den Button und danach reinen Text.
     Flex-Spalte zeigt den Text lesbar und den Button darunter an. */
  body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message {
    display:flex !important;
    flex-direction:column !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    grid-template-columns:none !important;
    column-gap:0 !important;
    row-gap:14px !important;
    gap:14px !important;
    padding:20px !important;
    margin:0 0 14px !important;
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
    height:auto !important;
    min-height:0 !important;
    font-size:15px !important;
    font-weight:750 !important;
    line-height:1.5 !important;
    letter-spacing:normal !important;
    white-space:normal !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
    hyphens:none !important;
  }

  body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message::before {
    display:none !important;
  }

  body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message .button,
  body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message a.button {
    display:flex !important;
    flex:0 0 auto !important;
    order:2 !important;
    float:none !important;
    clear:both !important;
    align-items:center !important;
    justify-content:center !important;
    grid-column:auto !important;
    align-self:stretch !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    min-height:48px !important;
    margin:0 !important;
    padding:12px 18px !important;
    box-sizing:border-box !important;
    border-radius:999px !important;
    text-align:center !important;
    white-space:normal !important;
  }

  /* Hinweise/Fehler ohne Zwei-Spalten-Raster, damit auch sie lesbar sind. */
  body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info,
  body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-error {
    display:block !important;
    grid-template-columns:none !important;
    padding:18px 20px !important;
    line-height:1.5 !important;
    overflow-wrap:break-word !important;
    word-break:normal !important;
    white-space:normal !important;
  }
}


/* 6.32: Card-Rabatt korrekt als alter + neuer Preis, ohne Layout-Umbau */
.doplock-simple-product-title .doplock-card-discount-price{
  display:flex !important;
  align-items:baseline;
  gap:4px 9px;
  flex-wrap:wrap;
  line-height:1.2;
}
.doplock-simple-product-title .doplock-card-discount-price del{
  color:#737373 !important;
  font-size:.84em;
  font-weight:600;
  text-decoration:line-through;
  text-decoration-thickness:1.5px;
  opacity:1;
}
.doplock-simple-product-title .doplock-card-discount-price ins{
  color:#111 !important;
  font-weight:950;
  text-decoration:none !important;
}
/* WooCommerce stellt die Card-Preise als regulären Rabatt über del/ins dar. */
.doplock-single-price del{
  color:#777;
  font-size:.72em;
  font-weight:600;
  text-decoration:line-through;
  margin-right:10px;
  opacity:1;
}
.doplock-single-price del .amount{color:inherit}
.doplock-single-price ins{
  color:#111;
  font-weight:950;
  text-decoration:none;
}


/* =====================================================
   V13 – Kontaktformular / Coupon-Rückmeldungen
   ===================================================== */
.doplock-contact-section-v13 {padding-top:36px;padding-bottom:90px}
.doplock-contact-layout-v13 {display:grid;grid-template-columns:minmax(0,1.65fr) minmax(260px,.85fr);align-items:start;gap:24px}
.doplock-contact-layout-v13 > * {min-width:0}
.doplock-support-form-card-v13 {width:100%;max-width:none !important;margin:0 !important;padding:clamp(24px,3.5vw,42px) !important}
.doplock-contact-page-v13 .doplock-support-form-card-v13 h2 {font-size:clamp(27px,3vw,38px);margin:8px 0 8px;letter-spacing:-.055em}
.doplock-support-intro-v13 {font-size:15px !important;line-height:1.55 !important;margin:0 0 23px !important}
.doplock-support-fields-v13 {display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
.doplock-support-field-v13 {display:flex;flex-direction:column;min-width:0;margin:0 0 18px}
.doplock-support-field-v13 label {display:block;margin:0 0 8px;color:#172b3e;font-size:14px;font-weight:800;line-height:1.4}
.doplock-support-optional-v13 {color:#737782;font-size:12px;font-weight:500}
.doplock-support-field-v13 input,
.doplock-support-field-v13 select,
.doplock-support-field-v13 textarea {
  display:block;width:100%;min-width:0;max-width:100%;box-sizing:border-box;
  border:1px solid #dddfe3;border-radius:15px;background:#fff !important;
  padding:13px 14px;color:#182536 !important;font-size:15px !important;
  font-family:inherit;font-weight:500;line-height:1.4;
  outline:none;box-shadow:none !important;appearance:auto;
}
.doplock-support-field-v13 input,
.doplock-support-field-v13 select {min-height:50px}
.doplock-support-field-v13 textarea {min-height:150px;resize:vertical}
.doplock-support-field-v13 input:focus,
.doplock-support-field-v13 select:focus,
.doplock-support-field-v13 textarea:focus {border-color:#f97316;box-shadow:0 0 0 3px rgba(249,115,22,.12) !important}
.doplock-support-privacy-v13 {display:flex;align-items:flex-start;gap:12px;margin:2px 0 20px;padding:14px 16px;border:1px solid #fbd9c1;background:#fff8f1;border-radius:16px;color:#263341;font-size:13px;line-height:1.55;cursor:pointer}
.doplock-support-privacy-v13 input {flex:0 0 17px;width:17px;height:17px;min-height:0;margin:2px 0 0;accent-color:#f97316}
.doplock-support-privacy-v13 span {min-width:0}
.doplock-contact-page-v13 .doplock-support-privacy-v13 a {color:#9a3412;font-weight:800;text-decoration:underline}
.doplock-support-submit-v13 {display:inline-flex;align-items:center;justify-content:center;gap:18px;min-height:52px;padding:13px 26px;border:0;border-radius:999px;background:#111;color:#fff;font-family:inherit;font-weight:850;font-size:15px;cursor:pointer;transition:transform .18s ease,background .18s ease}
.doplock-support-submit-v13:hover {background:#ef6a11;transform:translateY(-1px)}
.doplock-support-footnote-v13 {margin:12px 0 0 !important;font-size:12px !important;line-height:1.5 !important;color:#777 !important}
.doplock-support-sidebar-v13 {display:flex;flex-direction:column;gap:20px;min-width:0}
.doplock-support-sidebar-v13 .doplock-legal-card {width:100%;margin:0;min-width:0;padding:26px}
.doplock-support-sidebar-v13 .doplock-legal-card h2 {font-size:25px}
.doplock-support-sidebar-v13 .doplock-legal-card p,
.doplock-support-sidebar-v13 .doplock-legal-card li {font-size:15px;line-height:1.65;overflow-wrap:anywhere}
.doplock-support-sidebar-v13 .doplock-contact-mail {max-width:100%;padding:12px 15px;font-size:14px;box-sizing:border-box}
.doplock-support-status-v13 {display:flex;flex-direction:column;gap:3px;margin:4px 0 22px;padding:15px 17px;border-radius:16px;line-height:1.55;font-size:14px}
.doplock-support-status-v13 strong {font-size:15px}
.doplock-support-status-v13--success {background:#f0fdf4;border:1px solid #b9e7c8;color:#166534}
.doplock-support-status-v13--error {background:#fff3f2;border:1px solid #ffd5cf;color:#a32927}
.doplock-support-honey-v13 {position:absolute !important;left:-10000px !important;width:1px !important;height:1px !important;overflow:hidden !important;opacity:0 !important;pointer-events:none !important}
/* Gutscheinergebnis: eine zusammengesetzte Meldung statt zerstückelter Flex-Textzeilen */
.doplock-coupon-feedback {display:flex;flex-direction:column;align-items:flex-start;gap:3px;min-width:0;max-width:100%;line-height:1.45;white-space:normal;overflow-wrap:break-word;word-break:normal}
.doplock-coupon-feedback strong {display:block;color:inherit;font-weight:950;font-size:1.05em}
.doplock-coupon-feedback > span {display:block;overflow-wrap:break-word;max-width:100%}
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-error:has(.doplock-coupon-feedback),
.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message:has(.doplock-coupon-feedback),
.woocommerce-checkout .woocommerce-error:has(.doplock-coupon-feedback),
.woocommerce-checkout .woocommerce-message:has(.doplock-coupon-feedback) {box-sizing:border-box;max-width:100%;min-width:0;line-height:1.55}
@media(max-width:960px){
  .doplock-contact-layout-v13 {grid-template-columns:1fr}
  .doplock-support-sidebar-v13 {display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:630px){
  .doplock-contact-section-v13 {padding-top:18px;padding-bottom:54px}
  .doplock-contact-layout-v13 {gap:16px}
  .doplock-support-form-card-v13 {padding:22px !important;border-radius:24px}
  .doplock-support-fields-v13 {grid-template-columns:1fr;gap:0}
  .doplock-support-sidebar-v13 {grid-template-columns:1fr;gap:16px}
  .doplock-support-sidebar-v13 .doplock-legal-card {padding:22px}
  .doplock-support-submit-v13 {width:100%}
  .doplock-coupon-feedback {font-size:14px}
}


/* 6.34 V14 – Mobile menu: alignment and contact link. */
@media (max-width: 999px) {
  .doplock-mobile-menu-overlay {
    display: flex !important;
    align-items: stretch !important;
    justify-content: flex-end !important;
  }
  .doplock-mobile-menu-overlay[hidden] {
    display: none !important;
  }
  .doplock-mobile-menu-panel {
    display: flex !important;
    flex-direction: column !important;
    flex: 0 0 auto !important;
    width: min(90vw, 360px) !important;
    max-width: 100vw !important;
    height: 100dvh !important;
    min-height: 0 !important;
    margin: 0 0 0 auto !important;
    padding: max(20px, env(safe-area-inset-top)) 18px max(20px, env(safe-area-inset-bottom)) !important;
    box-sizing: border-box !important;
    overflow-x: hidden !important;
    overflow-y: auto !important;
    -webkit-overflow-scrolling: touch;
    border-radius: 24px 0 0 24px !important;
  }
  .doplock-mobile-menu-head {
    flex: 0 0 auto !important;
    padding: 0 0 16px !important;
    min-height: 54px !important;
    box-sizing: border-box !important;
  }
  .doplock-mobile-menu-nav {
    display: flex !important;
    flex-direction: column !important;
    flex: 0 0 auto !important;
    width: 100% !important;
    gap: 8px !important;
    margin: 16px 0 14px !important;
    padding: 0 !important;
    align-content: start !important;
  }
  .doplock-mobile-menu-nav a {
    display: flex !important;
    flex-direction: row !important;
    align-items: center !important;
    justify-content: center !important;
    width: 100% !important;
    min-height: 48px !important;
    height: auto !important;
    padding: 12px 14px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
    text-decoration: none !important;
    font-size: 15px !important;
    line-height: 1.35 !important;
    letter-spacing: normal !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
  }
  .doplock-mobile-menu-cta {
    flex: 0 0 auto !important;
    width: 100% !important;
    margin: 0 !important;
  }
  .doplock-mobile-menu-cta .doplock-btn {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    min-height: 50px !important;
    box-sizing: border-box !important;
  }
}


/* V15 – Gutscheincode-Rückmeldung direkt unter dem Eingabefeld, ohne Animation */
.doplock-coupon-v15-result {
  display:block !important;
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  clear:both;
  margin:9px 0 10px !important;
  padding:11px 13px !important;
  border:1px solid #d6d9df !important;
  border-radius:13px !important;
  background:#f6f7f8 !important;
  color:#253444 !important;
  font-size:13px !important;
  font-weight:500 !important;
  line-height:1.4 !important;
  white-space:normal !important;
  overflow-wrap:break-word !important;
  animation:none !important;
  transform:none !important;
  transition:none !important;
}
.doplock-coupon-v15-result strong {
  display:block !important;
  margin:0 0 3px !important;
  color:inherit !important;
  font-size:14px !important;
  font-weight:850 !important;
  line-height:1.4 !important;
}
.doplock-coupon-v15-result > span {display:block !important;color:inherit !important;}
.doplock-coupon-v15-result.is-success {
  background:#f0fdf4 !important;
  border-color:#b7e5c5 !important;
  color:#166534 !important;
}
.doplock-coupon-v15-result.is-error {
  background:#fff1f1 !important;
  border-color:#f4bfc2 !important;
  color:#a22627 !important;
}
.doplock-coupon-v15-result.is-pending {
  background:#f6f7f8 !important;
  border-color:#d6d9df !important;
  color:#4b5563 !important;
}
.woocommerce-cart-form .coupon .doplock-coupon-v15-result,
.woocommerce-cart-form .doplock-mobile-cart-coupon .doplock-coupon-v15-result,
.woocommerce-checkout form.checkout_coupon .doplock-coupon-v15-result {
  float:none !important;
  flex:0 0 100%;
  grid-column:1 / -1;
}


/* =============================================================
   V16 – Mobile spacing pass (only up to 782px)
   Cart / checkout headings, product cards, account, legal,
   support and landing sections. No payment or coupon logic edits.
   ============================================================= */
@media (max-width: 782px) {
  /* WooCommerce page layout: remove compounded Blocksy/title gaps. */
  body.woocommerce-cart .site-main,
  body.woocommerce-checkout .site-main,
  body.woocommerce-account .site-main {
    padding-top:0 !important;
    --content-vertical-spacing: 0px;
  }

  body.woocommerce-cart .entry-header,
  body.woocommerce-checkout .entry-header {
    box-sizing:border-box !important;
    width:min(calc(100% - 24px), 430px) !important;
    max-width:430px !important;
    margin:0 auto 0 !important;
    padding:18px 0 0 !important;
    min-height:0 !important;
  }
  body.woocommerce-cart .entry-header .entry-title,
  body.woocommerce-checkout .entry-header .entry-title {
    font-size:clamp(34px, 10vw, 43px) !important;
    line-height:1.08 !important;
    letter-spacing:-.055em !important;
    margin:0 !important;
    padding:0 !important;
  }
  body.woocommerce-cart .entry-header > :last-child,
  body.woocommerce-checkout .entry-header > :last-child {
    margin-bottom:0 !important;
  }
  body.woocommerce-cart .entry-content,
  body.woocommerce-checkout .entry-content {
    padding-top:0 !important;
    margin-top:0 !important;
  }
  body.woocommerce-cart .entry-content > .woocommerce,
  body.woocommerce-checkout .entry-content > .woocommerce {
    margin-top:0 !important;
  }
  body.woocommerce-cart .woocommerce,
  body.woocommerce-checkout .woocommerce {
    box-sizing:border-box !important;
    width:min(calc(100% - 24px), 430px) !important;
    max-width:430px !important;
    padding:12px 0 34px !important;
    margin-inline:auto !important;
  }
  body.woocommerce-cart .woocommerce-notices-wrapper,
  body.woocommerce-checkout .woocommerce-notices-wrapper {
    margin-top:0 !important;
    margin-bottom:12px !important;
  }
  body.woocommerce-cart .woocommerce-notices-wrapper:empty,
  body.woocommerce-checkout .woocommerce-notices-wrapper:empty {
    display:none !important;
  }
  body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-message,
  body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-error,
  body.woocommerce-cart .woocommerce-notices-wrapper .woocommerce-info {
    margin-top:0 !important;
    margin-bottom:12px !important;
  }
  body.woocommerce-cart .doplock-mobile-cart-rebuild,
  body.woocommerce-cart .doplock-mobile-cart-actions {
    margin-top:0 !important;
  }
  body.woocommerce-cart .cart-collaterals {
    margin-top:14px !important;
  }
  body.woocommerce-cart .cart-collaterals .cart_totals {
    margin-top:0 !important;
  }
  body.woocommerce-cart .cart_totals h2 {
    margin:0 0 12px !important;
    line-height:1.15 !important;
  }
  body.woocommerce-cart .wc-proceed-to-checkout {
    padding:8px 0 0 !important;
    margin:0 !important;
  }

  /* Checkout: tighten section spacing, leave payment widgets alone. */
  body.woocommerce-checkout .woocommerce-billing-fields > h3,
  body.woocommerce-checkout .woocommerce-shipping-fields > h3,
  body.woocommerce-checkout #order_review_heading {
    margin:0 0 12px !important;
    line-height:1.2 !important;
  }
  body.woocommerce-checkout #customer_details,
  body.woocommerce-checkout #order_review,
  body.woocommerce-checkout .woocommerce-checkout-review-order {
    margin-top:0 !important;
    margin-bottom:12px !important;
  }

  /* Account / login: no large gap before the first form. */
  body.woocommerce-account .entry-header {
    box-sizing:border-box !important;
    width:min(calc(100% - 24px), 430px) !important;
    margin:0 auto !important;
    padding:18px 0 0 !important;
  }
  body.woocommerce-account .entry-header .entry-title {
    font-size:clamp(32px, 9vw, 42px) !important;
    line-height:1.12 !important;
    margin:0 !important;
  }
  body.woocommerce-account .entry-content {
    margin-top:0 !important;
    padding:12px 0 36px !important;
  }
  body.woocommerce-account .entry-content > .woocommerce {
    width:min(calc(100% - 24px), 430px) !important;
    margin-inline:auto !important;
  }
  body.woocommerce-account .woocommerce {
    gap:14px !important;
  }
  body.woocommerce-account .woocommerce h2 {
    margin:0 0 14px !important;
    line-height:1.18 !important;
  }
  body.woocommerce-account .woocommerce-form-login,
  body.woocommerce-account .woocommerce-form-register {
    padding:20px 16px !important;
  }

  /* Shop: less space between heading, app card and product tiles. */
  .doplock-simple-shop-hero {
    padding:22px 0 10px !important;
  }
  .doplock-simple-shop-hero h1 {
    margin:0 0 8px !important;
    line-height:1.02 !important;
  }
  .doplock-simple-shop-hero p:not(.doplock-eyebrow) {
    margin-bottom:0 !important;
  }
  .doplock-simple-shop .doplock-app-download-strip {
    padding:4px 0 12px !important;
  }
  .doplock-simple-products-section {
    padding:10px 0 34px !important;
  }
  .doplock-simple-products {
    gap:12px !important;
    align-items:stretch !important;
  }
  .doplock-simple-product.is-card .doplock-simple-product-media,
  .doplock-simple-product.is-code .doplock-simple-product-media {
    box-sizing:border-box !important;
    height:146px !important;
    min-height:146px !important;
    padding:30px 8px 8px !important;
  }
  .doplock-simple-product.is-card .doplock-simple-product-media img,
  .doplock-simple-product.is-code .doplock-simple-product-media img {
    width:auto !important;
    height:auto !important;
    max-height:103px !important;
    max-width:96% !important;
    object-fit:contain !important;
  }
  .doplock-simple-product-body {
    gap:7px !important;
  }
  .doplock-simple-product-title {
    margin:7px 0 5px !important;
    gap:4px !important;
  }
  .doplock-simple-product-text {
    margin:0 0 9px !important;
  }
  .doplock-simple-actions {
    gap:8px !important;
  }

  /* Product detail: no excessive gap between gallery and summary. */
  .doplock-single-product-page {
    padding:18px 0 38px !important;
  }
  .doplock-single-breadcrumb-wrap {
    margin-bottom:12px !important;
  }
  .doplock-single-layout {
    gap:14px !important;
  }
  .doplock-single-summary-card h1 {
    margin-top:0 !important;
    margin-bottom:10px !important;
  }

  /* Common content pages, legal information, FAQ and support. */
  .doplock-legal-hero {
    padding:28px 0 16px !important;
  }
  .doplock-legal-hero h1 {
    font-size:clamp(35px, 10vw, 48px) !important;
    line-height:1.02 !important;
    margin:0 0 10px !important;
  }
  .doplock-legal-hero p:not(.doplock-eyebrow) {
    font-size:14px !important;
    line-height:1.5 !important;
    margin:0 !important;
  }
  .doplock-legal-page .doplock-section,
  .doplock-faq-page > .doplock-section {
    padding:12px 0 36px !important;
  }
  .doplock-faq-page .doplock-legal-hero {
    padding:26px 0 12px !important;
  }
  .doplock-faq-page .doplock-faq-group h2 {
    margin:0 0 12px !important;
    line-height:1.2 !important;
  }
  .doplock-faq-page .doplock-faq-group + .doplock-faq-group {
    margin-top:22px !important;
  }
  .doplock-contact-section-v13 {
    padding:12px 0 36px !important;
  }
  .doplock-contact-layout-v13 {
    gap:14px !important;
  }
  .doplock-contact-page-v13 .doplock-support-form-card-v13 h2 {
    margin:4px 0 9px !important;
    line-height:1.15 !important;
  }
  .doplock-support-intro-v13 {
    margin:0 0 16px !important;
  }
  .doplock-support-field-v13 {
    margin:0 0 14px !important;
  }
  .doplock-support-sidebar-v13 {
    gap:14px !important;
  }

  /* Homepage section headings/text maintain predictable rhythm. */
  .doplock-landing .doplock-section .doplock-title {
    margin-top:0 !important;
    margin-bottom:12px !important;
  }
  .doplock-landing .doplock-section .doplock-eyebrow {
    margin-bottom:8px !important;
  }
  .doplock-video-section {
    padding-top:10px !important;
    padding-bottom:14px !important;
  }
  .doplock-funktion-showcase-section {
    padding-top:12px !important;
    padding-bottom:20px !important;
  }
  .doplock-faq-home {
    padding-top:20px !important;
    padding-bottom:30px !important;
  }
}

/* Very narrow phones: keep images/buttons legible without empty space. */
@media (max-width:360px) {
  .doplock-simple-product.is-card .doplock-simple-product-media,
  .doplock-simple-product.is-code .doplock-simple-product-media {
    height:150px !important;
    min-height:150px !important;
  }
}
