/* Shared Cakela footer. All rules stay inside the footer boundary. */
.home-footer.cakela-footer { display:block; width:100%; max-width:none; margin:0; padding:46px var(--gutter,28px) 20px; border-top:1px solid #dfd2c3; background:#fbf6ef; color:#493324; }
.cakela-footer,.cakela-footer * { box-sizing:border-box; }
.cakela-footer::before { display:none!important; }
.cakela-footer [hidden] { display:none!important; }
.cakela-footer .cakela-footer__inner { max-width:1280px; margin:auto; }
.cakela-footer svg { display:block; width:20px; height:20px; flex:none; }
.cakela-footer a { color:inherit; text-decoration:none; }
.cakela-footer a:focus-visible { outline:2px solid #975a35; outline-offset:5px; border-radius:5px; }
.cakela-footer a:hover { text-decoration:none; }
.cakela-footer .cakela-footer__masthead { display:flex; align-items:center; gap:28px; padding:0 0 28px; margin:0 0 30px; border-bottom:1px solid #e4d8ca; }
.cakela-footer .cakela-footer__logo { display:inline-flex; flex:none; margin:0; }
.cakela-footer .cakela-footer__logo img { display:block; width:156px; height:46px; max-width:100%; object-fit:contain; }
.cakela-footer .cakela-footer__masthead p { margin:0; max-width:39ch; font-size:14px; line-height:1.7; color:#796454; }
.cakela-footer .cakela-footer__signature { margin-left:auto; color:#947b64; font:italic 18px/1.5 Georgia,serif; white-space:nowrap; }
.cakela-footer .cakela-footer__grid { display:grid; grid-template-columns:minmax(0,1.12fr) minmax(0,1fr); gap:28px clamp(28px,4vw,60px); align-items:stretch; margin:0; }
.cakela-footer .cakela-footer__social-section { min-width:0; border-top:1px solid #e4d8ca; padding-top:26px; }
.cakela-footer .cakela-footer__eyebrow { margin:0 0 8px; color:#8d7561; font:600 10px/1.5 var(--sans,"Segoe UI",Arial,sans-serif); letter-spacing:.14em; }
.cakela-footer h2 { margin:0 0 22px; color:#493324; font:700 clamp(25px,2.4vw,32px)/1.35 var(--display,Georgia,serif); letter-spacing:normal; text-transform:none; }
.cakela-footer nav.cakela-footer__social { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; margin:0; }
.cakela-footer .cakela-footer__social-card { display:flex; flex-direction:column; align-items:flex-start; gap:15px; min-height:134px; padding:18px 16px 16px; border:1px solid #e7dacc; border-radius:12px; background:#fffcf8; position:relative; transition:background .18s,border-color .18s,transform .18s; }
.cakela-footer .cakela-footer__social-card:hover { transform:translateY(-3px); background:white; border-color:#c8b49d; }
.cakela-footer .cakela-footer__social-icon { color:#805c41; }
.cakela-footer .cakela-footer__social-icon svg { width:29px; height:29px; }
.cakela-footer .is-facebook .cakela-footer__social-icon { color:#1877f2; }
.cakela-footer .is-instagram .cakela-footer__social-icon { color:#bf4572; }
.cakela-footer .is-tiktok .cakela-footer__social-icon { color:#242728; }
.cakela-footer .cakela-footer__social-card strong { display:block; margin:0 0 4px; color:#493324; font:600 14px/1.4 var(--sans,"Segoe UI",Arial,sans-serif); }
.cakela-footer .cakela-footer__social-card small { display:block; max-width:20ch; font-size:11px; line-height:1.5; color:#856e5b; }
.cakela-footer .cakela-footer__social-arrow { position:absolute; top:18px; right:14px; color:#a18b76; }
.cakela-footer .cakela-footer__social-arrow svg { width:14px; height:14px; }
.cakela-footer .cakela-footer__contact { min-width:0; padding:0; }
.cakela-footer .cakela-footer__contact-head { display:flex; align-items:center; gap:14px; margin:0 0 18px; }
.cakela-footer .cakela-footer__contact-icon { display:grid; place-items:center; width:46px; height:46px; border:1px solid #decdb8; border-radius:50%; color:#8c6140; }
.cakela-footer .cakela-footer__contact-head h2 { font:500 13px/1.5 var(--sans,"Segoe UI",Arial,sans-serif); color:#806852; letter-spacing:0; margin:0 0 3px; }
.cakela-footer .cakela-footer__phone { display:inline-flex; font:600 clamp(26px,2.5vw,32px)/1.25 var(--sans,"Segoe UI",Arial,sans-serif); letter-spacing:-.04em; color:#503523; }
.cakela-footer .cakela-footer__phone:hover { color:#986039; }
.cakela-footer .cakela-footer__channels { display:flex; gap:10px; flex-wrap:wrap; margin:0 0 22px; }
.cakela-footer .cakela-footer__channel { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:44px; padding:11px 16px; border:1px solid #d8c6b0; border-radius:7px; font:500 13px/1.4 var(--sans,"Segoe UI",Arial,sans-serif); background:transparent; color:#61452f; }
.cakela-footer .cakela-footer__channel > svg:last-child { width:15px; height:15px; }
.cakela-footer .cakela-footer__channel.is-zalo { background:#1675e9; border-color:#1675e9; color:white; }
.cakela-footer .cakela-footer__channel.is-zalo:hover { background:#0866d7; }
.cakela-footer .cakela-footer__channel.is-messenger:hover { background:#f2e9dd; }
.cakela-footer .cakela-footer__address { display:flex; gap:10px; align-items:flex-start; margin:0 0 12px; }
.cakela-footer .cakela-footer__address > svg { width:18px; height:18px; color:#947154; margin-top:3px; }
.cakela-footer address { margin:0; font:400 14px/1.7 var(--sans,"Segoe UI",Arial,sans-serif); color:#68503e; }
.cakela-footer .cakela-footer__address:hover address { text-decoration:underline; text-underline-offset:4px; }
.cakela-footer .cakela-footer__hours { display:flex; align-items:center; gap:10px; margin:0; color:#846e58; font-size:13px; line-height:1.6; }
.cakela-footer .cakela-footer__hours > svg { width:18px; height:18px; }
.cakela-footer .cakela-footer__map-section { display:flex; flex-direction:column; min-width:0; grid-column:2; grid-row:1 / span 2; }
.cakela-footer .cakela-footer__map-heading { display:flex; align-items:center; justify-content:space-between; gap:18px; }
.cakela-footer .cakela-footer__map-pin { display:grid; place-items:center; width:42px; height:42px; border:1px solid #e0d0bd; border-radius:50%; color:#9c7757; margin-bottom:20px; }
.cakela-footer .cakela-footer__map { position:relative; min-height:285px; flex:1; overflow:hidden; border:1px solid #dfd3c1; border-radius:12px 12px 0 0; background:#efe8d9; }
.cakela-footer .cakela-footer__map-placeholder { position:absolute; inset:0; display:flex; flex-direction:column; justify-content:center; align-items:center; gap:12px; padding:24px; color:#795e44; font-size:14px; }
.cakela-footer .cakela-footer__map-placeholder a { text-decoration:underline; }
.cakela-footer .cakela-footer__map iframe { display:block; position:absolute; inset:0; border:0; width:100%; height:100%; }
.cakela-footer .cakela-footer__directions { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:17px 18px; border:1px solid #dfd3c1; border-top:0; border-radius:0 0 12px 12px; background:#fffaf3; }
.cakela-footer .cakela-footer__directions > span { display:flex; align-items:center; gap:7px; font-size:13px; font-weight:500; }
.cakela-footer .cakela-footer__directions > span:last-child { color:#93785d; font-size:11px; }
.cakela-footer .cakela-footer__directions svg { width:16px; height:16px; }
.cakela-footer .cakela-footer__directions:hover { background:#f4eadc; }
.cakela-footer.is-map-hidden .cakela-footer__grid { grid-template-columns:1fr; }
.cakela-footer.is-map-hidden .cakela-footer__contact { padding:0; border:0; }
.cakela-footer .cakela-footer__bottom { display:flex; justify-content:space-between; align-items:center; flex-wrap:wrap; gap:18px; border-top:1px solid #e4d8ca; margin-top:34px; padding-top:20px; color:#8f7963; font-size:11px; }
.cakela-footer nav.cakela-footer__links { display:flex; flex-wrap:wrap; gap:8px 22px; }
.cakela-footer .cakela-footer__links a { display:inline-flex; align-items:center; min-height:28px; color:#7c644f; font-size:12px; }
.cakela-footer .cakela-footer__links a:hover { text-decoration:underline; text-underline-offset:4px; }
.cakela-footer .cakela-footer__home { display:inline-flex; align-items:center; gap:7px; font-size:12px; }
.cakela-footer .cakela-footer__home svg { width:15px; height:15px; }
@media(max-width:980px) { .cakela-footer .cakela-footer__signature { display:none; } .cakela-footer .cakela-footer__grid { gap:28px; } .cakela-footer .cakela-footer__social-card { padding:16px 12px; } .cakela-footer .cakela-footer__social-card small { font-size:10px; } .cakela-footer .cakela-footer__directions > span:last-child { display:none; } }
@media(max-width:720px) { .home-footer.cakela-footer { padding:32px 20px 18px; } .cakela-footer .cakela-footer__masthead { gap:16px; padding-bottom:22px; margin-bottom:26px; align-items:flex-start; } .cakela-footer .cakela-footer__logo img { width:104px; height:36px; } .cakela-footer .cakela-footer__masthead p { font-size:12px; line-height:1.6; } .cakela-footer .cakela-footer__grid { grid-template-columns:1fr; gap:30px; } .cakela-footer .cakela-footer__map-section { grid-column:auto; grid-row:auto; } .cakela-footer h2 { font-size:26px; margin-bottom:18px; } .cakela-footer nav.cakela-footer__social { gap:9px; margin-bottom:0; } .cakela-footer .cakela-footer__social-card { min-height:126px; padding:15px 11px; gap:15px; } .cakela-footer .cakela-footer__social-card strong { font-size:13px; } .cakela-footer .cakela-footer__social-card small { font-size:10px; } .cakela-footer .cakela-footer__social-icon svg { width:26px; height:26px; } .cakela-footer .cakela-footer__social-arrow { right:10px; top:16px; } .cakela-footer .cakela-footer__social-arrow svg { width:12px; height:12px; } .cakela-footer .cakela-footer__phone { font-size:30px; } .cakela-footer .cakela-footer__channels .cakela-footer__channel { flex:1; } .cakela-footer .cakela-footer__map { min-height:270px; flex:auto; } .cakela-footer .cakela-footer__directions > span:last-child { display:flex; } .cakela-footer .cakela-footer__bottom { gap:10px; margin-top:28px; padding-top:16px; } .cakela-footer nav.cakela-footer__links { order:3; width:100%; gap:6px 18px; } }
@media(prefers-reduced-motion:reduce) { .cakela-footer .cakela-footer__social-card { transition:none; } }

.cakela-footer .cakela-footer__social-card small { font-weight:400; }
.cakela-footer .cakela-footer__links a,.cakela-footer .cakela-footer__home { font-weight:500; }

.cakela-footer .cakela-footer__channel > img { display:block; width:26px; height:26px; object-fit:contain; flex:none; }
