/*
Theme Name: Carboka
Theme URI: https://www.carboka.com/
Author: ATSAVE Energy Technology Co., Ltd.
Description: Gutenberg-first Carboka international brand theme based on D01-D06 V1.0 approved specifications.
Version: 1.2.0
Requires at least: 6.7
Requires PHP: 8.1
Text Domain: carboka
*/

:root {
  --wp--preset--color--carbon-navy: #123341;
  --wp--preset--color--atsave-teal: #2198a0;
  --wp--preset--color--energy-orange: #f39800;
  --wp--preset--color--slate: #50606a;
  --wp--preset--color--mist: #f4f7f6;
}

html { scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; }
.wp-site-blocks { overflow: clip; }
.wp-site-blocks > * { margin-block-start: 0; }
.wp-block-image img { height: auto; max-width: 100%; }
.cbk-skip-link { position: fixed; left: 16px; top: 12px; z-index: 100000; transform: translateY(-180%); background: #FFFFFF; color: #123341 !important; padding: 12px 16px; border-radius: 4px; font-weight: 700; }
.cbk-skip-link:focus { transform: translateY(0); }
.cbk-eyebrow { letter-spacing: .16em; text-transform: uppercase; font-size: .75rem; font-weight: 700; }
.cbk-pattern { position: relative; }
.cbk-card-grid > .wp-block-group { height: 100%; }
.cbk-dark-link a { color: #fff; }
.has-carbon-navy-background-color a:not(.has-carbon-navy-color) { color: #fff; }
.has-atsave-teal-color { color: #14747A !important; }
.has-energy-orange-color { color: #9A5F00 !important; }
.has-carbon-navy-background-color .has-atsave-teal-color { color: #63C9CE !important; }
.has-carbon-navy-background-color .has-energy-orange-color { color: #F39800 !important; }
.cbk-dark-link .wp-block-button__link.has-carbon-navy-color { color: #123341 !important; }
.cbk-status { display: inline-block; padding: .35rem .5rem; border: 1px solid currentColor; border-radius: .25rem; font-size: .65rem; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; }
:where(a, button, input, textarea, select, summary):focus-visible { outline: 3px solid #9A5F00; outline-offset: 3px; }
.has-carbon-navy-background-color :where(a, button, input, textarea, select, summary):focus-visible { outline-color: #F39800; }
header.cbk-dark-link .wp-block-navigation-item__content,
footer.cbk-dark-link a { color: #fff; }
footer.cbk-dark-link ul { list-style: none; margin: 0; padding: 0; }
footer.cbk-dark-link li + li { margin-top: .6rem; }
@media (max-width: 781px) {
  .cbk-pattern { padding-top: 64px !important; padding-bottom: 64px !important; }
  header .wp-block-buttons { display: none; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* Carboka 1.1.0: complete content pages and accessible contact flow. */
:root { --cbk-navy:#123341; --cbk-teal:#14747a; --cbk-muted:#50606a; --cbk-mist:#f4f7f6; --cbk-line:#d9e4e4; }
.cbk-container { width:min(1200px,calc(100% - 64px)); margin-inline:auto; }
.cbk-page { color:var(--cbk-navy); overflow-wrap:break-word; }
.cbk-page h1,.cbk-page h2,.cbk-page h3 { text-wrap:balance; }
.cbk-page h1 { font-size:clamp(2.4rem,5.6vw,4.75rem); line-height:1.08; letter-spacing:-.045em; margin:20px 0 28px; max-width:960px; }
.cbk-page h2 { font-size:clamp(1.9rem,3.8vw,3.4rem); line-height:1.13; letter-spacing:-.025em; margin:12px 0 32px; max-width:960px; }
.cbk-page h3 { font-size:1.35rem; line-height:1.3; margin:16px 0 12px; }
.cbk-page p { max-width:850px; margin-block:0 20px; }
.cbk-page .cbk-eyebrow { color:var(--cbk-teal); margin:0 0 14px; }
.cbk-page-hero { padding:30px 0 80px; background:var(--cbk-navy); color:#e0ebeb; }
.cbk-page-hero h1,.cbk-page-hero a { color:white; }
.cbk-page-hero .cbk-eyebrow,.cbk-cta .cbk-eyebrow { color:#63c9ce; }
.cbk-breadcrumb { display:flex; gap:12px; align-items:center; font-size:.8rem; margin-bottom:52px; flex-wrap:wrap; color:#b8ced1; }
.cbk-breadcrumb a { text-decoration:underline; text-underline-offset:4px; }
.cbk-lead { font-size:clamp(1.05rem,2vw,1.3rem); line-height:1.7; max-width:760px; }
.cbk-section { padding:80px 0; }
.cbk-soft { background:var(--cbk-mist); }
.cbk-split { display:grid; grid-template-columns:1.15fr 1fr; gap:56px; align-items:center; }
.cbk-page figure { margin:0; }
.cbk-page figure img { display:block; width:100%; height:auto; border-radius:16px; }
.cbk-page-hero .cbk-split h1 { font-size:clamp(2.4rem,4.8vw,4.1rem); }
.cbk-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:24px; margin-top:32px; }
.cbk-grid-two { grid-template-columns:repeat(2,minmax(0,1fr)); }
.cbk-card { border:1px solid var(--cbk-line); border-radius:14px; padding:30px; background:white; display:flex; flex-direction:column; }
.cbk-card p { font-size:1rem; color:var(--cbk-muted); }
.cbk-card .cbk-text-link { margin-top:auto; padding-top:12px; font-weight:650; text-decoration:underline; text-underline-offset:4px; }
.cbk-number { color:var(--cbk-teal); font-family:var(--wp--preset--font-family--mono); font-size:.8rem; }
.cbk-list { padding-left:24px; max-width:900px; }
.cbk-list li { padding-left:4px; margin-bottom:13px; }
.cbk-list li::marker { color:var(--cbk-teal); }
.cbk-actions { display:flex; flex-wrap:wrap; gap:14px; margin-top:28px; }
.cbk-button { display:inline-flex; justify-content:center; align-items:center; gap:24px; padding:14px 22px; background:#f39800; color:#123341!important; border:2px solid transparent; border-radius:8px; font:700 .95rem/1.5 var(--wp--preset--font-family--body); cursor:pointer; text-decoration:none!important; min-height:48px; box-sizing:border-box; }
.cbk-button:hover { background:#ffaf2d; }
.cbk-button-secondary { background:transparent; border-color:currentColor; color:var(--cbk-navy)!important; }
.cbk-button-secondary:hover { background:#e8f1f0; }
.cbk-cta { background:var(--cbk-navy); color:#dbe8e9; }
.cbk-cta h2 { color:white; }
.cbk-cta .cbk-button-secondary { color:white!important; }
.cbk-cta .cbk-button-secondary:hover { background:#254b58; }
.cbk-page a:not(.cbk-button):hover { text-decoration:underline; text-underline-offset:4px; }
.cbk-pill { color:var(--cbk-teal); font-weight:700; text-transform:uppercase; font-size:.7rem; letter-spacing:.08em; }
.cbk-pill-amber { color:#9a5f00; }
.cbk-faq { max-width:960px; }
.cbk-faq details { border-top:1px solid var(--cbk-line); padding:22px 0; }
.cbk-faq details:last-child { border-bottom:1px solid var(--cbk-line); }
.cbk-faq summary { cursor:pointer; font-size:1.1rem; font-weight:650; padding-right:12px; }
.cbk-faq details div { padding-top:20px; color:var(--cbk-muted); }
.cbk-contact-layout { display:grid; grid-template-columns:1.45fr 1fr; gap:56px; align-items:start; }
.cbk-contact-aside { background:var(--cbk-mist); padding:32px; border-radius:14px; font-size:.95rem; }
.cbk-form { display:grid; gap:22px; }
.cbk-form-row { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.cbk-form label { display:block; font-weight:650; font-size:.95rem; }
.cbk-form input:not([type=checkbox]),.cbk-form textarea,.cbk-form select { display:block; width:100%; box-sizing:border-box; border:1px solid #91a7ab; border-radius:7px; background:white; color:#123341; padding:12px 14px; margin-top:7px; font:400 1rem/1.5 var(--wp--preset--font-family--body); }
.cbk-form textarea { min-height:170px; resize:vertical; }
.cbk-form .cbk-consent { display:flex; align-items:flex-start; gap:12px; font-size:.87rem; font-weight:400; line-height:1.6; }
.cbk-consent input { width:20px; height:20px; flex:none; margin-top:4px; accent-color:#14747a; }
.cbk-form a { text-decoration:underline; text-underline-offset:3px; }
.cbk-form .cbk-honeypot { position:absolute; left:-10000px; width:1px; height:1px; overflow:hidden; }
.cbk-small { font-size:.83rem; color:var(--cbk-muted); }
.cbk-notice { border:1px solid #14747a; border-left-width:5px; border-radius:8px; padding:24px; background:#f0f8f5; margin-bottom:24px; }
.cbk-error { border-color:#a52d2d; background:#fff6f5; }
.cbk-form button:disabled { opacity:.6; cursor:wait; }
.cbk-pattern h1 { word-break:normal; overflow-wrap:normal; text-wrap:balance; }
header .wp-block-navigation { font-size:13px; }
footer ul { list-style:none; padding:0; margin:0; }
footer li + li { margin-top:.6rem; }
#cbk-form-status { scroll-margin-top:24px; }
header .wp-block-navigation .wp-block-navigation__container { gap:18px; }
header .wp-block-navigation__responsive-container-open { min-width:44px; min-height:44px; align-items:center; justify-content:center; }
/* WordPress moves the open navigation into a portal outside the header. */
.wp-block-navigation__responsive-container.is-menu-open {
 --cbk-menu-top:calc(80px + env(safe-area-inset-top,0px));
 --cbk-menu-bottom:max(12px,env(safe-area-inset-bottom,0px));
 box-sizing:border-box;
 inset:var(--cbk-menu-top) max(12px,env(safe-area-inset-right,0px)) auto auto;
 width:calc(100% - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px));
 max-width:320px; height:auto; min-height:0;
 max-height:calc(100vh - var(--cbk-menu-top) - var(--cbk-menu-bottom));
 max-height:calc(100dvh - var(--cbk-menu-top) - var(--cbk-menu-bottom));
 margin:0; padding:12px!important; overflow:hidden;
 color:#123341; background:white; border:1px solid #d9e4e4; border-radius:16px;
 box-shadow:0 12px 48px #061e3040;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-close,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-dialog {
 display:flex; flex-direction:column; flex:1 1 auto; min-width:0; min-height:0;
 width:100%; max-width:100%; margin:0!important; gap:0;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close {
 position:relative; inset:auto; align-self:flex-end; flex:0 0 44px;
 display:flex; align-items:center; justify-content:center;
 width:44px; height:44px; min-width:44px; min-height:44px; padding:10px; border-radius:8px;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content {
 box-sizing:border-box; flex:0 1 auto; min-width:0; min-height:0; width:100%;
 padding:4px 0 0!important; overflow-y:auto; overflow-x:hidden;
 overscroll-behavior:contain; scrollbar-gutter:stable; align-items:stretch!important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container {
 width:100%; min-width:0; max-width:100%; gap:4px!important; align-items:stretch!important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
 width:100%; min-width:0; max-width:100%; align-items:stretch!important;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content {
 box-sizing:border-box; display:block; width:100%; min-width:0; max-width:100%; min-height:44px;
 color:#123341!important; font-size:1.0625rem; line-height:1.4; text-align:left;
 padding:10px 12px!important; border-radius:8px; white-space:normal; overflow-wrap:anywhere;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__label {
 white-space:normal; overflow-wrap:anywhere; word-break:normal;
}
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content:hover,
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-close:hover { background:#edf5f4; }
.wp-block-navigation__responsive-container.is-menu-open :is(a,button):focus-visible { outline:2px solid #14747a; outline-offset:-2px; }
@media (max-height:420px) {
 .wp-block-navigation__responsive-container.is-menu-open { --cbk-menu-top:max(12px,env(safe-area-inset-top,0px)); }
}
@media (min-width:600px) and (max-width:1100px) {
 header .wp-block-navigation__responsive-container:not(.is-menu-open) { display:none!important; }
 header .wp-block-navigation__responsive-container-open { display:flex!important; }
 header .wp-block-buttons { display:none; }
}
@media (max-width:781px) {
 .cbk-container { width:calc(100% - 40px); }
 .cbk-page-hero { padding-bottom:56px; }
 .cbk-breadcrumb { margin-bottom:36px; }
 .cbk-section { padding:56px 0; }
 .cbk-split,.cbk-contact-layout { grid-template-columns:1fr; gap:32px; }
 .cbk-grid-two { grid-template-columns:1fr; }
 .cbk-card { padding:25px; }
 .cbk-page h1 { font-size:clamp(2.3rem,9.4vw,3.4rem); }
 .cbk-page h2 { font-size:clamp(1.85rem,7vw,2.5rem); }
 .cbk-pattern h1 { font-size:clamp(2.2rem,9.3vw,3.5rem)!important; line-height:1.1; }
 .cbk-contact-aside { padding:24px; }
}
@media (max-width:480px) { .cbk-form-row { grid-template-columns:1fr; } .cbk-actions .cbk-button { width:100%; } }
@media print { header,footer,.cbk-cta,.cbk-button,.cbk-form { display:none!important; } .cbk-page-hero,.cbk-section { background:white!important; color:black!important; padding:20px 0; } .cbk-page h1,.cbk-page h2 { color:black; } .cbk-container { width:100%; } }
