#dzw-app{
  --blue:#0b5ea8;
  --blue2:#0a4f8c;
  --light:#f4f7fa;
  --text:#1f2a35;
  --border:#d8e0e7;
  --green:#18864b;
}
#dzw-app *{box-sizing:border-box}
#dzw-app{margin:0;font-family:Arial,Helvetica,sans-serif;background:#eef2f6;color:var(--text)}
#dzw-app header{background:#fff;border-bottom:1px solid var(--border);padding:18px 24px;position:sticky;top:0;z-index:5}
#dzw-app .header-inner{max-width:1180px;margin:auto;display:flex;justify-content:space-between;align-items:center;gap:18px}
#dzw-app .brand{display:flex;align-items:center;gap:14px;color:#222}
#dzw-app .brand-main{font-size:22px;font-weight:700;letter-spacing:-.3px;color:#3b3b3b}
#dzw-app .brand-sub{font-size:12px;font-weight:400;color:#666;margin-top:3px}
#dzw-app .brand-logo{width:120px;height:auto;display:block}
#dzw-app nav a{color:#3f3f3f;text-decoration:none;margin-left:18px;font-size:14px}
#dzw-app .hero{background:#3a3a3a;color:white;padding:52px 24px;border-top:4px solid #a71920}
#dzw-app .hero-inner{max-width:1180px;margin:auto}
#dzw-app .hero h1{font-size:40px;margin:0 0 12px;color:#fff}
#dzw-app .hero p{font-size:18px;line-height:1.5;max-width:760px;margin:0;color:#ededed}
#dzw-app .main{max-width:1180px;margin:30px auto;padding:0 20px;display:grid;grid-template-columns:1.5fr .8fr;gap:28px}
#dzw-app .card{background:#fff;border:1px solid var(--border);border-radius:16px;padding:24px;box-shadow:0 6px 22px rgba(0,0,0,.05);margin-bottom:22px}
#dzw-app .card h2{margin:0 0 18px;font-size:22px;color:#163852}
#dzw-app .field{margin-bottom:22px}
#dzw-app .field label.title{display:block;font-weight:700;margin-bottom:10px}
#dzw-app .options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
#dzw-app .option{
  border:1px solid var(--border);
  border-radius:12px;
  padding:14px;
  background:#fbfcfd;
  cursor:pointer;
  display:grid;
  grid-template-columns:20px 1fr;
  column-gap:10px;
  align-items:start;
}
#dzw-app .option input{
  grid-column:1;
  grid-row:1 / span 2;
  margin:3px 0 0 0;
}
#dzw-app .option strong{
  grid-column:2;
  grid-row:1;
  display:block;
  margin:0 0 4px;
}
#dzw-app .option span{
  grid-column:2;
  grid-row:2;
  font-size:13px;
  color:#65737e;
  display:block;
}
#dzw-app input[type="number"],#dzw-app select,#dzw-app input[type="file"]{width:100%;padding:12px;border:1px solid var(--border);border-radius:10px;background:#fff}
#dzw-app .note{background:#edf6ff;border-left:4px solid var(--blue);padding:12px 14px;border-radius:8px;font-size:14px;line-height:1.45}
#dzw-app .hidden{display:none}
#dzw-app .summary{position:sticky;top:92px}
#dzw-app .price{font-size:34px;font-weight:700;color:var(--blue);margin:8px 0 4px}
#dzw-app .muted{color:#687783;font-size:13px}
#dzw-app .row{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #edf0f2;font-size:14px}
#dzw-app .btn{display:block;width:100%;border:0;border-radius:11px;padding:15px 16px;font-size:16px;font-weight:700;cursor:pointer;margin-top:18px}
#dzw-app .btn-primary{background:var(--blue);color:white}
#dzw-app .btn-primary:hover{background:var(--blue2)}
#dzw-app .badge{display:inline-block;background:#ffffff;color:#9f171d;font-size:12px;font-weight:700;padding:5px 9px;border-radius:20px;margin-bottom:12px}
#dzw-app footer{max-width:1180px;margin:30px auto 50px;padding:0 20px;color:#6e7a84;font-size:13px}
@media(max-width:850px){#dzw-app .main{grid-template-columns:1fr}
#dzw-app .summary{position:static}
#dzw-app .options{grid-template-columns:1fr}
#dzw-app .hero h1{font-size:31px}
#dzw-app nav{display:none}
}
#dzw-app table{width:100%;border-collapse:collapse;font-size:14px}
#dzw-app th,#dzw-app td{text-align:left;padding:10px;border-bottom:1px solid var(--border)}
#dzw-app th{background:var(--light)}
#dzw-app details summary{cursor:pointer;font-weight:700;padding:8px 0}
#dzw-app .price{overflow-wrap:anywhere}
#dzw-app .price-details{font-size:14px;line-height:1.6}
#dzw-app .price-info{max-width:1180px;margin:0 auto;padding:0 20px}
#dzw-app .warning{color:#9f171d}
#dzw-app a{color:var(--blue)}
#dzw-app html{scroll-behavior:smooth;scroll-padding-top:110px}
#dzw-app .option:has(input:checked){border-color:var(--blue);background:#edf6ff}
#dzw-app .option:has(input:disabled){cursor:not-allowed}
#dzw-app input:focus-visible,#dzw-app button:focus-visible,#dzw-app a:focus-visible,#dzw-app summary:focus-visible{outline:3px solid #a71920;outline-offset:3px}
#dzw-app .hidden{display:none!important}
#dzw-app button:disabled{opacity:.5;cursor:not-allowed}
#dzw-app dialog{border:1px solid var(--border);border-radius:16px;padding:26px;max-width:720px;width:calc(100% - 30px);max-height:85vh;overflow:auto;color:var(--text)}
#dzw-app dialog::backdrop{background:rgba(20,28,35,.65)}
#dzw-app .dialog-head{display:flex;justify-content:space-between;align-items:center;gap:20px}
#dzw-app .dialog-head h2{margin:0}
#dzw-app .close{background:transparent;border:1px solid var(--border);padding:9px 13px;border-radius:8px;cursor:pointer}
#dzw-app .cart-item{padding:18px 0;border-bottom:1px solid var(--border)}
#dzw-app .cart-item p{line-height:1.6}
#dzw-app .cart-item h3{margin:0 0 8px}
#dzw-app .cart-actions{display:flex;gap:12px;flex-wrap:wrap}
#dzw-app .cart-actions button{flex:1;min-width:160px}
#dzw-app .btn-secondary{background:#e9eef2;color:var(--text)}
#dzw-app #cartError:empty{display:none}
#dzw-app .hero p{max-width:850px}
#dzw-app .brand-main{color:#3b3b3b}
@media(max-width:500px){#dzw-app header{padding:14px}
#dzw-app .brand-main{font-size:17px}
#dzw-app .brand-logo{width:82px}
#dzw-app .card{padding:18px}
#dzw-app .hero{padding:30px 20px}
#dzw-app .row strong{text-align:right}
#dzw-app .row{flex-wrap:wrap}
}

body.single-product.postid-1033 div.product div.summary{float:none;width:100%;max-width:none}
body.single-product.postid-1033 div.product .woocommerce-product-gallery{display:none}
#dzw-app{margin:24px 0;background:#eef2f6;border-radius:16px;overflow:clip;font-family:Arial,Helvetica,sans-serif;color:#1f2a35}
#dzw-app .summary{float:none;width:auto;max-width:none;position:sticky;top:30px}
#dzw-app .hero{padding:24px;background:#3a3a3a;border-top:4px solid #a71920;color:white}
#dzw-app .main{margin-top:24px;display:grid;grid-template-columns:minmax(0,1.5fr) minmax(270px,.8fr)}
#dzw-app .main>section,#dzw-app .main>aside{min-width:0}
#dzw-app .row strong{text-align:right;overflow-wrap:anywhere}
#dzw-app .option{margin:0;font-weight:normal}
#dzw-app .option input{width:auto}
#dzw-app input,#dzw-app select{font:inherit;color:#1f2a35}
#dzw-app .field input[type=file]{max-width:100%;font-size:14px}
#dzw-app .btn-primary{background:#0b5ea8;color:white}
#dzw-app p{line-height:1.5}
@media(max-width:850px){#dzw-app .main{grid-template-columns:minmax(0,1fr)}#dzw-app .summary{position:static}}

/* 1.0.1: independent full-width product layout for the WooCommerce block template. */
body.postid-1033 .dzw-product-layout.alignfull{box-sizing:border-box;width:calc(100vw - 48px)!important;max-width:none!important;margin-left:calc(50% - 50vw + 24px)!important;margin-right:calc(50% - 50vw + 24px)!important;padding:0!important}
body.postid-1033 .dzw-product-title{font-size:clamp(30px,3.2vw,48px);line-height:1.15;margin:0 0 24px;text-align:left}
body.postid-1033 .dzw-product-layout .woocommerce-info{margin:0 0 20px}
#dzw-app .main{max-width:none;grid-template-columns:minmax(0,1.6fr) minmax(330px,.9fr);padding:0 24px;gap:28px}
#dzw-app .row{margin:0!important;min-height:0;line-height:1.45;align-items:flex-start;padding:11px 0}
#dzw-app .row>span{flex:1;min-width:0;word-break:normal;overflow-wrap:normal}
#dzw-app .row>strong{flex:0 1 52%;max-width:52%;word-break:normal;overflow-wrap:normal}
#dzw-app .option strong,#dzw-app .option span{word-break:normal;overflow-wrap:normal;hyphens:none}
#dzw-app .card.summary{align-self:start;float:none;clear:none;line-height:1.45}
@media(max-width:1000px){#dzw-app .main{grid-template-columns:minmax(0,1fr)}#dzw-app .summary{position:static}}
@media(max-width:600px){body.postid-1033 .dzw-product-layout.alignfull{width:calc(100vw - 24px)!important;margin-left:calc(50% - 50vw + 12px)!important;margin-right:calc(50% - 50vw + 12px)!important}#dzw-app .main{padding:0 12px;gap:16px}#dzw-app .options{grid-template-columns:minmax(0,1fr)}}

/* 1.0.6: visible, accessible validation messages instead of browser popovers. */
#dzw-app .dzw-field-error,#dzw-app .warning:not(:empty),#dzw-app #bindingColorNotice:not(:empty){background:#fde2e2;color:#8b1019;border:2px solid #b71928;border-left-width:6px;border-radius:8px;padding:14px 16px;margin:12px 0;font-size:16px;font-weight:700;line-height:1.5}
#dzw-app [aria-invalid="true"]{border:2px solid #b71928!important;background:#fff1f1!important;outline-offset:3px}
#dzw-app .warning:empty,#dzw-app #bindingColorNotice:empty{display:none}
