/*
Theme Name: CaboLink Runtime
Theme URI: https://cabolink.invalid/runtime
Author: CaboLink
Description: Lightweight block-compatible runtime theme for generated CaboLink customer websites.
Version: 0.1.0
Requires at least: 6.5
Tested up to: 7.0
Requires PHP: 8.1
Text Domain: cabolink-runtime
*/

:root{--rose:#a43a63;--rose-dark:#9f355d;--sage:#e4f0ea;--ink:#25171c;--muted:#695963;--cream:#fff8f3;--line:#eadbd5;--focus:#1b6652}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,Segoe UI,sans-serif;color:var(--ink);background:var(--cream);line-height:1.6}a{color:inherit}img{max-width:100%;display:block}.skip-link{position:absolute;left:1rem;top:-4rem;background:var(--focus);color:white;padding:.7rem 1rem;border-radius:.4rem;z-index:20}.skip-link:focus{top:1rem}.site-header{position:sticky;top:0;z-index:10;background:rgba(255,248,243,.94);backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.nav-shell{max-width:1180px;margin:auto;display:flex;align-items:center;justify-content:space-between;padding:.8rem 1.25rem}.brand{display:flex;align-items:center;gap:.7rem;text-decoration:none;font-weight:850;min-width:0}.brand span:last-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.brand-mark{display:grid;place-items:center;width:2.35rem;height:2.35rem;border-radius:50%;background:var(--ink);color:#fff;flex:0 0 auto}.brand-logo{width:auto;max-width:150px;height:auto;max-height:48px;object-fit:contain}.menu-items{display:flex;gap:.2rem;list-style:none;margin:0;padding:0}.site-nav a{display:block;padding:.65rem .85rem;text-decoration:none;border-radius:999px;font-weight:700;color:var(--muted)}.site-nav a:hover,.site-nav .current-menu-item>a,.site-nav a[aria-current=page]{background:#fff;color:var(--rose-dark)}.menu-toggle{display:none;border:1px solid var(--line);background:#fff;border-radius:999px;padding:.65rem .9rem;font-weight:800}.section{max-width:1180px;margin:auto;padding:4.75rem 1.25rem}.hero{display:grid;grid-template-columns:minmax(0,1.02fr) minmax(300px,.78fr);gap:3rem;align-items:center;min-height:calc(88vh - 76px);padding-top:4rem}.eyebrow{text-transform:uppercase;letter-spacing:.12em;font-size:.78rem;font-weight:850;color:var(--rose-dark);margin:0 0 .75rem}.hero h1,.section h2{line-height:1.06;margin:.2rem 0 1rem;font-family:Georgia,serif}.hero h1{font-size:clamp(2.5rem,6vw,5rem);max-width:820px}.section h2{font-size:clamp(1.9rem,3.5vw,3rem)}.lead{font-size:1.16rem;color:var(--muted);max-width:720px}.hero-actions,.cta-section{display:flex;gap:1rem;flex-wrap:wrap;align-items:center}.button{display:inline-flex;align-items:center;justify-content:center;min-height:46px;padding:.8rem 1.1rem;border-radius:999px;text-decoration:none;font-weight:850;border:0}.primary{background:var(--rose-dark);color:#fff}.secondary{background:#fff;color:var(--rose-dark);border:1px solid var(--line)}.whatsapp{background:#174d3d;color:white}.hero-panel{aspect-ratio:4/5;border-radius:1rem;background:radial-gradient(circle at 20% 20%,#fff 0 10%,transparent 11%),linear-gradient(145deg,#fad7df,#fff0d4 48%,#d8eee7);position:relative;overflow:hidden;box-shadow:0 30px 80px rgba(85,45,55,.18)}.hero-panel span{position:absolute;border-radius:999px;background:rgba(255,255,255,.58);border:1px solid rgba(255,255,255,.75)}.hero-panel span:nth-child(1){width:45%;height:16%;left:12%;top:18%}.hero-panel span:nth-child(2){width:52%;height:52%;right:-12%;bottom:8%}.hero-panel span:nth-child(3){width:34%;height:34%;left:18%;bottom:18%;background:rgba(189,91,120,.25)}.hero-image{margin:0;border-radius:1rem;overflow:hidden;box-shadow:0 30px 80px rgba(85,45,55,.18);background:#fff}.hero-image img{width:100%;aspect-ratio:4/5;object-fit:cover}.section-heading{max-width:760px;margin-bottom:1.5rem}.section-intro{color:var(--muted)}.card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.services-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}.service-card,.testimonial,.location-card,.contact-form,.notice-card{background:#fff;border:1px solid var(--line);border-radius:.65rem;padding:1.25rem;box-shadow:0 16px 45px rgba(80,43,48,.07)}.service-card h3{font-size:1.18rem;margin:.35rem 0 .45rem}.service-card p,.testimonial p,.contact-section p,.notice-card p{color:var(--muted)}.service-card strong{color:var(--rose-dark)}.service-meta{display:flex;gap:.4rem;flex-wrap:wrap;min-height:1.5rem}.service-meta span{font-size:.78rem;font-weight:800;color:var(--rose-dark);background:var(--sage);border-radius:999px;padding:.2rem .55rem}.service-footer{display:flex;justify-content:space-between;gap:1rem;align-items:center;margin-top:1rem}.service-link,.text-link{display:inline-flex;color:var(--rose-dark);font-weight:850}.text-link{margin-top:1.2rem}.split{display:grid;grid-template-columns:1fr .75fr;gap:2rem;align-items:start}.value-list{display:grid;gap:.8rem;list-style:none;margin:0;padding:0}.value-list li{background:#fff;border:1px solid var(--line);border-radius:.6rem;padding:1rem;font-weight:800}.gallery-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.gallery-count-1{grid-template-columns:minmax(0,680px)}.gallery-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery-card{margin:0;background:#fff;border:1px solid var(--line);border-radius:.75rem;overflow:hidden}.gallery-card img{aspect-ratio:4/3;object-fit:cover;width:100%;background:#fff}.gallery-card figcaption{padding:.8rem 1rem;font-weight:800}.testimonial{margin:0}.testimonial cite{font-style:normal;font-weight:850;color:var(--rose-dark)}.cta-section{justify-content:space-between;background:var(--ink);color:#fff;border-radius:1rem;margin-top:3rem;margin-bottom:3rem}.cta-section .eyebrow{color:#ffd4df}.contact-layout{display:grid;grid-template-columns:1fr .8fr;gap:1rem;align-items:start}.contact-list{display:grid;grid-template-columns:max-content 1fr;gap:.35rem .8rem}.contact-list dt{font-weight:850}.contact-list dd{margin:0;color:var(--muted)}.hours-list{padding-left:1.2rem}.location-card{min-height:220px;background:linear-gradient(145deg,var(--sage),#fff4df);display:flex;flex-direction:column;justify-content:end}.location-card span{font-size:.8rem;text-transform:uppercase;font-weight:900;color:var(--rose-dark)}.contact-form{display:grid;gap:.9rem}.contact-form label{display:grid;gap:.35rem;font-weight:800}.contact-form input,.contact-form textarea{width:100%;border:1px solid var(--line);border-radius:.45rem;padding:.75rem;font:inherit}.form-note{font-size:.9rem;margin:0}.whatsapp-strip{max-width:1180px;margin:0 auto 2rem;padding:1rem 1.25rem;background:#e7f5ee;border:1px solid #b7ddca;border-radius:.9rem;display:flex;justify-content:space-between;gap:1rem;align-items:center}.site-footer{border-top:1px solid var(--line);padding:2rem 1.25rem;max-width:1180px;margin:auto;display:flex;justify-content:space-between;gap:1rem;color:var(--muted)}.site-footer>div{display:grid;gap:.35rem}.footer-logo{width:auto;max-width:130px;max-height:44px;object-fit:contain}.site-footer .menu-items{gap:.8rem;flex-wrap:wrap}.site-footer nav{display:flex;gap:.8rem;flex-wrap:wrap}*:focus-visible{outline:3px solid var(--focus);outline-offset:3px}
@media (max-width:900px){.menu-toggle{display:inline-flex}.site-nav{display:none;position:absolute;left:1rem;right:1rem;top:4.4rem;background:#fff;border:1px solid var(--line);border-radius:.9rem;padding:.5rem;box-shadow:0 18px 50px rgba(60,35,45,.16)}.site-nav .menu-items{flex-direction:column}.site-nav.is-open{display:block}.hero{grid-template-columns:1fr;min-height:auto}.hero-panel,.hero-image{max-width:520px}.card-grid,.gallery-grid,.gallery-count-1,.gallery-count-2{grid-template-columns:repeat(2,minmax(0,1fr))}.split,.contact-layout{grid-template-columns:1fr}.site-footer{flex-direction:column}}
@media (max-width:560px){.nav-shell{padding:.65rem .8rem}.brand span:last-child{max-width:11rem}.section{padding:3.5rem .9rem}.hero{padding-top:2.5rem}.hero h1{font-size:2.7rem}.card-grid,.gallery-grid,.gallery-count-1,.gallery-count-2{grid-template-columns:1fr}.cta-section{border-radius:.7rem}.cta-section .button{width:100%}.contact-list{grid-template-columns:1fr}.whatsapp-strip{margin-left:.9rem;margin-right:.9rem;flex-direction:column;align-items:flex-start}}
