/* LaserTouch Marine */
.lt-marine{--bg:#07111c;--card:#0e1b2a;--card2:#13243a;--line:#22364d;--text:#e9eff5;--muted:#93a6b8;--acc:#33b1ff;--acc-d:#1488d6;--warn:#ffb547;--bad:#ff5a5f;--ok:#3ddc97;
  background:var(--bg);color:var(--text);font-family:inherit;line-height:1.5;border-radius:18px;overflow:hidden;max-width:1240px;margin:0 auto;box-sizing:border-box}
.lt-marine *,.lt-marine *::before,.lt-marine *::after{box-sizing:border-box}
.lt-marine h1,.lt-marine h2,.lt-marine h3{color:var(--text);margin:0 0 .4em;line-height:1.15;letter-spacing:-.01em}
.lt-marine h1{font-size:clamp(28px,4.4vw,48px);font-weight:800}
.lt-marine h2{font-size:clamp(22px,3vw,32px);font-weight:800}
.lt-marine p{margin:0 0 1em}
.lt-muted{color:var(--muted)}
.lt-small{font-size:13px}
.lt-section{padding:clamp(28px,5vw,56px) clamp(16px,4vw,48px);border-top:1px solid var(--line)}
.lt-section-head{max-width:760px;margin-bottom:22px}

/* buttons */
.lt-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 18px;border-radius:10px;border:1px solid transparent;font:inherit;font-weight:700;font-size:15px;cursor:pointer;text-decoration:none!important;line-height:1.2;transition:background .15s,border-color .15s,color .15s}
.lt-btn-primary{background:var(--acc);color:#04121f!important}
.lt-btn-primary:hover{background:#5cc2ff}
.lt-btn-outline{border-color:#3b5571;color:var(--text)!important;background:transparent}
.lt-btn-outline:hover{border-color:var(--acc);color:var(--acc)!important}
.lt-btn-ghost{background:var(--card2);border-color:var(--line);color:var(--text);font-size:13px;padding:9px 12px}
.lt-btn-ghost:hover{border-color:var(--acc)}
.lt-btn-danger{background:transparent;border-color:#5a2a33;color:#ff8a8e;font-size:13px;padding:9px 12px}
.lt-btn-danger:hover{background:#3a1c22}
.lt-btn:disabled{opacity:.6;cursor:wait}

/* hero */
.lt-hero{display:grid;grid-template-columns:1.05fr 1fr;gap:clamp(20px,4vw,48px);align-items:center;padding:clamp(28px,5vw,60px) clamp(16px,4vw,48px);background:radial-gradient(1200px 500px at 0% 0%,#123354 0%,transparent 60%),var(--bg)}
.lt-brand{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.lt-brand img{max-height:64px;width:auto}
.lt-brand-text{font-weight:900;letter-spacing:.14em;text-transform:uppercase;font-size:14px;color:var(--acc)}
.lt-hero p{color:#c7d3de;font-size:17px;max-width:560px}
.lt-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}
.lt-slideshow{position:relative;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:#0a1520;border:1px solid var(--line)}
.lt-slide{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;opacity:0;transition:opacity .7s}
.lt-slide.active{opacity:1}
.lt-dots{position:absolute;left:0;right:0;bottom:12px;display:flex;justify-content:center;gap:8px}
.lt-dot{width:10px;height:10px;border-radius:50%;border:0;padding:0;background:rgba(255,255,255,.45);cursor:pointer}
.lt-dot.active{background:#fff}
.lt-slide-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted);font-size:14px;padding:20px;text-align:center}

/* steps */
.lt-grid3{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}
.lt-card{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:18px}
.lt-card strong{display:block;margin-bottom:6px;font-size:16px}
.lt-card span{color:var(--muted);font-size:14px}
.lt-stepnum{display:inline-flex!important;width:30px;height:30px;border-radius:50%;background:var(--acc);color:#04121f!important;font-weight:900;align-items:center;justify-content:center;margin-bottom:10px;font-size:14px!important}

/* designer */
.lt-d{background:var(--card);border:1px solid var(--line);border-radius:16px;overflow:hidden}
.lt-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;padding:10px;border-bottom:1px solid var(--line);background:var(--card2)}
.lt-tsep{width:1px;height:24px;background:var(--line);margin:0 2px}
.lt-tgrow{flex:1}
.lt-tbtn{display:inline-flex;align-items:center;gap:6px;height:36px;min-width:36px;padding:0 8px;border-radius:8px;border:1px solid var(--line);background:var(--card);color:var(--text);cursor:pointer;font:inherit;font-size:13px;font-weight:700}
.lt-tbtn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lt-tbtn:hover{border-color:var(--acc)}
.lt-tbtn.is-on{background:#123354;border-color:var(--acc);color:var(--acc)}
.lt-tbtn:disabled{opacity:.35;cursor:default}
.lt-zoom{font-size:12px;color:var(--muted);min-width:40px;text-align:center}
.lt-select,.lt-input,.lt-textarea{width:100%;background:#0a1624;border:1px solid var(--line);color:var(--text);border-radius:9px;padding:10px 11px;font:inherit;font-size:15px;min-height:42px}
.lt-select:focus,.lt-input:focus,.lt-textarea:focus{outline:2px solid var(--acc);outline-offset:0;border-color:var(--acc)}
.lt-select-sm{width:auto;min-height:36px;padding:6px 8px;font-size:13px}
.lt-d-main{display:grid;grid-template-columns:minmax(0,1fr) 340px;grid-template-rows:auto 1fr;grid-template-areas:'canvas side' 'quote side'}
.lt-d-canvas{grid-area:canvas}
.lt-side{grid-area:side;border-left:1px solid var(--line)}
.lt-d-quote{grid-area:quote;padding:18px 16px 20px;border-top:1px solid var(--line);min-width:0}
.lt-d-quote .lt-section-head{margin-bottom:12px}
.lt-d-quote .lt-section-head h2{font-size:24px}
.lt-d-quote .lt-form{max-width:none;background:transparent;border:0;padding:0}
.lt-d-canvas{padding:12px;min-width:0}
.lt-stage{overflow:auto;border-radius:12px;background:repeating-conic-gradient(#0c1826 0 25%,#0a1521 0 50%) 0 0/24px 24px;border:1px solid var(--line);max-height:76vh}
.lt-stage-inner{position:relative;margin:0 auto}
.lt-label{cursor:text}
.lt-inline{position:absolute;z-index:5;display:flex;flex-direction:column;gap:6px;padding:8px;background:#0e1b2a;border:1px solid var(--acc);border-radius:10px;box-shadow:0 10px 30px rgba(0,0,0,.5)}
.lt-inline .lt-input{min-height:36px;padding:7px 9px;font-size:15px;text-transform:uppercase}
.lt-inline .lt-btn{padding:8px 12px;font-size:13px}
.lt-labelbox{display:flex;flex-direction:column;gap:10px;border:1px solid var(--line);border-radius:10px;padding:10px;background:#0a1624}
.lt-svg{display:block;width:100%;height:auto;color:#7f93a7;user-select:none;-webkit-user-select:none}
.lt-item{cursor:grab;touch-action:none}
.lt-item:active{cursor:grabbing}
.lt-item.is-bad>circle,.lt-item.is-bad>rect:first-child{stroke:var(--bad)!important;stroke-width:.045!important}
.lt-selbox{stroke:var(--acc);stroke-width:.025;stroke-dasharray:.08 .05;pointer-events:none}
.lt-guide{stroke:#ff4fd8;stroke-width:.018;stroke-dasharray:.1 .06;pointer-events:none}
.lt-dim line{stroke:var(--acc);stroke-width:.012;stroke-dasharray:.06 .05}
.lt-dim text{fill:var(--acc);font-weight:700;paint-order:stroke;stroke:#07111c;stroke-width:.05}
.lt-pdim{fill:#9fb3c6}
.lt-hint{font-size:12px;color:var(--muted);margin:8px 2px}
.lt-status{border-radius:10px;padding:10px 12px;font-size:13px;margin-top:6px}
.lt-status.is-ok{background:rgba(61,220,151,.1);color:var(--ok);border:1px solid rgba(61,220,151,.3)}
.lt-status.is-warn{background:rgba(255,181,71,.08);color:#ffd08a;border:1px solid rgba(255,181,71,.35)}
.lt-status ul{margin:6px 0 4px 18px;padding:0}
.lt-status li{margin:2px 0}
.lt-side{display:flex;flex-direction:column;min-width:0}
.lt-tabs{display:grid;grid-template-columns:repeat(3,1fr);border-bottom:1px solid var(--line)}
.lt-tab{background:transparent;border:0;border-bottom:3px solid transparent;color:var(--muted);font:inherit;font-weight:700;font-size:14px;padding:12px 6px;cursor:pointer}
.lt-tab.is-on{color:var(--text);border-bottom-color:var(--acc)}
.lt-tabbody{padding:14px;display:flex;flex-direction:column;gap:12px}
.lt-tabbody[hidden]{display:none}
.lt-field{display:flex;flex-direction:column;gap:5px;min-width:0;margin:0}
.lt-flabel{font-size:12px;font-weight:700;color:#b9c7d4;text-transform:none}
.lt-row2{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.lt-numwrap{position:relative;display:flex;align-items:center;gap:6px}
.lt-numwrap .lt-input{padding-right:40px}
.lt-unit{position:absolute;right:10px;top:11px;font-size:12px;color:var(--muted);pointer-events:none}
.lt-numwrap{flex-wrap:wrap}
.lt-frac{flex-basis:100%;font-size:11px;color:var(--acc);margin-top:-2px}
.lt-seg{display:flex;border:1px solid var(--line);border-radius:9px;overflow:hidden}
.lt-segbtn{flex:1;background:#0a1624;color:var(--muted);border:0;border-right:1px solid var(--line);padding:9px 6px;font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.lt-segbtn:last-child{border-right:0}
.lt-segbtn.is-on{background:#123354;color:var(--acc)}
.lt-swatches{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.lt-swatch{display:flex;align-items:center;gap:8px;background:#0a1624;border:1px solid var(--line);color:var(--text);border-radius:9px;padding:7px 8px;font:inherit;font-size:13px;cursor:pointer}
.lt-swatch.is-on{border-color:var(--acc);box-shadow:0 0 0 1px var(--acc)}
.lt-swatch-dot{width:18px;height:18px;border-radius:5px;border:1px solid #607385;flex:none}
.lt-addgrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.lt-addbtn{display:flex;flex-direction:column;align-items:flex-start;gap:3px;background:#0a1624;border:1px solid var(--line);color:var(--text);border-radius:11px;padding:10px;font:inherit;cursor:pointer;text-align:left}
.lt-addbtn:hover{border-color:var(--acc);background:#0f2236}
.lt-addicon{display:inline-flex;width:28px;height:28px;color:var(--acc)}
.lt-addicon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lt-addname{font-size:13px;font-weight:700;line-height:1.25}
.lt-addsize{font-size:11px;color:var(--muted)}
.lt-selhead{display:flex;align-items:center;gap:10px;font-size:16px}
.lt-btnrow{display:flex;gap:8px;flex-wrap:wrap}
.lt-btnrow .lt-btn{flex:1}
.lt-btngrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.lt-details{border:1px solid var(--line);border-radius:10px;padding:8px 10px;background:#0a1624}
.lt-details summary{cursor:pointer;font-weight:700;font-size:14px}
.lt-details[open]{display:flex;flex-direction:column;gap:10px}
.lt-est{padding:14px;border-bottom:1px solid var(--line);background:linear-gradient(180deg,#0f2236,#0b1828)}
.lt-est-label{font-size:12px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}
.lt-price{font-size:28px;font-weight:900;color:#fff;margin:0 0 4px;line-height:1.15}
.lt-est details{margin-bottom:8px}
.lt-est summary{cursor:pointer;font-size:13px;color:var(--acc);font-weight:700}
.lt-breakdown{width:100%;border-collapse:collapse;font-size:12px;margin-top:6px}
.lt-breakdown td{padding:3px 0;border-bottom:1px dashed var(--line);color:#c4d0db}
.lt-breakdown td:last-child{text-align:right;white-space:nowrap;padding-left:8px}

/* gallery */
.lt-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}
.lt-gallery a{display:block;border-radius:12px;overflow:hidden;border:1px solid var(--line);background:#f3f5f7;aspect-ratio:1/1}
.lt-gallery img{display:block;width:100%;height:100%;object-fit:contain;transition:transform .3s}
.lt-gallery a:hover img{transform:scale(1.04)}
.lt-lightbox{position:fixed;inset:0;background:rgba(2,6,12,.92);display:none;align-items:center;justify-content:center;z-index:99999;padding:20px;cursor:zoom-out}
.lt-lightbox.is-open{display:flex}
.lt-lightbox img{max-width:100%;max-height:92vh;border-radius:10px}

/* form */
.lt-form{display:flex;flex-direction:column;gap:14px;max-width:820px}
.lt-form .lt-row2{gap:14px}
.lt-textarea{min-height:120px;resize:vertical}
.lt-attached{display:flex;align-items:center;gap:10px;font-size:14px;color:var(--ok);background:rgba(61,220,151,.08);border:1px solid rgba(61,220,151,.3);border-radius:10px;padding:10px 12px}
.lt-success,.lt-error{display:none;border-radius:10px;padding:12px 14px;font-weight:700}
.lt-success{background:rgba(61,220,151,.12);color:var(--ok)}
.lt-error{background:rgba(255,90,95,.12);color:#ff9a9d}
.lt-hp{position:absolute!important;left:-9999px!important;width:1px;height:1px;overflow:hidden}

/* offer */
.lt-offer-overlay{position:fixed;inset:0;background:rgba(2,6,12,.72);display:flex;align-items:center;justify-content:center;padding:18px;z-index:99998;opacity:0;pointer-events:none;transition:opacity .25s}
.lt-offer-overlay.is-open{opacity:1;pointer-events:auto}
.lt-offer{position:relative;max-width:400px;width:100%;background:linear-gradient(160deg,#10263d,#07111c);border:1px solid #2c4866;border-radius:18px;padding:28px 24px;text-align:center;color:var(--text)}
.lt-offer-close{position:absolute;top:8px;right:10px;background:none;border:0;color:var(--muted);font-size:28px;cursor:pointer;line-height:1}
.lt-offer-badge{display:inline-block;background:var(--warn);color:#2a1800;font-weight:900;font-size:12px;letter-spacing:.08em;text-transform:uppercase;border-radius:99px;padding:5px 12px;margin-bottom:12px}
.lt-offer-discount{font-size:52px;font-weight:900;color:var(--acc);line-height:1;margin:10px 0}
.lt-offer-expire{color:var(--muted);font-size:13px;margin-bottom:16px}
.lt-offer .lt-btn{width:100%}
.lt-offer-note{font-size:12px;color:var(--muted);margin-top:10px}

@media (max-width:960px){
  .lt-d-main{grid-template-columns:1fr;grid-template-rows:auto;grid-template-areas:'canvas' 'side' 'quote'}
  .lt-side{border-left:0}
  .lt-d-canvas{border-right:0;border-bottom:1px solid var(--line)}
}
@media (max-width:760px){
  .lt-marine{border-radius:0}
  .lt-hero{grid-template-columns:1fr}
  .lt-grid3{grid-template-columns:1fr}
  .lt-form .lt-row2{grid-template-columns:1fr}
  .lt-tbtn-wide span{display:none}
  .lt-tsep{display:none}
  .lt-toolbar>.lt-select:first-child{flex:1 1 100%}
  .lt-price{font-size:26px}
}
@media (max-width:380px){.lt-row2{grid-template-columns:1fr}}
#lt-designer:focus{outline:none}
.lt-send{width:100%;margin-top:10px}
.lt-thick{display:flex;align-items:center;gap:8px}
.lt-thick-label{font-size:12px;font-weight:700;color:#b9c7d4;white-space:nowrap}
.lt-thick .lt-seg{min-width:120px}
.lt-thick .lt-segbtn{padding:7px 10px}
@media (max-width:760px){.lt-thick{flex:1 1 100%}.lt-thick .lt-seg{flex:1}}
.lt-swatch-fixed{cursor:default;width:max-content}
@media (min-width:961px){
  .lt-side{position:sticky;top:12px;align-self:start;max-height:calc(100vh - 24px);overflow-y:auto}
  .lt-est .lt-small.lt-muted{font-size:12px;line-height:1.4}
}
.lt-flash{display:none;margin:0 0 8px;padding:9px 12px;border-radius:10px;background:#123354;border:1px solid var(--acc);color:#d9efff;font-size:13px}
.lt-flash.is-on{display:block}
.lt-flash .lt-input{margin-top:6px;font-size:13px}
.lt-iconrow{display:flex;gap:8px;align-items:center}
.lt-iconrow .lt-select{flex:1}
.lt-iconprev{width:38px;height:38px;flex:none;border:1px solid var(--line);border-radius:8px;display:inline-flex;align-items:center;justify-content:center;background:#0a1624}
.lt-iconprev svg{width:26px;height:26px;fill:none;stroke:#e9eff5;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.lt-iconprev:empty{display:none}
.lt-switchtools{display:flex;flex-direction:column;gap:8px;border:1px solid var(--line);border-radius:10px;padding:10px;background:#0a1624}
.lt-hidden-file{display:none}
.lt-range{width:100%;accent-color:var(--acc)}
@media (max-width:760px){.lt-tbtn-wide span{display:none}}
.lt-hero{position:relative}
.lt-langs{position:absolute;top:14px;right:16px;display:flex;gap:4px;background:rgba(7,17,28,.7);border:1px solid var(--line);border-radius:99px;padding:3px;z-index:2}
.lt-langs a{color:var(--muted)!important;text-decoration:none!important;font-size:12px;font-weight:700;padding:5px 10px;border-radius:99px}
.lt-langs a.is-on{background:var(--acc);color:#04121f!important}
@media (max-width:760px){.lt-hero{padding-top:56px}}
.lt-selbar{display:flex;min-height:52px;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin:0 0 8px;padding:7px 8px 7px 12px;border-radius:12px;background:#10263d;border:1px solid var(--acc)}
.lt-selbar:not(.is-on){border-color:var(--line);background:transparent}
.lt-selbar .lt-muted{color:var(--muted);font-weight:600;white-space:normal}
.lt-selbar-name{font-size:13px;font-weight:700;color:#d9efff;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lt-selbar-acts{display:flex;flex-wrap:wrap;gap:6px}
.lt-sbtn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 11px;border-radius:9px;border:1px solid var(--line);background:var(--card);color:var(--text);font:inherit;font-size:13px;font-weight:700;cursor:pointer}
.lt-sbtn svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.lt-sbtn:hover{border-color:var(--acc)}
.lt-sbtn.is-danger{color:#ff8a8e;border-color:#5a2a33}
.lt-sbtn.is-done{background:var(--acc);color:#04121f;border-color:var(--acc)}
@media (max-width:760px){.lt-selbar{min-height:92px;align-content:center}.lt-selbar-name{flex:1 1 100%}.lt-selbar-acts{width:100%}.lt-sbtn{flex:1;justify-content:center;padding:0 6px}.lt-sbtn span{font-size:12px}}
@media (max-width:420px){.lt-selbar-acts .lt-sbtn{flex-direction:column;height:auto;padding:6px 2px;gap:3px}.lt-selbar-acts .lt-sbtn span{font-size:10.5px;line-height:1.1}}
.lt-nudge{display:none;align-items:center;gap:6px;width:100%}
.lt-nudge-label{font-size:12px;color:var(--muted);font-weight:700;margin-right:auto}
.lt-nbtn{width:48px;justify-content:center;font-size:18px;padding:0}
@media (pointer:coarse){.lt-selbar.is-on .lt-nudge{display:flex}}
.lt-prob{cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:3px}
.lt-prob:hover{color:#fff}
.lt-boxsel{fill:rgba(51,177,255,.12);stroke:#33b1ff;stroke-width:.02;stroke-dasharray:.08 .05;pointer-events:none}
.lt-tbtn-accent{border-color:var(--acc);color:var(--acc)}
.lt-d-canvas{display:flex;flex-direction:column}
@media (pointer:coarse){
  .lt-flash{order:0}.lt-stage{order:1}.lt-selbar{order:2;margin:8px 0 0;min-height:0}.lt-hint{order:3}.lt-status{order:4}
  .lt-selbar:not(.is-on){display:none}
}
@media (max-width:760px){.lt-tbtn.lt-keep span{display:inline}.lt-tbtn.lt-keep{flex:1 1 auto;justify-content:center}}
.lt-faq{display:flex;flex-direction:column;gap:8px;max-width:860px}
.lt-faq-item{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:0 16px}
.lt-faq-item summary{cursor:pointer;list-style:none;padding:14px 28px 14px 0;position:relative}
.lt-faq-item summary::-webkit-details-marker{display:none}
.lt-faq-item summary::after{content:'+';position:absolute;right:0;top:10px;font-size:22px;color:var(--acc);font-weight:700}
.lt-faq-item[open] summary::after{content:'–'}
.lt-faq-item summary h3{display:inline;font-size:16px;font-weight:700;margin:0}
.lt-faq-item p{color:#c4d0db;margin:0 0 14px;font-size:15px}
.lt-madein{font-size:14px!important;color:var(--muted)!important;margin:10px 0 0!important}
