/*
Theme Name: Codulon
Theme URI: https://codulon.local/
Author: Codulon
Description: Custom Codulon WordPress theme with multilingual pages, WooCommerce support, editable content sections, technical service pages and a clean responsive layout.
Version: 1.22
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: codulon
Tags: one-page, custom-logo, custom-menu, editor-style, responsive-layout
*/
:root{
  --bg:#f4f9fc; --paper:#ffffff; --ink:#061829; --muted:#496274; --line:rgba(0,91,145,.15);
  --blue:#005fbb; --deep:#031e38; --cyan:#00c7df; --soft:#e9fbff; --grid:rgba(0,126,190,.14);
  --shadow:0 28px 80px rgba(0,47,90,.13); --r:28px; --max:1220px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;background:var(--bg);color:var(--ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.62;overflow-x:hidden}
body:before{content:"";position:fixed;inset:0;z-index:-3;background:
url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='1600' height='1400' viewBox='0 0 1600 1400'%3E%3Cg fill='none' stroke='%23005fbb' stroke-opacity='.12' stroke-width='1.2'%3E%3Cpath d='M88 150h400l70 70h250l58-58h410'/%3E%3Cpath d='M118 236h278l45 44h118' stroke-dasharray='6 8'/%3E%3Cpath d='M102 860h340l86-86h232l124 124h482'/%3E%3Cpath d='M960 172h242v176H960zM1020 172v176M1082 172v176M1142 172v176M960 232h242M960 292h242M960 352h242'/%3E%3Cpath d='M212 404l152-98 182 84-28 188-222 48-84-222zM364 306v272M546 390l-250 244'/%3E%3Cpath d='M924 636l108-128 186 40 104 142-156 74-242-48zM1032 508v182M1218 548l-52 216'/%3E%3Cpath d='M168 1090h212m-166 28h324m612-16h278m-226 30h162'/%3E%3Cpath d='M560 960h128l34-34h94' stroke-dasharray='8 10'/%3E%3Cpath d='M1264 930h118l32-32h72' stroke-dasharray='8 10'/%3E%3Ccircle cx='488' cy='220' r='5' fill='%2300c7df' stroke='none'/%3E%3Ccircle cx='852' cy='162' r='5' fill='%2300c7df' stroke='none'/%3E%3Ccircle cx='1168' cy='764' r='5' fill='%2300c7df' stroke='none'/%3E%3Ccircle cx='414' cy='1172' r='5' fill='%2300c7df' stroke='none'/%3E%3C/g%3E%3Cg fill='%23061829' fill-opacity='.06' font-family='monospace' font-size='24'%3E%3Ctext x='84' y='114'%3Efunction buildPlugin(config)%3C/text%3E%3Ctext x='984' y='450'%3ESub GenerateMonthlyReport()%3C/text%3E%3Ctext x='984' y='482'%3Ews.ExportAsFixedFormat xlTypePDF%3C/text%3E%3Ctext x='84' y='736'%3Epublic class WorkflowEngine : ICodulonService%3C/text%3E%3Ctext x='602' y='334'%3ECAD DRAWING / ISO VIEW / SCALE 1:2%3C/text%3E%3Ctext x='1010' y='1018'%3Eplugin.register_shortcode(%22codulon_form%22)%3C/text%3E%3Ctext x='82' y='1270'%3ESELECT * FROM jobs WHERE status = %22active%22%3C/text%3E%3C/g%3E%3Cg fill='none' stroke='%2300c7df' stroke-opacity='.18' stroke-width='1'%3E%3Cpath d='M1290 278h158'/%3E%3Cpath d='M1290 310h126'/%3E%3Cpath d='M1290 342h174'/%3E%3Cpath d='M112 1004h188'/%3E%3Cpath d='M112 1034h144'/%3E%3Cpath d='M112 1064h214'/%3E%3C/g%3E%3C/svg%3E"),
radial-gradient(circle at 12% 10%,rgba(0,199,223,.08),transparent 25%),radial-gradient(circle at 88% 8%,rgba(0,95,187,.07),transparent 28%);
background-size:1600px 1400px,auto,auto;background-position:center top,0 0,0 0;background-repeat:repeat-y,no-repeat,no-repeat;mask-image:linear-gradient(to bottom,rgba(0,0,0,.92),rgba(0,0,0,.78) 68%,transparent 98%)}
body:after{content:"";position:fixed;inset:-20%;z-index:-4;background:radial-gradient(circle at 15% 10%,rgba(0,199,223,.20),transparent 28%),radial-gradient(circle at 88% 8%,rgba(0,95,187,.18),transparent 30%),linear-gradient(180deg,#fff 0%,#f4f9fc 60%,#edf6fb 100%)}
a{color:var(--blue);text-decoration:none} img{max-width:100%;height:auto}.wrap{width:min(calc(100% - 34px),var(--max));margin-inline:auto}.skip-link{position:absolute;left:-999px}.skip-link:focus{left:18px;top:18px;z-index:1000;background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 14px;box-shadow:var(--shadow)}
.site-header{position:sticky;top:0;z-index:50;background:rgba(244,249,252,.82);backdrop-filter:blur(18px);border-bottom:1px solid rgba(0,95,187,.11)}
.site-header .wrap{min-height:84px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand img{width:clamp(190px,21vw,282px);display:block}.main-nav ul{display:flex;gap:10px;list-style:none;margin:0;padding:0}.main-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 20px;border-radius:99px;color:var(--ink);font-weight:800;letter-spacing:.03em;text-transform:none;font-size:.92rem}.main-nav a:hover,.main-nav .current-menu-item a{background:#071d31;color:var(--cyan);box-shadow:0 0 0 1px rgba(0,199,223,.32) inset}
.site-main{padding:34px 0 74px}.entry-title{position:absolute!important;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0,0,0,0)}.cod-page{display:grid;gap:28px}.panel{position:relative;overflow:hidden;border:1px solid var(--line);border-radius:var(--r);background:rgba(255,255,255,.78);box-shadow:var(--shadow)}.panel:before{content:"";position:absolute;inset:0;background:linear-gradient(135deg,rgba(255,255,255,.9),transparent 38%),radial-gradient(circle at 90% 4%,rgba(0,199,223,.18),transparent 22%);pointer-events:none}.panel>*{position:relative}.hero{padding:clamp(28px,4.2vw,54px);min-height:650px;display:grid;grid-template-columns:.82fr 1.18fr;gap:30px;align-items:center}.eyebrow{margin:0 0 18px;color:var(--blue);font-size:1rem;font-weight:800;letter-spacing:.04em;text-transform:none}.hero h1,.section h2{margin:0;color:var(--ink);letter-spacing:-.04em;line-height:1.02}.hero h1{font-size:clamp(3.1rem,6.2vw,6rem);max-width:760px}.hero h1 span{display:block;color:transparent;background:linear-gradient(92deg,var(--blue),var(--cyan));-webkit-background-clip:text;background-clip:text}.lead{font-size:clamp(1.06rem,1.5vw,1.28rem);color:var(--muted);max-width:660px;margin:24px 0 0}.btns{display:flex;flex-wrap:wrap;gap:13px;margin-top:28px}.btn{display:inline-flex;align-items:center;gap:10px;min-height:52px;padding:0 22px;border-radius:14px;font-weight:800;letter-spacing:.02em;text-transform:none;font-size:.92rem}.btn.primary{background:#051d33;color:#fff;box-shadow:0 18px 40px rgba(3,30,56,.24)}.btn.ghost{border:1px solid rgba(0,95,187,.26);background:rgba(255,255,255,.62);color:var(--deep)}.btn:after{content:"›";font-size:1.2rem;color:var(--cyan)}
.tech-stage{min-height:520px;position:relative;perspective:1200px}.axis{position:absolute;inset:12% 4% 0 0;border-radius:42px;background:linear-gradient(180deg,rgba(3,30,56,.96),rgba(4,39,71,.86));box-shadow:0 42px 120px rgba(0,24,44,.25),inset 0 0 0 1px rgba(0,199,223,.25);transform:rotateX(58deg) rotateZ(-35deg);transform-origin:50% 65%}.axis:before{content:"";position:absolute;inset:18px;border-radius:34px;background:linear-gradient(90deg,rgba(0,199,223,.24) 1px,transparent 1px),linear-gradient(rgba(0,199,223,.2) 1px,transparent 1px);background-size:34px 34px}.cube{position:absolute;width:118px;height:118px;left:46%;top:43%;transform-style:preserve-3d;transform:rotateX(-18deg) rotateY(36deg);animation:float 5.8s ease-in-out infinite}.cube div{position:absolute;inset:0;background:linear-gradient(135deg,#00d8f0,#006acb);border:1px solid rgba(255,255,255,.34);box-shadow:0 0 38px rgba(0,199,223,.38)}.cube .f{transform:translateZ(59px)}.cube .b{transform:rotateY(180deg) translateZ(59px)}.cube .r{transform:rotateY(90deg) translateZ(59px)}.cube .l{transform:rotateY(-90deg) translateZ(59px)}.cube .t{transform:rotateX(90deg) translateZ(59px)}.cube .d{transform:rotateX(-90deg) translateZ(59px)}@keyframes float{50%{transform:rotateX(-18deg) rotateY(36deg) translateY(-16px)}}.hud{position:absolute;background:rgba(4,24,42,.92);color:#bdf9ff;border:1px solid rgba(0,199,223,.38);border-radius:16px;padding:16px 18px;font-family:"JetBrains Mono","SFMono-Regular",Consolas,monospace;font-size:.77rem;box-shadow:0 24px 60px rgba(0,23,43,.24)}.hud strong{display:block;color:#fff;margin-bottom:8px;letter-spacing:.12em}.hud.code{left:0;top:12%;width:270px}.hud.cad{right:0;top:4%;width:310px}.hud.vba{right:4%;bottom:8%;width:300px}.wire{position:absolute;inset:0;pointer-events:none}.service-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.section{padding:clamp(28px,4vw,48px)}.section h2{font-size:clamp(2rem,3.6vw,3.35rem);max-width:940px}.section-intro{display:flex;justify-content:space-between;gap:34px;align-items:end;margin-bottom:28px}.section-intro p{max-width:420px;margin:0;color:var(--muted)}.card{position:relative;padding:24px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(235,248,253,.82));border:1px solid rgba(0,95,187,.13);min-height:430px;overflow:hidden}.card:after{content:"";position:absolute;right:-40px;bottom:-46px;width:130px;height:130px;border:1px solid rgba(0,199,223,.38);border-radius:28px;transform:rotate(20deg)}.icon{width:54px;height:54px;border-radius:18px;background:#041d34;color:var(--cyan);display:grid;place-items:center;font-weight:900;font-size:1.3rem;box-shadow:0 18px 30px rgba(3,30,56,.18);margin-bottom:22px}.card h3{margin:0 0 10px;font-size:1.32rem;letter-spacing:-.02em}.card p{color:var(--muted);margin:0 0 14px}.card p:last-child,.spec p,.footer p{color:var(--muted);margin:0}.lab{display:grid;grid-template-columns:1fr 1fr;gap:18px}.spec{padding:24px;border-radius:22px;border:1px solid rgba(0,95,187,.13);background:rgba(255,255,255,.72)}.spec code{display:inline-block;margin-bottom:15px;color:var(--cyan);background:#061829;border-radius:999px;padding:8px 12px;font-weight:800;font-size:.92rem}.blueprint{min-height:410px;border-radius:24px;background:#061829;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,199,223,.28)}.blueprint:before{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,199,223,.13) 1px,transparent 1px),linear-gradient(rgba(0,199,223,.13) 1px,transparent 1px);background-size:30px 30px}.blueprint svg{position:absolute;inset:0;width:100%;height:100%}.dark-band{background:linear-gradient(135deg,#031829,#062b4d);color:#fff}.dark-band .section h2,.dark-band h2{color:#fff}.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}.metric{padding:24px;border-left:1px solid rgba(0,199,223,.28)}.metric b{display:block;color:var(--cyan);font-size:clamp(2rem,4vw,3.3rem);letter-spacing:-.06em;line-height:1}.metric span{display:block;color:#d9f8ff;margin-top:8px}.cta{display:grid;grid-template-columns:1fr .8fr;gap:18px;align-items:stretch}.terminal{background:#061829;color:#d7fbff;border-radius:22px;border:1px solid rgba(0,199,223,.3);padding:24px;font-family:"JetBrains Mono","SFMono-Regular",Consolas,monospace;font-size:.9rem}.terminal i{color:var(--cyan);font-style:normal}.footer{padding:0 0 40px}.footer-grid{display:grid;grid-template-columns:1.25fr 1fr 1fr 1fr;gap:22px;align-items:start;border:1px solid var(--line);border-radius:24px 24px 0 0;background:rgba(255,255,255,.76);padding:28px}.footer-bottom{display:flex;justify-content:space-between;gap:18px;align-items:center;border:1px solid var(--line);border-top:0;border-radius:0 0 24px 24px;background:rgba(255,255,255,.62);padding:16px 28px}.footer img{width:170px;margin-bottom:14px}.footer h3{margin:0 0 10px;font-size:1rem;color:var(--ink)}.footer p{font-size:.95rem}.footer-brand p + p{margin-top:10px}.footer-bottom a{font-weight:800;text-transform:none;letter-spacing:.02em;font-size:.92rem}.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute!important;width:1px;word-wrap:normal!important}
@media(max-width:1050px){.hero,.lab,.cta,.footer-grid{grid-template-columns:1fr}.service-grid,.metrics{grid-template-columns:repeat(2,1fr)}.tech-stage{min-height:560px}.section-intro{display:block}.section-intro p{margin-top:18px}}
@media(max-width:700px){.site-header .wrap,.footer-bottom{align-items:flex-start;flex-direction:column}.hero{min-height:0}.hero h1{font-size:clamp(3rem,16vw,4.6rem)}.service-grid,.metrics{grid-template-columns:1fr}.hud{position:relative;left:auto!important;right:auto!important;top:auto!important;bottom:auto!important;width:auto!important;margin:10px 0}.axis,.cube,.wire{display:none}.tech-stage{min-height:0}.btn{width:100%;justify-content:center}}

.small-lead{font-size:1.02rem;margin-top:12px}.copy-block{padding:24px;border-radius:22px;background:rgba(255,255,255,.72);border:1px solid rgba(0,95,187,.13)}.copy-block p{color:var(--muted);margin:0 0 16px}.copy-block p:last-child{margin-bottom:0}.service-deep .terminal{min-height:100%;}.audience-grid .card{min-height:310px}


/* v7 stronger CAD/code layer and rebuilt technical composition */
body:before{
  content:"";position:fixed;inset:0;z-index:-3;
  background-image:url("assets/img/cad-code-bg.svg");
  background-size:1320px auto;background-position:50% 0;background-repeat:repeat-y;
  opacity:.96;filter:saturate(1.2) contrast(1.12);mask-image:none;pointer-events:none;
}
body:after{opacity:.96;background:linear-gradient(180deg,rgba(255,255,255,.64),rgba(244,249,252,.78) 48%,rgba(237,246,251,.85)),radial-gradient(circle at 12% 8%,rgba(0,199,223,.24),transparent 30%),radial-gradient(circle at 92% 10%,rgba(0,95,187,.22),transparent 34%)}
.site-header{background:rgba(255,255,255,.68);border-bottom:1px solid rgba(0,95,187,.22)}
.site-header:after{content:"";display:block;height:2px;background:linear-gradient(90deg,transparent,var(--blue),var(--cyan),transparent);opacity:.7}.site-header .wrap{min-height:76px}.brand img{width:clamp(178px,18vw,248px)}
.panel{background:rgba(255,255,255,.70);border-color:rgba(0,95,187,.23);box-shadow:0 24px 70px rgba(0,47,90,.14),inset 0 0 0 1px rgba(255,255,255,.55)}
.panel:before{background:linear-gradient(135deg,rgba(255,255,255,.74),rgba(255,255,255,.18) 42%,rgba(0,199,223,.08)),radial-gradient(circle at 92% 3%,rgba(0,199,223,.22),transparent 24%)}
.panel:after{content:"";position:absolute;inset:0;pointer-events:none;background:url("assets/img/cad-code-bg.svg");background-size:980px auto;background-position:center top;opacity:.19;mix-blend-mode:multiply}.hero{grid-template-columns:minmax(0,1.08fr) minmax(420px,.92fr);min-height:720px;border-radius:36px;gap:44px;align-items:center}.hero-copy{max-width:680px;min-width:0;position:relative;z-index:3}.hero-visual{min-width:0;display:flex;justify-content:flex-end;position:relative;z-index:1}.hero h1{font-size:clamp(2.9rem,5.3vw,5.4rem);line-height:1.01;letter-spacing:-.055em}.hero h1 span{display:inline}.lead{color:#2f526d}.eyebrow{font-size:1.05rem;letter-spacing:.02em;color:#004f9f}.hero-audience{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px}.hero-audience span{display:inline-flex;align-items:center;padding:9px 14px;border-radius:999px;background:rgba(255,255,255,.82);border:1px solid rgba(0,95,187,.18);box-shadow:0 10px 24px rgba(0,47,90,.08);font-size:.95rem;font-weight:700;color:#164563}.btn{border-radius:18px}.btn.primary{background:linear-gradient(135deg,#031829,#06365f 58%,#005fbb);box-shadow:0 18px 42px rgba(3,30,56,.28)}.btn.ghost{background:rgba(255,255,255,.78)}.tech-stage{width:min(100%,560px);min-height:560px;margin-left:auto;overflow:hidden}.hud.code{left:14px;top:10%;width:250px}.hud.cad{right:14px;top:6%;width:286px}.hud.vba{right:18px;bottom:7%;width:286px}
.section{padding:clamp(30px,4.5vw,58px)}.section h2{font-size:clamp(2.05rem,3.35vw,3.55rem);line-height:1.04}.section-intro{border-bottom:1px solid rgba(0,95,187,.16);padding-bottom:24px}.section-intro p{font-size:1.05rem;color:#355c76}.service-grid{gap:20px}.card{background:rgba(255,255,255,.77);border-color:rgba(0,95,187,.22);min-height:455px}.card:nth-child(2n){transform:translateY(18px)}.card h3{font-size:1.36rem}.card p,.copy-block p,.spec p,.footer p{color:#375a72}.icon{background:linear-gradient(135deg,#031829,#064a83);color:#8ff7ff}.copy-block,.spec{background:rgba(255,255,255,.73);border-color:rgba(0,95,187,.22)}.terminal{box-shadow:0 24px 70px rgba(0,24,44,.22);background:linear-gradient(135deg,#041525,#062b4d);font-size:.96rem}.blueprint{box-shadow:0 24px 70px rgba(0,24,44,.22),inset 0 0 0 1px rgba(0,199,223,.36)}
.dark-band{background:linear-gradient(135deg,rgba(3,24,41,.96),rgba(6,43,77,.94));}.footer-grid,.footer-bottom{background:rgba(255,255,255,.75);border-color:rgba(0,95,187,.22)}.footer h3{font-size:1.08rem}.footer-bottom a{font-size:.95rem}.main-nav a{font-size:.95rem}.main-nav .current-menu-item a,.main-nav a:hover{background:linear-gradient(135deg,#031829,#064a83);color:#bdf9ff}
@media(max-width:1050px){.card:nth-child(2n){transform:none}.hero{min-height:0;grid-template-columns:1fr}.hero-visual{justify-content:center}.hero-copy{max-width:none}.tech-stage{margin:0 auto}}


/* v10 remove white fog in dark capability block and add motion */
.dark-band.panel{
  background:
    radial-gradient(circle at 84% 16%, rgba(0,199,223,.18), transparent 24%),
    linear-gradient(135deg, rgba(3,24,41,.98), rgba(5,48,84,.96));
  box-shadow: 0 26px 80px rgba(0,24,44,.28), inset 0 0 0 1px rgba(160,240,255,.18);
}
.dark-band.panel:before{
  background:
    linear-gradient(135deg, rgba(255,255,255,.03), rgba(255,255,255,0) 38%),
    radial-gradient(circle at 90% 6%, rgba(0,199,223,.12), transparent 24%);
  opacity: .36;
}
.dark-band.panel:after{
  background: url("assets/img/cad-code-bg.svg");
  background-size: 920px auto;
  background-position: center top;
  opacity: .085;
  mix-blend-mode: screen;
}
.dark-band .section-intro{border-bottom-color: rgba(160,240,255,.18)}
.dark-band .section-intro p,.dark-band .metric span{color:#dcf7ff}
.dark-band .metrics{position:relative;overflow:hidden}
.dark-band .metrics::before{
  content:"";
  position:absolute;
  inset:-18% auto -18% -28%;
  width:40%;
  background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.08), rgba(255,255,255,0));
  transform:skewX(-22deg) translateX(-180%);
  animation:codulonSheen 8s ease-in-out infinite;
  pointer-events:none;
}
.dark-band .metric{position:relative;transition:transform .55s ease, border-color .45s ease, background .45s ease;}
.dark-band .metric:hover{transform:translateY(-6px);border-left-color:rgba(160,240,255,.56);background:rgba(255,255,255,.03)}
.hero-audience span{transition:transform .45s ease, box-shadow .45s ease, border-color .45s ease}
.hero-audience span:hover{transform:translateY(-4px);box-shadow:0 16px 32px rgba(0,47,90,.14);border-color:rgba(0,95,187,.32)}

.motion-ready .reveal-target{
  opacity:0;
  transform:translateY(34px);
  transition:opacity .72s ease, transform .72s cubic-bezier(.2,.8,.2,1);
  transition-delay:var(--reveal-delay,0ms);
}
.motion-ready .reveal-target.is-visible{
  opacity:1;
  transform:none;
}
.motion-ready .hud.reveal-target{transform:translateY(24px) scale(.98)}
.motion-ready .hud.reveal-target.is-visible{transform:none}
.motion-ready #stack{animation:codulonAmbient 14s ease-in-out infinite}
.motion-ready .tech-stage{animation:codulonDrift 14s ease-in-out infinite}

@keyframes codulonAmbient{
  0%,100%{box-shadow:0 26px 80px rgba(0,24,44,.26), inset 0 0 0 1px rgba(160,240,255,.16)}
  50%{box-shadow:0 28px 88px rgba(0,24,44,.34), inset 0 0 0 1px rgba(160,240,255,.24)}
}
@keyframes codulonSheen{
  0%{transform:skewX(-22deg) translateX(-180%)}
  55%,100%{transform:skewX(-22deg) translateX(380%)}
}
@keyframes codulonDrift{
  0%,100%{transform:translateY(0)}
  50%{transform:translateY(-8px)}
}

@media (prefers-reduced-motion: reduce){
  .dark-band .metrics::before,
  .motion-ready #stack,
  .motion-ready .tech-stage,
  .cube{animation:none !important}
  .motion-ready .reveal-target{opacity:1;transform:none;transition:none}
}


/* v11 cleaner small dark technical cards + Home menu label */
.tech-stage{width:min(100%,600px);min-height:600px}
.hud{
  display:flex;flex-direction:column;justify-content:center;
  min-height:170px;padding:18px 20px;
  border-radius:18px;background:linear-gradient(135deg,rgba(5,19,34,.98),rgba(8,40,68,.95));
  box-shadow:0 26px 60px rgba(0,20,38,.28), inset 0 0 0 1px rgba(0,199,223,.22);
  backdrop-filter:blur(10px);
  overflow:hidden;
}
.hud:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.045),transparent 36%),linear-gradient(90deg,rgba(0,199,223,.12) 1px,transparent 1px),linear-gradient(rgba(0,199,223,.10) 1px,transparent 1px);
  background-size:auto,22px 22px,22px 22px;opacity:.22;
}
.hud:after{
  content:"";position:absolute;right:-24px;bottom:-30px;width:120px;height:120px;border:1px solid rgba(0,199,223,.18);border-radius:20px;transform:rotate(18deg);
}
.hud strong{display:block;color:#fff;margin-bottom:10px;letter-spacing:.12em;font-size:.84rem}
.hud span{display:block;position:relative;z-index:1;color:#bdf9ff;line-height:1.72;font-size:.82rem}
.hud.code{left:6%;top:15%;width:280px}
.hud.cad{right:5%;top:18%;width:300px}
.hud.vba{left:50%;bottom:10%;width:310px;transform:translateX(-50%)}
.terminal{
  display:flex;flex-direction:column;justify-content:center;position:relative;overflow:hidden;
  min-height:280px;padding:30px 28px;line-height:1.88;
  background:linear-gradient(135deg,#041525,#072f52 68%,#0b3f6d);
  border-radius:22px;border:1px solid rgba(0,199,223,.28);
}
.terminal:before{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(90deg,rgba(0,199,223,.12) 1px,transparent 1px),linear-gradient(rgba(0,199,223,.10) 1px,transparent 1px);
  background-size:26px 26px;opacity:.16;
}
.terminal:after{
  content:"";position:absolute;right:-22px;top:-22px;width:120px;height:120px;border:1px solid rgba(0,199,223,.18);border-radius:22px;transform:rotate(18deg);opacity:.85;
}
.terminal i{display:inline-block;margin-bottom:12px;padding:6px 10px;border-radius:999px;background:rgba(0,199,223,.12);color:#8ff7ff}
@media(max-width:1050px){.hud.code,.hud.cad,.hud.vba{left:auto;right:auto;top:auto;bottom:auto;transform:none;width:auto}}


/* v12 CAD model section + technical back-to-top button */
.blueprint svg{filter:drop-shadow(0 14px 26px rgba(0,199,223,.10));transform:scale(1.02)}
.blueprint:after{content:"";position:absolute;inset:18px;border:1px solid rgba(10,216,255,.14);border-radius:18px;pointer-events:none}
.scroll-top-tech{
  position:fixed;right:24px;bottom:24px;z-index:80;
  width:68px;height:68px;border-radius:22px;
  display:grid;place-items:center;
  color:#bdf9ff;text-decoration:none;
  background:linear-gradient(135deg,rgba(4,21,37,.98),rgba(7,47,82,.96));
  border:1px solid rgba(0,199,223,.34);
  box-shadow:0 24px 56px rgba(0,24,44,.24), inset 0 0 0 1px rgba(255,255,255,.04);
  opacity:0;transform:translateY(14px) scale(.94);pointer-events:none;
  transition:opacity .3s ease, transform .3s ease, box-shadow .3s ease, border-color .3s ease;
  overflow:hidden;
}
.scroll-top-tech:before{
  content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(0,199,223,.10) 1px,transparent 1px),linear-gradient(rgba(0,199,223,.10) 1px,transparent 1px),linear-gradient(180deg,rgba(255,255,255,.06),transparent 35%);
  background-size:18px 18px,18px 18px,auto;opacity:.2;pointer-events:none;
}
.scroll-top-tech__icon{position:relative;z-index:1;display:grid;place-items:center;width:34px;height:34px}
.scroll-top-tech__icon svg{width:34px;height:34px;display:block}
.scroll-top-tech.is-visible{opacity:1;transform:none;pointer-events:auto}
.scroll-top-tech:hover{box-shadow:0 28px 62px rgba(0,24,44,.3), inset 0 0 0 1px rgba(255,255,255,.06);border-color:rgba(0,199,223,.52);transform:translateY(-3px)}
.scroll-top-tech:hover .scroll-top-tech__icon{animation:codulonArrowLift .8s ease-in-out infinite alternate}
@keyframes codulonArrowLift{from{transform:translateY(0)}to{transform:translateY(-4px)}}
@media(max-width:700px){.scroll-top-tech{right:16px;bottom:16px;width:60px;height:60px;border-radius:18px}}


/* v14 header, logo, blueprint and layout refinements */
.site-header .wrap{justify-content:flex-start;gap:28px}
.main-nav{margin-left:18px}
.main-nav ul{justify-content:flex-start}
.brand img{width:clamp(280px,26vw,390px)}
.footer img{width:230px;max-width:100%}
.hero .eyebrow{white-space:nowrap;font-size:.98rem;overflow:hidden;text-overflow:ellipsis}
.hero-audience{max-width:720px}
.btns{display:grid;grid-template-columns:repeat(2,minmax(210px,max-content));gap:14px;align-items:start}
.btns .btn:last-child{grid-column:1/span 2;max-width:250px}
.service-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.card{min-height:350px}
.card:nth-child(2n){transform:none}

.blueprint{display:flex;align-items:center;justify-content:center;min-height:430px}
.blueprint:before{z-index:1}
.blueprint:after{z-index:3}
.blueprint svg{position:absolute;inset:0;z-index:2;display:block;width:100%;height:100%;filter:drop-shadow(0 14px 26px rgba(0,199,223,.12));transform:none}
.metric b{font-size:clamp(1.9rem,3.5vw,3rem)}

@media(max-width:1150px){
  .hero .eyebrow{white-space:normal;overflow:visible;text-overflow:clip}
}
@media(max-width:900px){
  .btns{grid-template-columns:1fr}
  .btns .btn:last-child{grid-column:auto;max-width:none}
  .service-grid{grid-template-columns:1fr}
}


/* v15 logo proportions, hero label and CAD image fallback */
.brand img{width:clamp(300px,25vw,430px)}
.footer img{width:260px;max-width:100%}
.hero .eyebrow{
  white-space:nowrap !important;
  overflow:visible !important;
  text-overflow:clip !important;
  max-width:none;
  font-size:clamp(.72rem,.72vw,.88rem);
  letter-spacing:.01em;
}
.blueprint{
  background:#061829 !important;
}
.blueprint svg{opacity:1 !important;visibility:visible !important;z-index:4 !important;filter:drop-shadow(0 18px 34px rgba(0,199,223,.18)) !important;}
.blueprint:before{opacity:.35;z-index:1}
.blueprint:after{z-index:5}
@media(max-width:1150px){.hero .eyebrow{white-space:normal !important;font-size:.88rem}}


/* v16 repair hero button layout */
.hero-copy{max-width:720px}
.hero-audience{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(190px,1fr));
  gap:12px;
  max-width:520px;
  margin-top:22px;
}
.hero-audience span{
  justify-content:center;
  min-height:44px;
  padding:10px 16px;
  text-align:center;
}
.btns{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
  max-width:680px;
  margin-top:26px;
  align-items:stretch;
}
.btns .btn,
.btns .btn:last-child{
  grid-column:auto !important;
  max-width:none !important;
  width:100%;
  justify-content:center;
  min-height:54px;
  padding:0 18px;
  white-space:nowrap;
}
@media(max-width:1180px){
  .btns{grid-template-columns:1fr;max-width:420px}
  .btns .btn{white-space:normal}
}
@media(max-width:700px){
  .hero-audience{grid-template-columns:1fr;max-width:none}
  .btns{max-width:none}
}


/* v18 tidy footer alignment + Codulon theme author */
.footer-grid{
  grid-template-columns:1.35fr 1fr 1fr 1fr;
  align-items:start;
  column-gap:34px;
  row-gap:26px;
}
.footer-brand,.footer-col{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  text-align:left;
  min-width:0;
}
.footer-brand img{
  display:block;
  margin:0 0 18px 0;
}
.footer h3{
  min-height:30px;
  display:flex;
  align-items:center;
  margin:0 0 14px 0;
  line-height:1.2;
}
.footer p{
  max-width:100%;
  line-height:1.72;
  margin:0;
  text-wrap:pretty;
}
.footer-brand p + p{margin-top:12px}
.footer-col p{max-width:265px}
.footer-bottom{
  justify-content:flex-start;
  padding-top:18px;
  padding-bottom:18px;
}
.footer-bottom p{font-size:.92rem;line-height:1.4}
@media(max-width:1050px){
  .footer-grid{grid-template-columns:1fr 1fr}
  .footer-col p{max-width:none}
}
@media(max-width:700px){
  .footer-grid{grid-template-columns:1fr}
  .footer h3{min-height:0}
}


/* v19 who we are page + refined footer alignment */
.main-nav ul{display:flex;flex-wrap:wrap;gap:12px;align-items:center}
.who-hero-section{padding:clamp(30px,4.5vw,60px)}
.who-hero-grid,.who-two-col{display:grid;grid-template-columns:1.02fr .98fr;gap:28px;align-items:center}
.who-image-frame{position:relative;overflow:hidden;border-radius:26px;border:1px solid rgba(0,95,187,.18);background:linear-gradient(180deg,rgba(255,255,255,.9),rgba(236,248,253,.78));box-shadow:0 24px 64px rgba(0,47,90,.16)}
.who-image-frame img{display:block;width:100%;height:100%;object-fit:cover}
.who-image-frame:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 40%)}
.who-tags{max-width:760px}
.about-pillar-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.copy-card{padding:24px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(235,248,253,.82));border:1px solid rgba(0,95,187,.13);box-shadow:0 18px 42px rgba(0,47,90,.08)}
.copy-card h3{margin:0 0 12px;font-size:1.34rem;color:var(--ink)}
.copy-card p{margin:0;color:var(--muted);line-height:1.74}
.who-image-secondary{min-height:360px}
.audience-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.footer-grid{grid-template-columns:1.45fr 1fr 1fr 1fr;column-gap:30px}
.footer-brand,.footer-col{justify-content:flex-start}
.footer-brand p,.footer-col p{max-width:none}
.footer-col{padding-top:6px}
.footer h3{min-height:34px}
@media(max-width:1050px){
  .who-hero-grid,.who-two-col,.about-pillar-grid,.audience-grid{grid-template-columns:1fr}
  .who-image-secondary{min-height:0}
}
@media(max-width:700px){
  .main-nav ul{gap:10px}
}


/* v20 what we do pages and submenu */
.main-nav,.site-header,.site-header .wrap{overflow:visible}
.main-nav li{position:relative}
.main-nav .menu-item-has-children > a::after{content:"▾";font-size:.72rem;margin-left:8px;opacity:.72}
.main-nav .sub-menu{list-style:none;display:flex;flex-direction:column;gap:8px;margin:0;padding:12px;position:absolute;top:calc(100% + 10px);left:0;min-width:250px;border-radius:22px;background:rgba(255,255,255,.96);border:1px solid rgba(0,95,187,.18);box-shadow:0 24px 56px rgba(0,47,90,.14);opacity:0;visibility:hidden;transform:translateY(10px);transition:opacity .25s ease, transform .25s ease, visibility .25s ease;z-index:100}
.main-nav li:hover > .sub-menu,.main-nav li:focus-within > .sub-menu{opacity:1;visibility:visible;transform:none}
.main-nav .sub-menu a{width:100%;justify-content:flex-start;min-height:42px;padding:0 16px;border-radius:14px;white-space:nowrap;font-size:.92rem}
.main-nav .current-menu-item > a,.main-nav .current-menu-ancestor > a,.main-nav .current-menu-parent > a,.main-nav .current_page_ancestor > a{background:linear-gradient(135deg,#031829,#064a83);color:#bdf9ff;box-shadow:0 0 0 1px rgba(0,199,223,.32) inset}
.service-overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}
.service-overview-card{overflow:hidden;display:flex;flex-direction:column;border:1px solid rgba(0,95,187,.14);border-radius:26px;background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(236,248,253,.84));box-shadow:0 22px 56px rgba(0,47,90,.1)}
.service-overview-card img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover}
.service-overview-body{display:flex;flex-direction:column;gap:12px;padding:24px}
.service-overview-body h3{margin:0;font-size:1.95rem;line-height:1.08;color:var(--ink)}
.service-overview-body p{margin:0;color:var(--muted);line-height:1.72}
.service-overview-body .btn{margin-top:6px;align-self:flex-start}
.service-page-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px;align-items:center}
.service-image-frame{position:relative;overflow:hidden;border-radius:28px;border:1px solid rgba(0,95,187,.16);background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(236,248,253,.78));box-shadow:0 24px 64px rgba(0,47,90,.16)}
.service-image-frame img{display:block;width:100%;height:100%;object-fit:cover}
.service-image-frame:after{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(135deg,rgba(255,255,255,.12),transparent 42%)}
.service-list{margin:16px 0 0;padding-left:20px;color:var(--muted);line-height:1.9}
.service-list li{margin-bottom:4px}
@media(max-width:1050px){
  .service-overview-grid,.service-page-grid{grid-template-columns:1fr}
}
@media(max-width:900px){
  .main-nav .sub-menu{position:static;opacity:1;visibility:visible;transform:none;min-width:0;padding:10px 0 0 18px;background:transparent;border:0;box-shadow:none}
  .main-nav .menu-item-has-children > a::after{content:""}
}


/* v21 guaranteed menu + warmer background */
:root{
  --bg:#f7f2e9;
  --paper:#fffdf8;
  --muted:#516270;
  --line:rgba(122,91,42,.16);
  --soft:#fff5df;
  --shadow:0 28px 80px rgba(65,48,24,.12);
}
body{background:linear-gradient(180deg,#fbf7ef 0%,#f7f2e9 52%,#eef6f7 100%);}
body:after{
  background:
    linear-gradient(180deg,rgba(255,252,245,.78),rgba(247,242,233,.82) 48%,rgba(239,247,247,.84)),
    radial-gradient(circle at 13% 8%,rgba(0,199,223,.18),transparent 30%),
    radial-gradient(circle at 88% 12%,rgba(226,163,74,.20),transparent 34%),
    radial-gradient(circle at 50% 90%,rgba(0,95,187,.10),transparent 30%) !important;
}
.site-header{background:rgba(255,251,244,.78) !important;border-bottom-color:rgba(122,91,42,.16) !important;}
.panel{background:rgba(255,253,248,.74) !important;border-color:rgba(122,91,42,.15) !important;}
.panel:before{background:linear-gradient(135deg,rgba(255,253,248,.88),transparent 38%),radial-gradient(circle at 90% 4%,rgba(244,190,104,.16),transparent 24%) !important;}
.card,.copy-card,.spec,.service-overview-card{background:linear-gradient(180deg,rgba(255,253,248,.94),rgba(250,244,232,.84)) !important;border-color:rgba(122,91,42,.15) !important;}
.footer-grid,.footer-bottom{background:rgba(255,253,248,.78) !important;border-color:rgba(122,91,42,.16) !important;}
.who-image-frame,.service-image-frame{background:linear-gradient(180deg,rgba(255,253,248,.95),rgba(250,244,232,.82)) !important;border-color:rgba(122,91,42,.16) !important;}
.main-nav ul.codulon-menu-root{display:flex;flex-wrap:wrap;gap:12px;align-items:center;list-style:none;margin:0;padding:0;}
.main-nav ul.codulon-menu-root > li{position:relative;}
.main-nav .sub-menu{display:flex;flex-direction:column;}
.main-nav .menu-item-has-children > a::after{content:"▾";font-size:.72rem;margin-left:8px;opacity:.72;}
.main-nav .current-menu-ancestor > a{background:linear-gradient(135deg,#031829,#064a83);color:#bdf9ff;box-shadow:0 0 0 1px rgba(0,199,223,.32) inset;}
@media(max-width:900px){
  .main-nav ul.codulon-menu-root{align-items:flex-start;}
}


/* v22 softer warm tone + submenu close behavior */
:root{
  --bg:#f8f6f1;
  --paper:#fffefa;
  --muted:#4f6370;
  --line:rgba(74,99,118,.14);
  --soft:#f8fbfb;
  --shadow:0 28px 80px rgba(38,55,68,.10);
}
body{background:linear-gradient(180deg,#fbfaf6 0%,#f8f6f1 54%,#f1f7f7 100%) !important;}
body:after{
  background:
    linear-gradient(180deg,rgba(255,254,250,.72),rgba(248,246,241,.68) 48%,rgba(241,247,247,.76)),
    radial-gradient(circle at 13% 8%,rgba(0,199,223,.15),transparent 30%),
    radial-gradient(circle at 88% 12%,rgba(226,163,74,.10),transparent 34%),
    radial-gradient(circle at 50% 90%,rgba(0,95,187,.08),transparent 30%) !important;
}
.site-header{background:rgba(255,254,250,.78) !important;border-bottom-color:rgba(74,99,118,.13) !important;}
.panel{background:rgba(255,254,250,.74) !important;border-color:rgba(74,99,118,.13) !important;}
.panel:before{background:linear-gradient(135deg,rgba(255,254,250,.86),transparent 38%),radial-gradient(circle at 90% 4%,rgba(244,190,104,.08),transparent 24%) !important;}
.card,.copy-card,.spec,.service-overview-card{background:linear-gradient(180deg,rgba(255,254,250,.94),rgba(246,247,242,.84)) !important;border-color:rgba(74,99,118,.13) !important;}
.footer-grid,.footer-bottom{background:rgba(255,254,250,.78) !important;border-color:rgba(74,99,118,.13) !important;}
.who-image-frame,.service-image-frame{background:linear-gradient(180deg,rgba(255,254,250,.95),rgba(246,247,242,.82)) !important;border-color:rgba(74,99,118,.13) !important;}
.main-nav.nav-closing .sub-menu{opacity:0 !important;visibility:hidden !important;transform:translateY(10px) !important;pointer-events:none !important;}
.main-nav .menu-item-has-children.current-menu-ancestor > .sub-menu{opacity:0;visibility:hidden;transform:translateY(10px)}
.main-nav .menu-item-has-children.current-menu-ancestor:hover > .sub-menu,
.main-nav .menu-item-has-children.current-menu-ancestor:focus-within > .sub-menu{opacity:1;visibility:visible;transform:none}
@media(max-width:900px){
  .main-nav.nav-closing .sub-menu{opacity:1 !important;visibility:visible !important;transform:none !important;pointer-events:auto !important;}
}


/* v23 refined What we do value block */
.service-value-band{
  background:linear-gradient(135deg,rgba(5,28,44,.96),rgba(7,62,98,.94)) !important;
  border-color:rgba(127,243,255,.14) !important;
  color:#eefbff;
  overflow:hidden;
}
.service-value-band:before{
  background:linear-gradient(135deg,rgba(255,255,255,.06),transparent 42%),radial-gradient(circle at 88% 12%,rgba(0,199,223,.24),transparent 28%),radial-gradient(circle at 10% 88%,rgba(244,190,104,.14),transparent 24%) !important;
}
.service-value-layout{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr);gap:28px;align-items:start}
.service-value-copy{position:relative;z-index:2}
.service-value-band .eyebrow{color:#8cefff}
.service-value-band h2{margin:0 0 16px;color:#fff;font-size:clamp(2rem,4.2vw,3.5rem);line-height:1.02}
.service-value-band .lead,.service-value-band .small-lead{color:rgba(232,247,252,.86)}
.service-value-band .service-value-list{margin-top:18px;color:rgba(232,247,252,.88)}
.service-value-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;position:relative;z-index:2}
.value-card{padding:22px 22px 20px;border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.04));border:1px solid rgba(127,243,255,.18);box-shadow:0 18px 42px rgba(0,17,31,.18);backdrop-filter:blur(6px)}
.value-tag{display:inline-flex;align-items:center;justify-content:center;min-width:58px;padding:6px 12px;margin-bottom:14px;border-radius:999px;background:rgba(0,199,223,.14);border:1px solid rgba(127,243,255,.24);color:#91f6ff;font-size:.78rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.value-card h3{margin:0 0 10px;color:#fff;font-size:1.35rem;line-height:1.1}
.value-card p{margin:0;color:rgba(232,247,252,.82);line-height:1.68}
@media(max-width:1050px){
  .service-value-layout,.service-value-grid{grid-template-columns:1fr}
}


/* v24 FAQ page */
.faq-main-section .section-intro{margin-bottom:22px}
.faq-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(340px,.9fr);gap:24px;align-items:start}
.faq-list{display:grid;gap:14px}
.faq-item{border:1px solid rgba(74,99,118,.14);border-radius:22px;background:linear-gradient(180deg,rgba(255,254,250,.98),rgba(246,247,242,.90));box-shadow:0 18px 38px rgba(28,48,63,.07);overflow:hidden}
.faq-item summary{list-style:none;cursor:pointer;padding:22px 56px 22px 24px;position:relative;font-size:1.22rem;font-weight:800;line-height:1.3;color:var(--ink)}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:'+';position:absolute;right:22px;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:rgba(0,95,187,.08);color:#07589d;font-size:1.15rem;font-weight:800}
.faq-item[open] summary::after{content:'–'}
.faq-answer{padding:0 24px 22px}
.faq-answer p{margin:0;color:var(--muted);line-height:1.8}
.faq-side-panel{display:grid;gap:18px;position:sticky;top:120px}
.faq-inline-image{min-height:320px}
.faq-highlight-card{padding:24px;border-radius:24px;background:linear-gradient(135deg,rgba(4,28,44,.96),rgba(8,66,104,.94));border:1px solid rgba(127,243,255,.16);box-shadow:0 24px 58px rgba(0,28,47,.18)}
.faq-highlight-card .eyebrow{color:#89f0ff}
.faq-highlight-card h3{margin:0 0 12px;color:#fff;font-size:1.62rem;line-height:1.12}
.faq-highlight-card p{margin:0;color:rgba(235,248,252,.84);line-height:1.78}
.faq-mini-list{margin-top:16px;color:rgba(235,248,252,.88)}
.faq-support-band .section-intro p{max-width:760px}
@media(max-width:1100px){
  .faq-layout{grid-template-columns:1fr}
  .faq-side-panel{position:static}
}
@media(max-width:700px){
  .faq-item summary{font-size:1.08rem;padding:18px 50px 18px 18px}
  .faq-answer{padding:0 18px 18px}
}


/* v25 repaired Who we are closing band */
.about-stack-band{overflow:hidden}
.about-stack-band .service-value-layout{align-items:stretch}
.about-stack-band .service-value-copy,.about-stack-band .service-value-grid{position:relative;z-index:2}
.about-stack-band .value-tag{min-width:72px}
.about-stack-band .value-card h3{font-size:1.28rem}


/* v26 repaired FAQ closing band */
.faq-support-band{overflow:hidden}
.faq-support-band .service-value-layout{align-items:stretch}
.faq-support-band .service-value-copy,.faq-support-band .service-value-grid{position:relative;z-index:2}
.faq-support-band .value-tag{min-width:82px}
.faq-support-band .value-card h3{font-size:1.28rem}


/* v27 Contact page only */
.contact-layout{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(340px,.95fr);gap:24px;align-items:start}
.contact-form-panel{padding:28px;border-radius:26px;background:linear-gradient(180deg,rgba(255,254,250,.98),rgba(246,247,242,.88));border:1px solid rgba(74,99,118,.13);box-shadow:0 20px 48px rgba(28,48,63,.08)}
.contact-form-panel h2{margin-bottom:14px}
.cod-contact-form{display:grid;gap:14px;margin-top:22px}
.cod-contact-form label{display:grid;gap:8px;font-weight:800;color:var(--ink)}
.cod-contact-form input,.cod-contact-form textarea{width:100%;box-sizing:border-box;border:1px solid rgba(74,99,118,.18);border-radius:16px;background:rgba(255,255,255,.82);padding:14px 16px;font:inherit;color:var(--ink);outline:none;box-shadow:inset 0 0 0 1px rgba(255,255,255,.55)}
.cod-contact-form input:focus,.cod-contact-form textarea:focus{border-color:rgba(0,199,223,.45);box-shadow:0 0 0 4px rgba(0,199,223,.08)}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.contact-info-stack{display:grid;gap:18px}
.contact-inline-image{min-height:330px}
.contact-details-card{position:relative;z-index:2}
.contact-image-frame img{object-position:center}
@media(max-width:1050px){.contact-layout{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}}


/* v28 contact form mail handling notices */
.cod-contact-notice{padding:14px 16px;border-radius:16px;font-weight:800;margin-top:18px;border:1px solid rgba(74,99,118,.14)}
.cod-contact-notice-success{background:rgba(0,199,123,.10);color:#0b6b42;border-color:rgba(0,160,100,.22)}
.cod-contact-notice-error{background:rgba(196,47,47,.10);color:#8b1d1d;border-color:rgba(196,47,47,.22)}


/* v29 contact confirmation + smaller header logo */
.site-header .brand img{width:clamp(230px,21vw,315px) !important;}
.cod-contact-notice-success{background:rgba(0,199,123,.13);color:#075c39;border-color:rgba(0,160,100,.30)}


/* v31 WooCommerce shop cleanup */
body.woocommerce,
body.woocommerce-page{
  background:#fff !important;
}
body.woocommerce:before,
body.woocommerce-page:before,
body.woocommerce:after,
body.woocommerce-page:after{
  display:none !important;
  content:none !important;
}
.woocommerce-main{
  padding:42px 0 80px;
  background:#fff;
}
.woocommerce-wrap{
  max-width:1180px;
}
.woocommerce .entry-title,
.woocommerce-page .entry-title{
  position:static !important;
  width:auto;height:auto;margin:0 0 28px;overflow:visible;clip:auto;
  font-size:clamp(2rem,4vw,3.2rem);line-height:1.05;color:var(--ink);
}
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{
  margin-bottom:24px;
}
.woocommerce ul.products{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:34px 28px;
  clear:both;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{
  display:none !important;
  content:none !important;
}
.woocommerce ul.products li.product,
.woocommerce-page ul.products li.product{
  width:auto !important;
  float:none !important;
  margin:0 !important;
  text-align:center;
  display:flex;
  flex-direction:column;
  align-items:center;
}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{
  display:flex;
  flex-direction:column;
  align-items:center;
  text-align:center;
  width:100%;
}
.woocommerce ul.products li.product img{
  width:100%;
  max-width:260px;
  aspect-ratio:1 / 1;
  object-fit:cover;
  margin:0 auto 16px !important;
  display:block;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  text-align:center;
  font-size:1.05rem;
  line-height:1.25;
  color:var(--blue);
  padding:0;
  margin:0 0 8px;
  width:100%;
}
.woocommerce ul.products li.product .price{
  display:block;
  text-align:center;
  margin:0 0 14px;
  width:100%;
}
.woocommerce ul.products li.product .button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button{
  align-self:center;
  margin:0 auto !important;
  text-align:center;
}
.woocommerce .widget_pages,
.woocommerce-page .widget_pages,
.woocommerce .wp-block-page-list,
.woocommerce-page .wp-block-page-list,
.woocommerce .wp-block-pages-list__item,
.woocommerce-page .wp-block-pages-list__item,
.woocommerce-main .widget-area,
.woocommerce-main aside,
.woocommerce-main .sidebar,
.woocommerce-main #secondary{
  display:none !important;
}
@media(max-width:1000px){
  .woocommerce ul.products{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media(max-width:760px){
  .woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr));gap:28px 18px;}
}
@media(max-width:520px){
  .woocommerce ul.products{grid-template-columns:1fr;}
}


/* v32 WooCommerce account submenu + side-by-side Woo blocks */
.woocommerce-account .woocommerce,
.woocommerce-cart .woocommerce,
.woocommerce-checkout .woocommerce{
  max-width:1180px;
  margin:0 auto;
}
.woocommerce-checkout form.checkout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(340px,.9fr);
  gap:24px;
  align-items:start;
}
.woocommerce-checkout #customer_details{
  display:contents;
}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{
  width:auto !important;
  float:none !important;
  margin:0 !important;
  padding:0 !important;
  background:#fff;
  border:1px solid rgba(74,99,118,.14);
  border-radius:18px;
  padding:22px !important;
  box-shadow:0 16px 42px rgba(28,48,63,.06);
}
.woocommerce-checkout #customer_details .col-1{grid-column:1;}
.woocommerce-checkout #customer_details .col-2{grid-column:2;}
.woocommerce-checkout #order_review_heading{
  grid-column:3;
  margin:0 0 -8px;
  align-self:end;
}
.woocommerce-checkout #order_review{
  grid-column:3;
  background:#fff;
  border:1px solid rgba(74,99,118,.14);
  border-radius:18px;
  padding:22px;
  box-shadow:0 16px 42px rgba(28,48,63,.06);
}
.woocommerce-checkout .form-row,
.woocommerce form .form-row{
  margin-bottom:14px;
}
.woocommerce-checkout input.input-text,
.woocommerce-checkout textarea,
.woocommerce-checkout select,
.woocommerce-account input.input-text,
.woocommerce-account textarea,
.woocommerce-account select{
  min-height:42px;
  border-radius:8px;
  border:1px solid rgba(74,99,118,.22);
  padding:8px 10px;
}
.woocommerce-account .woocommerce{
  display:grid;
  grid-template-columns:260px minmax(0,1fr);
  gap:28px;
  align-items:start;
}
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{
  background:#fff;
  border:1px solid rgba(74,99,118,.14);
  border-radius:18px;
  padding:22px;
  box-shadow:0 16px 42px rgba(28,48,63,.06);
}
.woocommerce-cart .cart-collaterals{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(320px,.42fr);
  gap:24px;
}
.woocommerce-cart .cart-collaterals .cart_totals{
  width:auto !important;
  float:none !important;
  justify-self:stretch;
}
@media(max-width:1180px){
  .woocommerce-checkout form.checkout{grid-template-columns:1fr 1fr;}
  .woocommerce-checkout #order_review_heading,.woocommerce-checkout #order_review{grid-column:1 / -1;}
}
@media(max-width:800px){
  .woocommerce-checkout form.checkout,.woocommerce-account .woocommerce,.woocommerce-cart .cart-collaterals{grid-template-columns:1fr;}
  .woocommerce-checkout #customer_details .col-1,
  .woocommerce-checkout #customer_details .col-2,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review{grid-column:auto;}
}


/* v33 force WooCommerce account / checkout blocks beside each other */
.woocommerce-account main.woocommerce-main .woocommerce-wrap,
.woocommerce-checkout main.woocommerce-main .woocommerce-wrap,
.woocommerce-cart main.woocommerce-main .woocommerce-wrap{
  max-width:1180px !important;
  margin-left:auto !important;
  margin-right:auto !important;
}
.woocommerce-account .woocommerce{
  display:grid !important;
  grid-template-columns:280px minmax(0,1fr) !important;
  gap:28px !important;
  align-items:start !important;
  width:100% !important;
  max-width:1180px !important;
  margin:0 auto !important;
}
.woocommerce-account .woocommerce:before,
.woocommerce-account .woocommerce:after{
  display:none !important;
  content:none !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation{
  grid-column:1 !important;
  width:auto !important;
  float:none !important;
  margin:0 !important;
  clear:none !important;
  position:relative !important;
}
.woocommerce-account .woocommerce-MyAccount-content{
  grid-column:2 !important;
  width:auto !important;
  float:none !important;
  margin:0 !important;
  clear:none !important;
  min-width:0 !important;
  position:relative !important;
}
.woocommerce-account .woocommerce-MyAccount-content table,
.woocommerce-account .woocommerce-MyAccount-content .woocommerce-orders-table,
.woocommerce-account .woocommerce-MyAccount-content .shop_table{
  width:100% !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation ul{
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
  display:block !important;
  padding:12px 14px !important;
  border-radius:10px !important;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a{
  background:rgba(0,95,187,.09) !important;
}
.woocommerce-checkout form.checkout{
  width:100% !important;
  max-width:1180px !important;
  margin:0 auto !important;
}
.woocommerce-checkout form.checkout:before,
.woocommerce-checkout form.checkout:after,
.woocommerce-checkout #customer_details:before,
.woocommerce-checkout #customer_details:after{
  display:none !important;
  content:none !important;
}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{
  float:none !important;
  width:auto !important;
}
@media(max-width:900px){
  .woocommerce-account .woocommerce{
    grid-template-columns:1fr !important;
  }
  .woocommerce-account .woocommerce-MyAccount-navigation,
  .woocommerce-account .woocommerce-MyAccount-content{
    grid-column:auto !important;
  }
}


/* v34 shop background restored + AJAX cart counter */
body.woocommerce,
body.woocommerce-page{
  background:linear-gradient(180deg,#fbfaf6 0%,#f8f6f1 54%,#f1f7f7 100%) !important;
}
body.woocommerce:before,
body.woocommerce-page:before,
body.woocommerce:after,
body.woocommerce-page:after{
  display:block !important;
  content:"" !important;
}
.woocommerce-main{
  background:transparent !important;
}
.header-cart{margin-left:auto;display:flex;align-items:center;position:relative;z-index:120;flex:0 0 auto}
.codulon-cart-link{position:relative;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:18px;color:#bdf9ff;background:linear-gradient(135deg,#031829,#064a83);box-shadow:0 12px 30px rgba(0,32,56,.18),inset 0 0 0 1px rgba(0,199,223,.24);text-decoration:none;transition:transform .2s ease, box-shadow .2s ease}
.codulon-cart-link:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(0,32,56,.24),inset 0 0 0 1px rgba(0,199,223,.36)}
.codulon-cart-icon{display:grid;place-items:center;line-height:1}
.codulon-cart-count{position:absolute;right:-6px;top:-7px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:#00c7df;color:#031829;font-size:.75rem;font-weight:900;line-height:1;border:2px solid rgba(255,254,250,.96)}
@media(max-width:1050px){
  .header-cart{margin-left:0}
  .site-header .wrap{gap:16px}
}
@media(max-width:700px){
  .header-cart{align-self:flex-end;margin-top:-54px}
}


/* v35 WooCommerce background cleaned + cart moved outside menu flow */
body.woocommerce,
body.woocommerce-page{
  background:linear-gradient(180deg,#fbfaf6 0%,#f8f6f1 54%,#f1f7f7 100%) !important;
}
body.woocommerce:before,
body.woocommerce-page:before{
  display:none !important;
  content:none !important;
  background:none !important;
}
body.woocommerce:after,
body.woocommerce-page:after{
  display:block !important;
  content:"" !important;
  background:
    linear-gradient(180deg,rgba(255,254,250,.72),rgba(248,246,241,.68) 48%,rgba(241,247,247,.76)),
    radial-gradient(circle at 13% 8%,rgba(0,199,223,.11),transparent 30%),
    radial-gradient(circle at 88% 12%,rgba(226,163,74,.08),transparent 34%),
    radial-gradient(circle at 50% 90%,rgba(0,95,187,.06),transparent 30%) !important;
  opacity:1 !important;
}
body.woocommerce .site-main,
body.woocommerce-page .site-main{
  position:relative;
  z-index:1;
}
.site-header .wrap{position:relative;}
.header-cart{
  position:absolute !important;
  right:0 !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  margin-left:0 !important;
  z-index:180 !important;
  flex:0 0 auto !important;
}
.main-nav{padding-right:60px;}
@media(max-width:1050px){
  .main-nav{padding-right:56px;}
}
@media(max-width:700px){
  .header-cart{right:0 !important;top:14px !important;transform:none !important;align-self:auto !important;margin-top:0 !important;}
  .main-nav{padding-right:0;}
}


/* v36 tighter header menu so Shop stays in one row */
.site-header .wrap{
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  padding-right:62px;
}
.site-header .brand{flex:0 0 auto;}
.site-header .brand img{width:clamp(176px,15.5vw,224px) !important;}
.main-nav{
  flex:1 1 auto;
  min-width:0;
  padding-right:0 !important;
}
.main-nav ul.codulon-menu-root,
.main-nav > ul{
  flex-wrap:nowrap !important;
  gap:4px !important;
  align-items:center;
  justify-content:flex-start;
}
.main-nav li{flex:0 0 auto;}
.main-nav a{
  min-height:38px !important;
  padding:0 12px !important;
  font-size:.86rem !important;
  letter-spacing:.015em !important;
  white-space:nowrap !important;
}
.main-nav .menu-item-has-children > a::after{margin-left:5px !important;}
.header-cart{
  right:10px !important;
  width:auto;
}
.codulon-cart-link{width:44px !important;height:44px !important;border-radius:16px !important;}
@media(max-width:1180px){
  .site-header .brand img{width:clamp(160px,14vw,200px) !important;}
  .main-nav a{padding:0 9px !important;font-size:.82rem !important;}
  .main-nav ul.codulon-menu-root,.main-nav > ul{gap:2px !important;}
}
@media(max-width:900px){
  .site-header .wrap{padding-right:0;align-items:flex-start;flex-direction:column;}
  .main-nav ul.codulon-menu-root,.main-nav > ul{flex-wrap:wrap !important;gap:8px !important;}
  .main-nav a{font-size:.9rem !important;padding:0 14px !important;}
  .header-cart{right:0 !important;top:14px !important;transform:none !important;}
}


/* v37 WooCommerce product description spacing */
.woocommerce div.product .woocommerce-tabs .panel,
.woocommerce-page div.product .woocommerce-tabs .panel{
  padding:34px 38px !important;
  box-sizing:border-box;
}
.woocommerce div.product .woocommerce-tabs .panel > h2:first-child,
.woocommerce-page div.product .woocommerce-tabs .panel > h2:first-child{
  margin-top:0;
}
.woocommerce div.product .woocommerce-tabs .panel p,
.woocommerce-page div.product .woocommerce-tabs .panel p{
  margin-left:0;
  margin-right:0;
}
@media(max-width:700px){
  .woocommerce div.product .woocommerce-tabs .panel,
  .woocommerce-page div.product .woocommerce-tabs .panel{
    padding:24px 22px !important;
  }
}


/* v38 slightly larger header logo/menu + rounded WooCommerce product images */
.site-header .wrap{
  gap:10px !important;
  padding-right:60px !important;
}
.site-header .brand img{
  width:clamp(190px,16.8vw,244px) !important;
}
.main-nav ul.codulon-menu-root,
.main-nav > ul{
  gap:3px !important;
}
.main-nav a{
  min-height:40px !important;
  padding:0 11px !important;
  font-size:.91rem !important;
  letter-spacing:.01em !important;
}
.codulon-cart-link{
  width:44px !important;
  height:44px !important;
}
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img,
.woocommerce div.product div.images img,
.woocommerce-page div.product div.images img,
.woocommerce-cart table.cart img,
.woocommerce-checkout table.cart img,
.woocommerce table.shop_table img,
.woocommerce-page table.shop_table img,
.woocommerce .product img,
.woocommerce-page .product img{
  border-radius:18px !important;
  overflow:hidden;
}
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img,
.woocommerce div.product div.images img,
.woocommerce-page div.product div.images img{
  box-shadow:0 16px 38px rgba(0,31,54,.08);
}
@media(max-width:1180px){
  .site-header .brand img{width:clamp(172px,14.6vw,210px) !important;}
  .main-nav a{padding:0 8px !important;font-size:.85rem !important;}
  .main-nav ul.codulon-menu-root,.main-nav > ul{gap:2px !important;}
}
@media(max-width:900px){
  .site-header .brand img{width:clamp(190px,52vw,244px) !important;}
  .main-nav a{font-size:.92rem !important;padding:0 14px !important;}
}


/* v39: no custom WooCommerce add-to-cart colours */
.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce ul.products li.product .button.product_type_variable,
.woocommerce ul.products li.product .button.product_type_simple,
.woocommerce div.product form.cart .button,
.woocommerce button.single_add_to_cart_button{
  /* Intentionally no background/color override: WooCommerce controls button colours. */
}

/* v41 WooCommerce button colours are intentionally not overridden. Button colours can be controlled by WooCommerce or another plugin. */


/* v42 slightly larger header logo and menu text without breaking the row */
.site-header .wrap{
  gap:8px !important;
  padding-right:58px !important;
}
.site-header .brand img{
  width:clamp(198px,17vw,252px) !important;
}
.main-nav ul.codulon-menu-root,
.main-nav > ul{
  gap:2px !important;
}
.main-nav a{
  min-height:40px !important;
  padding:0 10px !important;
  font-size:.94rem !important;
  letter-spacing:0 !important;
  white-space:nowrap !important;
}
.main-nav .menu-item-has-children > a::after{margin-left:4px !important;}
.header-cart{right:8px !important;}
.codulon-cart-link{width:44px !important;height:44px !important;}
@media(max-width:1280px){
  .site-header .brand img{width:clamp(184px,15.4vw,226px) !important;}
  .main-nav a{font-size:.89rem !important;padding:0 8px !important;}
  .main-nav ul.codulon-menu-root,.main-nav > ul{gap:1px !important;}
}
@media(max-width:1120px){
  .site-header .brand img{width:clamp(170px,14vw,202px) !important;}
  .main-nav a{font-size:.84rem !important;padding:0 7px !important;}
  .codulon-cart-link{width:42px !important;height:42px !important;}
}
@media(max-width:900px){
  .site-header .brand img{width:clamp(198px,52vw,252px) !important;}
  .main-nav a{font-size:.94rem !important;padding:0 14px !important;}
  .main-nav ul.codulon-menu-root,.main-nav > ul{gap:8px !important;flex-wrap:wrap !important;}
}


/* v43 homepage dark capability block restored */
.panel.dark-band{
  background:linear-gradient(135deg,#031829,#062b4d) !important;
  border-color:rgba(127,243,255,.16) !important;
  color:#eefbff !important;
  overflow:hidden;
}
.panel.dark-band:before{
  background:
    linear-gradient(135deg,rgba(255,255,255,.06),transparent 42%),
    radial-gradient(circle at 86% 12%,rgba(0,199,223,.24),transparent 28%),
    radial-gradient(circle at 10% 88%,rgba(244,190,104,.12),transparent 24%) !important;
  opacity:1 !important;
}
.panel.dark-band .section-intro,
.panel.dark-band .metrics{
  position:relative;
  z-index:2;
}
.panel.dark-band .section-intro{
  border-bottom-color:rgba(160,240,255,.18) !important;
}
.panel.dark-band h2,
.panel.dark-band .section-intro h2{
  color:#fff !important;
  text-shadow:0 1px 0 rgba(0,0,0,.12);
}
.panel.dark-band .section-intro p{
  color:rgba(220,247,255,.9) !important;
}
.panel.dark-band .metric{
  border-left-color:rgba(0,199,223,.32) !important;
  background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.02));
  border-radius:18px;
  padding:24px;
}
.panel.dark-band .metric b{
  color:var(--cyan) !important;
}
.panel.dark-band .metric span{
  color:rgba(232,247,252,.86) !important;
}

/* v44 checkout: keep order summary to the right of billing details */
.woocommerce-checkout form.checkout{
  display:grid !important;
  grid-template-columns:minmax(0, 1fr) minmax(340px, 420px) !important;
  grid-template-rows:auto 1fr !important;
  gap:24px 28px !important;
  align-items:start !important;
  width:100% !important;
  max-width:1180px !important;
  margin:0 auto !important;
}
.woocommerce-checkout #customer_details{
  display:grid !important;
  grid-template-columns:1fr !important;
  gap:22px !important;
  grid-column:1 !important;
  grid-row:1 / span 2 !important;
  width:100% !important;
  min-width:0 !important;
}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2{
  grid-column:1 !important;
  width:100% !important;
  float:none !important;
  clear:none !important;
}
.woocommerce-checkout #order_review_heading{
  grid-column:2 !important;
  grid-row:1 !important;
  margin:0 0 -6px !important;
  align-self:end !important;
}
.woocommerce-checkout #order_review{
  grid-column:2 !important;
  grid-row:2 !important;
  width:100% !important;
  float:none !important;
  clear:none !important;
  margin:0 !important;
}
.woocommerce-checkout form.checkout:before,
.woocommerce-checkout form.checkout:after,
.woocommerce-checkout #customer_details:before,
.woocommerce-checkout #customer_details:after{
  display:none !important;
  content:none !important;
}
@media(max-width:900px){
  .woocommerce-checkout form.checkout{
    grid-template-columns:1fr !important;
    grid-template-rows:auto !important;
  }
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review{
    grid-column:1 !important;
    grid-row:auto !important;
  }
}



/* v45 checkout: wider order card with heading inside the card */
.woocommerce-checkout form.checkout{
  grid-template-columns:minmax(0, 1fr) minmax(460px, 540px) !important;
  max-width:1320px !important;
  column-gap:30px !important;
}
.woocommerce-checkout #order_review_heading{
  width:100% !important;
  box-sizing:border-box !important;
  margin:0 !important;
  padding:26px 28px 10px !important;
  background:rgba(255,255,255,.82) !important;
  border:1px solid rgba(0,64,98,.18) !important;
  border-bottom:0 !important;
  border-radius:18px 18px 0 0 !important;
  box-shadow:0 18px 46px rgba(0,30,50,.07) !important;
}
.woocommerce-checkout #order_review{
  box-sizing:border-box !important;
  padding:0 28px 28px !important;
  background:rgba(255,255,255,.82) !important;
  border:1px solid rgba(0,64,98,.18) !important;
  border-top:0 !important;
  border-radius:0 0 18px 18px !important;
  box-shadow:0 18px 46px rgba(0,30,50,.07) !important;
}
.woocommerce-checkout #order_review table.shop_table,
.woocommerce-checkout #order_review .woocommerce-checkout-payment{
  width:100% !important;
  box-sizing:border-box !important;
}
@media(max-width:900px){
  .woocommerce-checkout #order_review_heading{
    border:1px solid rgba(0,64,98,.18) !important;
    border-bottom:0 !important;
    border-radius:18px 18px 0 0 !important;
    padding:24px 22px 10px !important;
  }
  .woocommerce-checkout #order_review{
    border:1px solid rgba(0,64,98,.18) !important;
    border-top:0 !important;
    border-radius:0 0 18px 18px !important;
    padding:0 22px 24px !important;
  }
}


/* v47 checkout: balanced 45/55 layout and repaired order block */
.woocommerce-checkout form.checkout{
  grid-template-columns:minmax(0, 45fr) minmax(0, 55fr) !important;
  max-width:1320px !important;
  column-gap:24px !important;
  align-items:start !important;
}
.woocommerce-checkout #customer_details,
.woocommerce-checkout #order_review_heading,
.woocommerce-checkout #order_review{
  min-width:0 !important;
}
.woocommerce-checkout #order_review_heading{
  margin:0 !important;
  width:100% !important;
  padding:26px 24px 10px !important;
  box-sizing:border-box !important;
}
.woocommerce-checkout #order_review{
  width:100% !important;
  padding:0 24px 24px !important;
  box-sizing:border-box !important;
}
.woocommerce-checkout #order_review .shop_table,
.woocommerce-checkout #order_review .woocommerce-checkout-payment{
  width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
@media(max-width:900px){
  .woocommerce-checkout form.checkout{
    grid-template-columns:1fr !important;
  }
}


/* v48 checkout: repair broken gap under Your order heading */
.woocommerce-checkout #order_review_heading{
  padding:24px 24px 12px !important;
  margin:0 !important;
}
.woocommerce-checkout #order_review{
  padding:0 !important;
  overflow:hidden !important;
}
.woocommerce-checkout #order_review .shop_table{
  width:100% !important;
  margin:0 !important;
  border-radius:0 !important;
  border-left:0 !important;
  border-right:0 !important;
  border-top:0 !important;
}
.woocommerce-checkout #order_review .woocommerce-checkout-payment{
  margin:20px 24px 24px !important;
  width:auto !important;
  box-sizing:border-box !important;
}
.woocommerce-checkout #order_review .shop_table th:first-child,
.woocommerce-checkout #order_review .shop_table td:first-child{
  padding-left:14px !important;
}
.woocommerce-checkout #order_review .shop_table th:last-child,
.woocommerce-checkout #order_review .shop_table td:last-child{
  padding-right:14px !important;
}


/* v49 checkout: make Your order one clean card with inset contents */
.woocommerce-checkout form.checkout{
  grid-template-columns:minmax(0, 45fr) minmax(0, 55fr) !important;
  max-width:1320px !important;
  column-gap:24px !important;
  align-items:start !important;
}
.woocommerce-checkout #order_review_heading{
  grid-column:2 !important;
  grid-row:1 !important;
  width:100% !important;
  box-sizing:border-box !important;
  margin:0 !important;
  padding:26px 28px 14px !important;
  background:rgba(255,255,255,.84) !important;
  border:1px solid rgba(0,64,98,.18) !important;
  border-bottom:0 !important;
  border-radius:18px 18px 0 0 !important;
  box-shadow:0 18px 46px rgba(0,30,50,.07) !important;
}
.woocommerce-checkout #order_review{
  grid-column:2 !important;
  grid-row:2 !important;
  width:100% !important;
  box-sizing:border-box !important;
  margin:0 !important;
  padding:0 28px 28px !important;
  background:rgba(255,255,255,.84) !important;
  border:1px solid rgba(0,64,98,.18) !important;
  border-top:0 !important;
  border-radius:0 0 18px 18px !important;
  box-shadow:0 18px 46px rgba(0,30,50,.07) !important;
  overflow:hidden !important;
}
.woocommerce-checkout #order_review .shop_table{
  width:100% !important;
  margin:0 0 20px !important;
  border:1px solid rgba(0,64,98,.16) !important;
  border-radius:0 0 12px 12px !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}
.woocommerce-checkout #order_review .woocommerce-checkout-payment{
  width:100% !important;
  margin:0 !important;
  box-sizing:border-box !important;
  border-radius:12px !important;
}
.woocommerce-checkout #order_review .shop_table th:first-child,
.woocommerce-checkout #order_review .shop_table td:first-child{
  padding-left:16px !important;
}
.woocommerce-checkout #order_review .shop_table th:last-child,
.woocommerce-checkout #order_review .shop_table td:last-child{
  padding-right:16px !important;
}
@media(max-width:900px){
  .woocommerce-checkout form.checkout{
    grid-template-columns:1fr !important;
  }
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review{
    grid-column:1 !important;
    grid-row:auto !important;
  }
}


/* v50 iPhone header/menu cleanup + FAQ card visibility */
@media(max-width:760px){
  .site-header{
    position:sticky !important;
    top:0 !important;
    overflow:visible !important;
  }
  .site-header .wrap{
    min-height:auto !important;
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:wrap !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:8px 10px !important;
    padding:10px 58px 10px 16px !important;
    width:100% !important;
  }
  .site-header .brand{
    flex:0 1 auto !important;
    min-width:0 !important;
  }
  .site-header .brand img{
    width:clamp(168px,48vw,220px) !important;
    max-width:100% !important;
  }
  .header-cart{
    position:absolute !important;
    right:14px !important;
    top:12px !important;
    transform:none !important;
    z-index:240 !important;
  }
  .codulon-cart-link{
    width:40px !important;
    height:40px !important;
    border-radius:14px !important;
  }
  .codulon-cart-count{
    min-width:18px !important;
    height:18px !important;
    font-size:.72rem !important;
    top:-7px !important;
    right:-7px !important;
  }
  .main-nav{
    order:3 !important;
    flex:0 0 100% !important;
    width:100% !important;
    max-width:100% !important;
    margin:2px 0 0 !important;
    padding:0 !important;
    overflow-x:auto !important;
    overflow-y:visible !important;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .main-nav::-webkit-scrollbar{display:none;}
  .main-nav ul.codulon-menu-root,
  .main-nav > ul{
    display:flex !important;
    flex-direction:row !important;
    flex-wrap:nowrap !important;
    align-items:center !important;
    justify-content:flex-start !important;
    gap:6px !important;
    width:max-content !important;
    min-width:100% !important;
    margin:0 !important;
    padding:0 2px 2px !important;
  }
  .main-nav li{
    flex:0 0 auto !important;
    position:relative !important;
  }
  .main-nav a{
    min-height:36px !important;
    padding:0 12px !important;
    font-size:.88rem !important;
    line-height:1 !important;
    border-radius:999px !important;
    white-space:nowrap !important;
  }
  .main-nav .menu-item-has-children > a::after{
    margin-left:4px !important;
    font-size:.65rem !important;
  }
  .main-nav .sub-menu{
    display:none !important;
    position:static !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    pointer-events:auto !important;
    min-width:0 !important;
    width:auto !important;
    padding:6px 0 0 !important;
    margin:0 !important;
    border:0 !important;
    border-radius:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
}
@media(max-width:420px){
  .site-header .wrap{padding-left:12px !important;padding-right:54px !important;}
  .site-header .brand img{width:clamp(154px,46vw,190px) !important;}
  .main-nav a{font-size:.82rem !important;padding:0 10px !important;min-height:34px !important;}
}

/* v50 FAQ: force all mobile support cards to render visibly */
.faq-support-band,
.faq-support-band .service-value-layout,
.faq-support-band .service-value-grid{
  overflow:visible !important;
}
.faq-support-band .value-card{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  min-height:0 !important;
  background:linear-gradient(180deg,rgba(255,255,255,.10),rgba(255,255,255,.055)) !important;
  border:1px solid rgba(127,243,255,.24) !important;
}
.faq-support-band .value-card h3,
.faq-support-band .value-card p,
.faq-support-band .value-tag{
  opacity:1 !important;
  visibility:visible !important;
}
@media(max-width:760px){
  .faq-support-band .service-value-layout,
  .faq-support-band .service-value-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:14px !important;
  }
  .faq-support-band .value-card{
    width:100% !important;
    padding:20px !important;
  }
}


/* v51 iPhone: replace horizontal menu with clean toggle menu */
.mobile-menu-toggle{
  display:none;
  border:0;
  background:linear-gradient(135deg,#031829,#064a83);
  color:#bdf9ff;
  width:42px;
  height:42px;
  border-radius:15px;
  align-items:center;
  justify-content:center;
  box-shadow:0 12px 30px rgba(0,32,56,.18),inset 0 0 0 1px rgba(0,199,223,.24);
  cursor:pointer;
}
.mobile-menu-bars,
.mobile-menu-bars:before,
.mobile-menu-bars:after{
  display:block;
  width:18px;
  height:2px;
  border-radius:3px;
  background:currentColor;
  content:"";
  transition:transform .18s ease, opacity .18s ease;
}
.mobile-menu-bars:before{transform:translateY(-6px);}
.mobile-menu-bars:after{transform:translateY(4px);}
.site-header.mobile-menu-open .mobile-menu-bars{background:transparent;}
.site-header.mobile-menu-open .mobile-menu-bars:before{transform:translateY(2px) rotate(45deg);}
.site-header.mobile-menu-open .mobile-menu-bars:after{transform:translateY(0) rotate(-45deg);}
@media(max-width:760px){
  .site-header .wrap{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) 42px 42px !important;
    grid-template-areas:"brand menu cart" "nav nav nav" !important;
    align-items:center !important;
    gap:8px !important;
    padding:8px 12px !important;
    min-height:auto !important;
  }
  .site-header .brand{grid-area:brand !important;min-width:0 !important;}
  .site-header .brand img{width:clamp(160px,48vw,210px) !important;max-width:100% !important;height:auto !important;}
  .mobile-menu-toggle{display:inline-flex !important;grid-area:menu !important;position:relative !important;z-index:260 !important;}
  .header-cart{grid-area:cart !important;position:relative !important;right:auto !important;top:auto !important;transform:none !important;margin:0 !important;z-index:250 !important;align-self:center !important;justify-self:end !important;}
  .codulon-cart-link{width:42px !important;height:42px !important;border-radius:15px !important;}
  .main-nav{
    grid-area:nav !important;
    display:none !important;
    width:100% !important;
    margin:0 !important;
    padding:8px 0 4px !important;
    overflow:visible !important;
  }
  .site-header.mobile-menu-open .main-nav{display:block !important;}
  .main-nav ul.codulon-menu-root,
  .main-nav > ul{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:7px !important;
    width:100% !important;
    min-width:0 !important;
    margin:0 !important;
    padding:0 !important;
  }
  .main-nav li{width:100% !important;position:relative !important;}
  .main-nav a{
    width:100% !important;
    min-height:42px !important;
    justify-content:flex-start !important;
    padding:0 14px !important;
    border-radius:14px !important;
    font-size:.94rem !important;
    line-height:1.1 !important;
    white-space:normal !important;
    background:rgba(255,255,255,.74) !important;
    border:1px solid rgba(0,95,187,.14) !important;
  }
  .main-nav .current-menu-item > a,
  .main-nav .current-menu-ancestor > a,
  .main-nav .current-menu-parent > a,
  .main-nav a:hover{
    background:linear-gradient(135deg,#031829,#064a83) !important;
    color:#bdf9ff !important;
  }
  .main-nav .menu-item-has-children > a::after{content:"" !important;margin:0 !important;}
  .main-nav .sub-menu{
    display:grid !important;
    grid-template-columns:1fr !important;
    position:static !important;
    opacity:1 !important;
    visibility:visible !important;
    transform:none !important;
    pointer-events:auto !important;
    min-width:0 !important;
    width:100% !important;
    padding:6px 0 0 14px !important;
    margin:0 !important;
    gap:6px !important;
    border:0 !important;
    background:transparent !important;
    box-shadow:none !important;
  }
  .main-nav .sub-menu a{min-height:38px !important;font-size:.88rem !important;background:rgba(255,255,255,.55) !important;}
}


/* v52 small WooCommerce breadcrumb + centered copyright */
.codulon-woo-breadcrumb{
  margin:0 0 18px !important;
  font-size:.78rem !important;
  line-height:1.4 !important;
  color:rgba(6,24,41,.52) !important;
  font-weight:600 !important;
}
.codulon-woo-breadcrumb .woocommerce-breadcrumb,
.codulon-woo-breadcrumb a{
  color:rgba(6,24,41,.52) !important;
  text-decoration:none !important;
}
.codulon-woo-breadcrumb a:hover{
  color:rgba(0,78,130,.78) !important;
}
.codulon-crumb-sep{
  display:inline-block !important;
  margin:0 .45em !important;
  color:rgba(6,24,41,.32) !important;
}
.footer-bottom{
  justify-content:center !important;
  text-align:center !important;
}
.footer-bottom p{
  width:100% !important;
  text-align:center !important;
}


/* v53 contact sent popup */
.cod-contact-notice-success{
  position:fixed !important;
  top:96px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  z-index:99999 !important;
  width:min(520px, calc(100vw - 32px)) !important;
  margin:0 !important;
  padding:13px 18px !important;
  text-align:center !important;
  border-radius:18px !important;
  background:rgba(236,255,248,.92) !important;
  color:#075c39 !important;
  border:1px solid rgba(0,160,100,.26) !important;
  box-shadow:0 22px 60px rgba(0,30,50,.18), inset 0 1px 0 rgba(255,255,255,.75) !important;
  backdrop-filter:blur(12px) !important;
  -webkit-backdrop-filter:blur(12px) !important;
  animation:codContactPopup 7s ease forwards !important;
}
body.admin-bar .cod-contact-notice-success{top:128px !important;}
@keyframes codContactPopup{
  0%{opacity:0;transform:translate(-50%,-10px)}
  8%{opacity:1;transform:translate(-50%,0)}
  84%{opacity:1;transform:translate(-50%,0)}
  100%{opacity:0;visibility:hidden;transform:translate(-50%,-10px)}
}
@media(max-width:782px){
  body.admin-bar .cod-contact-notice-success{top:110px !important;}
}
@media(max-width:600px){
  .cod-contact-notice-success{
    top:82px !important;
    width:calc(100vw - 24px) !important;
    padding:12px 14px !important;
    font-size:13px !important;
    border-radius:16px !important;
  }
  body.admin-bar .cod-contact-notice-success{top:96px !important;}
}

/* v54 breadcrumbs, website-styled contact popup, editable footer content */
.codulon-woo-breadcrumb{
  display:block !important;
  max-width:1320px !important;
  margin:0 auto 14px !important;
  padding:0 2px !important;
  font-size:.76rem !important;
  line-height:1.45 !important;
  color:rgba(6,24,41,.46) !important;
  font-weight:650 !important;
}
.page .codulon-woo-breadcrumb,
.woocommerce-cart .codulon-woo-breadcrumb,
.woocommerce-checkout .codulon-woo-breadcrumb,
.woocommerce-account .codulon-woo-breadcrumb{
  width:min(1320px, calc(100% - 40px)) !important;
  margin-top:26px !important;
}
.codulon-woo-breadcrumb .woocommerce-breadcrumb,
.codulon-woo-breadcrumb a{
  color:rgba(6,24,41,.46) !important;
  text-decoration:none !important;
}
.codulon-woo-breadcrumb a:hover{color:rgba(0,95,187,.70) !important;}
.cod-contact-notice-success{
  background:linear-gradient(135deg, rgba(255,254,250,.96), rgba(233,251,255,.93)) !important;
  color:var(--ink) !important;
  border:1px solid rgba(0,95,187,.16) !important;
  border-left:4px solid rgba(0,199,223,.72) !important;
  box-shadow:0 24px 70px rgba(0,47,90,.18), inset 0 1px 0 rgba(255,255,255,.82) !important;
  font-weight:800 !important;
  letter-spacing:-.01em !important;
}
.cod-contact-notice-success:before{
  content:"";
  display:inline-block;
  width:8px;
  height:8px;
  border-radius:999px;
  margin-right:9px;
  background:var(--cyan);
  box-shadow:0 0 0 5px rgba(0,199,223,.12);
  vertical-align:middle;
}
.footer .wrap > .footer-grid{max-width:none !important;}
.footer-logo-placeholder{margin-bottom:16px;}
.footer-logo-placeholder img{height:38px;width:auto;display:block;}
.footer .wrap > .footer-bottom{margin-top:26px;}


/* v55 restore footer to clean 4-column layout */
.footer .wrap{
  max-width:1320px !important;
}
.footer .wrap > .footer-grid,
.footer-grid{
  display:grid !important;
  grid-template-columns:1.45fr 1fr 1fr 1fr !important;
  gap:30px !important;
  align-items:start !important;
  padding:28px !important;
  border-radius:24px 24px 0 0 !important;
  background:rgba(255,254,250,.78) !important;
  border:1px solid rgba(74,99,118,.13) !important;
}
.footer-brand,
.footer-col{
  min-width:0 !important;
  padding:0 !important;
}
.footer-logo-placeholder,
.footer-brand img{
  margin-bottom:14px !important;
}
.footer-logo-placeholder img,
.footer-brand img{
  width:210px !important;
  height:auto !important;
  max-width:100% !important;
  display:block !important;
}
.footer h3{
  margin:0 0 10px !important;
  min-height:34px !important;
}
.footer p{
  margin:0 !important;
}
.footer-brand p + p{
  margin-top:12px !important;
}
.footer .wrap > .footer-bottom,
.footer-bottom{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  margin-top:0 !important;
  padding:16px 28px !important;
  border-radius:0 0 24px 24px !important;
  border:1px solid rgba(74,99,118,.13) !important;
  border-top:0 !important;
  background:rgba(255,254,250,.72) !important;
  text-align:center !important;
}
.footer-bottom p{
  width:100% !important;
  text-align:center !important;
}
@media(max-width:1050px){
  .footer .wrap > .footer-grid,
  .footer-grid{
    grid-template-columns:1fr 1fr !important;
  }
}
@media(max-width:700px){
  .footer .wrap > .footer-grid,
  .footer-grid{
    grid-template-columns:1fr !important;
  }
  .footer-bottom{
    align-items:center !important;
  }
}


/* v56 varied card entrance animations */
.motion-ready .reveal-target.reveal-up{transform:translate3d(0,38px,0);}
.motion-ready .reveal-target.reveal-left{transform:translate3d(-42px,24px,0);}
.motion-ready .reveal-target.reveal-right{transform:translate3d(42px,24px,0);}
.motion-ready .reveal-target.reveal-scale{transform:translate3d(0,28px,0) scale(.94);}
.motion-ready .reveal-target.reveal-soft-rotate{transform:translate3d(0,34px,0) rotateX(4deg) rotateZ(-1.2deg);transform-origin:center bottom;}
.motion-ready .reveal-target.is-visible{transform:none !important;opacity:1;}
.motion-ready .card,
.motion-ready .copy-card,
.motion-ready .spec,
.motion-ready .copy-block,
.motion-ready .service-overview-card,
.motion-ready .value-card,
.motion-ready .faq-highlight-card,
.motion-ready .contact-details-card{
  will-change:opacity,transform;
}
@media (prefers-reduced-motion: reduce){
  .motion-ready .reveal-target.reveal-up,
  .motion-ready .reveal-target.reveal-left,
  .motion-ready .reveal-target.reveal-right,
  .motion-ready .reveal-target.reveal-scale,
  .motion-ready .reveal-target.reveal-soft-rotate{transform:none !important;}
}


/* v57 language switcher */
.header-actions{
  margin-left:auto;
  display:flex;
  align-items:center;
  gap:10px;
  flex:0 0 auto;
}
.codulon-language-switch{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:6px 8px;
  border:1px solid rgba(0,90,130,.18);
  border-radius:999px;
  background:rgba(255,255,255,.72);
  box-shadow:0 8px 24px rgba(0,32,56,.06);
  font-size:11px;
  line-height:1;
  letter-spacing:.04em;
  font-weight:800;
  color:rgba(0,31,51,.56);
}
.codulon-language-switch a{
  color:rgba(0,31,51,.56);
  text-decoration:none;
  padding:3px 4px;
  border-radius:999px;
}
.codulon-language-switch a.is-active{
  color:#fff;
  background:var(--navy);
}
.cod-page:lang(nl) .card,
.cod-page:lang(nl) .copy-card,
.cod-page:lang(nl) .service-overview-card,
.cod-page:lang(nl) .value-card,
.cod-page:lang(nl) .faq-highlight-card{
  word-break:normal;
  overflow-wrap:break-word;
}
@media(max-width:760px){
  .header-actions{gap:8px;}
  .codulon-language-switch{font-size:10px;padding:5px 7px;}
}


/* v58 clearer language toggle */
.codulon-language-switch{
  gap:0 !important;
  padding:3px !important;
  border:1px solid rgba(0,65,95,.28) !important;
  background:rgba(255,255,255,.92) !important;
  box-shadow:0 10px 28px rgba(0,32,56,.10) !important;
}
.codulon-language-switch a{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:34px !important;
  padding:7px 9px !important;
  color:#06334a !important;
  opacity:1 !important;
  text-decoration:none !important;
  border-radius:999px !important;
  font-size:11px !important;
  font-weight:900 !important;
  letter-spacing:.05em !important;
}
.codulon-language-switch a.is-active{
  color:#ffffff !important;
  background:linear-gradient(135deg, var(--navy), #0c6f98) !important;
  box-shadow:0 6px 16px rgba(0,51,80,.18) !important;
}
.codulon-language-switch a:not(.is-active){
  background:rgba(222,245,250,.72) !important;
}
@media(max-width:760px){
  .codulon-language-switch a{min-width:30px !important;padding:6px 7px !important;font-size:10px !important;}
}


/* v62 editable menus + automatic layout for self-created pages */
.editable-page-panel{
  display:grid;
  gap:22px;
  min-height:360px;
}
.editable-page-heading h2{
  margin:0;
  color:var(--ink);
  font-size:clamp(2rem,3.6vw,3.35rem);
  line-height:1.04;
  letter-spacing:-.04em;
}
.editable-page-content{
  max-width:920px;
  color:#375a72;
  font-size:1.04rem;
  line-height:1.78;
}
.editable-page-content > *:first-child{margin-top:0;}
.editable-page-content > *:last-child{margin-bottom:0;}
.editable-page-content a{font-weight:800;}
.editable-page-content img,
.editable-page-content .wp-block-image img{
  border-radius:24px;
  box-shadow:0 22px 56px rgba(0,47,90,.10);
}
.main-nav .menu-item a{white-space:nowrap;}
@media(max-width:760px){
  .editable-page-panel{min-height:0;}
  .editable-page-content{font-size:1rem;}
}


/* v63 menu rebuild polish: submenu markers and left-aligned names */
.main-nav .sub-menu a{
  justify-content:flex-start !important;
  text-align:left !important;
  gap:9px !important;
}
.main-nav .sub-menu a::before{
  content:"✦";
  flex:0 0 auto;
  width:1.05em;
  color:var(--blue);
  opacity:.82;
  font-size:.78em;
  line-height:1;
}
@media(max-width:760px){
  .main-nav .sub-menu a{
    justify-content:flex-start !important;
    text-align:left !important;
    padding-left:14px !important;
  }
  .main-nav .sub-menu a::before{
    content:"›";
    font-size:1.1em;
    opacity:.75;
  }
}


/* v64: new pages stay empty in editor, submenu names hard-left aligned */
.main-nav .sub-menu,
.main-nav ul.sub-menu{
  align-items:stretch !important;
  text-align:left !important;
}
.main-nav .sub-menu li,
.main-nav ul.sub-menu li{
  width:100% !important;
  text-align:left !important;
}
.main-nav .sub-menu a,
.main-nav ul.sub-menu a{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  text-align:left !important;
  width:100% !important;
  margin:0 !important;
  padding-left:14px !important;
  padding-right:14px !important;
}
.main-nav .sub-menu a::before,
.main-nav ul.sub-menu a::before{
  content:"✦" !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex:0 0 18px !important;
  width:18px !important;
  margin:0 8px 0 0 !important;
  text-align:center !important;
  color:var(--blue) !important;
  opacity:.82 !important;
  font-size:.78em !important;
  line-height:1 !important;
}
@media(max-width:760px){
  .main-nav .sub-menu,
  .main-nav ul.sub-menu{
    padding-left:12px !important;
    align-items:stretch !important;
  }
  .main-nav .sub-menu a,
  .main-nav ul.sub-menu a{
    justify-content:flex-start !important;
    text-align:left !important;
    padding-left:12px !important;
  }
  .main-nav .sub-menu a::before,
  .main-nav ul.sub-menu a::before{
    content:"›" !important;
    flex-basis:16px !important;
    width:16px !important;
    margin-right:7px !important;
    font-size:1.08em !important;
  }
}


/* v65: empty user-created pages stay visually empty; submenu names hard-left */
.cod-page-empty{
  min-height:240px;
}
.editable-page-heading .eyebrow{
  display:none !important;
}
.main-nav .sub-menu,
.main-nav ul.sub-menu{
  width:max-content !important;
  min-width:250px !important;
  align-items:stretch !important;
  text-align:left !important;
}
.main-nav .sub-menu li,
.main-nav ul.sub-menu li{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  text-align:left !important;
}
.main-nav .sub-menu a,
.main-nav ul.sub-menu a{
  display:grid !important;
  grid-template-columns:18px minmax(0,1fr) !important;
  justify-content:start !important;
  justify-items:start !important;
  align-items:center !important;
  text-align:left !important;
  width:100% !important;
  box-sizing:border-box !important;
  padding-left:14px !important;
  padding-right:16px !important;
}
.main-nav .sub-menu a::before,
.main-nav ul.sub-menu a::before{
  justify-self:start !important;
  margin:0 !important;
  width:18px !important;
  text-align:left !important;
}
@media(max-width:760px){
  .main-nav .sub-menu,
  .main-nav ul.sub-menu{
    width:100% !important;
    min-width:0 !important;
  }
  .main-nav .sub-menu a,
  .main-nav ul.sub-menu a{
    grid-template-columns:16px minmax(0,1fr) !important;
    justify-items:start !important;
    text-align:left !important;
  }
}


/* v68 clean menu rebuild: keep generated menu compact and single-row on desktop */
@media (min-width: 901px){
  .main-nav .codulon-menu-root > li > a{
    white-space:nowrap !important;
  }
}

/* v69 footer alignment + general audience text pass */
.footer .wrap > .footer-grid,
.footer-grid{
  align-items:start !important;
}
.footer-brand,
.footer-col{
  display:block !important;
  padding-top:0 !important;
}
.footer-logo-placeholder,
.footer-brand img{
  height:34px !important;
  margin:0 0 10px !important;
  display:flex !important;
  align-items:flex-start !important;
}
.footer-logo-placeholder img,
.footer-brand img{
  width:auto !important;
  max-width:180px !important;
  height:30px !important;
  object-fit:contain !important;
  object-position:left top !important;
}
.footer h3{
  min-height:34px !important;
  margin:0 0 10px !important;
  display:flex !important;
  align-items:flex-start !important;
}
.footer-brand p,
.footer-col p{
  margin-top:0 !important;
}
@media(max-width:700px){
  .footer-logo-placeholder,
  .footer h3{
    min-height:0 !important;
    height:auto !important;
  }
}


/* v70 WooCommerce: spacing between add-to-cart and view-cart + proper account login/register columns */
.woocommerce ul.products li.product .button.add_to_cart_button,
.woocommerce ul.products li.product .button.product_type_simple,
.woocommerce ul.products li.product .button.product_type_variable{
  margin-bottom:12px !important;
}
.woocommerce ul.products li.product .added_to_cart,
.woocommerce ul.products li.product a.added_to_cart.wc-forward{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  clear:both !important;
  margin-top:10px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  line-height:1.2 !important;
}
.woocommerce ul.products li.product .button + .added_to_cart,
.woocommerce ul.products li.product .button + a.added_to_cart.wc-forward{
  margin-top:12px !important;
}

.woocommerce-account .woocommerce > .u-columns,
.woocommerce-account .woocommerce > #customer_login,
.woocommerce-account .u-columns.col2-set,
.woocommerce-account #customer_login{
  grid-column:1 / -1 !important;
  display:grid !important;
  grid-template-columns:minmax(0,45fr) minmax(0,55fr) !important;
  gap:28px !important;
  align-items:start !important;
  width:100% !important;
  max-width:1180px !important;
  margin:0 auto !important;
}
.woocommerce-account .u-columns.col2-set:before,
.woocommerce-account .u-columns.col2-set:after,
.woocommerce-account #customer_login:before,
.woocommerce-account #customer_login:after{
  display:none !important;
  content:none !important;
}
.woocommerce-account .u-columns .u-column1,
.woocommerce-account .u-columns .u-column2,
.woocommerce-account #customer_login .u-column1,
.woocommerce-account #customer_login .u-column2,
.woocommerce-account .col2-set .col-1,
.woocommerce-account .col2-set .col-2{
  width:auto !important;
  max-width:none !important;
  float:none !important;
  clear:none !important;
  margin:0 !important;
  box-sizing:border-box !important;
  min-width:0 !important;
}
.woocommerce-account .u-columns .u-column1,
.woocommerce-account #customer_login .u-column1{
  grid-column:1 !important;
}
.woocommerce-account .u-columns .u-column2,
.woocommerce-account #customer_login .u-column2{
  grid-column:2 !important;
}
.woocommerce-account .u-columns form.login,
.woocommerce-account .u-columns form.register,
.woocommerce-account #customer_login form.login,
.woocommerce-account #customer_login form.register{
  width:100% !important;
  box-sizing:border-box !important;
  margin:0 !important;
}
.woocommerce-account .u-columns input.input-text,
.woocommerce-account #customer_login input.input-text{
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
@supports selector(.woocommerce-account .woocommerce:has(.u-columns)){
  .woocommerce-account .woocommerce:has(.u-columns),
  .woocommerce-account .woocommerce:has(#customer_login){
    display:block !important;
    max-width:1180px !important;
  }
  .woocommerce-account .woocommerce:has(.woocommerce-MyAccount-navigation){
    display:grid !important;
    grid-template-columns:280px minmax(0,1fr) !important;
    gap:28px !important;
  }
}
@media(max-width:800px){
  .woocommerce-account .woocommerce > .u-columns,
  .woocommerce-account .woocommerce > #customer_login,
  .woocommerce-account .u-columns.col2-set,
  .woocommerce-account #customer_login{
    grid-template-columns:1fr !important;
  }
  .woocommerce-account .u-columns .u-column1,
  .woocommerce-account .u-columns .u-column2,
  .woocommerce-account #customer_login .u-column1,
  .woocommerce-account #customer_login .u-column2{
    grid-column:1 !important;
  }
}


/* v72 WooCommerce: cleaner variation option dropdowns only */
.woocommerce div.product form.cart .variations{
  width:auto !important;
  max-width:560px !important;
  margin:0 0 18px !important;
  border-collapse:separate !important;
  border-spacing:0 10px !important;
}
.woocommerce div.product form.cart .variations tr{
  display:grid !important;
  grid-template-columns:74px minmax(260px, 360px) !important;
  gap:14px !important;
  align-items:center !important;
}
.woocommerce div.product form.cart .variations th,
.woocommerce div.product form.cart .variations td{
  display:block !important;
  padding:0 !important;
  line-height:1.2 !important;
  vertical-align:middle !important;
  background:transparent !important;
  border:0 !important;
}
.woocommerce div.product form.cart .variations label{
  margin:0 !important;
  font-weight:800 !important;
  color:var(--ink) !important;
}
.woocommerce div.product form.cart .variations select{
  width:100% !important;
  min-height:42px !important;
  border-radius:12px !important;
  border:1px solid rgba(0,75,112,.24) !important;
  background-color:rgba(255,255,255,.92) !important;
  color:var(--ink) !important;
  padding:9px 38px 9px 13px !important;
  font-size:.95rem !important;
  font-weight:650 !important;
  box-shadow:0 10px 26px rgba(0,31,52,.06) !important;
  outline:none !important;
}
.woocommerce div.product form.cart .variations select:focus{
  border-color:rgba(0,188,212,.7) !important;
  box-shadow:0 0 0 3px rgba(0,188,212,.14),0 10px 26px rgba(0,31,52,.06) !important;
}
.woocommerce div.product form.cart .reset_variations{
  display:inline-block !important;
  margin-top:7px !important;
  font-size:.82rem !important;
  opacity:.72 !important;
}
@media(max-width:700px){
  .woocommerce div.product form.cart .variations,
  .woocommerce div.product form.cart .variations tr{
    width:100% !important;
    max-width:100% !important;
  }
  .woocommerce div.product form.cart .variations tr{
    grid-template-columns:1fr !important;
    gap:7px !important;
  }
}

/* v73 WooCommerce: vertically center variation labels beside dropdowns */
.woocommerce div.product form.cart .variations th.label,
.woocommerce div.product form.cart .variations th{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  min-height:42px !important;
  text-align:left !important;
}
.woocommerce div.product form.cart .variations label{
  display:block !important;
  line-height:1.15 !important;
  margin:0 !important;
}
.woocommerce div.product form.cart .variations td.value,
.woocommerce div.product form.cart .variations td{
  align-self:center !important;
}
@media(max-width:700px){
  .woocommerce div.product form.cart .variations th.label,
  .woocommerce div.product form.cart .variations th{
    min-height:0 !important;
  }
}


/* v74 WooCommerce: properly align variation labels and dropdowns */
.woocommerce div.product form.cart table.variations,
.woocommerce div.product form.cart .variations{
  width:auto !important;
  max-width:720px !important;
  border-collapse:separate !important;
  border-spacing:0 12px !important;
}
.woocommerce div.product form.cart table.variations tbody,
.woocommerce div.product form.cart .variations tbody{
  display:block !important;
}
.woocommerce div.product form.cart table.variations tr,
.woocommerce div.product form.cart .variations tr{
  display:grid !important;
  grid-template-columns:minmax(130px, 150px) minmax(300px, 380px) !important;
  column-gap:16px !important;
  align-items:center !important;
  min-height:44px !important;
}
.woocommerce div.product form.cart table.variations th.label,
.woocommerce div.product form.cart table.variations th,
.woocommerce div.product form.cart .variations th.label,
.woocommerce div.product form.cart .variations th{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  height:44px !important;
  min-height:44px !important;
  padding:0 !important;
  margin:0 !important;
  line-height:1.1 !important;
  text-align:right !important;
  white-space:normal !important;
}
.woocommerce div.product form.cart table.variations th.label label,
.woocommerce div.product form.cart table.variations th label,
.woocommerce div.product form.cart .variations th.label label,
.woocommerce div.product form.cart .variations th label{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  height:44px !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1.08 !important;
  text-align:right !important;
  font-weight:800 !important;
}
.woocommerce div.product form.cart table.variations td.value,
.woocommerce div.product form.cart table.variations td,
.woocommerce div.product form.cart .variations td.value,
.woocommerce div.product form.cart .variations td{
  display:flex !important;
  align-items:center !important;
  min-height:44px !important;
  padding:0 !important;
  margin:0 !important;
}
.woocommerce div.product form.cart table.variations select,
.woocommerce div.product form.cart .variations select{
  height:44px !important;
  min-height:44px !important;
  line-height:44px !important;
}
@media(max-width:700px){
  .woocommerce div.product form.cart table.variations tr,
  .woocommerce div.product form.cart .variations tr{
    grid-template-columns:1fr !important;
    gap:7px !important;
    min-height:0 !important;
  }
  .woocommerce div.product form.cart table.variations th.label,
  .woocommerce div.product form.cart table.variations th,
  .woocommerce div.product form.cart .variations th.label,
  .woocommerce div.product form.cart .variations th,
  .woocommerce div.product form.cart table.variations th.label label,
  .woocommerce div.product form.cart table.variations th label,
  .woocommerce div.product form.cart .variations th.label label,
  .woocommerce div.product form.cart .variations th label{
    justify-content:flex-start !important;
    text-align:left !important;
    height:auto !important;
    min-height:0 !important;
  }
}


/* v75 WooCommerce: clean variation row alignment, no clipped dropdown text */
.woocommerce div.product form.cart table.variations,
.woocommerce div.product form.cart .variations{
  display:block !important;
  width:100% !important;
  max-width:560px !important;
  margin:0 0 20px !important;
  border-collapse:collapse !important;
  border-spacing:0 !important;
}
.woocommerce div.product form.cart table.variations tbody,
.woocommerce div.product form.cart .variations tbody{
  display:flex !important;
  flex-direction:column !important;
  gap:12px !important;
  width:100% !important;
}
.woocommerce div.product form.cart table.variations tr,
.woocommerce div.product form.cart .variations tr{
  display:flex !important;
  align-items:center !important;
  gap:14px !important;
  width:100% !important;
  min-height:46px !important;
  margin:0 !important;
}
.woocommerce div.product form.cart table.variations th.label,
.woocommerce div.product form.cart table.variations th,
.woocommerce div.product form.cart .variations th.label,
.woocommerce div.product form.cart .variations th{
  flex:0 0 120px !important;
  width:120px !important;
  max-width:120px !important;
  height:auto !important;
  min-height:46px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  padding:0 !important;
  margin:0 !important;
  text-align:right !important;
  vertical-align:middle !important;
  background:transparent !important;
  border:0 !important;
}
.woocommerce div.product form.cart table.variations th.label label,
.woocommerce div.product form.cart table.variations th label,
.woocommerce div.product form.cart .variations th.label label,
.woocommerce div.product form.cart .variations th label{
  display:block !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1.16 !important;
  text-align:right !important;
  font-weight:800 !important;
  white-space:normal !important;
}
.woocommerce div.product form.cart table.variations td.value,
.woocommerce div.product form.cart table.variations td,
.woocommerce div.product form.cart .variations td.value,
.woocommerce div.product form.cart .variations td{
  flex:1 1 auto !important;
  min-width:0 !important;
  min-height:46px !important;
  display:flex !important;
  align-items:center !important;
  flex-wrap:wrap !important;
  gap:7px !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
}
.woocommerce div.product form.cart table.variations select,
.woocommerce div.product form.cart .variations select{
  width:100% !important;
  max-width:380px !important;
  height:46px !important;
  min-height:46px !important;
  line-height:normal !important;
  padding:0 42px 0 14px !important;
  font-size:.96rem !important;
  font-weight:650 !important;
  box-sizing:border-box !important;
  vertical-align:middle !important;
}
.woocommerce div.product form.cart .reset_variations{
  flex-basis:100% !important;
  margin:2px 0 0 !important;
  line-height:1.2 !important;
}
@media(max-width:700px){
  .woocommerce div.product form.cart table.variations tr,
  .woocommerce div.product form.cart .variations tr{
    display:block !important;
    min-height:0 !important;
  }
  .woocommerce div.product form.cart table.variations th.label,
  .woocommerce div.product form.cart table.variations th,
  .woocommerce div.product form.cart .variations th.label,
  .woocommerce div.product form.cart .variations th{
    width:100% !important;
    max-width:none !important;
    min-height:0 !important;
    justify-content:flex-start !important;
    text-align:left !important;
    margin:0 0 7px !important;
  }
  .woocommerce div.product form.cart table.variations th.label label,
  .woocommerce div.product form.cart table.variations th label,
  .woocommerce div.product form.cart .variations th.label label,
  .woocommerce div.product form.cart .variations th label{
    text-align:left !important;
  }
  .woocommerce div.product form.cart table.variations select,
  .woocommerce div.product form.cart .variations select{
    max-width:100% !important;
  }
}


/* v76 WooCommerce: exact variation label/dropdown baseline alignment */
.woocommerce div.product form.cart table.variations,
.woocommerce div.product form.cart .variations{
  max-width:560px !important;
}
.woocommerce div.product form.cart table.variations tr,
.woocommerce div.product form.cart .variations tr{
  display:grid !important;
  grid-template-columns:128px minmax(260px, 380px) !important;
  column-gap:14px !important;
  row-gap:0 !important;
  align-items:start !important;
  min-height:46px !important;
}
.woocommerce div.product form.cart table.variations th.label,
.woocommerce div.product form.cart table.variations th,
.woocommerce div.product form.cart .variations th.label,
.woocommerce div.product form.cart .variations th{
  grid-column:1 !important;
  width:128px !important;
  max-width:128px !important;
  height:46px !important;
  min-height:46px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  padding:0 !important;
  margin:0 !important;
  line-height:1 !important;
}
.woocommerce div.product form.cart table.variations th.label label,
.woocommerce div.product form.cart table.variations th label,
.woocommerce div.product form.cart .variations th.label label,
.woocommerce div.product form.cart .variations th label{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  line-height:1.12 !important;
  text-align:right !important;
  transform:translateY(0) !important;
}
.woocommerce div.product form.cart table.variations td.value,
.woocommerce div.product form.cart table.variations td,
.woocommerce div.product form.cart .variations td.value,
.woocommerce div.product form.cart .variations td{
  grid-column:2 !important;
  width:100% !important;
  max-width:380px !important;
  min-height:46px !important;
  display:block !important;
  padding:0 !important;
  margin:0 !important;
}
.woocommerce div.product form.cart table.variations select,
.woocommerce div.product form.cart .variations select{
  display:block !important;
  width:100% !important;
  max-width:380px !important;
  height:46px !important;
  min-height:46px !important;
  line-height:46px !important;
  padding-top:0 !important;
  padding-bottom:0 !important;
}
.woocommerce div.product form.cart .reset_variations{
  display:block !important;
  margin:5px 0 0 !important;
  line-height:1.2 !important;
}
@media(max-width:700px){
  .woocommerce div.product form.cart table.variations tr,
  .woocommerce div.product form.cart .variations tr{
    display:block !important;
    grid-template-columns:none !important;
  }
  .woocommerce div.product form.cart table.variations th.label,
  .woocommerce div.product form.cart table.variations th,
  .woocommerce div.product form.cart .variations th.label,
  .woocommerce div.product form.cart .variations th{
    width:100% !important;
    max-width:none !important;
    height:auto !important;
    min-height:0 !important;
    justify-content:flex-start !important;
    margin:0 0 7px !important;
  }
  .woocommerce div.product form.cart table.variations th.label label,
  .woocommerce div.product form.cart table.variations th label,
  .woocommerce div.product form.cart .variations th.label label,
  .woocommerce div.product form.cart .variations th label{
    text-align:left !important;
  }
  .woocommerce div.product form.cart table.variations td.value,
  .woocommerce div.product form.cart table.variations td,
  .woocommerce div.product form.cart .variations td.value,
  .woocommerce div.product form.cart .variations td{
    width:100% !important;
    max-width:100% !important;
  }
  .woocommerce div.product form.cart table.variations select,
  .woocommerce div.product form.cart .variations select{
    max-width:100% !important;
  }
}


/* v77 checkout: Your order heading inside same card, aligned with billing */
.woocommerce-checkout form.checkout{
  grid-template-columns:minmax(0, 45fr) minmax(0, 55fr) !important;
  max-width:1320px !important;
  column-gap:24px !important;
  align-items:start !important;
}
.woocommerce-checkout #customer_details{
  grid-column:1 !important;
  grid-row:1 !important;
}
.woocommerce-checkout #order_review_heading{
  grid-column:2 !important;
  grid-row:1 !important;
  align-self:start !important;
  position:relative !important;
  z-index:2 !important;
  width:auto !important;
  margin:0 !important;
  padding:26px 32px 14px !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  box-sizing:border-box !important;
}
.woocommerce-checkout #order_review{
  grid-column:2 !important;
  grid-row:1 !important;
  width:100% !important;
  margin:0 !important;
  padding:72px 32px 32px !important;
  background:rgba(255,255,255,.86) !important;
  border:1px solid rgba(0,64,98,.18) !important;
  border-radius:18px !important;
  box-shadow:0 18px 46px rgba(0,30,50,.07) !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
.woocommerce-checkout #order_review .shop_table{
  width:100% !important;
  margin:0 0 20px !important;
  border-radius:8px !important;
  border:1px solid rgba(0,64,98,.16) !important;
  overflow:hidden !important;
}
.woocommerce-checkout #order_review .woocommerce-checkout-payment{
  width:100% !important;
  margin:0 !important;
  box-sizing:border-box !important;
}
@media(max-width:900px){
  .woocommerce-checkout form.checkout{
    grid-template-columns:1fr !important;
  }
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review{
    grid-column:1 !important;
    grid-row:auto !important;
  }
  .woocommerce-checkout #order_review_heading{
    padding:24px 22px 10px !important;
    background:rgba(255,255,255,.86) !important;
    border:1px solid rgba(0,64,98,.18) !important;
    border-bottom:0 !important;
    border-radius:18px 18px 0 0 !important;
  }
  .woocommerce-checkout #order_review{
    padding:0 22px 24px !important;
    border-top:0 !important;
    border-radius:0 0 18px 18px !important;
  }
}


/* v78 Woo return button + final checkout order card placement */
.codulon-woo-return-wrap{
  width:min(1180px, calc(100% - 40px));
  margin:10px auto 22px;
  text-align:center;
}
.codulon-woo-return-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:38px;
  padding:9px 18px;
  border-radius:8px;
  background:#064b72;
  color:#fff !important;
  font-weight:800;
  font-size:.92rem;
  line-height:1;
  text-decoration:none !important;
  box-shadow:0 12px 26px rgba(0,48,82,.14);
}
.codulon-woo-return-button:hover{filter:brightness(1.06);}
.woocommerce-checkout form.checkout{
  grid-template-columns:minmax(0, 45fr) minmax(0, 55fr) !important;
  align-items:start !important;
  max-width:1320px !important;
  column-gap:24px !important;
}
.woocommerce-checkout #customer_details{
  grid-column:1 !important;
  grid-row:1 !important;
}
.woocommerce-checkout #order_review_heading{
  grid-column:2 !important;
  grid-row:1 !important;
  align-self:start !important;
  position:relative !important;
  z-index:2 !important;
  display:block !important;
  width:auto !important;
  margin:0 !important;
  padding:30px 32px 0 !important;
  line-height:1.2 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  border-radius:0 !important;
  box-sizing:border-box !important;
  pointer-events:none !important;
}
.woocommerce-checkout #order_review{
  grid-column:2 !important;
  grid-row:1 !important;
  width:100% !important;
  margin:0 !important;
  padding:78px 32px 32px !important;
  background:rgba(255,255,255,.88) !important;
  border:1px solid rgba(0,64,98,.18) !important;
  border-radius:18px !important;
  box-shadow:0 18px 46px rgba(0,30,50,.07) !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
.woocommerce-checkout #order_review .shop_table{
  width:100% !important;
  margin:0 0 20px !important;
  border-radius:8px !important;
  border:1px solid rgba(0,64,98,.16) !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
.woocommerce-checkout #order_review .woocommerce-checkout-payment{
  width:100% !important;
  margin:0 !important;
  box-sizing:border-box !important;
}
@media(max-width:900px){
  .codulon-woo-return-wrap{width:calc(100% - 28px);margin:8px auto 18px;}
  .woocommerce-checkout form.checkout{grid-template-columns:1fr !important;}
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review{
    grid-column:1 !important;
    grid-row:auto !important;
  }
  .woocommerce-checkout #order_review_heading{
    padding:24px 22px 10px !important;
    background:rgba(255,255,255,.88) !important;
    border:1px solid rgba(0,64,98,.18) !important;
    border-bottom:0 !important;
    border-radius:18px 18px 0 0 !important;
    pointer-events:auto !important;
  }
  .woocommerce-checkout #order_review{
    padding:0 22px 24px !important;
    border-top:0 !important;
    border-radius:0 0 18px 18px !important;
  }
}


/* v79: one return-to-shop button and checkout order title fixed in card */
.codulon-woo-breadcrumb + .codulon-woo-return-wrap{
  display:none !important;
}
.entry-title + .codulon-woo-return-wrap,
.woocommerce-main .codulon-woo-breadcrumb + .codulon-woo-return-wrap{
  display:block !important;
}
.entry-title + .codulon-woo-return-wrap{
  width:min(1180px, calc(100% - 40px)) !important;
  margin:18px auto 22px !important;
  text-align:center !important;
}
.woocommerce-checkout form.checkout{
  display:grid !important;
  grid-template-columns:minmax(0, 45fr) minmax(0, 55fr) !important;
  grid-template-rows:auto auto !important;
  gap:0 24px !important;
  align-items:start !important;
  max-width:1320px !important;
  margin:0 auto !important;
}
.woocommerce-checkout #customer_details{
  grid-column:1 !important;
  grid-row:1 / span 2 !important;
  width:100% !important;
  min-width:0 !important;
}
.woocommerce-checkout #order_review_heading{
  grid-column:2 !important;
  grid-row:1 !important;
  width:100% !important;
  margin:0 !important;
  padding:28px 32px 14px !important;
  background:rgba(255,255,255,.88) !important;
  border:1px solid rgba(0,64,98,.18) !important;
  border-bottom:0 !important;
  border-radius:18px 18px 0 0 !important;
  box-shadow:0 18px 46px rgba(0,30,50,.07) !important;
  line-height:1.2 !important;
  box-sizing:border-box !important;
  position:static !important;
  pointer-events:auto !important;
  z-index:auto !important;
}
.woocommerce-checkout #order_review{
  grid-column:2 !important;
  grid-row:2 !important;
  width:100% !important;
  margin:0 !important;
  padding:0 32px 32px !important;
  background:rgba(255,255,255,.88) !important;
  border:1px solid rgba(0,64,98,.18) !important;
  border-top:0 !important;
  border-radius:0 0 18px 18px !important;
  box-shadow:0 18px 46px rgba(0,30,50,.07) !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
.woocommerce-checkout #order_review .shop_table{
  width:100% !important;
  margin:0 0 20px !important;
  border-radius:8px !important;
  box-sizing:border-box !important;
}
.woocommerce-checkout #order_review .woocommerce-checkout-payment{
  width:100% !important;
  margin:0 !important;
  box-sizing:border-box !important;
}
@media(max-width:900px){
  .woocommerce-checkout form.checkout{
    grid-template-columns:1fr !important;
    grid-template-rows:auto !important;
  }
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review_heading,
  .woocommerce-checkout #order_review{
    grid-column:1 !important;
    grid-row:auto !important;
  }
  .woocommerce-checkout #order_review_heading{padding:24px 22px 10px !important;}
  .woocommerce-checkout #order_review{padding:0 22px 24px !important;}
}

/* v80: robust single Woo return button + clean checkout order card */
.codulon-woo-return-wrap{
  width:min(1180px, calc(100% - 40px)) !important;
  margin:14px auto 20px !important;
  text-align:center !important;
}
.codulon-woo-return-wrap + .codulon-woo-return-wrap{
  display:none !important;
}

.woocommerce-checkout form.checkout{
  display:grid !important;
  grid-template-columns:minmax(0, 45fr) minmax(0, 55fr) !important;
  gap:0 24px !important;
  align-items:start !important;
  max-width:1320px !important;
  margin:0 auto !important;
}
.woocommerce-checkout #customer_details{
  grid-column:1 !important;
  grid-row:1 !important;
  width:100% !important;
  min-width:0 !important;
}
.woocommerce-checkout #order_review_heading{
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  white-space:nowrap !important;
  border:0 !important;
}
.woocommerce-checkout #order_review{
  grid-column:2 !important;
  grid-row:1 !important;
  position:relative !important;
  width:100% !important;
  margin:0 !important;
  padding:72px 32px 32px !important;
  background:rgba(255,255,255,.88) !important;
  border:1px solid rgba(0,64,98,.18) !important;
  border-radius:18px !important;
  box-shadow:0 18px 46px rgba(0,30,50,.07) !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
  min-width:0 !important;
}
.woocommerce-checkout #order_review.codulon-order-review-ready::before{
  content:"Your order";
  position:absolute;
  top:24px;
  left:32px;
  color:var(--ink);
  font-size:clamp(1.35rem,2vw,1.85rem);
  font-weight:800;
  line-height:1.15;
  letter-spacing:-.02em;
}
.woocommerce-checkout #order_review .shop_table{
  width:100% !important;
  margin:0 0 20px !important;
  border-radius:8px !important;
  border:1px solid rgba(0,64,98,.16) !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
.woocommerce-checkout #order_review .woocommerce-checkout-payment{
  width:100% !important;
  margin:0 !important;
  box-sizing:border-box !important;
}
@media(max-width:900px){
  .codulon-woo-return-wrap{
    width:calc(100% - 28px) !important;
    margin:10px auto 18px !important;
  }
  .woocommerce-checkout form.checkout{
    grid-template-columns:1fr !important;
  }
  .woocommerce-checkout #customer_details,
  .woocommerce-checkout #order_review{
    grid-column:1 !important;
    grid-row:auto !important;
  }
  .woocommerce-checkout #order_review{
    padding:64px 22px 24px !important;
  }
  .woocommerce-checkout #order_review.codulon-order-review-ready::before{
    top:22px;
    left:22px;
    font-size:1.5rem;
  }
}


/* v81: final Woo button/title cleanup */
.codulon-woo-return-wrap{display:block !important; text-align:center !important;}
#order_review::before{content:none !important; display:none !important;}
.woocommerce-checkout #order_review,
.woocommerce form.checkout #order_review{
  padding:24px 20px 20px !important;
}
.codulon-order-card-title{
  display:block;
  margin:0 0 14px;
  color:var(--ink);
  font-size:clamp(1.3rem,1.8vw,1.75rem);
  font-weight:800;
  line-height:1.15;
  letter-spacing:-.02em;
}
.woocommerce-checkout #order_review .shop_table{
  margin-top:0 !important;
}

/* v82: exact single Return button and checkout heading size */
.codulon-woo-return-wrap{
  display:block !important;
  width:min(1180px, calc(100% - 40px)) !important;
  margin:18px auto 22px !important;
  text-align:center !important;
}
.codulon-woo-return-wrap ~ .codulon-woo-return-wrap{
  display:none !important;
}
.woocommerce-checkout #order_review_heading{
  display:none !important;
}
.woocommerce-checkout #order_review,
.woocommerce form.checkout #order_review{
  padding:26px 32px 32px !important;
}
.woocommerce-checkout #order_review::before,
.woocommerce-checkout #order_review.codulon-order-review-ready::before{
  content:none !important;
  display:none !important;
}
.codulon-order-card-title{
  display:block !important;
  margin:0 0 18px !important;
  color:var(--ink) !important;
  font-size:1.15rem !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  letter-spacing:-.01em !important;
}
.woocommerce-checkout #order_review .shop_table{
  margin-top:0 !important;
}
@media(max-width:900px){
  .codulon-woo-return-wrap{width:calc(100% - 28px) !important;margin:14px auto 18px !important;}
  .woocommerce-checkout #order_review,
  .woocommerce form.checkout #order_review{padding:24px 22px 24px !important;}
}


/* v83: force exactly one Woo return button + matched checkout heading */
.codulon-woo-return-wrap{
  display:none !important;
}
.codulon-woo-return-wrap.codulon-return-active{
  display:block !important;
  width:min(1180px, calc(100% - 40px)) !important;
  margin:18px auto 22px !important;
  text-align:left !important;
}
.codulon-woo-return-wrap.codulon-return-active ~ .codulon-woo-return-wrap,
.codulon-woo-return-wrap:not(.codulon-return-active){
  display:none !important;
}
.woocommerce-checkout #order_review::before,
.woocommerce-checkout #order_review.codulon-order-review-ready::before{
  content:none !important;
  display:none !important;
}
.woocommerce-checkout #order_review_heading{
  display:none !important;
}
.woocommerce-checkout #order_review,
.woocommerce form.checkout #order_review{
  padding:24px 32px 32px !important;
}
.codulon-order-card-title{
  display:block !important;
  margin:0 0 18px !important;
  padding:0 !important;
  color:var(--ink) !important;
  font-size:1.18rem !important;
  font-weight:800 !important;
  line-height:1.25 !important;
  letter-spacing:-.01em !important;
}
.woocommerce-checkout #order_review .shop_table{
  margin-top:0 !important;
}
@media(max-width:900px){
  .codulon-woo-return-wrap.codulon-return-active{
    width:calc(100% - 28px) !important;
    margin:14px auto 18px !important;
  }
  .woocommerce-checkout #order_review,
  .woocommerce form.checkout #order_review{
    padding:22px 22px 24px !important;
  }
}

/* v84: server-side single return button, no button on shop archive */
body.woocommerce-shop .codulon-woo-return-wrap,
body.post-type-archive-product .codulon-woo-return-wrap{
  display:none !important;
}
.codulon-woo-return-wrap{
  display:none !important;
}
.codulon-woo-return-wrap.codulon-return-server,
.codulon-woo-return-wrap:first-of-type{
  display:block !important;
  width:min(1180px, calc(100% - 40px)) !important;
  margin:18px auto 22px !important;
  text-align:center !important;
}
.codulon-woo-return-wrap.codulon-return-server ~ .codulon-woo-return-wrap,
.codulon-woo-return-wrap:first-of-type ~ .codulon-woo-return-wrap{
  display:none !important;
}
.codulon-order-card-title{
  font-size:1.18rem !important;
  line-height:1.25 !important;
  margin:0 0 18px !important;
  font-weight:800 !important;
}
.woocommerce-checkout #order_review,
.woocommerce form.checkout #order_review{
  padding:24px 32px 32px !important;
}

/* v85: no server-side Woo return buttons; exact one JS-created button only */
.codulon-woo-return-wrap{display:none !important;}
.codulon-woo-return-wrap.codulon-return-active{display:block !important;}
body.woocommerce-shop .codulon-woo-return-wrap,
body.post-type-archive-product .codulon-woo-return-wrap{display:none !important;}
.codulon-order-card-title{
  font-size:1.12rem !important;
  font-weight:800 !important;
  line-height:1.25 !important;
  margin:0 0 14px !important;
  letter-spacing:0 !important;
}


/* v86: hide all old Return to shop buttons except the single active one */
a.codulon-woo-return-button,
button.codulon-woo-return-button{display:none !important;}
.codulon-woo-return-wrap{display:none !important;}
.codulon-woo-return-wrap.codulon-return-active{
  display:block !important;
  width:min(1180px, calc(100% - 40px)) !important;
  margin:18px auto 22px !important;
  text-align:left !important;
}
.codulon-woo-return-wrap.codulon-return-active > a.codulon-woo-return-button{
  display:inline-flex !important;
}
body.woocommerce-shop .codulon-woo-return-wrap,
body.post-type-archive-product .codulon-woo-return-wrap{
  display:none !important;
}
.woocommerce-checkout .codulon-order-card-title{
  font-size:1rem !important;
  font-weight:800 !important;
  line-height:1.2 !important;
  margin:0 0 14px !important;
  letter-spacing:0 !important;
}


/* v88: hide empty WooCommerce SKU line */
.product_meta .sku_wrapper[aria-hidden="true"]{display:none !important;}


/* v89: larger single-product quantity chooser and hide product categories */
.single-product .product_meta .posted_in{
  display:none !important;
}
.single-product .woocommerce div.product form.cart,
.single-product .woocommerce-page div.product form.cart{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  gap:14px 16px !important;
}
.single-product .woocommerce div.product form.cart .quantity,
.single-product .woocommerce-page div.product form.cart .quantity{
  margin:0 !important;
}
.single-product .woocommerce .quantity .qty,
.single-product .woocommerce-page .quantity .qty{
  width:84px !important;
  min-width:84px !important;
  height:48px !important;
  padding:0 12px !important;
  border-radius:14px !important;
  border:1px solid rgba(0,64,98,.22) !important;
  background:#fff !important;
  color:var(--ink) !important;
  font-size:1.02rem !important;
  font-weight:800 !important;
  line-height:46px !important;
  text-align:center !important;
  box-shadow:none !important;
}
.single-product .woocommerce div.product form.cart .single_add_to_cart_button,
.single-product .woocommerce-page div.product form.cart .single_add_to_cart_button{
  min-height:48px !important;
  padding:0 24px !important;
}
.single-product .woocommerce div.product form.cart .variations,
.single-product .woocommerce-page div.product form.cart .variations{
  margin-bottom:18px !important;
}
@media(max-width:700px){
  .single-product .woocommerce div.product form.cart,
  .single-product .woocommerce-page div.product form.cart{
    gap:12px !important;
  }
  .single-product .woocommerce .quantity .qty,
  .single-product .woocommerce-page .quantity .qty{
    width:76px !important;
    min-width:76px !important;
    height:46px !important;
    line-height:44px !important;
  }
}


/* v91: product quantity field and product meta cleanup */
.single-product .product_meta .posted_in,
.single-product .product_meta .tagged_as{
  display:none !important;
}
.single-product .product_meta .sku_wrapper[aria-hidden="true"]{
  display:none !important;
}
.single-product .product_meta:empty{
  display:none !important;
}
.single-product form.cart div.quantity,
.single-product .woocommerce div.product form.cart div.quantity{
  display:inline-flex !important;
  align-items:center !important;
  margin:0 12px 0 0 !important;
  float:none !important;
}
.single-product form.cart div.quantity input.qty,
.single-product .woocommerce div.product form.cart div.quantity input.qty,
.single-product .quantity .qty,
.single-product input.qty[type="number"]{
  width:86px !important;
  min-width:86px !important;
  max-width:86px !important;
  height:44px !important;
  min-height:44px !important;
  padding:0 12px !important;
  border-radius:12px !important;
  border:1px solid rgba(0,64,98,.24) !important;
  background:#fff !important;
  color:var(--ink) !important;
  font-size:1rem !important;
  font-weight:800 !important;
  line-height:42px !important;
  text-align:center !important;
  box-shadow:0 10px 22px rgba(0,30,50,.06) !important;
  appearance:auto !important;
}
.single-product form.cart .single_add_to_cart_button,
.single-product .woocommerce div.product form.cart .single_add_to_cart_button{
  min-height:44px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
}
@media(max-width:700px){
  .single-product form.cart div.quantity input.qty,
  .single-product .woocommerce div.product form.cart div.quantity input.qty,
  .single-product .quantity .qty,
  .single-product input.qty[type="number"]{
    width:78px !important;
    min-width:78px !important;
    max-width:78px !important;
    height:42px !important;
    min-height:42px !important;
  }
}


/* v92: quantity selector aligned with variation dropdown and cleaner product meta */
.single-product .product_meta .posted_in,
.single-product .product_meta .sku_wrapper[aria-hidden="true"]{
  display:none !important;
}
.single-product form.cart .single_variation_wrap .woocommerce-variation-add-to-cart,
.single-product form.cart .woocommerce-variation-add-to-cart{
  display:grid !important;
  grid-template-columns:110px minmax(84px,84px) minmax(130px,auto) !important;
  align-items:center !important;
  gap:12px !important;
  width:100% !important;
  margin-top:16px !important;
}
.single-product form.cart .quantity{
  grid-column:2 !important;
  grid-row:1 !important;
  margin:0 !important;
  justify-self:start !important;
}
.single-product form.cart .single_add_to_cart_button{
  grid-column:3 !important;
  grid-row:1 !important;
  justify-self:start !important;
  min-height:48px !important;
}
.single-product .woocommerce .quantity .qty,
.single-product .quantity .qty,
.woocommerce.single-product .quantity input.qty{
  width:84px !important;
  min-width:84px !important;
  height:48px !important;
  min-height:48px !important;
  padding:0 12px !important;
  border-radius:12px !important;
  border:1px solid rgba(0,64,98,.24) !important;
  background:#fff !important;
  color:var(--ink) !important;
  font-size:1rem !important;
  font-weight:800 !important;
  line-height:48px !important;
  text-align:center !important;
  box-shadow:none !important;
}
@media(max-width:700px){
  .single-product form.cart .single_variation_wrap .woocommerce-variation-add-to-cart,
  .single-product form.cart .woocommerce-variation-add-to-cart{
    grid-template-columns:84px minmax(130px,auto) !important;
  }
  .single-product form.cart .quantity{grid-column:1 !important;}
  .single-product form.cart .single_add_to_cart_button{grid-column:2 !important;}
}


/* v93: align variation price, quantity and button with dropdown column */
.single-product form.cart .single_variation_wrap{
  display:grid !important;
  grid-template-columns:128px 96px minmax(130px, auto) !important;
  column-gap:14px !important;
  row-gap:10px !important;
  align-items:center !important;
  width:100% !important;
  max-width:560px !important;
  margin-top:12px !important;
}
.single-product form.cart .single_variation,
.single-product form.cart .woocommerce-variation{
  display:contents !important;
}
.single-product form.cart .woocommerce-variation-price,
.single-product form.cart .single_variation .price{
  grid-column:2 / 4 !important;
  grid-row:1 !important;
  align-self:end !important;
  justify-self:start !important;
  margin:0 0 2px 0 !important;
  padding:0 !important;
  line-height:1.2 !important;
  text-align:left !important;
}
.single-product form.cart .woocommerce-variation-description,
.single-product form.cart .woocommerce-variation-availability{
  grid-column:2 / 4 !important;
  margin:0 !important;
}
.single-product form.cart .woocommerce-variation-add-to-cart,
.single-product form.cart .single_variation_wrap .woocommerce-variation-add-to-cart{
  display:grid !important;
  grid-column:1 / 4 !important;
  grid-row:2 !important;
  grid-template-columns:128px 96px minmax(130px, auto) !important;
  column-gap:14px !important;
  align-items:center !important;
  width:100% !important;
  margin:0 !important;
}
.single-product form.cart .woocommerce-variation-add-to-cart .quantity,
.single-product form.cart .single_variation_wrap .quantity{
  grid-column:2 !important;
  justify-self:start !important;
  margin:0 !important;
  float:none !important;
}
.single-product form.cart .woocommerce-variation-add-to-cart .single_add_to_cart_button,
.single-product form.cart .single_variation_wrap .single_add_to_cart_button{
  grid-column:3 !important;
  justify-self:start !important;
  min-height:48px !important;
}
.single-product .woocommerce .quantity .qty,
.single-product .quantity .qty,
.woocommerce.single-product .quantity input.qty,
.single-product form.cart input.qty[type="number"]{
  width:96px !important;
  min-width:96px !important;
  max-width:96px !important;
  height:48px !important;
  min-height:48px !important;
  text-align:center !important;
  font-size:1.05rem !important;
  font-weight:800 !important;
  border-radius:12px !important;
  box-sizing:border-box !important;
}
.single-product .product_meta .posted_in,
.single-product .product_meta .tagged_as{
  display:none !important;
}
@media(max-width:700px){
  .single-product form.cart .single_variation_wrap,
  .single-product form.cart .woocommerce-variation-add-to-cart,
  .single-product form.cart .single_variation_wrap .woocommerce-variation-add-to-cart{
    grid-template-columns:96px minmax(130px, auto) !important;
    max-width:100% !important;
  }
  .single-product form.cart .woocommerce-variation-price,
  .single-product form.cart .single_variation .price,
  .single-product form.cart .woocommerce-variation-description,
  .single-product form.cart .woocommerce-variation-availability{
    grid-column:1 / 3 !important;
  }
  .single-product form.cart .woocommerce-variation-add-to-cart .quantity,
  .single-product form.cart .single_variation_wrap .quantity{
    grid-column:1 !important;
  }
  .single-product form.cart .woocommerce-variation-add-to-cart .single_add_to_cart_button,
  .single-product form.cart .single_variation_wrap .single_add_to_cart_button{
    grid-column:2 !important;
  }
}


/* v96: configurable WooCommerce VAT notice */
.codulon-vat-notice{
  margin:7px 0 0 !important;
  color:#5f7484 !important;
  font-size:.78rem !important;
  line-height:1.45 !important;
  font-weight:600 !important;
  letter-spacing:0 !important;
}
.woocommerce ul.products li.product .codulon-vat-notice-loop{
  margin:3px auto 8px !important;
  max-width:240px !important;
  text-align:center !important;
  font-size:.72rem !important;
}
.woocommerce div.product .summary .codulon-vat-notice-product{
  margin:4px 0 12px !important;
  max-width:520px !important;
}
.woocommerce table.shop_table .codulon-vat-notice-row td{
  padding-top:8px !important;
  padding-bottom:8px !important;
}
.woocommerce table.shop_table .codulon-vat-notice-row .codulon-vat-notice{
  margin:0 !important;
}
.woocommerce-order .codulon-vat-notice-order,
.woocommerce-account .codulon-vat-notice-order{
  margin:12px 0 18px !important;
}


/* v97: VAT notice only in cart and checkout */
.woocommerce ul.products li.product .codulon-vat-notice-loop,
.woocommerce div.product .summary .codulon-vat-notice-product,
.woocommerce-order .codulon-vat-notice-order,
.woocommerce-account .codulon-vat-notice-order,
.codulon-vat-notice-email{
  display:none !important;
}
.woocommerce-cart .codulon-vat-notice-cart,
.woocommerce-checkout .codulon-vat-notice-cart{
  display:block !important;
}

/* v98: single product purchase controls aligned with summary text */
.single-product .woocommerce div.product .summary form.cart,
.woocommerce.single-product div.product .summary form.cart{
  display:block !important;
  width:100% !important;
  max-width:560px !important;
  margin:22px 0 0 0 !important;
  padding:0 !important;
  text-align:left !important;
}
.single-product .woocommerce div.product .summary form.cart table.variations,
.single-product .woocommerce div.product .summary form.cart .variations,
.woocommerce.single-product div.product .summary form.cart table.variations,
.woocommerce.single-product div.product .summary form.cart .variations{
  display:block !important;
  width:100% !important;
  max-width:430px !important;
  margin:0 0 20px 0 !important;
  padding:0 !important;
  border-collapse:collapse !important;
  border-spacing:0 !important;
  text-align:left !important;
}
.single-product .woocommerce div.product .summary form.cart table.variations tbody,
.single-product .woocommerce div.product .summary form.cart .variations tbody,
.woocommerce.single-product div.product .summary form.cart table.variations tbody,
.woocommerce.single-product div.product .summary form.cart .variations tbody{
  display:block !important;
  width:100% !important;
}
.single-product .woocommerce div.product .summary form.cart table.variations tr,
.single-product .woocommerce div.product .summary form.cart .variations tr,
.woocommerce.single-product div.product .summary form.cart table.variations tr,
.woocommerce.single-product div.product .summary form.cart .variations tr{
  display:block !important;
  width:100% !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
}
.single-product .woocommerce div.product .summary form.cart table.variations th.label,
.single-product .woocommerce div.product .summary form.cart table.variations th,
.single-product .woocommerce div.product .summary form.cart .variations th.label,
.single-product .woocommerce div.product .summary form.cart .variations th,
.woocommerce.single-product div.product .summary form.cart table.variations th.label,
.woocommerce.single-product div.product .summary form.cart table.variations th,
.woocommerce.single-product div.product .summary form.cart .variations th.label,
.woocommerce.single-product div.product .summary form.cart .variations th{
  display:block !important;
  width:100% !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 0 8px 0 !important;
  padding:0 !important;
  text-align:left !important;
}
.single-product .woocommerce div.product .summary form.cart table.variations th.label label,
.single-product .woocommerce div.product .summary form.cart table.variations th label,
.single-product .woocommerce div.product .summary form.cart .variations th.label label,
.single-product .woocommerce div.product .summary form.cart .variations th label,
.woocommerce.single-product div.product .summary form.cart table.variations th.label label,
.woocommerce.single-product div.product .summary form.cart table.variations th label,
.woocommerce.single-product div.product .summary form.cart .variations th.label label,
.woocommerce.single-product div.product .summary form.cart .variations th label{
  display:block !important;
  width:100% !important;
  height:auto !important;
  margin:0 !important;
  padding:0 !important;
  text-align:left !important;
  justify-content:flex-start !important;
  font-weight:800 !important;
  line-height:1.2 !important;
}
.single-product .woocommerce div.product .summary form.cart table.variations td.value,
.single-product .woocommerce div.product .summary form.cart table.variations td,
.single-product .woocommerce div.product .summary form.cart .variations td.value,
.single-product .woocommerce div.product .summary form.cart .variations td,
.woocommerce.single-product div.product .summary form.cart table.variations td.value,
.woocommerce.single-product div.product .summary form.cart table.variations td,
.woocommerce.single-product div.product .summary form.cart .variations td.value,
.woocommerce.single-product div.product .summary form.cart .variations td{
  display:block !important;
  width:100% !important;
  max-width:none !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  text-align:left !important;
}
.single-product .woocommerce div.product .summary form.cart table.variations select,
.single-product .woocommerce div.product .summary form.cart .variations select,
.woocommerce.single-product div.product .summary form.cart table.variations select,
.woocommerce.single-product div.product .summary form.cart .variations select{
  display:block !important;
  width:100% !important;
  max-width:430px !important;
  margin:0 !important;
}
.single-product .woocommerce div.product .summary form.cart .single_variation_wrap,
.woocommerce.single-product div.product .summary form.cart .single_variation_wrap{
  display:block !important;
  width:100% !important;
  max-width:430px !important;
  margin:16px 0 0 0 !important;
  padding:0 !important;
  text-align:left !important;
}
.single-product .woocommerce div.product .summary form.cart .single_variation,
.single-product .woocommerce div.product .summary form.cart .woocommerce-variation,
.woocommerce.single-product div.product .summary form.cart .single_variation,
.woocommerce.single-product div.product .summary form.cart .woocommerce-variation{
  display:block !important;
  width:100% !important;
  margin:0 0 12px 0 !important;
  padding:0 !important;
}
.single-product .woocommerce div.product .summary form.cart .woocommerce-variation-price,
.single-product .woocommerce div.product .summary form.cart .single_variation .price,
.woocommerce.single-product div.product .summary form.cart .woocommerce-variation-price,
.woocommerce.single-product div.product .summary form.cart .single_variation .price{
  display:block !important;
  margin:0 0 12px 0 !important;
  padding:0 !important;
  text-align:left !important;
}
.single-product .woocommerce div.product .summary form.cart .woocommerce-variation-add-to-cart,
.single-product .woocommerce div.product .summary form.cart .single_variation_wrap .woocommerce-variation-add-to-cart,
.woocommerce.single-product div.product .summary form.cart .woocommerce-variation-add-to-cart,
.woocommerce.single-product div.product .summary form.cart .single_variation_wrap .woocommerce-variation-add-to-cart{
  display:flex !important;
  flex-wrap:wrap !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px 16px !important;
  width:100% !important;
  margin:0 !important;
  padding:0 !important;
  text-align:left !important;
}
.single-product .woocommerce div.product .summary form.cart .quantity,
.single-product .woocommerce div.product .summary form.cart div.quantity,
.woocommerce.single-product div.product .summary form.cart .quantity,
.woocommerce.single-product div.product .summary form.cart div.quantity{
  display:inline-flex !important;
  margin:0 !important;
  float:none !important;
  justify-self:auto !important;
}
.single-product .woocommerce div.product .summary form.cart .single_add_to_cart_button,
.woocommerce.single-product div.product .summary form.cart .single_add_to_cart_button{
  margin:0 !important;
  justify-self:auto !important;
}
.single-product .woocommerce div.product .woocommerce-tabs,
.woocommerce.single-product div.product .woocommerce-tabs{
  clear:both !important;
  width:48% !important;
  max-width:560px !important;
  margin:44px 0 0 52% !important;
  padding:0 !important;
  text-align:left !important;
}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs,
.woocommerce.single-product div.product .woocommerce-tabs ul.tabs{
  margin-left:0 !important;
  padding-left:0 !important;
}
.single-product .woocommerce div.product .woocommerce-tabs .panel,
.woocommerce.single-product div.product .woocommerce-tabs .panel{
  margin-left:0 !important;
  margin-right:0 !important;
}
@media(max-width:768px){
  .single-product .woocommerce div.product .summary form.cart,
  .woocommerce.single-product div.product .summary form.cart,
  .single-product .woocommerce div.product .summary form.cart table.variations,
  .single-product .woocommerce div.product .summary form.cart .variations,
  .woocommerce.single-product div.product .summary form.cart table.variations,
  .woocommerce.single-product div.product .summary form.cart .variations,
  .single-product .woocommerce div.product .summary form.cart .single_variation_wrap,
  .woocommerce.single-product div.product .summary form.cart .single_variation_wrap,
  .single-product .woocommerce div.product .woocommerce-tabs,
  .woocommerce.single-product div.product .woocommerce-tabs{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
  }
}

/* v99: restore product tabs left alignment and widen variation label block */
.single-product .woocommerce div.product .woocommerce-tabs,
.woocommerce.single-product div.product .woocommerce-tabs{
  clear:both !important;
  width:100% !important;
  max-width:1180px !important;
  margin:44px auto 0 auto !important;
  padding:0 !important;
  text-align:left !important;
}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs,
.woocommerce.single-product div.product .woocommerce-tabs ul.tabs{
  margin-left:0 !important;
  padding-left:0 !important;
}
.single-product .woocommerce div.product .woocommerce-tabs .panel,
.woocommerce.single-product div.product .woocommerce-tabs .panel{
  margin-left:0 !important;
  margin-right:0 !important;
}
.single-product .woocommerce div.product .summary form.cart table.variations th.label,
.single-product .woocommerce div.product .summary form.cart table.variations th,
.single-product .woocommerce div.product .summary form.cart .variations th.label,
.single-product .woocommerce div.product .summary form.cart .variations th,
.woocommerce.single-product div.product .summary form.cart table.variations th.label,
.woocommerce.single-product div.product .summary form.cart table.variations th,
.woocommerce.single-product div.product .summary form.cart .variations th.label,
.woocommerce.single-product div.product .summary form.cart .variations th{
  width:430px !important;
  min-width:430px !important;
  max-width:430px !important;
}
.single-product .woocommerce div.product .summary form.cart table.variations th.label label,
.single-product .woocommerce div.product .summary form.cart table.variations th label,
.single-product .woocommerce div.product .summary form.cart .variations th.label label,
.single-product .woocommerce div.product .summary form.cart .variations th label,
.woocommerce.single-product div.product .summary form.cart table.variations th.label label,
.woocommerce.single-product div.product .summary form.cart table.variations th label,
.woocommerce.single-product div.product .summary form.cart .variations th.label label,
.woocommerce.single-product div.product .summary form.cart .variations th label{
  width:430px !important;
  min-width:430px !important;
  max-width:430px !important;
  white-space:nowrap !important;
}
@media(max-width:768px){
  .single-product .woocommerce div.product .woocommerce-tabs,
  .woocommerce.single-product div.product .woocommerce-tabs{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
  .single-product .woocommerce div.product .summary form.cart table.variations th.label,
  .single-product .woocommerce div.product .summary form.cart table.variations th,
  .single-product .woocommerce div.product .summary form.cart .variations th.label,
  .single-product .woocommerce div.product .summary form.cart .variations th,
  .woocommerce.single-product div.product .summary form.cart table.variations th.label,
  .woocommerce.single-product div.product .summary form.cart table.variations th,
  .woocommerce.single-product div.product .summary form.cart .variations th.label,
  .woocommerce.single-product div.product .summary form.cart .variations th,
  .single-product .woocommerce div.product .summary form.cart table.variations th.label label,
  .single-product .woocommerce div.product .summary form.cart table.variations th label,
  .single-product .woocommerce div.product .summary form.cart .variations th.label label,
  .single-product .woocommerce div.product .summary form.cart .variations th label,
  .woocommerce.single-product div.product .summary form.cart table.variations th.label label,
  .woocommerce.single-product div.product .summary form.cart table.variations th label,
  .woocommerce.single-product div.product .summary form.cart .variations th.label label,
  .woocommerce.single-product div.product .summary form.cart .variations th label{
    width:100% !important;
    min-width:0 !important;
    max-width:100% !important;
  }
}


/* v100: only restore product tabs to full left alignment and widen the variation label row */
.single-product .woocommerce div.product .woocommerce-tabs,
.woocommerce.single-product div.product .woocommerce-tabs,
body.single-product .woocommerce div.product .woocommerce-tabs,
body.single-product .woocommerce-page div.product .woocommerce-tabs{
  grid-column:1 / -1 !important;
  justify-self:stretch !important;
  align-self:start !important;
  float:none !important;
  clear:both !important;
  display:block !important;
  width:100% !important;
  max-width:1180px !important;
  margin:44px auto 0 auto !important;
  padding:0 !important;
  text-align:left !important;
}
.single-product .woocommerce div.product .woocommerce-tabs ul.tabs,
.woocommerce.single-product div.product .woocommerce-tabs ul.tabs,
body.single-product .woocommerce div.product .woocommerce-tabs ul.tabs,
body.single-product .woocommerce-page div.product .woocommerce-tabs ul.tabs{
  margin-left:0 !important;
  padding-left:0 !important;
  text-align:left !important;
}
.single-product .woocommerce div.product .woocommerce-tabs .panel,
.woocommerce.single-product div.product .woocommerce-tabs .panel,
body.single-product .woocommerce div.product .woocommerce-tabs .panel,
body.single-product .woocommerce-page div.product .woocommerce-tabs .panel{
  width:100% !important;
  margin-left:0 !important;
  margin-right:0 !important;
  text-align:left !important;
}
.single-product .woocommerce div.product .summary form.cart table.variations,
.single-product .woocommerce div.product .summary form.cart .variations,
.woocommerce.single-product div.product .summary form.cart table.variations,
.woocommerce.single-product div.product .summary form.cart .variations,
body.single-product .woocommerce div.product form.cart table.variations,
body.single-product .woocommerce div.product form.cart .variations{
  display:block !important;
  width:100% !important;
  max-width:430px !important;
  margin-left:0 !important;
  margin-right:0 !important;
}
.single-product .woocommerce div.product .summary form.cart table.variations tbody,
.single-product .woocommerce div.product .summary form.cart .variations tbody,
.woocommerce.single-product div.product .summary form.cart table.variations tbody,
.woocommerce.single-product div.product .summary form.cart .variations tbody,
body.single-product .woocommerce div.product form.cart table.variations tbody,
body.single-product .woocommerce div.product form.cart .variations tbody,
.single-product .woocommerce div.product .summary form.cart table.variations tr,
.single-product .woocommerce div.product .summary form.cart .variations tr,
.woocommerce.single-product div.product .summary form.cart table.variations tr,
.woocommerce.single-product div.product .summary form.cart .variations tr,
body.single-product .woocommerce div.product form.cart table.variations tr,
body.single-product .woocommerce div.product form.cart .variations tr{
  display:block !important;
  width:100% !important;
  max-width:430px !important;
}
.single-product .woocommerce div.product .summary form.cart table.variations th.label,
.single-product .woocommerce div.product .summary form.cart table.variations th,
.single-product .woocommerce div.product .summary form.cart .variations th.label,
.single-product .woocommerce div.product .summary form.cart .variations th,
.woocommerce.single-product div.product .summary form.cart table.variations th.label,
.woocommerce.single-product div.product .summary form.cart table.variations th,
.woocommerce.single-product div.product .summary form.cart .variations th.label,
.woocommerce.single-product div.product .summary form.cart .variations th,
body.single-product .woocommerce div.product form.cart table.variations th.label,
body.single-product .woocommerce div.product form.cart table.variations th,
body.single-product .woocommerce div.product form.cart .variations th.label,
body.single-product .woocommerce div.product form.cart .variations th{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:430px !important;
  height:auto !important;
  min-height:0 !important;
  margin:0 0 8px 0 !important;
  padding:0 !important;
  text-align:left !important;
}
.single-product .woocommerce div.product .summary form.cart table.variations th.label label,
.single-product .woocommerce div.product .summary form.cart table.variations th label,
.single-product .woocommerce div.product .summary form.cart .variations th.label label,
.single-product .woocommerce div.product .summary form.cart .variations th label,
.woocommerce.single-product div.product .summary form.cart table.variations th.label label,
.woocommerce.single-product div.product .summary form.cart table.variations th label,
.woocommerce.single-product div.product .summary form.cart .variations th.label label,
.woocommerce.single-product div.product .summary form.cart .variations th label,
body.single-product .woocommerce div.product form.cart table.variations th.label label,
body.single-product .woocommerce div.product form.cart table.variations th label,
body.single-product .woocommerce div.product form.cart .variations th.label label,
body.single-product .woocommerce div.product form.cart .variations th label{
  display:block !important;
  width:100% !important;
  min-width:0 !important;
  max-width:430px !important;
  margin:0 !important;
  padding:0 !important;
  text-align:left !important;
  white-space:nowrap !important;
}
@media(max-width:768px){
  .single-product .woocommerce div.product .woocommerce-tabs,
  .woocommerce.single-product div.product .woocommerce-tabs,
  body.single-product .woocommerce div.product .woocommerce-tabs,
  body.single-product .woocommerce-page div.product .woocommerce-tabs,
  .single-product .woocommerce div.product .summary form.cart table.variations,
  .single-product .woocommerce div.product .summary form.cart .variations,
  .woocommerce.single-product div.product .summary form.cart table.variations,
  .woocommerce.single-product div.product .summary form.cart .variations,
  body.single-product .woocommerce div.product form.cart table.variations,
  body.single-product .woocommerce div.product form.cart .variations{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
  }
}


/* Checkout terms validation popup */
.codulon-hidden-terms-notice{
  display:none !important;
}
.codulon-checkout-toast-host{
  position:fixed;
  inset:0;
  z-index:999999;
  pointer-events:none;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:22px;
}
.codulon-checkout-toast{
  display:flex;
  align-items:flex-start;
  gap:10px;
  max-width:min(420px, calc(100vw - 44px));
  padding:13px 16px;
  border:1px solid rgba(0,78,121,.22);
  border-radius:16px;
  background:rgba(255,255,255,.96);
  color:#102335;
  box-shadow:0 18px 48px rgba(7,28,45,.22);
  font-size:14px;
  font-weight:650;
  line-height:1.35;
  text-align:left;
  transform:translateY(0) scale(1);
  opacity:1;
  transition:opacity .24s ease, transform .24s ease;
  backdrop-filter:blur(10px);
}
.codulon-checkout-toast.is-hiding{
  opacity:0;
  transform:translateY(8px) scale(.98);
}
.codulon-checkout-toast-icon{
  flex:0 0 auto;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:20px;
  height:20px;
  border-radius:999px;
  background:#004e79;
  color:#fff;
  font-size:13px;
  font-weight:800;
  line-height:1;
  margin-top:1px;
}
.codulon-checkout-toast-text{
  display:block;
}
@media(max-width:520px){
  .codulon-checkout-toast-host{
    padding:16px;
  }
  .codulon-checkout-toast{
    max-width:calc(100vw - 32px);
    padding:12px 14px;
    font-size:13.5px;
    border-radius:14px;
  }
}
