/*
Theme Name: KOWA AUTO
Theme URI: https://kowaauto.com.my/
Description: Child theme bengkel kenderaan untuk KOWA AUTO, dibina atas Twenty Twenty-Five. Responsive, block theme (Site Editor), dengan halaman utama siap: waktu operasi, hero, promosi, servis, kenapa kami, galeri, proses, hubungi & tempahan online, ulasan, media sosial. Dwibahasa: Bahasa Melayu & English (UK) di /en/ dengan suis BM | EN. Maklumat bengkel boleh dikemas kini di Penampilan → Maklumat Bengkel.
Author: KOWA AUTO
Template: twentytwentyfive
Version: 1.16.1
Requires at least: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: kowaauto
*/

/* ==========================================================
   Asas
   ========================================================== */
html { scroll-behavior: smooth; }
:where(section[id]) { scroll-margin-top: 110px; }

/* Buang jarak automatik antara seksyen dalam halaman utama */
.ka-main.is-layout-flow > *,
.ka-main > * { margin-block-start: 0 !important; margin-block-end: 0; }
.wp-site-blocks > main.ka-main { margin-block-start: 0; }
.wp-site-blocks > footer.wp-block-template-part { margin-block-start: 0; }

.ka-section { padding-top: clamp(56px, 8vw, 110px); padding-bottom: clamp(56px, 8vw, 110px); }
.ka-bg-light { background: var(--wp--preset--color--accent-5); }
.ka-bg-dark { background: var(--wp--preset--color--ka-dark); color: #E7EAEE; }
.ka-bg-dark :where(h1, h2, h3, h4) { color: #FFFFFF; }

.ka-eyebrow {
	display: inline-flex; align-items: center; gap: .5rem;
	font-size: .8125rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
	color: var(--wp--preset--color--accent-1);
	margin-bottom: .25rem !important;
}
.ka-eyebrow::before { content: ""; width: 28px; height: 3px; border-radius: 3px; background: currentColor; }
.ka-center { text-align: center; }
.ka-center .ka-eyebrow { justify-content: center; }
.ka-lead { font-size: clamp(1.02rem, 1.4vw, 1.15rem); color: var(--wp--preset--color--accent-4); max-width: 640px; }
.ka-center .ka-lead { margin-left: auto !important; margin-right: auto !important; }
.ka-bg-dark .ka-lead { color: #B6BFDA; }
.ka-section-title { font-size: clamp(1.9rem, 3.6vw, 2.75rem) !important; margin-top: .35rem !important; }

/* ==========================================================
   Header
   ========================================================== */
.wp-site-blocks > header.wp-block-template-part { position: sticky; top: 0; z-index: 90; }
.admin-bar .wp-site-blocks > header.wp-block-template-part { top: 32px; }
@media (max-width: 782px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 46px; } }
@media (max-width: 600px) { .admin-bar .wp-site-blocks > header.wp-block-template-part { top: 0; } }

.ka-topbar { background: var(--wp--preset--color--ka-darker); color: #C7CEE4; font-size: .8125rem; padding-top: 8px; padding-bottom: 8px; }
.ka-topbar p { margin: 0; }
.ka-topbar a { color: #FFFFFF; text-decoration: none; font-weight: 600; }
.ka-topbar a:hover { color: #FF6B70; }
@media (max-width: 781px) { .ka-topbar { display: none !important; } }

.ka-header { background: #FFFFFF; border-bottom: 1px solid #E3E7F0; padding-top: 12px; padding-bottom: 12px; transition: padding .3s ease, box-shadow .3s ease; }
.ka-logo { margin: 0 !important; flex-shrink: 0; }
.ka-logo img { height: 52px; width: auto; display: block; transition: height .3s ease; }
@media (max-width: 600px) { .ka-logo img { height: 40px; } }
.ka-logo-footer img { height: 58px; margin-bottom: 6px; }
.ka-nav { font-size: .95rem; font-weight: 600; }
.ka-nav .wp-block-navigation-item__content { text-decoration: none; padding: 6px 2px; }
.ka-nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--accent-1); }
.ka-header .ka-header-cta .wp-block-button__link { padding: .7rem 1.25rem; font-size: .9rem; }
@media (max-width: 600px) { .ka-header .ka-header-cta { display: none; } }

/* ==========================================================
   Butang
   ========================================================== */
.wp-block-button__link { transition: transform .15s ease, background-color .15s ease, box-shadow .15s ease; }
.wp-block-button__link:hover { transform: translateY(-1px); }
.wp-block-button.is-style-outline > .wp-block-button__link { border: 2px solid currentColor; background: transparent; color: var(--wp--preset--color--accent-1); }
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: var(--wp--preset--color--accent-2); color: #C4141B; }
.ka-bg-dark .wp-block-button.is-style-outline > .wp-block-button__link,
.ka-hero .wp-block-button.is-style-outline > .wp-block-button__link { color: #FFFFFF; border-color: rgba(255,255,255,.45); }
.ka-bg-dark .wp-block-button.is-style-outline > .wp-block-button__link:hover,
.ka-hero .wp-block-button.is-style-outline > .wp-block-button__link:hover { border-color: #FFFFFF; background: rgba(255,255,255,.08); }
.ka-btn-light .wp-block-button__link { background: #FFFFFF !important; color: var(--wp--preset--color--accent-1) !important; }
.ka-btn-light .wp-block-button__link:hover { background: #FFF0F0 !important; }

/* ==========================================================
   Hero
   ========================================================== */
.ka-hero {
	position: relative; overflow: hidden; color: #E7EAEE;
	background:
		radial-gradient(900px 480px at 85% 30%, rgba(237,28,36,.28), transparent 60%),
		radial-gradient(700px 400px at 10% 110%, rgba(64,92,190,.35), transparent 60%),
		linear-gradient(160deg, #24336A 0%, #18224A 55%, #111936 100%);
	padding-top: clamp(56px, 8vw, 120px); padding-bottom: clamp(48px, 6vw, 90px);
}
.ka-hero::before {
	content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .35;
	background-image: repeating-linear-gradient(115deg, rgba(255,255,255,.035) 0 2px, transparent 2px 22px);
	mask-image: linear-gradient(90deg, transparent, #000 40%, #000 80%, transparent);
	-webkit-mask-image: linear-gradient(90deg, transparent, #000 40%, #000 80%, transparent);
}
.ka-hero > * { position: relative; z-index: 1; }
.ka-hero .ka-eyebrow { color: #FF6B70; }
.ka-hero-title { font-size: clamp(2.3rem, 5.2vw, 4rem) !important; line-height: 1.05 !important; color: #FFFFFF; font-weight: 800 !important; letter-spacing: -.025em !important; margin-top: .5rem !important; }
.ka-hero-title strong { color: var(--wp--preset--color--accent-1); font-weight: 800; }
.ka-hero .ka-lead { color: #B6BFDA; font-size: clamp(1.05rem, 1.5vw, 1.2rem); }
.ka-hero .wp-block-buttons { margin-top: 1.75rem !important; }



/* ==========================================================
   Kad servis & ciri
   ========================================================== */
.ka-grid { margin-top: clamp(28px, 4vw, 48px) !important; }
.ka-card {
	background: #FFFFFF; border: 1px solid #E3E7F0; border-radius: 16px;
	padding: 28px 26px 26px !important; position: relative; overflow: hidden;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.ka-card::after { content: ""; position: absolute; left: 0; top: 0; height: 3px; width: 0; background: var(--wp--preset--color--accent-1); transition: width .25s ease; }
.ka-card:hover { transform: translateY(-4px); box-shadow: 0 18px 40px -18px rgba(24,34,74,.28); border-color: #F5BDC0; }
.ka-card:hover::after { width: 100%; }
.ka-card h3 { font-size: 1.2rem !important; font-weight: 700 !important; margin-top: 18px !important; margin-bottom: 0 !important; }
.ka-card p { font-size: .97rem; color: var(--wp--preset--color--accent-4); margin-top: 8px !important; line-height: 1.6; }
.ka-icon { margin: 0 !important; width: 56px; height: 56px; border-radius: 14px; background: var(--wp--preset--color--accent-2); display: grid; place-items: center; }
.ka-icon img { width: 30px; height: 30px; display: block; }

.ka-checks { list-style: none; padding-left: 0 !important; margin-top: 1.25rem !important; }
.ka-checks li { position: relative; padding-left: 34px; margin: .7rem 0; font-weight: 500; }
.ka-checks li::before {
	content: ""; position: absolute; left: 0; top: .15em; width: 22px; height: 22px; border-radius: 50%;
	background: var(--wp--preset--color--accent-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ED1C24' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E") center/13px no-repeat;
}
.ka-feature { background: var(--wp--preset--color--accent-5); border-radius: 16px; padding: 24px !important; }
.ka-feature h3 { font-size: 1.08rem !important; font-weight: 700 !important; margin-top: 14px !important; margin-bottom: 0 !important; }
.ka-feature p { font-size: .93rem; color: var(--wp--preset--color--accent-4); margin-top: 6px !important; }
.ka-feature.is-accent { background: var(--wp--preset--color--ka-dark); color: #C7CEE4; }
.ka-feature.is-accent h3 { color: #FFFFFF; }
.ka-feature.is-accent p { color: #B6BFDA; }
.ka-feature.is-accent .ka-icon { background: rgba(237,28,36,.18); }

/* ==========================================================
   Proses
   ========================================================== */
.ka-steps { margin-top: clamp(28px, 4vw, 48px) !important; counter-reset: kastep; }
.ka-step {
	counter-increment: kastep; position: relative; margin: 0 !important;
	background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.09); border-radius: 16px; padding: 26px 24px !important;
}
.ka-step::before {
	content: counter(kastep, decimal-leading-zero); display: inline-grid; place-items: center;
	width: 48px; height: 48px; border-radius: 12px; font-weight: 800; font-size: 1.05rem; color: #FFFFFF;
	background: linear-gradient(135deg, #F2383F, #C4141B); box-shadow: 0 10px 24px -8px rgba(237,28,36,.7);
}
.ka-step h3 { font-size: 1.15rem !important; font-weight: 700 !important; margin-top: 16px !important; margin-bottom: 0 !important; }
.ka-step p { font-size: .95rem; color: #B6BFDA; margin-top: 8px !important; }

/* ==========================================================
   CTA
   ========================================================== */
.ka-cta {
	background: radial-gradient(600px 300px at 90% 0%, rgba(255,255,255,.18), transparent 60%), linear-gradient(120deg, #ED1C24 0%, #C4141B 100%);
	color: #FFFFFF; padding-top: clamp(44px, 6vw, 72px); padding-bottom: clamp(44px, 6vw, 72px);
}
.ka-cta h2 { color: #FFFFFF; font-size: clamp(1.6rem, 3vw, 2.3rem) !important; margin: 0 !important; }
.ka-cta p { color: rgba(255,255,255,.88); margin-top: .5rem !important; }
.ka-cta .wp-block-button.is-style-outline > .wp-block-button__link { color: #FFFFFF; border-color: rgba(255,255,255,.6); }
.ka-cta .wp-block-button.is-style-outline > .wp-block-button__link:hover { background: rgba(255,255,255,.12); border-color: #FFFFFF; }

/* ==========================================================
   Hubungi
   ========================================================== */
.ka-info-card, .ka-hours-card, .ka-map { box-sizing: border-box; }
.ka-contact-cols { gap: 24px !important; margin-top: clamp(28px, 4vw, 48px) !important; }
.ka-info-card { background: #FFFFFF; border: 1px solid #E3E7F0; border-radius: 16px; padding: 28px !important; height: 100%; }
.ka-info-list { list-style: none; padding: 0 !important; margin: 0 !important; }
.ka-info-list li { display: flex; gap: 14px; padding: 14px 0; border-bottom: 1px dashed #DDE2EC; }
.ka-info-list li:last-child { border-bottom: 0; }
.ka-info-list .ka-info-ico { flex: 0 0 40px; height: 40px; border-radius: 10px; background: var(--wp--preset--color--accent-2); display: grid; place-items: center; }
.ka-info-list .ka-info-ico img { width: 20px; height: 20px; }
.ka-info-list strong { display: block; font-size: .78rem; letter-spacing: .1em; text-transform: uppercase; color: var(--wp--preset--color--accent-4); font-weight: 700; }
.ka-info-list span, .ka-info-list a { font-weight: 600; color: var(--wp--preset--color--contrast); text-decoration: none; }
.ka-info-list a:hover { color: var(--wp--preset--color--accent-1); }
.ka-map { border-radius: 16px; overflow: hidden; border: 1px solid #E3E7F0; min-height: 360px; height: 100%; background: #E6EAF3; }
.ka-map iframe { width: 100%; height: 100%; min-height: 360px; border: 0; display: block; }
.ka-hours-card { background: var(--wp--preset--color--ka-dark); color: #C7CEE4; border-radius: 16px; padding: 28px !important; height: 100%; display: flex; flex-direction: column; }
.ka-hours-card h3 { color: #FFFFFF; font-size: 1.25rem !important; margin: 0 0 6px !important; }
.ka-hours { list-style: none; padding: 0 !important; margin: 10px 0 22px !important; }
.ka-hours li { display: flex; justify-content: space-between; gap: 12px; padding: 10px 0; border-bottom: 1px solid rgba(255,255,255,.08); font-size: .95rem; }
.ka-hours li span:first-child { white-space: nowrap; }
.ka-hours li span:last-child { color: #FFFFFF; font-weight: 600; text-align: right; }
.ka-hours-card .wp-block-buttons { margin-top: auto !important; }

/* ==========================================================
   Footer
   ========================================================== */
.ka-footer { background: var(--wp--preset--color--ka-darker); color: #9CA6C6; font-size: .95rem; padding-top: clamp(48px, 6vw, 80px); padding-bottom: 28px; }
.ka-footer h4 { color: #FFFFFF; font-size: .85rem !important; letter-spacing: .12em; text-transform: uppercase; font-weight: 700 !important; margin-bottom: .9rem !important; }
.ka-footer a { color: #C7CEE4; text-decoration: none; }
.ka-footer a:hover { color: #FFFFFF; }
.ka-footer p { margin: .45rem 0 !important; }
.ka-footer-bottom { border-top: 1px solid rgba(255,255,255,.08); margin-top: clamp(32px, 5vw, 56px) !important; padding-top: 22px; font-size: .85rem; }

/* ==========================================================
   Butang WhatsApp terapung
   ========================================================== */
.ka-wa-float {
	position: fixed; right: 18px; bottom: 18px; z-index: 99; width: 58px; height: 58px; border-radius: 50%;
	background: #25D366; display: grid; place-items: center; box-shadow: 0 12px 28px -8px rgba(0,0,0,.45);
	transition: transform .15s ease;
}
.ka-wa-float:hover { transform: scale(1.06); }
.ka-wa-float svg { width: 30px; height: 30px; fill: #FFFFFF; }

/* Menu mudah alih (overlay) */
.ka-nav .wp-block-navigation__responsive-container.is-menu-open { background: var(--wp--preset--color--ka-dark) !important; color: #FFFFFF !important; padding: 28px 24px; }
.ka-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item__content { font-size: 1.35rem; font-weight: 700; padding: 10px 0; color: #FFFFFF; }
.ka-nav .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__container { gap: 6px; }


/* ==========================================================
   3D & animasi (v1.2)
   ========================================================== */

/* Header bila skrol */
.ka-scrolled .ka-header { padding-top: 6px; padding-bottom: 6px; box-shadow: 0 12px 30px -20px rgba(17,25,54,.45); }
.ka-scrolled .ka-logo img { height: 42px; }
@media (max-width: 600px) { .ka-scrolled .ka-logo img { height: 36px; } }

/* Butang bercahaya */
.wp-block-button:not(.is-style-outline):not(.ka-btn-light) > .wp-block-button__link { box-shadow: 0 12px 28px -12px rgba(237,28,36,.75); }
.wp-block-button:not(.is-style-outline):not(.ka-btn-light) > .wp-block-button__link:hover { box-shadow: 0 16px 34px -10px rgba(237,28,36,.85); }


/* Cahaya bergerak di latar hero & CTA */
.ka-hero::after {
	content: ""; position: absolute; z-index: 0; pointer-events: none;
	width: min(620px, 80vw); aspect-ratio: 1; right: 4%; top: 6%;
	background: radial-gradient(circle, rgba(237,28,36,.22), transparent 62%);
	animation: kaOrb 10s ease-in-out infinite alternate;
}
.ka-hero::before { z-index: 0; }
@keyframes kaOrb { from { transform: translate3d(0,0,0) scale(1); } to { transform: translate3d(-8%, 10%, 0) scale(1.15); } }
.ka-cta { position: relative; overflow: hidden; }
.ka-cta > * { position: relative; z-index: 1; }
.ka-cta::after {
	content: ""; position: absolute; z-index: 0; top: -50%; bottom: -50%; width: 30%; left: -40%; pointer-events: none;
	background: linear-gradient(100deg, transparent, rgba(255,255,255,.16), transparent);
	transform: skewX(-18deg); animation: kaSweep 6s ease-in-out infinite;
}
@keyframes kaSweep { 0% { left: -40%; } 55%, 100% { left: 130%; } }

/* Masuk hero */
@media (prefers-reduced-motion: no-preference) {
	.ka-hero .ka-eyebrow, .ka-hero-title, .ka-hero-inner .wp-block-buttons, .ka-hero .ka-value { animation: kaRise .9s cubic-bezier(.2,.7,.2,1) both; }
	.ka-hero-title { animation-delay: .12s; }
	.ka-hero-inner .wp-block-buttons { animation-delay: .3s; }
	.ka-hero .ka-value:nth-child(1) { animation-delay: .5s; }
	.ka-hero .ka-value:nth-child(2) { animation-delay: .6s; }
	.ka-hero .ka-value:nth-child(3) { animation-delay: .7s; }
	.ka-hero .ka-value:nth-child(4) { animation-delay: .8s; }
	.ka-hero-title strong {
		background: linear-gradient(90deg, #ED1C24 0%, #FF6A5E 25%, #ED1C24 50%, #FF6A5E 75%, #ED1C24 100%);
		background-size: 200% auto; -webkit-background-clip: text; background-clip: text; color: transparent;
		animation: kaShine 5s linear infinite;
	}
}
@keyframes kaRise { from { opacity: 0; transform: perspective(800px) translate3d(0, 30px, 0) rotateX(20deg); } to { opacity: 1; transform: none; } }
@keyframes kaShine { to { background-position: -200% center; } }

/* Reveal 3D bila skrol (diaktifkan oleh motion.js) */
.ka-js .ka-grid, .ka-js .ka-feature-grid, .ka-js .ka-steps, .ka-js .ka-center, .ka-js .ka-contact-cols, .ka-js #kenapa-kami .wp-block-column { perspective: 1200px; }
.ka-js .ka-reveal {
	opacity: 0; translate: 0 38px; rotate: x 14deg; transform-origin: 50% 100%;
	transition: opacity .8s cubic-bezier(.2,.7,.2,1), translate .95s cubic-bezier(.2,.7,.2,1), rotate .95s cubic-bezier(.2,.7,.2,1), transform .25s ease, box-shadow .25s ease, border-color .25s ease;
	transition-delay: var(--ka-d, 0ms), var(--ka-d, 0ms), var(--ka-d, 0ms), 0s, 0s, 0s;
}
.ka-js .ka-reveal.is-in { opacity: 1; translate: 0 0; rotate: x 0deg; }

/* Tilt 3D + cahaya ikut tetikus */
.ka-tilt { will-change: transform; }
.ka-card.ka-tilt.is-hover, .ka-feature.ka-tilt.is-hover, .ka-info-card.ka-tilt.is-hover {
	background-image: radial-gradient(380px circle at var(--mx, 50%) var(--my, 50%), rgba(237,28,36,.09), transparent 48%);
}
.ka-feature.is-accent.ka-tilt.is-hover, .ka-step.ka-tilt.is-hover, .ka-hours-card.ka-tilt.is-hover {
	background-image: radial-gradient(380px circle at var(--mx, 50%) var(--my, 50%), rgba(255,255,255,.10), transparent 48%);
}
.ka-card .ka-icon img, .ka-feature .ka-icon img { transition: transform .35s cubic-bezier(.2,.7,.2,1); }
.ka-card:hover .ka-icon img, .ka-feature:hover .ka-icon img { transform: rotate(-10deg) scale(1.15); }
.ka-feature { transition: transform .25s ease, box-shadow .25s ease; }
.ka-feature:hover, .ka-step:hover { box-shadow: 0 22px 44px -22px rgba(17,25,54,.45); }

/* Garis masa proses */
@media (min-width: 1024px) {
	.ka-steps { position: relative; }
	.ka-steps::before {
		content: ""; position: absolute; z-index: 0; left: 30px; right: 30px; top: 50px; height: 2px;
		background: linear-gradient(90deg, rgba(237,28,36,.95), rgba(237,28,36,.2));
		transform: scaleX(0); transform-origin: left center; transition: transform 1.6s cubic-bezier(.2,.7,.2,1) .35s;
	}
	html:not(.ka-js) .ka-steps::before, .ka-js .ka-steps.is-in::before { transform: scaleX(1); }
	.ka-step { z-index: 1; }
}

@media (prefers-reduced-motion: reduce) {
	.ka-hero::after, .ka-cta::after { animation: none !important; }
}


/* ==========================================================
   Responsive UI/UX: PC · tablet · telefon (v1.3)
   ========================================================== */

/* Fokus papan kekunci yang jelas */
:where(a, button, .wp-block-button__link, [tabindex]):focus-visible { outline: 3px solid #ED1C24; outline-offset: 3px; border-radius: 6px; }
:where(.ka-hero, .ka-bg-dark, .ka-cta, .ka-footer, .ka-topbar) :focus-visible { outline-color: #FFFFFF; }

/* Butang header tak pecah baris */
.ka-header-cta .wp-block-button__link { white-space: nowrap; }

/* Butang menu (hamburger) & tutup: sasaran sentuh 44px */
.ka-nav .wp-block-navigation__responsive-container-open,
.ka-nav .wp-block-navigation__responsive-container-close {
	width: 44px; height: 44px; align-items: center; justify-content: center; border-radius: 12px;
}
.ka-nav .wp-block-navigation__responsive-container-open { background: var(--wp--preset--color--accent-5); color: #202D5A; }
.ka-nav .wp-block-navigation__responsive-container-open svg,
.ka-nav .wp-block-navigation__responsive-container-close svg { width: 26px; height: 26px; }

/* Menu overlay: skrin penuh navy, pautan besar senang disentuh */
.ka-nav .wp-block-navigation__responsive-container.is-menu-open { background: #111936 !important; color: #FFFFFF !important; padding: 20px 22px !important; }
.ka-nav .is-menu-open .wp-block-navigation__responsive-container-close { color: #FFFFFF; background: rgba(255,255,255,.08); top: 18px; right: 18px; }
.ka-nav .is-menu-open .wp-block-navigation__responsive-container-content { align-items: stretch !important; padding-top: 72px !important; }
.ka-nav .is-menu-open .wp-block-navigation__container { align-items: stretch !important; width: 100%; gap: 0 !important; }
.ka-nav .is-menu-open .wp-block-navigation-item { width: 100%; border-bottom: 1px solid rgba(255,255,255,.1); }
.ka-nav .is-menu-open .wp-block-navigation-item__content {
	display: flex !important; justify-content: space-between; align-items: center; width: 100%;
	font-size: 1.45rem !important; font-weight: 700; padding: 16px 2px !important; color: #FFFFFF !important;
}
.ka-nav .is-menu-open .wp-block-navigation-item__content::after { content: "\2192"; color: #ED1C24; font-weight: 800; }

/* Tablet: guna menu hamburger supaya header kekal satu baris */
@media (min-width: 600px) and (max-width: 1023px) {
	.ka-nav .wp-block-navigation__responsive-container-open:not(.always-shown) { display: inline-flex; }
	.ka-nav .wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) { display: none; }
	.ka-values, .ka-steps { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
	.ka-footer .wp-block-columns { flex-wrap: wrap !important; row-gap: 32px; }
	.ka-footer .wp-block-columns > .wp-block-column { flex-basis: calc(50% - 1.5rem) !important; flex-grow: 0; }
}
/* Tablet potret: kereta 3D tidak terlalu besar */
@media (min-width: 600px) and (max-width: 781px) {
}

/* Peranti sentuh: pautan footer lebih mudah ditekan */
@media (hover: none) {
	.ka-footer p a { display: inline-block; padding: 8px 0; }
	.ka-footer p { margin: .1rem 0 !important; }
}

/* ---------------- Telefon (< 600px) ---------------- */
@media (max-width: 599px) {
	/* Hero lebih padat */
	.ka-hero { padding-top: 36px; padding-bottom: 32px; }
	.ka-hero-title { font-size: 2.15rem !important; }
	.ka-hero-inner .wp-block-buttons { display: grid !important; grid-template-columns: 1fr 1fr; gap: 10px !important; margin-top: 1.4rem !important; }
	.ka-hero-inner .wp-block-button__link { width: 100%; padding-left: .6rem; padding-right: .6rem; text-align: center; box-sizing: border-box; }

	/* Kad servis & kelebihan: susun mendatar (ikon kiri) */
	.ka-card, .ka-feature {
		display: grid !important; grid-template-columns: 48px 1fr; column-gap: 14px; align-items: start;
		padding: 18px 16px !important; border-radius: 14px;
	}
	.ka-card > *, .ka-feature > * { margin: 0 !important; }
	.ka-card .ka-icon, .ka-feature .ka-icon { grid-row: 1 / span 2; width: 48px; height: 48px; border-radius: 12px; }
	.ka-card .ka-icon img, .ka-feature .ka-icon img { width: 26px; height: 26px; }
	.ka-card h3, .ka-feature h3 { font-size: 1.05rem !important; margin-top: 2px !important; }
	.ka-card p, .ka-feature p { font-size: .9rem !important; margin-top: 4px !important; line-height: 1.5; }
	.ka-grid, .ka-feature-grid { gap: 12px !important; }
	.ka-grid { margin-top: 24px !important; }

	/* Proses: garis masa menegak */
	.ka-steps { gap: 0 !important; margin-top: 28px !important; }
	.ka-step {
		display: grid !important; grid-template-columns: 44px 1fr; column-gap: 16px;
		background: none !important; border: 0 !important; box-shadow: none !important; padding: 0 0 26px !important;
	}
	.ka-step::before { grid-row: 1 / span 2; width: 44px; height: 44px; font-size: .95rem; }
	.ka-step h3 { margin-top: 9px !important; }
	.ka-step p { margin-top: 4px !important; }
	.ka-step::after { content: ""; position: absolute; left: 21px; top: 52px; bottom: 6px; width: 2px; border-radius: 2px; background: linear-gradient(rgba(237,28,36,.85), rgba(237,28,36,.12)); }
	.ka-step:last-child { padding-bottom: 0 !important; }
	.ka-step:last-child::after { display: none; }

	/* CTA: butang penuh lebar */
	.ka-cta .wp-block-buttons { width: 100%; display: grid !important; grid-template-columns: 1fr; gap: 10px !important; }
	.ka-cta .wp-block-button__link { width: 100%; box-sizing: border-box; text-align: center; }

	/* Hubungi */
	.ka-info-card, .ka-hours-card { padding: 22px 18px !important; }
	.ka-info-card .wp-block-buttons .wp-block-button, .ka-info-card .wp-block-button__link { width: 100%; text-align: center; box-sizing: border-box; }
	.ka-hours li { font-size: .9rem; }

	/* Footer: Pautan & Waktu sebelah-menyebelah */
	.ka-footer .wp-block-columns { flex-wrap: wrap !important; column-gap: 20px !important; row-gap: 28px !important; }
	.ka-footer .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:nth-child(2),
	.ka-footer .wp-block-columns:not(.is-not-stacked-on-mobile) > .wp-block-column:nth-child(3) { flex-basis: calc(50% - 10px) !important; flex-grow: 0; }
	.ka-footer-bottom { flex-direction: column; align-items: flex-start !important; gap: 4px !important; }
}

/* ---------------- Bar tindakan pantas (telefon) ---------------- */
.ka-actionbar { display: none; }
@media (max-width: 781px) {
	.ka-actionbar {
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 100001;
		display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 6px;
		padding: 8px 10px calc(8px + env(safe-area-inset-bottom));
		background: rgba(255,255,255,.97); border-top: 1px solid #E3E7F0;
		box-shadow: 0 -12px 30px -18px rgba(17,25,54,.45);
		transition: transform .35s cubic-bezier(.2,.7,.2,1);
	}
	.ka-bar-js .ka-actionbar { transform: translateY(110%); }
	.ka-bar-js.ka-bar-on .ka-actionbar, .has-modal-open .ka-actionbar { transform: none; }
	.ka-ab {
		display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 3px;
		min-height: 52px; border-radius: 12px; text-decoration: none; font-size: .74rem; font-weight: 700;
		color: #202D5A; background: #F3F5FA;
	}
	.ka-ab svg { width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
	.ka-ab--main { background: #ED1C24; color: #FFFFFF; }
	.ka-ab--wa { background: #25D366; color: #FFFFFF; }
	.ka-ab:active { transform: scale(.97); }
	.ka-has-actionbar { padding-bottom: calc(70px + env(safe-area-inset-bottom)); }
	/* Bar menggantikan butang WhatsApp terapung */
	.ka-wa-float { display: none !important; }
}
@media print { .ka-actionbar, .ka-wa-float { display: none !important; } }
.ka-nav .is-menu-open .wp-block-navigation-item__content:focus-visible { outline: none; background: rgba(255,255,255,.07); border-radius: 10px; padding-left: 10px !important; padding-right: 10px !important; }
.ka-info-list a { display: inline-block; padding: 4px 0; }
.ka-nav .is-menu-open .wp-block-navigation-item__content:focus:not(:focus-visible),
.ka-nav .is-menu-open .wp-block-navigation__responsive-container-close:focus:not(:focus-visible) { outline: none !important; }

/* Maklumat syarikat (v1.4) */
.ka-company { margin: 0 0 6px !important; padding-bottom: 14px; border-bottom: 2px solid var(--wp--preset--color--accent-2); font-size: 1.05rem; font-weight: 800; letter-spacing: .01em; color: var(--wp--preset--color--accent-3); }
.ka-company span { font-size: .8rem; font-weight: 600; color: var(--wp--preset--color--accent-4); white-space: nowrap; }
.ka-footer .ka-footer-company { color: #FFFFFF; font-weight: 700; }
.ka-topbar p:first-child { font-weight: 600; color: #FFFFFF; }
@media (max-width: 1100px) { .ka-topbar p:first-child { max-width: 46%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } }
.ka-hero-title { font-size: clamp(2.2rem, 4.3vw, 3.45rem) !important; }
@media (max-width: 599px) {
	.ka-hero-title { font-size: 2.05rem !important; }
	.ka-hero .ka-eyebrow { font-size: .72rem; letter-spacing: .08em; white-space: nowrap; }
	.ka-hero .ka-eyebrow::before { width: 20px; }
}

/* ==========================================================
   v1.5: hero tanpa 3D, 4 nilai, servis "Akan Datang", waktu 2 sesi
   ========================================================== */
.ka-hero { padding-top: clamp(64px, 9vw, 130px); padding-bottom: clamp(40px, 5vw, 64px); }
.ka-hero-inner { text-align: center; }
.ka-hero-inner .ka-eyebrow { justify-content: center; }
.ka-hero-inner .ka-eyebrow::after { content: ""; width: 28px; height: 3px; border-radius: 3px; background: currentColor; }
.ka-hero-title { font-size: clamp(2.3rem, 5.2vw, 4.1rem) !important; max-width: 900px; margin-left: auto !important; margin-right: auto !important; text-wrap: balance; }
.ka-hero-inner .wp-block-buttons { margin-top: 2rem !important; }
.ka-hero::after { right: auto; left: 50%; top: -10%; translate: -50% 0; width: min(900px, 110vw); }

/* 4 nilai utama (jalur kaca di bahagian bawah hero) */
.ka-values {
	margin-top: clamp(48px, 7vw, 96px) !important; gap: 0 !important;
	background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.1); border-radius: 18px;
	-webkit-backdrop-filter: blur(6px); backdrop-filter: blur(6px);
}
.ka-value { display: grid !important; grid-template-columns: 52px 1fr; column-gap: 14px; align-items: start; align-content: start; padding: 22px 22px !important; position: relative; }
.ka-value > * { margin: 0 !important; }
.ka-value + .ka-value::before { content: ""; position: absolute; left: 0; top: 22px; bottom: 22px; width: 1px; background: rgba(255,255,255,.12); }
.ka-value-icon { grid-row: 1 / span 2; width: 52px; height: 52px; border-radius: 50%; background: #FFFFFF; display: grid !important; place-items: center; box-shadow: 0 10px 24px -10px rgba(0,0,0,.5); }
.ka-value-icon img { width: 28px; height: 28px; display: block; }
.ka-value h3 { color: #FFFFFF; font-size: .95rem !important; font-weight: 800 !important; letter-spacing: .04em; text-transform: uppercase; line-height: 1.3 !important; margin-top: 3px !important; }
.ka-value p { color: #B6BFDA; font-size: .9rem; line-height: 1.5; margin-top: 4px !important; }

/* Kad servis "Akan Datang" */
.ka-card.is-soon { border-style: dashed; border-color: #F5BDC0; background: linear-gradient(180deg, #FFFFFF, #FFF8F8); }
.ka-card .ka-soon-badge {
	position: absolute; top: 18px; right: 18px; margin: 0 !important; z-index: 1;
	padding: 5px 11px; border-radius: 999px; font-size: .72rem !important; line-height: 1.4 !important; font-weight: 800; letter-spacing: .08em; text-transform: uppercase;
	color: #FFFFFF !important; background: linear-gradient(135deg, #F2383F, #C4141B); box-shadow: 0 8px 18px -8px rgba(237,28,36,.7);
}

/* Waktu operasi: 2 sesi sehari */
.ka-hours li { align-items: flex-start; }
.ka-hours li span:last-child { line-height: 1.55; }
.ka-footer p strong { color: #FFFFFF; font-weight: 600; }

@media (max-width: 1023px) {
	.ka-value:nth-child(3)::before { display: none; }
	.ka-value:nth-child(n+3) { border-top: 1px solid rgba(255,255,255,.12); }
}
@media (max-width: 599px) {
	.ka-hero { padding-top: 44px; padding-bottom: 32px; }
	.ka-hero-title { font-size: 2.1rem !important; }
	.ka-hero-inner .ka-eyebrow::after { display: none; }
	.ka-values { grid-template-columns: 1fr !important; margin-top: 32px !important; border-radius: 14px; }
	.ka-value { grid-template-columns: 44px 1fr; padding: 16px !important; }
	.ka-value::before { display: none; }
	.ka-value + .ka-value { border-top: 1px solid rgba(255,255,255,.12); }
	.ka-value-icon { width: 44px; height: 44px; }
	.ka-value-icon img { width: 24px; height: 24px; }
	.ka-value h3 { font-size: .85rem !important; }
	.ka-value p { font-size: .85rem; }
	.ka-card .ka-soon-badge { top: 12px; right: 12px; font-size: .64rem !important; padding: 4px 9px; }
	.ka-card.is-soon h3 { padding-right: 84px; }
}
@media (max-width: 599px) { .ka-card, .ka-feature { align-content: start; } }
@media (max-width: 599px) {
	.ka-feature.is-accent { background: var(--wp--preset--color--accent-5); color: inherit; }
	.ka-feature.is-accent h3 { color: var(--wp--preset--color--accent-3); }
	.ka-feature.is-accent p { color: var(--wp--preset--color--accent-4); }
	.ka-feature.is-accent .ka-icon { background: var(--wp--preset--color--accent-2); }
	.ka-feature-grid > .ka-feature:nth-child(even) { background: var(--wp--preset--color--ka-dark); }
	.ka-feature-grid > .ka-feature:nth-child(even) h3 { color: #FFFFFF; }
	.ka-feature-grid > .ka-feature:nth-child(even) p { color: #B6BFDA; }
	.ka-feature-grid > .ka-feature:nth-child(even) .ka-icon { background: rgba(237,28,36,.18); }
}

/* ==========================================================
   v1.6 — Tagline, WhatsApp, Galeri, Tempahan Online, Ulasan
   ========================================================== */
.ka-topbar .ka-tagline { letter-spacing: .04em; display: inline-flex; align-items: center; gap: .55rem; }
.ka-topbar .ka-tagline::before { content: ""; flex: 0 0 18px; height: 3px; border-radius: 3px; background: #ED1C24; }

/* Label kecil WhatsApp pada nombor telefon */
.ka-wa-tag {
	display: inline-flex; align-items: center; gap: 4px; margin-left: 6px; vertical-align: 2px;
	padding: 2px 8px 2px 6px; border-radius: 999px; background: #E6F9EE; color: #128C4B;
	font-size: .68rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; line-height: 1.5;
}
.ka-wa-tag::before, .ka-btn-wa .wp-block-button__link::before {
	content: ""; width: 12px; height: 12px; background: currentColor;
	-webkit-mask: url(assets/images/icon-chat.svg) center / contain no-repeat;
	mask: url(assets/images/icon-chat.svg) center / contain no-repeat;
}
.ka-btn-wa .wp-block-button__link { display: inline-flex; align-items: center; gap: .5rem; }
.ka-btn-wa .wp-block-button__link::before { width: 18px; height: 18px; }
.ka-info-list a:hover .ka-wa-tag { background: #25D366; color: #FFFFFF; }

/* ---------------- Galeri ---------------- */
.ka-gallery-wrap { margin-top: clamp(28px, 4vw, 48px) !important; }
.ka-g-filters { display: flex; justify-content: center; flex-wrap: wrap; gap: 8px; margin: 0 0 22px; }
.ka-g-filters button {
	font: inherit; font-size: .9rem; font-weight: 700; cursor: pointer;
	padding: 9px 20px; border-radius: 999px; border: 1px solid #DDE2EC; background: #FFFFFF; color: var(--wp--preset--color--accent-3);
	transition: background-color .15s ease, color .15s ease, border-color .15s ease;
}
.ka-g-filters button:hover { border-color: var(--wp--preset--color--accent-1); color: var(--wp--preset--color--accent-1); }
.ka-g-filters button.is-active { background: var(--wp--preset--color--accent-1); border-color: var(--wp--preset--color--accent-1); color: #FFFFFF; }

.ka-gallery { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); grid-auto-rows: clamp(150px, 17vw, 230px); gap: 14px; }
.ka-gallery > .ka-g-item:first-child { grid-column: span 2; grid-row: span 2; }
.ka-gallery.is-filtered > .ka-g-item:first-child { grid-column: auto; grid-row: auto; }
.ka-g-item[hidden] { display: none !important; }
.ka-g-item {
	position: relative; display: block; overflow: hidden; border-radius: 14px; min-height: 0;
	background: var(--wp--preset--color--ka-dark); color: #FFFFFF; text-decoration: none; isolation: isolate;
	box-shadow: 0 14px 30px -22px rgba(17,25,54,.6);
}
.ka-g-item img, .ka-g-item video { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform .6s cubic-bezier(.2,.7,.2,1); }
.ka-g-item::after { content: ""; position: absolute; inset: 0; background: linear-gradient(180deg, transparent 45%, rgba(17,25,54,.85)); opacity: .75; transition: opacity .25s ease; z-index: 1; }
.ka-g-item:hover img, .ka-g-item:hover video, .ka-g-item:focus-visible img { transform: scale(1.06); }
.ka-g-item:hover::after { opacity: 1; }
.ka-g-caption {
	position: absolute; left: 14px; right: 14px; bottom: 12px; z-index: 2;
	font-size: .9rem; font-weight: 700; line-height: 1.35; text-shadow: 0 1px 6px rgba(0,0,0,.4);
	display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden;
}
.ka-g-play {
	position: absolute; left: 50%; top: 50%; z-index: 2; width: 62px; height: 62px; margin: -31px 0 0 -31px; border-radius: 50%;
	background: rgba(237,28,36,.92); box-shadow: 0 10px 30px -8px rgba(237,28,36,.8), 0 0 0 8px rgba(255,255,255,.18);
	transition: transform .2s ease;
}
.ka-g-play::before { content: ""; position: absolute; left: 25px; top: 20px; border-style: solid; border-width: 11px 0 11px 17px; border-color: transparent transparent transparent #FFFFFF; }
.ka-g-item:hover .ka-g-play { transform: scale(1.08); }
.ka-gallery > .ka-g-item:first-child .ka-g-caption { font-size: 1.05rem; left: 20px; bottom: 18px; }

/* Lightbox */
html.ka-lb-lock, html.ka-lb-lock body { overflow: hidden; }
.ka-lightbox {
	position: fixed; inset: 0; z-index: 100005; display: none;
	grid-template-columns: 64px minmax(0, 1fr) 64px; grid-template-rows: 1fr auto; align-items: center;
	padding: 56px 8px 18px; background: rgba(10,14,32,.94); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
}
.ka-lightbox.is-open { display: grid; animation: kaFade .2s ease both; }
@keyframes kaFade { from { opacity: 0; } to { opacity: 1; } }
.ka-lb-stage { grid-column: 2; grid-row: 1; display: flex; align-items: center; justify-content: center; min-height: 0; height: 100%; }
.ka-lb-stage img, .ka-lb-stage video { max-width: 100%; max-height: calc(100vh - 140px); max-height: calc(100dvh - 140px); border-radius: 10px; box-shadow: 0 30px 80px -30px rgba(0,0,0,.8); }
.ka-lb-stage iframe { width: min(100%, 1100px, calc((100vh - 140px) * 16 / 9)); aspect-ratio: 16 / 9; height: auto; border: 0; border-radius: 10px; background: #000; }
.ka-lb-stage video { background: #000; width: min(100%, 1100px, calc((100vh - 140px) * 16 / 9)); height: auto; }
.ka-lb-caption { grid-column: 1 / -1; grid-row: 2; margin: 12px 0 0; text-align: center; color: #C7CEE4; font-size: .92rem; }
.ka-lightbox button {
	font: inherit; cursor: pointer; border: 0; color: #FFFFFF; background: rgba(255,255,255,.1);
	width: 48px; height: 48px; border-radius: 50%; display: grid; place-items: center; font-size: 1.9rem; line-height: 1;
	transition: background-color .15s ease;
}
.ka-lightbox button:hover { background: #ED1C24; }
.ka-lb-prev { grid-column: 1; grid-row: 1; justify-self: center; }
.ka-lb-next { grid-column: 3; grid-row: 1; justify-self: center; }
.ka-lb-close { position: absolute; top: 10px; right: 12px; font-size: 1.7rem !important; }
.ka-lightbox.is-single .ka-lb-prev, .ka-lightbox.is-single .ka-lb-next { visibility: hidden; }

/* Slot kosong (hanya admin nampak) */
.ka-admin-empty {
	border: 2px dashed #C9D0E0; border-radius: 16px; padding: clamp(18px, 3vw, 28px); background: #FFFFFF; text-align: center;
	color: var(--wp--preset--color--accent-4); font-size: .95rem;
}
.ka-admin-empty > p { max-width: 720px; margin: 0 auto 18px !important; }
.ka-admin-empty > p:last-child { margin: 18px auto 0 !important; }
.ka-admin-empty .ka-gallery { grid-auto-rows: clamp(70px, 9vw, 120px); gap: 10px; }
.ka-g-placeholder { background: repeating-linear-gradient(135deg, #EEF1F7 0 12px, #F6F8FB 12px 24px); box-shadow: none; }
.ka-g-placeholder::after { display: none; }
.ka-g-placeholder.is-video::before {
	content: ""; position: absolute; left: 50%; top: 50%; transform: translate(-30%, -50%);
	border-style: solid; border-width: 12px 0 12px 19px; border-color: transparent transparent transparent #C9D0E0;
}
.button-ka {
	display: inline-block; padding: 11px 22px; border-radius: 10px; background: #ED1C24; color: #FFFFFF !important;
	font-weight: 700; text-decoration: none; font-size: .95rem;
}
.button-ka:hover { background: #C4141B; }

/* ---------------- Tempahan Online ---------------- */
.ka-booking { background: #FFFFFF; position: relative; overflow: hidden; }
.ka-booking::before {
	content: ""; position: absolute; right: -180px; top: -180px; width: 520px; height: 520px; border-radius: 50%; pointer-events: none;
	background: radial-gradient(circle, rgba(237,28,36,.09), transparent 65%);
}
.ka-booking-cols { gap: clamp(28px, 5vw, 72px) !important; position: relative; }
.ka-book-steps { list-style: none; counter-reset: kabook; padding: 0 !important; margin: 26px 0 30px !important; display: grid; gap: 12px; }
.ka-book-steps li {
	counter-increment: kabook; display: flex; align-items: center; gap: 14px;
	padding: 12px 16px; border: 1px solid #E3E7F0; border-radius: 12px; background: #FFFFFF; font-weight: 600; color: var(--wp--preset--color--contrast);
}
.ka-book-steps li::before {
	content: counter(kabook); flex: 0 0 34px; height: 34px; border-radius: 50%; display: grid; place-items: center;
	background: var(--wp--preset--color--accent-2); color: var(--wp--preset--color--accent-1); font-weight: 800; font-size: .95rem;
}
.ka-book-card {
	background: linear-gradient(160deg, #24336A 0%, #18224A 60%, #111936 100%); color: #C7CEE4;
	border-radius: 22px; padding: 18px 22px 26px; text-align: center; max-width: 380px; margin: 0 auto;
	box-shadow: 0 40px 80px -40px rgba(17,25,54,.75);
}
.ka-book-card-top { display: flex; align-items: center; gap: 6px; padding-bottom: 14px; margin-bottom: 22px; border-bottom: 1px solid rgba(255,255,255,.08); }
.ka-book-dot { width: 9px; height: 9px; border-radius: 50%; background: rgba(255,255,255,.22); }
.ka-book-dot:first-child { background: #ED1C24; }
.ka-book-url { margin-left: auto; font-size: .76rem; letter-spacing: .03em; color: #9CA6C6; background: rgba(255,255,255,.06); padding: 4px 10px; border-radius: 999px; max-width: 70%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ka-book-qr { display: inline-block; background: #FFFFFF; padding: 14px; border-radius: 16px; line-height: 0; transition: transform .2s ease; }
.ka-book-qr:hover { transform: translateY(-2px); }
.ka-book-qr img { width: 180px; height: 180px; display: block; image-rendering: pixelated; }
.ka-book-ico { width: 84px; height: 84px; margin: 0 auto; border-radius: 22px; background: #FFFFFF; display: grid; place-items: center; }
.ka-book-ico img { width: 42px; height: 42px; }
.ka-book-qr-text { margin: 16px 0 18px !important; font-size: .9rem; }
.ka-book-qr-text strong { display: block; color: #FFFFFF; font-size: 1.05rem; margin-bottom: 2px; }
.ka-book-link {
	display: block; padding: 13px 16px; border-radius: 12px; background: #ED1C24; color: #FFFFFF; font-weight: 700; text-decoration: none;
	box-shadow: 0 12px 28px -12px rgba(237,28,36,.85); transition: background-color .15s ease, transform .15s ease;
}
.ka-book-link:hover { background: #C4141B; transform: translateY(-1px); }
.ka-booking .ka-btn-wa .wp-block-button__link { color: #128C4B; }
.ka-booking .ka-btn-wa .wp-block-button__link:hover { background: #E6F9EE; color: #0E7A40; }

/* ---------------- Ulasan ---------------- */
.ka-reviews-wrap { margin-top: clamp(28px, 4vw, 48px) !important; }
.ka-reviews-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 16px; margin-bottom: 22px; }
.ka-reviews-summary { display: flex; align-items: center; gap: 14px; }
.ka-reviews-score { font-size: 2.6rem; font-weight: 800; line-height: 1; color: var(--wp--preset--color--contrast); }
.ka-reviews-summary small { display: block; margin-top: 4px; font-size: .85rem; color: var(--wp--preset--color--accent-4); }
.ka-reviews-nav { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; margin-left: auto; }
.ka-reviews-google {
	font-size: .9rem; font-weight: 700; color: var(--wp--preset--color--accent-1); text-decoration: none;
	padding: 10px 16px; border: 1px solid #F3C3C5; border-radius: 999px; background: #FFFFFF;
}
.ka-reviews-google:hover { background: var(--wp--preset--color--accent-2); }
.ka-rv-prev, .ka-rv-next {
	font: inherit; cursor: pointer; width: 44px; height: 44px; border-radius: 50%; border: 1px solid #DDE2EC; background: #FFFFFF;
	color: var(--wp--preset--color--accent-3); font-size: 1.15rem; display: grid; place-items: center; transition: all .15s ease;
}
.ka-rv-prev:hover:not(:disabled), .ka-rv-next:hover:not(:disabled) { background: #ED1C24; border-color: #ED1C24; color: #FFFFFF; }
.ka-rv-prev:disabled, .ka-rv-next:disabled { opacity: .4; cursor: default; }
.ka-reviews-head.no-scroll .ka-rv-prev, .ka-reviews-head.no-scroll .ka-rv-next { display: none; }

.ka-stars { position: relative; display: inline-block; font-size: 1.05rem; line-height: 1; letter-spacing: 2px; color: #D5DAE6; white-space: nowrap; vertical-align: middle; }
.ka-stars::before { content: "\2605\2605\2605\2605\2605"; }
.ka-stars-fill { position: absolute; left: 0; top: 0; overflow: hidden; color: #F5A623; white-space: nowrap; }
.ka-stars-fill::before { content: "\2605\2605\2605\2605\2605"; }
.ka-reviews-summary .ka-stars { font-size: 1.25rem; }
.ka-review > .ka-stars { align-self: flex-start; }

.ka-reviews {
	display: grid; grid-auto-flow: column; grid-auto-columns: calc((100% - 40px) / 3); gap: 20px;
	overflow-x: auto; scroll-snap-type: x mandatory; scroll-padding-inline: 2px; scroll-behavior: smooth; overscroll-behavior-x: contain;
	padding: 4px 2px 18px; margin: 0 -2px; scrollbar-width: none;
}
.ka-reviews::-webkit-scrollbar { display: none; }
.ka-reviews:focus-visible { outline: 2px solid #ED1C24; outline-offset: 4px; border-radius: 12px; }
.ka-review {
	scroll-snap-align: start; margin: 0; position: relative; display: flex; flex-direction: column; gap: 14px;
	background: #FFFFFF; border: 1px solid #E3E7F0; border-radius: 16px; padding: 26px 24px 22px;
	box-shadow: 0 18px 40px -32px rgba(17,25,54,.55);
}
.ka-review::before { content: "\201C"; position: absolute; right: 20px; top: 2px; font-size: 5rem; line-height: 1; font-family: Georgia, serif; color: var(--wp--preset--color--accent-2); pointer-events: none; }
.ka-review blockquote { margin: 0; padding: 0; border: 0; position: relative; }
.ka-review blockquote p { margin: 0; font-size: 1rem; line-height: 1.65; color: var(--wp--preset--color--contrast); }
.ka-review figcaption { margin-top: auto; display: flex; align-items: center; gap: 12px; padding-top: 14px; border-top: 1px dashed #DDE2EC; }
.ka-rv-avatar { flex: 0 0 44px; height: 44px; border-radius: 50%; display: grid; place-items: center; background: var(--wp--preset--color--ka-dark); color: #FFFFFF; font-weight: 800; font-size: .95rem; }
.ka-rv-who { min-width: 0; line-height: 1.3; }
.ka-rv-who strong { display: block; color: var(--wp--preset--color--contrast); }
.ka-rv-who small { display: block; color: var(--wp--preset--color--accent-4); font-size: .82rem; }
.ka-rv-source { margin-left: auto; flex: 0 0 auto; font-size: .7rem; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; padding: 4px 9px; border-radius: 999px; background: #F3F5FA; color: var(--wp--preset--color--accent-4); }
.ka-rv-source.is-google { background: #EAF1FE; color: #1A57C9; }
.ka-rv-source.is-facebook { background: #E9EFFC; color: #1B4BA8; }
.ka-rv-source.is-whatsapp { background: #E6F9EE; color: #128C4B; }
.ka-rv-source.is-bengkel { background: var(--wp--preset--color--accent-2); color: #C4141B; }
.ka-reviews--empty { overflow: hidden; }
.ka-review-placeholder { min-height: 150px; background: repeating-linear-gradient(135deg, #EEF1F7 0 12px, #F6F8FB 12px 24px); border-style: dashed; box-shadow: none; }
.ka-review-placeholder::before { display: none; }

/* ---------------- Responsif v1.6 ---------------- */
@media (max-width: 1023px) {
	.ka-reviews { grid-auto-columns: calc((100% - 20px) / 2); }
}
@media (max-width: 781px) {
	.ka-booking-cols > .wp-block-column { flex-basis: 100% !important; }
	.ka-book-card { max-width: 420px; }
}
@media (max-width: 599px) {
	.ka-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); grid-auto-rows: 38vw; gap: 10px; }
	.ka-gallery > .ka-g-item:first-child { grid-column: 1 / -1; grid-row: span 1; }
	.ka-gallery > .ka-g-item:first-child { aspect-ratio: auto; }
	.ka-gallery.is-filtered > .ka-g-item:first-child { grid-column: auto; }
	.ka-gallery:not(.is-filtered) > .ka-g-item:last-child:nth-child(even) { grid-column: 1 / -1; }
	.ka-g-item { border-radius: 12px; }
	.ka-g-caption { font-size: .8rem; left: 10px; right: 10px; bottom: 8px; }
	.ka-g-play { width: 48px; height: 48px; margin: -24px 0 0 -24px; }
	.ka-g-play::before { left: 19px; top: 15px; border-width: 9px 0 9px 14px; }
	.ka-g-filters button { padding: 8px 16px; font-size: .85rem; }
	.ka-lightbox { grid-template-columns: 0 minmax(0, 1fr) 0; grid-template-rows: 1fr auto auto; padding: 60px 10px 16px; }
	.ka-lb-stage { grid-column: 1 / -1; }
	.ka-lb-prev, .ka-lb-next { grid-row: 3; margin-top: 10px; }
	.ka-lb-prev { grid-column: 1 / 3; justify-self: start; }
	.ka-lb-next { grid-column: 2 / 4; justify-self: end; }
	.ka-reviews { grid-auto-columns: 86%; gap: 14px; }
	.ka-review { padding: 22px 18px 18px; }
	.ka-reviews-head { margin-bottom: 16px; }
	.ka-reviews-score { font-size: 2.2rem; }
	.ka-book-qr img { width: 150px; height: 150px; }
	.ka-book-steps li { padding: 10px 12px; font-size: .95rem; }
	.ka-actionbar .ka-ab { font-size: .7rem; }
}
@media (hover: none) { .ka-g-item::after { opacity: .9; } }
@media (prefers-reduced-motion: reduce) { .ka-g-item img, .ka-g-item video, .ka-lightbox.is-open { transition: none; animation: none; } }
/* v1.6.2 — bar atas: nombor insurans & roadtax; rapatkan bila jadi dua baris */
@media (max-width: 1023px) { .ka-topbar .wp-block-group.alignwide { row-gap: 4px !important; } }

/* ==========================================================
   v1.6.3 — Jalur waktu operasi (atas sekali) & footer ringkas
   ========================================================== */
.ka-hours-strip { background: var(--wp--preset--color--accent-5); border-bottom: 1px solid #E3E7F0; padding-top: 14px; padding-bottom: 14px; }
.ka-hs { display: flex; align-items: center; gap: clamp(16px, 3vw, 40px); }
.ka-hs-label {
	flex: 0 0 auto; display: inline-flex; align-items: center; gap: 10px; margin: 0 !important;
	font-size: .78rem; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; color: var(--wp--preset--color--accent-3);
}
.ka-hs-label img { width: 34px; height: 34px; padding: 7px; box-sizing: border-box; border-radius: 10px; background: var(--wp--preset--color--accent-2); }
.ka-hs-list { flex: 1 1 auto; list-style: none; margin: 0 !important; padding: 0 !important; display: grid; grid-template-columns: repeat(4, auto); }
.ka-hs-list li { display: flex; flex-direction: column; gap: 1px; padding: 2px clamp(12px, 1.6vw, 22px); border-left: 1px solid #DDE2EC; line-height: 1.35; }
.ka-hs-list strong { font-size: .86rem; color: var(--wp--preset--color--contrast); font-weight: 700; }
.ka-hs-list span { font-size: .8rem; color: var(--wp--preset--color--accent-4); white-space: nowrap; }
.ka-hs-list li.is-closed span { color: var(--wp--preset--color--accent-1); font-weight: 700; }
@media (max-width: 1023px) {
	.ka-hs { flex-direction: column; align-items: stretch; gap: 10px; }
	.ka-hs-label { justify-content: center; }
	.ka-hs-list li:first-child { border-left: 0; padding-left: 0; }
}
@media (max-width: 759px) {
	.ka-hs-list { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 10px; }
	.ka-hs-list li:nth-child(odd) { border-left: 0; }
}
@media (max-width: 379px) { .ka-hs-list span { white-space: normal; } }
@media (max-width: 599px) {
	.ka-hours-strip { padding-top: 12px; padding-bottom: 12px; }
	.ka-hs-label img { width: 28px; height: 28px; padding: 5px; }
	.ka-hs-list li { padding: 2px 10px; }
	.ka-hs-list li:nth-child(odd) { padding-left: 0; }
	.ka-hs-list strong { font-size: .8rem; }
	.ka-hs-list span { font-size: .72rem; letter-spacing: -.005em; }
}
.ka-footer { padding-top: clamp(32px, 4vw, 48px); }
.ka-footer-top { align-items: center; }
.ka-footer-top .ka-logo-footer { margin: 0 !important; }
.ka-footer .ka-footer-bottom { margin-top: clamp(20px, 3vw, 28px) !important; }

/* ==========================================================
   v1.6.4 — Hubungi & Tempahan digabung: alamat ringkas + Dapatkan Arah
   ========================================================== */
.ka-visit {
	display: flex; align-items: flex-start; gap: 14px; margin-top: 26px; padding-top: 22px;
	border-top: 1px dashed #DDE2EC; max-width: 560px;
}
.ka-visit-ico { flex: 0 0 40px; height: 40px; border-radius: 10px; background: var(--wp--preset--color--accent-2); display: grid; place-items: center; }
.ka-visit-ico img { width: 20px; height: 20px; }
.ka-visit-body { min-width: 0; }
.ka-visit-addr { margin: 0 !important; font-weight: 600; color: var(--wp--preset--color--contrast); line-height: 1.55; }
.ka-visit-addr strong {
	display: block; margin-bottom: 2px; font-size: .74rem; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
	color: var(--wp--preset--color--accent-4);
}
.ka-visit-nums { display: none; margin: 10px 0 0 !important; font-size: .92rem; line-height: 1.8; color: var(--wp--preset--color--accent-4); }
.ka-visit-nums a { font-weight: 700; color: var(--wp--preset--color--contrast); text-decoration: none; }
.ka-visit-link {
	display: inline-flex; align-items: center; gap: 6px; margin-top: 10px; font-weight: 700; font-size: .95rem;
	color: var(--wp--preset--color--accent-1); text-decoration: none;
}
.ka-visit-link:hover { color: #C4141B; text-decoration: underline; text-underline-offset: 3px; }
/* Telefon/tablet kecil: bar atas (nombor telefon) disembunyikan, jadi tunjuk nombor di sini. */
@media (max-width: 781px) { .ka-visit-nums { display: block; } }

/* ==========================================================
   v1.6.5 — Galeri: Lihat Lagi
   ========================================================== */
.ka-gallery:not(.is-expanded) > .ka-g-item.is-more { display: none; }
.ka-g-more-wrap { text-align: center; margin-top: clamp(20px, 3vw, 28px); }
.ka-g-more {
	font: inherit; font-size: .95rem; font-weight: 700; cursor: pointer;
	padding: 12px 28px; border-radius: 999px; border: 2px solid var(--wp--preset--color--accent-1);
	background: transparent; color: var(--wp--preset--color--accent-1); transition: background-color .15s ease, color .15s ease;
}
.ka-g-more:hover { background: var(--wp--preset--color--accent-1); color: #FFFFFF; }

/* ==========================================================
   v1.7.0 — Ulasan: butang Tulis Ulasan, ajakan, halaman & borang ulasan
   ========================================================== */
.ka-review-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer;
	padding: 11px 22px; border-radius: 999px; border: 0; background: var(--wp--preset--color--accent-1); color: #FFFFFF !important;
	font: inherit; font-size: .95rem; font-weight: 700; text-decoration: none; white-space: nowrap;
	box-shadow: 0 12px 26px -14px rgba(237,28,36,.85); transition: background-color .15s ease, transform .15s ease;
}
.ka-review-btn:hover { background: #C4141B; transform: translateY(-1px); }
.ka-reviews-summary small a, .ka-rf-summary small a { color: var(--wp--preset--color--accent-1); font-weight: 700; text-decoration: none; }
.ka-reviews-nav .ka-review-btn { padding: 10px 18px; font-size: .9rem; }
.ka-rv-source.is-laman { background: #EEF0F7; color: var(--wp--preset--color--accent-3); }

/* Ajakan bila belum ada ulasan dipilih */
.ka-review-cta {
	display: flex; align-items: center; justify-content: space-between; gap: 24px; flex-wrap: wrap;
	background: #FFFFFF; border: 1px solid #E3E7F0; border-radius: 18px; padding: clamp(22px, 3vw, 34px) clamp(22px, 4vw, 44px);
	box-shadow: 0 24px 50px -40px rgba(17,25,54,.6); max-width: 980px; margin: 0 auto;
}
.ka-review-cta-text { flex: 1 1 380px; }
.ka-review-cta-stars { color: #F5A623; letter-spacing: 3px; font-size: 1.15rem; }
.ka-review-cta h3 { margin: 6px 0 6px !important; font-size: clamp(1.25rem, 2.2vw, 1.55rem) !important; }
.ka-review-cta p { margin: 0 !important; color: var(--wp--preset--color--accent-4); }
.ka-review-cta-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ka-admin-note { text-align: center; font-size: .85rem; color: var(--wp--preset--color--accent-4); margin-top: 14px !important; }

/* Halaman Ulasan Pelanggan */
.ka-review-page-content { margin-top: clamp(28px, 4vw, 48px) !important; }
.ka-rf-layout { display: grid; grid-template-columns: minmax(0, 440px) minmax(0, 1fr); gap: clamp(24px, 4vw, 48px); align-items: start; }
.ka-rf-layout.is-solo { grid-template-columns: minmax(0, 640px); justify-content: center; }
.ka-rf-card {
	background: #FFFFFF; border: 1px solid #E3E7F0; border-radius: 18px; padding: clamp(22px, 3vw, 32px);
	box-shadow: 0 30px 60px -44px rgba(17,25,54,.6); scroll-margin-top: 120px;
}
@media (min-width: 1024px) { .ka-rf-layout:not(.is-solo) .ka-rf-card { position: sticky; top: 120px; } }
.ka-rf-title { font-size: 1.35rem !important; margin: 0 0 14px !important; }
.ka-rf-error { background: #FDE8E9; color: #A3121A; border-radius: 10px; padding: 12px 14px; font-size: .92rem; margin: 0 0 14px !important; }
.ka-review-form p { margin: 0 0 14px !important; }
.ka-rf-field label, .ka-rate legend { display: block; font-weight: 700; font-size: .9rem; color: var(--wp--preset--color--contrast); margin-bottom: 6px; }
.ka-req { color: var(--wp--preset--color--accent-1); }
.ka-rf-field input, .ka-rf-field textarea {
	width: 100%; box-sizing: border-box; font: inherit; font-size: 1rem; color: var(--wp--preset--color--contrast);
	padding: 11px 13px; border: 1px solid #D5DAE6; border-radius: 10px; background: #FBFCFE; transition: border-color .15s ease, box-shadow .15s ease;
}
.ka-rf-field textarea { resize: vertical; min-height: 120px; }
.ka-rf-field input:focus, .ka-rf-field textarea:focus { outline: none; border-color: var(--wp--preset--color--accent-1); box-shadow: 0 0 0 3px rgba(237,28,36,.15); background: #FFFFFF; }
.ka-rf-field small, .ka-rf-submit small { display: block; margin-top: 5px; font-size: .78rem; color: var(--wp--preset--color--accent-4); }
.ka-rf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.ka-rf-consent label { display: flex; gap: 10px; align-items: flex-start; font-size: .88rem; color: var(--wp--preset--color--accent-4); line-height: 1.5; cursor: pointer; }
.ka-rf-consent input { margin-top: 3px; width: 17px; height: 17px; accent-color: var(--wp--preset--color--accent-1); flex: 0 0 auto; }
.ka-rf-submit { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 0 !important; }
.ka-rf-submit small { margin-top: 0; }
.ka-hp { position: absolute !important; left: -9999px !important; width: 1px; height: 1px; overflow: hidden; }
.ka-sr { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* Bintang (radio) */
.ka-rate { border: 0; margin: 0 0 16px; padding: 0; min-width: 0; }
.ka-rate-stars { display: inline-flex; flex-direction: row-reverse; gap: 4px; }
.ka-rate-stars input { position: absolute; opacity: 0; width: 1px; height: 1px; }
.ka-rate-stars label { font-size: 2.1rem; line-height: 1; color: #D5DAE6; cursor: pointer; transition: color .12s ease, transform .12s ease; position: relative; }
.ka-rate-stars label:hover, .ka-rate-stars label:hover ~ label, .ka-rate-stars input:checked ~ label { color: #F5A623; }
.ka-rate-stars label:hover { transform: scale(1.12); }
.ka-rate-stars input:focus-visible + label { outline: 2px solid var(--wp--preset--color--accent-1); outline-offset: 2px; border-radius: 4px; }

/* Selepas hantar */
.ka-rf-done { text-align: center; padding: 10px 0; }
.ka-rf-done-ico { display: inline-grid; place-items: center; width: 64px; height: 64px; border-radius: 50%; background: #E6F9EE; color: #128C4B; font-size: 2rem; font-weight: 800; }
.ka-rf-done h2 { margin: 14px 0 6px !important; font-size: 1.5rem !important; }
.ka-rf-done p { color: var(--wp--preset--color--accent-4); }

/* Senarai ulasan diluluskan */
.ka-rf-summary { display: flex; align-items: center; gap: 14px; margin-bottom: 18px; }
.ka-review-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 18px; }
.ka-review-grid .ka-review { scroll-snap-align: none; }

@media (max-width: 1023px) {
	.ka-rf-layout { grid-template-columns: minmax(0, 1fr); }
	.ka-rf-layout .ka-rf-card { max-width: 640px; width: 100%; margin: 0 auto; box-sizing: border-box; }
}
@media (max-width: 599px) {
	.ka-rf-row { grid-template-columns: 1fr; gap: 0; }
	.ka-review-cta { flex-direction: column; align-items: stretch; text-align: center; }
	.ka-review-cta-text { flex: 0 0 auto; }
	.ka-review-cta-actions { justify-content: center; }
	.ka-reviews-nav .ka-review-btn { padding: 9px 14px; font-size: .85rem; }
}

/* v1.7.6 — Butang "Dapatkan Arah" */
.ka-visit-btn {
	display: inline-flex; align-items: center; gap: 8px; margin-top: 12px;
	padding: .7rem 1.25rem; border-radius: 10px; border: 2px solid var(--wp--preset--color--accent-1);
	background: transparent; color: var(--wp--preset--color--accent-1); font-weight: 700; font-size: .95rem; text-decoration: none;
	transition: background-color .15s ease, color .15s ease, transform .15s ease;
}
.ka-visit-btn::before {
	content: ""; width: 18px; height: 18px; background: currentColor;
	-webkit-mask: url(assets/images/icon-pin.svg) center / contain no-repeat; mask: url(assets/images/icon-pin.svg) center / contain no-repeat;
}
.ka-visit-btn:hover { background: var(--wp--preset--color--accent-1); color: #FFFFFF; transform: translateY(-1px); }

/* ==========================================================
   v1.7.8 — Galeri berkumpulan (Video / Gambar) & kad Lokasi
   ========================================================== */
.ka-g-group + .ka-g-group { margin-top: clamp(30px, 4vw, 48px); }
.ka-g-sep {
	display: flex; align-items: center; gap: 12px; margin: 0 0 16px !important;
	font-size: .85rem !important; font-weight: 800 !important; letter-spacing: .14em; text-transform: uppercase;
	color: var(--wp--preset--color--accent-3);
}
.ka-g-sep::before { content: ""; flex: 0 0 28px; height: 3px; border-radius: 3px; background: var(--wp--preset--color--accent-1); }
.ka-g-sep::after { content: ""; flex: 1 1 auto; height: 1px; background: #D5DAE6; }
.ka-g-sep small {
	font-size: .72rem; font-weight: 700; letter-spacing: 0; padding: 2px 9px; border-radius: 999px;
	background: #FFFFFF; border: 1px solid #DDE2EC; color: var(--wp--preset--color--accent-4);
}
.ka-g-groups.is-filtered .ka-g-sep { display: none; }
.ka-g-group[hidden] { display: none !important; }
.ka-gallery.is-uniform > .ka-g-item:first-child { grid-column: auto; grid-row: auto; }
@media (max-width: 599px) {
	.ka-gallery.is-uniform > .ka-g-item:first-child { grid-column: auto; }
	.ka-gallery.is-uniform:not(.is-filtered) > .ka-g-item:last-child:nth-child(even) { grid-column: auto; }
	.ka-gallery.is-uniform > .ka-g-item:last-child:nth-child(odd) { grid-column: 1 / -1; }
}

/* Kad Lokasi KOWA AUTO (bila kad kod QR dimatikan) */
.ka-visit-card {
	background: var(--wp--preset--color--accent-5); border: 1px solid #E3E7F0; border-radius: 18px;
	padding: clamp(22px, 3vw, 32px); max-width: 440px; margin: 0 auto; box-shadow: 0 30px 60px -48px rgba(17,25,54,.6);
}
.ka-visit-card .ka-visit { margin: 0; padding: 0; border: 0; max-width: none; }
.ka-visit-card .ka-visit-nums { display: block; }
.ka-visit-card .ka-visit-addr { font-size: 1.02rem; }

/* ==========================================================
   v1.9 — Galeri: kiraan tontonan & komen pelawat
   ========================================================== */
/* Lencana pada petak galeri */
.ka-g-stats { position: absolute; top: 10px; left: 10px; z-index: 2; display: flex; gap: 6px; pointer-events: none; }
.ka-g-st {
	display: inline-flex; align-items: center; gap: 5px; padding: 4px 9px 4px 7px; border-radius: 999px;
	background: rgba(10,14,32,.62); -webkit-backdrop-filter: blur(4px); backdrop-filter: blur(4px);
	color: #FFFFFF; font-size: .75rem; font-weight: 700; line-height: 1.2; letter-spacing: .01em;
}
.ka-g-st[hidden] { display: none; }
.ka-g-st svg { width: 14px; height: 14px; fill: currentColor; flex: none; opacity: .92; }
.ka-g-st b { font-weight: 700; }

/* Lightbox: bar bawah (tajuk · tontonan · butang komen) */
.ka-lightbox .ka-lb-caption { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 6px 16px; min-height: 30px; }
.ka-lb-title:empty { display: none; }
.ka-lb-views { display: inline-flex; align-items: center; gap: 6px; color: #C7CEE4; }
.ka-lb-views[hidden] { display: none; }
.ka-lb-views svg, .ka-lightbox .ka-lb-cbtn svg { width: 17px; height: 17px; fill: currentColor; flex: none; }
.ka-lightbox .ka-lb-cbtn {
	width: auto; height: auto; display: none; align-items: center; gap: 7px; padding: 8px 16px; border-radius: 999px;
	background: #ED1C24; font-size: .9rem; font-weight: 700; line-height: 1.2;
}
.ka-lightbox .ka-lb-cbtn:hover { background: #C8141B; }

/* Panel komen (desktop: di sebelah kanan) */
.ka-lightbox.has-side { grid-template-columns: 64px minmax(0, 1fr) 64px 370px; }
.ka-lightbox.has-side .ka-lb-caption { grid-column: 1 / 4; }
.ka-lb-side {
	grid-column: 4; grid-row: 1 / -1; align-self: stretch; min-height: 0; max-height: 100%;
	display: flex; flex-direction: column; overflow: hidden;
	background: #FFFFFF; color: var(--wp--preset--color--accent-3, #1B2345); border-radius: 14px;
	box-shadow: 0 30px 80px -30px rgba(0,0,0,.8);
}
.ka-lb-side-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 14px 16px 12px; border-bottom: 1px solid #E8EBF2; }
.ka-lb-side-head h2 { margin: 0; font-size: 1.02rem; font-weight: 800; letter-spacing: 0; text-transform: none; color: inherit; }
.ka-lb-ccount { color: #8A93AD; font-weight: 700; }
.ka-lightbox .ka-lb-side-close { display: none; width: 36px; height: 36px; font-size: 1.5rem; background: #F1F3F8; color: #46506E; }
.ka-lightbox .ka-lb-side-close:hover { background: #E3E7F0; color: #1B2345; }
.ka-lb-list { flex: 1 1 auto; min-height: 90px; overflow-y: auto; overscroll-behavior: contain; padding: 12px 16px; display: flex; flex-direction: column; gap: 14px; }
.ka-lb-empty { margin: auto 0; text-align: center; color: #8A93AD; font-size: .92rem; padding: 18px 0; }
.ka-cm { display: flex; gap: 10px; align-items: flex-start; }
.ka-cm.is-reply { margin-left: 28px; }
.ka-cm-av {
	flex: 0 0 34px; height: 34px; border-radius: 50%; display: grid; place-items: center;
	background: var(--wp--preset--color--ka-dark, #1B2345); color: #FFFFFF; font-weight: 800; font-size: .85rem;
}
.ka-cm.is-staff .ka-cm-av { background: #ED1C24; }
.ka-cm-body { min-width: 0; flex: 1; background: #F4F6FA; border-radius: 4px 14px 14px 14px; padding: 8px 12px 9px; }
.ka-cm.is-staff .ka-cm-body { background: #FDECEC; }
.ka-cm-head { margin: 0 0 2px; display: flex; flex-wrap: wrap; align-items: baseline; gap: 2px 8px; font-size: .84rem; line-height: 1.35; }
.ka-cm-head strong { font-weight: 800; color: #1B2345; overflow-wrap: anywhere; }
.ka-cm.is-staff .ka-cm-head strong { color: #C8141B; }
.ka-cm.is-staff .ka-cm-head strong::after { content: "✓"; display: inline-grid; place-items: center; width: 15px; height: 15px; margin-left: 5px; border-radius: 50%; background: #ED1C24; color: #FFFFFF; font-size: .62rem; vertical-align: 1px; }
.ka-cm-head time { color: #8A93AD; font-size: .76rem; }
.ka-cm.is-pending .ka-cm-head time { color: #B26A00; font-weight: 700; }
.ka-cm.is-pending .ka-cm-body { background: #FFF7E6; }
.ka-cm-text { margin: 0; font-size: .92rem; line-height: 1.5; white-space: pre-line; overflow-wrap: anywhere; color: #333B57; }

.ka-lb-form { flex: none; padding: 12px 16px 14px; border-top: 1px solid #E8EBF2; background: #FAFBFD; display: grid; gap: 8px; }
.ka-lb-in {
	width: 100%; box-sizing: border-box; font: inherit; font-size: .95rem; color: #1B2345;
	padding: 9px 12px; border: 1px solid #D5DAE6; border-radius: 10px; background: #FFFFFF; resize: vertical; min-height: 40px;
}
textarea.ka-lb-in { min-height: 64px; max-height: 160px; }
.ka-lb-in:focus { outline: none; border-color: var(--wp--preset--color--accent-1, #ED1C24); box-shadow: 0 0 0 3px rgba(237,28,36,.14); }
.ka-lb-form-foot { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.ka-lb-form-foot small { color: #6B7491; font-size: .76rem; line-height: 1.35; }
.ka-lightbox .ka-lb-send {
	flex: none; width: auto; height: auto; border-radius: 999px; padding: 9px 20px; font-size: .92rem; font-weight: 800; line-height: 1.2;
	background: #ED1C24; color: #FFFFFF;
}
.ka-lightbox .ka-lb-send:hover { background: #C8141B; }
.ka-lightbox .ka-lb-send:disabled { opacity: .6; cursor: wait; }
.ka-lb-msg { margin: 0; font-size: .84rem; line-height: 1.4; }
.ka-lb-msg:empty { display: none; }
.ka-lb-msg.is-ok { color: #1A7F45; }
.ka-lb-msg.is-err { color: #C8141B; }

/* Tablet & telefon: panel komen jadi lembaran dari bawah, dibuka dengan butang "Komen" */
@media (max-width: 1023px) {
	.ka-lightbox.has-side { grid-template-columns: 64px minmax(0, 1fr) 64px; }
	.ka-lightbox.has-side .ka-lb-caption { grid-column: 1 / -1; }
	.ka-lightbox .ka-lb-cbtn:not([hidden]) { display: inline-flex; }
	.ka-lb-side {
		position: absolute; left: 0; right: 0; bottom: 0; z-index: 3; max-height: 80%; max-height: 80dvh;
		grid-column: auto; grid-row: auto;
		border-radius: 18px 18px 0 0; transform: translateY(105%); visibility: hidden;
		transition: transform .28s cubic-bezier(.2,.7,.2,1), visibility 0s linear .28s;
	}
	.ka-lightbox.is-sheet .ka-lb-side { transform: none; visibility: visible; transition: transform .28s cubic-bezier(.2,.7,.2,1), visibility 0s; }
	.ka-lightbox.is-sheet::after { content: ""; position: absolute; inset: 0; z-index: 2; background: rgba(0,0,0,.35); }
	.ka-lightbox .ka-lb-side-close { display: grid; }
	.ka-lb-list { min-height: 120px; }
	.ka-lb-side { width: auto; }
	.ka-lb-form { padding-bottom: max(14px, env(safe-area-inset-bottom)); }
}
@media (min-width: 600px) and (max-width: 1023px) {
	.ka-lb-side { left: 50%; right: auto; width: min(620px, 100%); margin-left: max(-310px, -50%); }
}
@media (max-width: 599px) {
	.ka-lightbox.has-side { grid-template-columns: 0 minmax(0, 1fr) 0; }
	.ka-g-stats { top: 7px; left: 7px; gap: 4px; }
	.ka-g-st { font-size: .7rem; padding: 3px 7px 3px 6px; gap: 4px; }
	.ka-g-st svg { width: 12px; height: 12px; }
	.ka-lb-form-foot small { font-size: .72rem; }
	.ka-lb-in { font-size: 16px; } /* elak zum automatik iPhone */
}
@media (prefers-reduced-motion: reduce) { .ka-lb-side { transition: none !important; } }

/* ==========================================================
   v1.10 — Promosi
   ========================================================== */
.ka-lightbox:not(.has-side) .ka-lb-side { display: none; }

/* Menu: pautan Promosi diserlahkan */
.ka-nav .ka-nav-promo > a { color: var(--wp--preset--color--accent-1) !important; font-weight: 800; display: inline-flex; align-items: center; gap: 6px; }
.ka-nav .ka-nav-promo > a::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; box-shadow: 0 0 0 3px rgba(237,28,36,.18); }
@media (prefers-reduced-motion: no-preference) {
	.ka-nav .ka-nav-promo > a::before { animation: kaPing 1.8s ease-in-out infinite; }
}
@keyframes kaPing { 0%, 100% { box-shadow: 0 0 0 2px rgba(237,28,36,.25); } 50% { box-shadow: 0 0 0 6px rgba(237,28,36,0); } }

.ka-promo-wrap, .ka-promo-page-content { margin-top: clamp(28px, 4vw, 48px) !important; }
.ka-promos { display: grid; gap: clamp(18px, 2.4vw, 28px); grid-template-columns: repeat(3, minmax(0, 1fr)); align-items: stretch; }
.ka-promos.is-n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 900px; margin-inline: auto; }
.ka-promos.is-n1 { grid-template-columns: minmax(0, 1fr); max-width: 980px; margin-inline: auto; }

.ka-promo {
	position: relative; display: flex; flex-direction: column; min-width: 0; scroll-margin-top: 120px;
	background: #FFFFFF; border: 1px solid #E3E7F0; border-radius: 18px; overflow: hidden;
	box-shadow: 0 28px 56px -40px rgba(17,25,54,.65); transition: transform .2s ease, box-shadow .2s ease;
}
.ka-promo:hover { transform: translateY(-3px); box-shadow: 0 34px 60px -38px rgba(17,25,54,.7); }
.ka-promo:target { outline: 3px solid var(--wp--preset--color--accent-1); outline-offset: 3px; }

/* Poster: tidak dipotong (contain) dengan latar kabur daripada poster yang sama */
.ka-promo-media { position: relative; display: block; aspect-ratio: 4 / 5; overflow: hidden; background: #10172F; isolation: isolate; }
.ka-promo-bg { position: absolute; inset: -24px; width: calc(100% + 48px); height: calc(100% + 48px); object-fit: cover; filter: blur(22px) brightness(.55) saturate(1.2); z-index: -1; }
.ka-promo-img { position: relative; display: block; width: 100%; height: 100%; object-fit: contain; transition: transform .5s cubic-bezier(.2,.7,.2,1); }
a.ka-promo-media { cursor: zoom-in; }
a.ka-promo-media:hover .ka-promo-img { transform: scale(1.03); }
.ka-promo-media.is-empty {
	display: grid; place-items: center;
	background: radial-gradient(120% 90% at 85% 10%, rgba(237,28,36,.9), transparent 55%), linear-gradient(135deg, #1B2345, #0E1430);
}
.ka-promo-ph { display: grid; justify-items: center; gap: 6px; padding: 20px; text-align: center; color: #FFFFFF; font-size: clamp(1.6rem, 3vw, 2.3rem); font-weight: 900; letter-spacing: .02em; line-height: 1.05; text-transform: uppercase; }
.ka-promo-ph small { font-size: .78rem; font-weight: 800; letter-spacing: .22em; color: #FFB3B6; }
.ka-promo-badge {
	position: absolute; top: 14px; left: 14px; z-index: 2; max-width: calc(100% - 28px);
	padding: 7px 12px; border-radius: 8px; background: #ED1C24; color: #FFFFFF;
	font-size: .8rem; font-weight: 900; letter-spacing: .06em; text-transform: uppercase; line-height: 1.15;
	box-shadow: 0 10px 24px -10px rgba(237,28,36,.9);
}
.ka-promo-left {
	position: absolute; right: 14px; bottom: 14px; z-index: 2;
	padding: 6px 12px; border-radius: 999px; background: #FFFFFF; color: #C8141B;
	font-size: .78rem; font-weight: 800; line-height: 1.2; box-shadow: 0 10px 24px -12px rgba(0,0,0,.6);
}

.ka-promo-body { display: flex; flex-direction: column; gap: 10px; flex: 1; padding: clamp(18px, 2.2vw, 24px); }
.ka-promo-body > * { margin: 0 !important; }
.ka-promo-date { display: flex; align-items: center; gap: 7px; color: var(--wp--preset--color--accent-1); font-size: .82rem; font-weight: 800; letter-spacing: .02em; text-transform: uppercase; }
.ka-promo-date svg { width: 15px; height: 15px; fill: currentColor; flex: none; }
.ka-promo-title { font-size: clamp(1.15rem, 1.7vw, 1.35rem) !important; line-height: 1.25 !important; color: var(--wp--preset--color--accent-3); }
.ka-promo-price { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; }
.ka-promo-now { color: var(--wp--preset--color--accent-1); font-size: clamp(1.5rem, 2.4vw, 1.9rem); font-weight: 900; line-height: 1.1; letter-spacing: -.01em; }
.ka-promo-was { color: #8A93AD; font-size: 1rem; font-weight: 600; }
.ka-promo-desc { color: var(--wp--preset--color--accent-4); font-size: .95rem; line-height: 1.6; }
.ka-promo-desc p { margin: 0 0 .6em; }
.ka-promo-desc p:last-child { margin-bottom: 0; }
.ka-promo-desc ul { margin: 0; padding-left: 1.2em; }
.ka-promo-terms { font-size: .85rem; color: var(--wp--preset--color--accent-4); border-top: 1px dashed #DDE2EC; padding-top: 10px; }
.ka-promo-terms summary { cursor: pointer; font-weight: 700; color: var(--wp--preset--color--accent-3); list-style: none; display: inline-flex; align-items: center; gap: 6px; }
.ka-promo-terms summary::-webkit-details-marker { display: none; }
.ka-promo-terms summary::after { content: "+"; display: inline-grid; place-items: center; width: 18px; height: 18px; border-radius: 50%; background: #EEF0F7; font-size: .8rem; }
.ka-promo-terms[open] summary::after { content: "–"; }
.ka-promo-terms p { margin: 8px 0 0; line-height: 1.55; }

.ka-promo-actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin-top: auto !important; padding-top: 6px; }
.ka-promo-btn {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; flex: 1 1 auto;
	padding: 11px 18px; border-radius: 999px; background: var(--wp--preset--color--accent-1); color: #FFFFFF !important;
	font-size: .92rem; font-weight: 800; line-height: 1.2; text-decoration: none; white-space: nowrap;
	box-shadow: 0 12px 26px -14px rgba(237,28,36,.85); transition: background-color .15s ease, transform .15s ease;
}
.ka-promo-btn:hover { background: #C4141B; transform: translateY(-1px); }
.ka-promo-btn.is-wa { background: #25D366; box-shadow: 0 12px 26px -14px rgba(18,140,75,.8); }
.ka-promo-btn.is-wa:hover { background: #1DA851; }
.ka-promo-btn.is-wa::before {
	content: ""; width: 17px; height: 17px; background: currentColor;
	-webkit-mask: url(assets/images/icon-chat.svg) center / contain no-repeat; mask: url(assets/images/icon-chat.svg) center / contain no-repeat;
}
.ka-promo-btn.is-link { background: #FFFFFF; color: var(--wp--preset--color--accent-3) !important; border: 1px solid #D5DAE6; box-shadow: none; }
.ka-promo-btn.is-link:hover { background: #F4F6FA; }
.ka-promo-share {
	position: absolute; top: 12px; right: 12px; z-index: 3; width: 40px; height: 40px; padding: 0; display: grid; place-items: center; cursor: pointer;
	border-radius: 50%; border: 0; background: rgba(255,255,255,.92); color: var(--wp--preset--color--accent-3);
	box-shadow: 0 8px 20px -10px rgba(0,0,0,.6); transition: background-color .15s ease, color .15s ease;
}
.ka-promo-share:hover, .ka-promo-share:focus-visible { background: var(--wp--preset--color--accent-1); color: #FFFFFF; }
.ka-promo-share svg { width: 18px; height: 18px; fill: currentColor; }
.ka-promo-more { text-align: center; margin: clamp(24px, 3vw, 36px) 0 0 !important; }

/* Satu promosi: poster di kiri, butiran di kanan */
@media (min-width: 782px) {
	.ka-promos.is-n1 .ka-promo { flex-direction: row; }
	.ka-promos.is-n1 .ka-promo-media { flex: 0 0 44%; }
	.ka-promos.is-n1 .ka-promo-media.is-empty { aspect-ratio: auto; min-height: 340px; }
	.ka-promos.is-n1 .ka-promo-share { left: calc(44% - 52px); right: auto; }
	.ka-promos.is-n1 .ka-promo-body { justify-content: center; padding: clamp(24px, 3.4vw, 44px); gap: 14px; }
	.ka-promos.is-n1 .ka-promo-title { font-size: clamp(1.4rem, 2.4vw, 1.85rem) !important; }
	.ka-promos.is-n1 .ka-promo-actions { margin-top: 8px !important; }
	.ka-promos.is-n1 .ka-promo-btn { flex: 0 1 auto; padding: 13px 26px; }
}

/* Halaman Promosi bila tiada promosi */
.ka-promo-none {
	max-width: 640px; margin: 0 auto; text-align: center; background: #FFFFFF; border: 1px solid #E3E7F0; border-radius: 18px;
	padding: clamp(26px, 4vw, 44px); box-shadow: 0 30px 60px -44px rgba(17,25,54,.6);
}
.ka-promo-none-ico { display: inline-grid; place-items: center; width: 64px; height: 64px; margin: 0 auto 6px !important; border-radius: 50%; background: #FDECEC; color: var(--wp--preset--color--accent-1); }
.ka-promo-none-ico svg { width: 30px; height: 30px; fill: currentColor; }
.ka-promo-none h2 { margin: 10px 0 8px !important; font-size: clamp(1.3rem, 2.4vw, 1.6rem) !important; }
.ka-promo-none p { color: var(--wp--preset--color--accent-4); }
.ka-promo-none-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: 10px; margin-top: 18px !important; }
.ka-promo-none-actions .ka-promo-btn { flex: 0 1 auto; padding: 11px 24px; }

/* Laman utama di tablet/telefon: leret ke tepi (karusel) supaya seksyen tidak terlalu panjang */
@media (max-width: 1023px) {
	.ka-promos { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ka-promos.is-n3:not(.is-page) {
		grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: calc((100% - 20px) / 2.2); gap: 20px;
		overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory; scroll-padding-inline: 2px;
		padding: 4px 2px 48px; margin-bottom: -42px;
	}
	.ka-promos.is-n3:not(.is-page) > .ka-promo { scroll-snap-align: start; }
	.ka-promos.is-n3:not(.is-page) > .ka-promo:hover { transform: none; }
}
@media (max-width: 599px) {
	.ka-promos.is-page, .ka-promos.is-n1 { grid-template-columns: minmax(0, 1fr); max-width: 460px; margin-inline: auto; }
	.ka-promos.is-n2:not(.is-page), .ka-promos.is-n3:not(.is-page) {
		grid-template-columns: none; grid-auto-flow: column; grid-auto-columns: 84%; gap: 14px; max-width: none;
		overflow-x: auto; overscroll-behavior-x: contain; scroll-snap-type: x mandatory;
		padding: 4px 2px 48px; margin-bottom: -42px;
	}
	.ka-promos.is-n2:not(.is-page) > .ka-promo, .ka-promos.is-n3:not(.is-page) > .ka-promo { scroll-snap-align: center; }
	.ka-promos:not(.is-page) > .ka-promo:hover { transform: none; }
	.ka-promo-badge { top: 10px; left: 10px; font-size: .72rem; }
	.ka-promo-left { right: 10px; bottom: 10px; }
	.ka-promo-share { top: 10px; right: 10px; width: 36px; height: 36px; }
	.ka-promo-actions { gap: 8px; }
	.ka-promo-btn { padding: 11px 14px; }
}
@media (prefers-reduced-motion: reduce) { .ka-promo, .ka-promo-img { transition: none; } }
/* Menu 7 pautan (dengan Promosi): kekal satu baris pada skrin 1024–1199px */
@media (min-width: 1024px) and (max-width: 1199px) {
	.ka-nav { font-size: .88rem; }
	.ka-nav .wp-block-navigation__container { gap: 16px !important; }
	.ka-header .ka-header-cta .wp-block-button__link { padding-left: 18px !important; padding-right: 18px !important; }
}

/* ==========================================================
   v1.11 — Ulasan: balasan KOWA AUTO
   ========================================================== */
.ka-rv-reply {
	margin: 0; padding: 12px 14px 13px; border-radius: 4px 14px 14px 14px;
	background: #F4F6FA; box-shadow: inset 3px 0 0 var(--wp--preset--color--accent-1);
}
.ka-rv-reply-head { margin: 0 0 5px !important; display: flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; font-size: .82rem; line-height: 1.3; }
.ka-rv-reply-logo {
	flex: none; width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center;
	background: var(--wp--preset--color--accent-1); color: #FFFFFF; font-size: .7rem; font-weight: 900;
}
.ka-rv-reply-head strong { color: #C8141B; font-weight: 800; }
.ka-rv-reply-head time { color: #8A93AD; font-size: .76rem; }
.ka-rv-reply-text { margin: 0 !important; font-size: .9rem; line-height: 1.55; color: var(--wp--preset--color--accent-4); overflow-wrap: anywhere; }
/* Karusel laman utama: balasan diringkaskan kepada 3 baris */
.ka-reviews .ka-rv-reply-text { display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }

/* ==========================================================
   v1.12 — Media sosial (Facebook, Instagram, TikTok)
   ========================================================== */
.ka-social-section { padding-top: clamp(48px, 6.5vw, 88px); padding-bottom: clamp(48px, 6.5vw, 88px); background: #FFFFFF; position: relative; overflow: hidden; }
.ka-social-section::before {
	content: ""; position: absolute; inset: auto -10% -60% -10%; height: 90%; pointer-events: none;
	background: radial-gradient(40% 60% at 20% 50%, rgba(24,119,242,.07), transparent 70%),
		radial-gradient(40% 60% at 50% 50%, rgba(214,41,118,.07), transparent 70%),
		radial-gradient(40% 60% at 80% 50%, rgba(37,244,238,.08), transparent 70%);
}
.ka-social-wrap { margin-top: clamp(26px, 3.6vw, 44px) !important; position: relative; }
.ka-social { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: clamp(14px, 2vw, 24px); }
.ka-social.is-n2 { grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 820px; margin-inline: auto; }
.ka-social.is-n1 { grid-template-columns: minmax(0, 420px); justify-content: center; }

.ka-soc {
	--soc: #1B2345; --soc-soft: #EEF0F7;
	position: relative; display: flex; flex-direction: column; align-items: flex-start; gap: 16px; min-width: 0;
	padding: clamp(20px, 2.4vw, 28px); border-radius: 20px; text-decoration: none !important; color: var(--wp--preset--color--accent-3);
	background: #FFFFFF; border: 1px solid #E3E7F0; box-shadow: 0 24px 50px -40px rgba(17,25,54,.6); overflow: hidden; isolation: isolate;
	transition: transform .25s cubic-bezier(.2,.7,.2,1), box-shadow .25s ease, border-color .25s ease;
}
.ka-soc::after { content: ""; position: absolute; left: 0; right: 0; top: 0; height: 4px; background: var(--soc); transform: scaleX(0); transform-origin: left; transition: transform .35s cubic-bezier(.2,.7,.2,1); }
.ka-soc:hover, .ka-soc:focus-visible { transform: translateY(-4px); border-color: transparent; box-shadow: 0 30px 60px -36px rgba(17,25,54,.55); }
.ka-soc:hover::after, .ka-soc:focus-visible::after { transform: scaleX(1); }
.ka-soc.is-facebook { --soc: #1877F2; --soc-soft: #E8F1FE; }
.ka-soc.is-instagram { --soc: linear-gradient(90deg, #FEDA75, #FA7E1E, #D62976, #962FBF, #4F5BD5); --soc-soft: #FCEBF3; }
.ka-soc.is-tiktok { --soc: linear-gradient(90deg, #25F4EE, #010101 50%, #FE2C55); --soc-soft: #EFF1F4; }

.ka-soc-ico { flex: none; width: 58px; height: 58px; border-radius: 17px; display: grid; place-items: center; color: #FFFFFF; transition: transform .3s cubic-bezier(.2,.7,.2,1); }
.ka-soc-ico svg { width: 30px; height: 30px; }
.ka-soc:hover .ka-soc-ico { transform: rotate(-6deg) scale(1.06); }
.is-facebook .ka-soc-ico { background: #1877F2; box-shadow: 0 14px 28px -14px rgba(24,119,242,.9); }
.is-instagram .ka-soc-ico { background: radial-gradient(circle at 30% 107%, #FDF497 0%, #FDF497 5%, #FD5949 45%, #D6249F 60%, #285AEB 90%); box-shadow: 0 14px 28px -14px rgba(214,36,159,.9); }
.is-tiktok .ka-soc-ico { background: #010101; box-shadow: 0 14px 28px -14px rgba(0,0,0,.9); }
.is-tiktok .ka-soc-ico svg { filter: drop-shadow(-1.6px -1.2px 0 #25F4EE) drop-shadow(1.6px 1.2px 0 #FE2C55); }

.ka-soc-txt { display: grid; gap: 2px; min-width: 0; }
.ka-soc-txt strong { font-size: 1.2rem; font-weight: 800; line-height: 1.2; color: var(--wp--preset--color--accent-3); }
.ka-soc-handle { font-size: .9rem; font-weight: 700; color: var(--wp--preset--color--accent-1); }
.ka-soc-desc { margin-top: 4px; font-size: .92rem; line-height: 1.5; color: var(--wp--preset--color--accent-4); }
.ka-soc-go {
	margin-top: auto; display: inline-flex; align-items: center; gap: 8px; padding: 9px 16px 9px 18px; border-radius: 999px;
	background: var(--soc-soft); color: var(--wp--preset--color--accent-3); font-size: .9rem; font-weight: 800; line-height: 1.2;
	transition: background-color .2s ease, color .2s ease, gap .2s ease;
}
.ka-soc-go svg { width: 17px; height: 17px; }
.ka-soc:hover .ka-soc-go, .ka-soc:focus-visible .ka-soc-go { background: var(--wp--preset--color--accent-3); color: #FFFFFF; gap: 12px; }
.ka-soc.is-facebook:hover .ka-soc-go { background: #1877F2; }
.ka-soc.is-instagram:hover .ka-soc-go { background: #D62976; }
.ka-soc.is-tiktok:hover .ka-soc-go { background: #010101; }

/* Footer: ikon bulat */
.ka-footer-top { gap: 18px 28px; }
.ka-social-icons { display: flex; align-items: center; flex-wrap: wrap; gap: 10px; }
.ka-social-icons-label { margin-right: 4px; color: #9CA6C6; font-size: .78rem; font-weight: 700; letter-spacing: .14em; text-transform: uppercase; }
.ka-footer .ka-si, .ka-si {
	width: 42px; height: 42px; display: grid; place-items: center; border-radius: 50%;
	background: rgba(255,255,255,.08); color: #FFFFFF !important; box-shadow: inset 0 0 0 1px rgba(255,255,255,.1);
	transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.ka-si svg { width: 20px; height: 20px; }
.ka-si:hover, .ka-si:focus-visible { transform: translateY(-3px); box-shadow: none; }
.ka-si.is-facebook:hover, .ka-si.is-facebook:focus-visible { background: #1877F2; }
.ka-si.is-instagram:hover, .ka-si.is-instagram:focus-visible { background: radial-gradient(circle at 30% 107%, #FDF497 0%, #FDF497 5%, #FD5949 45%, #D6249F 60%, #285AEB 90%); }
.ka-si.is-tiktok:hover, .ka-si.is-tiktok:focus-visible { background: #010101; }
.ka-si.is-tiktok:hover svg { filter: drop-shadow(-1.2px -1px 0 #25F4EE) drop-shadow(1.2px 1px 0 #FE2C55); }

@media (max-width: 781px) {
	.ka-social, .ka-social.is-n2 { grid-template-columns: minmax(0, 1fr); max-width: 520px; margin-inline: auto; gap: 12px; }
	.ka-soc { flex-direction: row; align-items: center; gap: 14px; padding: 16px 16px 16px 16px; border-radius: 18px; }
	.ka-soc::after { top: 0; bottom: 0; right: auto; width: 4px; height: auto; transform: scaleY(0); transform-origin: top; }
	.ka-soc:hover::after, .ka-soc:focus-visible::after { transform: scaleY(1); }
	.ka-soc.is-instagram, .ka-soc.is-tiktok { --soc: linear-gradient(180deg, #FEDA75, #D62976, #4F5BD5); }
	.ka-soc.is-tiktok { --soc: linear-gradient(180deg, #25F4EE, #FE2C55); }
	.ka-soc-ico { width: 52px; height: 52px; border-radius: 15px; }
	.ka-soc-ico svg { width: 27px; height: 27px; }
	.ka-soc-txt { flex: 1; }
	.ka-soc-txt strong { font-size: 1.05rem; }
	.ka-soc-desc { margin-top: 1px; font-size: .84rem; }
	.ka-soc-go { margin: 0; padding: 0; width: 40px; height: 40px; justify-content: center; flex: none; }
	.ka-soc-go-txt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.ka-soc:hover { transform: none; }
	.ka-footer-top { flex-direction: column; align-items: flex-start !important; }
}
@media (prefers-reduced-motion: reduce) { .ka-soc, .ka-soc::after, .ka-soc-ico, .ka-si { transition: none; } }

/* ==========================================================
   v1.14 — Galeri: Suka & Kongsi · Ikon media sosial di header · Kad QR "Akan Datang"
   ========================================================== */
/* Lencana suka pada petak galeri */
.ka-g-st.is-likes svg { color: #FF6B72; }

/* Lightbox: butang Suka & Kongsi */
.ka-lightbox .ka-lb-like, .ka-lightbox .ka-lb-share {
	width: auto; height: auto; display: inline-flex; align-items: center; gap: 7px; padding: 8px 15px; border-radius: 999px;
	background: rgba(255,255,255,.12); color: #FFFFFF; font-size: .9rem; font-weight: 700; line-height: 1.2;
	box-shadow: inset 0 0 0 1px rgba(255,255,255,.14);
}
.ka-lightbox .ka-lb-like[hidden], .ka-lightbox .ka-lb-share[hidden] { display: none; }
.ka-lightbox .ka-lb-like svg, .ka-lightbox .ka-lb-share svg { width: 18px; height: 18px; flex: none; }
.ka-lightbox .ka-lb-like svg { fill: none; stroke: currentColor; stroke-width: 2; }
.ka-lightbox .ka-lb-share svg { fill: currentColor; }
.ka-lightbox .ka-lb-like:hover, .ka-lightbox .ka-lb-share:hover { background: rgba(255,255,255,.22); }
.ka-lightbox .ka-lb-like.is-on { background: rgba(237,28,36,.22); box-shadow: inset 0 0 0 1px rgba(255,107,114,.5); color: #FFD3D5; }
.ka-lightbox .ka-lb-like.is-on svg { fill: #FF4D57; stroke: #FF4D57; }
.ka-lightbox .ka-lb-like.is-pop svg { animation: kaHeart .45s cubic-bezier(.2,.7,.2,1.4); }
@keyframes kaHeart { 0% { transform: scale(1); } 40% { transform: scale(1.45); } 100% { transform: scale(1); } }

/* Menu kongsi */
.ka-share-pop {
	position: absolute; z-index: 6; min-width: 210px; padding: 8px; border-radius: 16px; background: #FFFFFF;
	box-shadow: 0 30px 70px -20px rgba(0,0,0,.6); display: grid; gap: 2px; animation: kaFade .15s ease both;
}
.ka-share-pop[hidden] { display: none; }
.ka-lightbox .ka-share-pop a, .ka-lightbox .ka-share-pop button {
	width: auto; height: auto; display: flex; align-items: center; gap: 12px; padding: 9px 12px; border-radius: 10px;
	background: transparent; color: #1B2345; font: inherit; font-size: .93rem; font-weight: 700; text-decoration: none; text-align: left; cursor: pointer;
}
.ka-lightbox .ka-share-pop a:hover, .ka-lightbox .ka-share-pop button:hover, .ka-lightbox .ka-share-pop a:focus-visible { background: #F1F3F8; color: #1B2345; }
.ka-share-pop i { flex: none; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; background: #1B2345; }
.ka-share-pop i::before { content: ""; width: 17px; height: 17px; background: #FFFFFF; -webkit-mask: var(--ico) center / contain no-repeat; mask: var(--ico) center / contain no-repeat; }
.ka-share-pop .is-wa i { background: #25D366; --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2Zm5.4 14.2c-.2.6-1.3 1.2-1.8 1.3-.5.1-1 .1-1.7-.1-.4-.1-.9-.3-1.5-.6-2.7-1.2-4.4-3.9-4.6-4.1-.1-.2-1.1-1.5-1.1-2.8 0-1.3.7-2 1-2.3.2-.3.5-.3.7-.3h.5c.2 0 .4 0 .6.5l.8 2c.1.2.1.3 0 .5l-.3.5-.4.4c-.1.1-.3.3-.1.6.2.3.7 1.2 1.6 1.9 1.1.9 2 1.2 2.3 1.4.3.1.4.1.6-.1l.8-1c.2-.3.4-.2.6-.1l1.9.9c.3.1.5.2.5.3.1.2.1.7-.1 1.4Z'/%3E%3C/svg%3E"); }
.ka-share-pop .is-fb i { background: #1877F2; --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M13.5 21.5v-8h2.7l.4-3.2h-3.1V8.3c0-.9.3-1.6 1.6-1.6h1.7V3.9c-.3 0-1.3-.1-2.5-.1-2.5 0-4.2 1.5-4.2 4.3v2.2H7.3v3.2h2.8v8h3.4Z'/%3E%3C/svg%3E"); }
.ka-share-pop .is-x i { background: #000000; --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M17.8 3h3l-6.6 7.6L22 21h-6.1l-4.8-6.2L5.6 21h-3l7.1-8.1L2.2 3h6.2l4.3 5.7L17.8 3Zm-1 16.2h1.7L7.3 4.7H5.5l11.3 14.5Z'/%3E%3C/svg%3E"); }
.ka-share-pop .is-tg i { background: #229ED9; --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M21.4 4.3 18.3 19c-.2 1-.8 1.3-1.7.8l-4.6-3.4-2.2 2.1c-.2.2-.4.4-.9.4l.3-4.7 8.6-7.8c.4-.3-.1-.5-.6-.2L6.6 13 2 11.6c-1-.3-1-1 .2-1.5l17.9-6.9c.8-.3 1.6.2 1.3 1.1Z'/%3E%3C/svg%3E"); }
.ka-share-pop .is-copy i { background: #5B6582; --ico: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10.6 13.4a1 1 0 0 1 0-1.4l3.5-3.5a1 1 0 1 1 1.4 1.4L12 13.4a1 1 0 0 1-1.4 0Zm-1.8 5.3-1.4 1.4a4 4 0 0 1-5.6-5.6l3.5-3.5a4 4 0 0 1 5.4-.2 1 1 0 1 1-1.3 1.5 2 2 0 0 0-2.7.1l-3.5 3.5a2 2 0 0 0 2.8 2.8l1.4-1.4a1 1 0 1 1 1.4 1.4Zm6.4-14.8 1.4-1.4a4 4 0 0 1 5.6 5.6l-3.5 3.5a4 4 0 0 1-5.4.2 1 1 0 1 1 1.3-1.5 2 2 0 0 0 2.7-.1l3.5-3.5a2 2 0 0 0-2.8-2.8l-1.4 1.4a1 1 0 0 1-1.4-1.4Z'/%3E%3C/svg%3E"); }
@media (max-width: 599px) {
	.ka-lightbox .ka-lb-like, .ka-lightbox .ka-lb-share { padding: 8px 12px; }
	.ka-lightbox .ka-lb-share span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
	.ka-lightbox .ka-lb-caption { gap: 8px 10px; }
}

/* Header: ikon media sosial sebelah logo */
.ka-header .alignwide > .wp-block-html, .ka-header .alignwide > .ka-head-social { margin-right: auto !important; }
.ka-head-social { display: flex; align-items: center; gap: 8px; margin: 0 auto 0 4px; padding-left: 18px; position: relative; flex: none; }
.ka-head-social::before { content: ""; position: absolute; left: 0; top: 50%; width: 1px; height: 30px; margin-top: -15px; background: #DDE2EC; }
.ka-hs-ico {
	width: 36px; height: 36px; border-radius: 50%; display: grid; place-items: center; color: #FFFFFF !important; text-decoration: none;
	transition: transform .2s cubic-bezier(.2,.7,.2,1), box-shadow .2s ease;
}
.ka-hs-ico svg { width: 19px; height: 19px; }
.ka-hs-ico.is-facebook { background: #1877F2; }
.ka-hs-ico.is-instagram { background: radial-gradient(circle at 30% 107%, #FDF497 0%, #FDF497 5%, #FD5949 45%, #D6249F 60%, #285AEB 90%); }
.ka-hs-ico.is-tiktok { background: #010101; }
.ka-hs-ico.is-tiktok svg { filter: drop-shadow(-1.2px -1px 0 #25F4EE) drop-shadow(1.2px 1px 0 #FE2C55); }
.ka-hs-ico:hover, .ka-hs-ico:focus-visible { transform: translateY(-2px) scale(1.08); box-shadow: 0 10px 20px -10px rgba(17,25,54,.7); }
.ka-scrolled .ka-hs-ico { width: 32px; height: 32px; }
.ka-scrolled .ka-hs-ico svg { width: 17px; height: 17px; }
@media (min-width: 1024px) and (max-width: 1279px) {
	.ka-head-social { gap: 6px; padding-left: 14px; }
	.ka-hs-ico { width: 32px; height: 32px; }
	.ka-hs-ico svg { width: 17px; height: 17px; }
}
@media (max-width: 600px) {
	.ka-head-social { gap: 6px; padding-left: 12px; margin-left: 2px; }
	.ka-head-social::before { height: 24px; margin-top: -12px; }
	.ka-hs-ico, .ka-scrolled .ka-hs-ico { width: 30px; height: 30px; }
	.ka-hs-ico svg, .ka-scrolled .ka-hs-ico svg { width: 16px; height: 16px; }
}
@media (max-width: 340px) { .ka-head-social::before { display: none; } }

/* Kad QR "Akan Datang" */
.ka-book-card.is-soon { position: relative; overflow: hidden; isolation: isolate; }
.ka-book-qr.is-off { filter: blur(1.5px) grayscale(.3); opacity: .45; }
.ka-book-qr.is-off:hover { transform: none; }
.ka-book-soon {
	position: absolute; z-index: 2; left: -30%; right: -30%; top: 41%; transform: translateY(-50%) rotate(-24deg);
	padding: 12px 0; background: #ED1C24; color: #FFFFFF; text-align: center;
	box-shadow: 0 0 0 3px rgba(255,255,255,.9), 0 0 0 7px #ED1C24, 0 18px 40px -10px rgba(0,0,0,.6);
	pointer-events: none;
}
.ka-book-soon span { display: inline-block; font-size: clamp(1.25rem, 2.6vw, 1.6rem); font-weight: 900; letter-spacing: .14em; text-transform: uppercase; line-height: 1; text-shadow: 0 2px 0 rgba(0,0,0,.18); }
.ka-book-link.is-off { background: rgba(255,255,255,.12); color: rgba(255,255,255,.55); box-shadow: none; cursor: not-allowed; }
.ka-book-link.is-off:hover { background: rgba(255,255,255,.12); transform: none; }
@media (prefers-reduced-motion: reduce) { .ka-hs-ico, .ka-lightbox .ka-lb-like.is-pop svg { transition: none; animation: none; } }
/* Ruang header: menu 7 pautan + ikon */
@media (min-width: 1024px) and (max-width: 1279px) { .ka-head-social { display: none; } }
@media (max-width: 400px) {
	.ka-logo img, .ka-scrolled .ka-logo img { height: 34px; }
	.ka-head-social { gap: 5px; padding-left: 10px; }
	.ka-hs-ico, .ka-scrolled .ka-hs-ico { width: 28px; height: 28px; }
	.ka-hs-ico svg, .ka-scrolled .ka-hs-ico svg { width: 15px; height: 15px; }
}
@media (max-width: 340px) {
	.ka-logo img, .ka-scrolled .ka-logo img { height: 28px; }
	.ka-head-social { gap: 4px; padding-left: 4px; }
	.ka-hs-ico, .ka-scrolled .ka-hs-ico { width: 26px; height: 26px; }
	.ka-hs-ico svg, .ka-scrolled .ka-hs-ico svg { width: 14px; height: 14px; }
}

/* ==========================================================
   v1.15 — Butang tempahan "Akan Datang" (sistem tempahan online belum sedia)
   ========================================================== */
.wp-block-button.is-soon .wp-block-button__link, .ka-promo-btn.is-soon {
	position: relative; overflow: visible; cursor: not-allowed;
	background: #DDE2EC !important; color: #5B6582 !important; border-color: transparent !important;
	box-shadow: none !important; transform: none !important;
}
.wp-block-button.is-soon .wp-block-button__link:hover, .ka-promo-btn.is-soon:hover { background: #DDE2EC !important; color: #5B6582 !important; }
.ka-hero .wp-block-button.is-soon .wp-block-button__link, .ka-cta .wp-block-button.is-soon .wp-block-button__link {
	background: rgba(255,255,255,.18) !important; color: rgba(255,255,255,.75) !important;
}
.ka-soon-tag {
	position: absolute; top: -10px; right: -8px; z-index: 1; pointer-events: none;
	padding: 3px 8px; border-radius: 999px; background: #ED1C24; color: #FFFFFF;
	font-size: .62rem; font-weight: 800; letter-spacing: .06em; line-height: 1.2; text-transform: uppercase; white-space: nowrap;
	box-shadow: 0 0 0 2px #FFFFFF, 0 6px 14px -6px rgba(237,28,36,.9);
}
.ka-cta .ka-soon-tag { background: #1B2345; box-shadow: 0 0 0 2px #FFFFFF; }
/* Bar tindakan telefon */
.ka-ab--soon { position: relative; background: #ECEFF5 !important; color: #8A93AD !important; cursor: not-allowed; }
.ka-ab--soon em {
	position: absolute; top: -8px; left: 50%; transform: translateX(-50%); padding: 1px 6px; border-radius: 999px;
	background: #ED1C24; color: #FFFFFF; font-style: normal; font-size: .52rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; white-space: nowrap;
	box-shadow: 0 0 0 2px #FFFFFF;
}
.ka-ab--soon:active { transform: none; }

/* ==========================================================
   v1.16 — Dwibahasa: suis bahasa BM | EN
   Komputer: hujung kanan bar biru atas. Telefon/tablet kecil (< 782px): sebelah butang menu,
   dan pautan "English / Bahasa Melayu" di bawah menu telefon.
   ========================================================== */
.ka-lang { display: inline-flex; align-items: center; gap: 2px; padding: 3px; border-radius: 999px; flex: none; line-height: 1; }
.ka-lang-opt {
	display: inline-grid; place-items: center; min-width: 34px; height: 26px; padding: 0 9px; border-radius: 999px;
	font-size: .72rem; font-weight: 800; letter-spacing: .07em; text-decoration: none !important; white-space: nowrap;
	transition: background-color .2s ease, color .2s ease, box-shadow .2s ease;
}
.ka-lang-opt.is-active { cursor: default; }
/* Bar atas (gelap) */
.ka-topbar .ka-topbar-contact { margin-left: auto; }
.ka-lang--topbar { margin-left: 16px; background: rgba(255,255,255,.07); box-shadow: inset 0 0 0 1px rgba(255,255,255,.16); }
.ka-lang--topbar .ka-lang-globe { width: 15px; height: 15px; margin: 0 3px 0 6px; color: #9AA4C4; flex: none; }
.ka-topbar .ka-lang-opt { color: #C7CEE4; font-weight: 800; }
.ka-topbar .ka-lang-opt:hover, .ka-topbar .ka-lang-opt:focus-visible { color: #FFFFFF; background: rgba(255,255,255,.12); }
.ka-topbar .ka-lang-opt.is-active, .ka-topbar .ka-lang-opt.is-active:hover { background: #FFFFFF; color: #1B2345; box-shadow: 0 4px 12px -6px rgba(0,0,0,.6); }
/* Komputer kecil (1024–1199px): tagline disembunyikan supaya nombor telefon & suis bahasa muat satu baris */
@media (min-width: 1024px) and (max-width: 1199px) { .ka-topbar .ka-tagline { display: none; } }
/* Bawah 1024px: suis bahasa pindah ke header (sebelah butang menu) */
@media (max-width: 1023px) { .ka-lang--topbar { display: none; } }
/* Header (tablet & telefon) */
.ka-lang--header { display: none; }
@media (max-width: 1023px) {
	.ka-head-actions { gap: 10px !important; }
	.ka-lang--header { display: inline-flex; background: #EEF1F7; box-shadow: inset 0 0 0 1px #DDE2EC; }
	.ka-lang--header .ka-lang-opt { min-width: 32px; height: 32px; padding: 0 8px; font-size: .72rem; color: #5B6582; }
	.ka-lang--header .ka-lang-opt:hover { color: #1B2345; }
	.ka-lang--header .ka-lang-opt.is-active { background: #1B2345; color: #FFFFFF; box-shadow: 0 4px 10px -5px rgba(17,25,54,.75); }
}
/* Telefon: logo, ikon sosial, suis bahasa & butang menu muat satu baris */
@media (max-width: 480px) {
	.ka-header .alignwide { gap: 8px !important; }
	.ka-head-actions { gap: 6px !important; }
	.ka-logo img, .ka-scrolled .ka-logo img { height: 32px; }
	.ka-head-social { gap: 4px; padding-left: 8px; margin-left: 0; }
	.ka-head-social::before { height: 22px; margin-top: -11px; }
	.ka-hs-ico, .ka-scrolled .ka-hs-ico { width: 26px; height: 26px; }
	.ka-hs-ico svg, .ka-scrolled .ka-hs-ico svg { width: 14px; height: 14px; }
	.ka-lang--header { padding: 2px; gap: 0; }
	.ka-lang--header .ka-lang-opt { min-width: 28px; height: 28px; padding: 0 3px; font-size: .64rem; letter-spacing: .02em; }
}
@media (max-width: 400px) {
	.ka-header.alignfull { padding-left: 20px !important; padding-right: 20px !important; }
	.ka-logo img, .ka-scrolled .ka-logo img { height: 30px; }
}
@media (max-width: 380px) {
	.ka-logo img, .ka-scrolled .ka-logo img { height: 28px; }
	.ka-head-social { padding-left: 6px; }
}
@media (max-width: 365px) {
	.ka-header.alignfull { padding-left: 16px !important; padding-right: 16px !important; }
	.ka-header .alignwide { gap: 6px !important; }
	.ka-hs-ico, .ka-scrolled .ka-hs-ico { width: 24px; height: 24px; }
	.ka-hs-ico svg, .ka-scrolled .ka-hs-ico svg { width: 13px; height: 13px; }
}
/* Skrin sangat kecil: hanya butang bahasa satu lagi (cth. "EN") */
@media (max-width: 349px) {
	.ka-header.alignfull { padding-left: 14px !important; padding-right: 14px !important; }
	.ka-header .alignwide { gap: 6px !important; }
	.ka-logo img, .ka-scrolled .ka-logo img { height: 26px; }
	.ka-head-social::before { display: none; }
	.ka-head-social { padding-left: 2px; }
	.ka-lang--header .ka-lang-opt.is-active { display: none; }
	.ka-lang--header .ka-lang-opt { min-width: 30px; }
}
/* Menu telefon: pautan bahasa di bawah senarai */
.ka-nav .wp-block-navigation__responsive-container:not(.is-menu-open) .ka-nav-lang { display: none !important; }
.ka-nav .is-menu-open .ka-nav-lang { margin-top: 18px; border-bottom: 0 !important; }
.ka-nav .is-menu-open .ka-nav-lang .wp-block-navigation-item__content {
	justify-content: flex-start !important; gap: 12px; width: auto !important; align-self: flex-start;
	padding: 12px 18px !important; border-radius: 999px; background: rgba(255,255,255,.08); box-shadow: inset 0 0 0 1px rgba(255,255,255,.16);
	font-size: 1rem !important; font-weight: 700; color: #FFFFFF !important;
}
.ka-nav .is-menu-open .ka-nav-lang .wp-block-navigation-item__content::before {
	content: ""; width: 18px; height: 18px; flex: none; background: currentColor;
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8'%3E%3Ccircle cx='12' cy='12' r='9.2'/%3E%3Cpath d='M2.8 12h18.4M12 2.8c2.5 2.6 3.8 5.7 3.8 9.2s-1.3 6.6-3.8 9.2c-2.5-2.6-3.8-5.7-3.8-9.2S9.5 5.4 12 2.8Z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='1.8'%3E%3Ccircle cx='12' cy='12' r='9.2'/%3E%3Cpath d='M2.8 12h18.4M12 2.8c2.5 2.6 3.8 5.7 3.8 9.2s-1.3 6.6-3.8 9.2c-2.5-2.6-3.8-5.7-3.8-9.2S9.5 5.4 12 2.8Z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.ka-nav .is-menu-open .ka-nav-lang .wp-block-navigation-item__content::after { content: none; }
/* Menu telefon: "Promosi" (dengan titik merah) sejajar kiri seperti pautan lain */
.ka-nav .is-menu-open .ka-nav-promo .wp-block-navigation-item__label { margin-right: auto; margin-left: 10px; }
/* Menu telefon: ruang di bawah supaya pautan bahasa tidak terlindung oleh bar tindakan */
@media (max-width: 781px) { .ka-nav .is-menu-open .wp-block-navigation__responsive-container-content { padding-bottom: 104px !important; } }
