/* Neko Theme · Estudio Neko · base ligera. Los colores y la tipografía vienen de variables (Personalizador). */
:root{
	--neko-primary:#00AA58;--neko-on-primary:#0b1b2b;--neko-link:#00803f;--neko-dark:#0b1b2b;--neko-on-dark:#fff;
	--neko-text:#1d2733;--neko-muted:#5b6673;--neko-bg:#fff;--neko-soft:#f4f7f6;--neko-border:#dfe5e3;
	--neko-radius:12px;--neko-wrap:1180px;--neko-narrow:740px;--neko-pad:1rem;
	--neko-font:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;--neko-head:var(--neko-font);
	--neko-shadow:0 10px 30px rgba(11,27,43,.09);--neko-header-h:68px;
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:calc(var(--neko-header-h) + 12px)}
body{margin:0;background:var(--neko-bg);color:var(--neko-text);font-family:var(--neko-font);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}
img,video,svg{max-width:100%;height:auto}
img{display:block}
a{color:var(--neko-link);text-underline-offset:.18em}
a:hover{text-decoration-thickness:2px}
h1,h2,h3,h4{font-family:var(--neko-head);line-height:1.18;margin:0 0 .6em;color:inherit;letter-spacing:-.01em;text-wrap:balance}
h1{font-size:clamp(2rem,1.4rem + 3vw,3.4rem)}
h2{font-size:clamp(1.55rem,1.2rem + 1.7vw,2.4rem)}
h3{font-size:clamp(1.2rem,1.05rem + .7vw,1.55rem)}
p{margin:0 0 1.1em}
ul,ol{padding-left:1.3em}
hr{border:0;border-top:1px solid var(--neko-border);margin:2rem 0}
:focus-visible{outline:3px solid var(--neko-primary);outline-offset:3px;border-radius:3px}
::selection{background:var(--neko-primary);color:var(--neko-on-primary)}

.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.skip-link{position:absolute;left:1rem;top:-4rem;z-index:1000;background:var(--neko-dark);color:var(--neko-on-dark);padding:.7rem 1rem;border-radius:8px;transition:top .15s}
.skip-link:focus{top:1rem}
#contenido:focus{outline:0}

/* Layout */
.wrap{width:min(100% - 2*var(--neko-pad),var(--neko-wrap));margin-inline:auto}
.wrap-narrow{width:min(100% - 2*var(--neko-pad),var(--neko-narrow));margin-inline:auto}
.section{padding-block:clamp(2.5rem,6vw,5rem)}
.center{text-align:center}
.eyebrow{font-weight:700;letter-spacing:.14em;text-transform:uppercase;font-size:.8rem;color:var(--neko-link);margin-bottom:.8rem}
.page-head{padding-block:clamp(2rem,5vw,3.5rem) 1rem}
.page-head h1{margin-bottom:.3em}
.archive-desc{color:var(--neko-muted)}

/* Cabecera */
.site-header{background:var(--neko-bg);border-bottom:1px solid var(--neko-border);z-index:50;transition:box-shadow .2s}
.has-sticky .site-header{position:sticky;top:0}
.site-header.is-stuck{box-shadow:0 6px 24px rgba(11,27,43,.1)}
.admin-bar.has-sticky .site-header{top:32px}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:var(--neko-header-h)}
.brand a{text-decoration:none;color:inherit}
.brand-name{font-family:var(--neko-head);font-weight:800;font-size:1.3rem;letter-spacing:-.02em}
.custom-logo{max-height:48px;width:auto}
.site-nav{display:flex;align-items:center;gap:1.4rem}
.site-nav .menu{list-style:none;margin:0;padding:0;display:flex;gap:.2rem;align-items:center}
.site-nav .menu a,.site-nav .menu li>a{display:block;padding:.55rem .8rem;border-radius:8px;color:var(--neko-text);text-decoration:none;font-weight:600;font-size:.97rem}
.site-nav .menu a:hover{background:var(--neko-soft)}
.site-nav .current-menu-item>a,.site-nav .current_page_item>a,.site-nav [aria-current=page]{color:var(--neko-link);background:var(--neko-soft)}
.site-nav .menu li{position:relative}
.site-nav .sub-menu{list-style:none;margin:0;padding:.4rem;position:absolute;left:0;top:100%;min-width:220px;background:var(--neko-bg);border:1px solid var(--neko-border);border-radius:var(--neko-radius);box-shadow:var(--neko-shadow);display:none}
.site-nav li:hover>.sub-menu,.site-nav li:focus-within>.sub-menu{display:block}
.nav-toggle{display:none;background:transparent;border:1px solid var(--neko-border);border-radius:10px;width:46px;height:46px;cursor:pointer;color:var(--neko-text);padding:0;position:relative}
.nav-toggle .bars,.nav-toggle .bars::before,.nav-toggle .bars::after{display:block;width:20px;height:2px;background:currentColor;border-radius:2px;position:absolute;left:50%;margin-left:-10px;transition:transform .2s,opacity .2s}
.nav-toggle .bars{top:50%;margin-top:-1px}
.nav-toggle .bars::before,.nav-toggle .bars::after{content:"";margin-left:0;left:0}
.nav-toggle .bars::before{top:-6px}.nav-toggle .bars::after{top:6px}
.nav-toggle[aria-expanded=true] .bars{background:transparent}
.nav-toggle[aria-expanded=true] .bars::before{transform:translateY(6px) rotate(45deg)}
.nav-toggle[aria-expanded=true] .bars::after{transform:translateY(-6px) rotate(-45deg)}

@media (max-width:860px){
	.nav-toggle{display:block}
	.js .site-nav{position:absolute;left:0;right:0;top:100%;background:var(--neko-bg);border-bottom:1px solid var(--neko-border);box-shadow:var(--neko-shadow);flex-direction:column;align-items:stretch;gap:.5rem;padding:.8rem var(--neko-pad) 1.2rem;max-height:calc(100vh - var(--neko-header-h));overflow:auto;display:none}
	.js .site-nav.is-open{display:flex}
	.site-header{position:relative}
	.has-sticky .site-header{position:sticky}
	.site-nav .menu{flex-direction:column;align-items:stretch}
	.site-nav .menu a{padding:.85rem .6rem;font-size:1.05rem}
	.site-nav .sub-menu{position:static;display:block;border:0;box-shadow:none;padding:0 0 0 1rem}
	.nav-cta{text-align:center}
	.admin-bar.has-sticky .site-header{top:46px}
	.no-js .header-inner{flex-wrap:wrap}.no-js .nav-toggle{display:none}
	html:not(.js) .site-nav{flex-wrap:wrap;width:100%}html:not(.js) .site-nav .menu{flex-direction:row;flex-wrap:wrap}
}

/* Botones */
.btn,body .wp-block-button__link,body .wp-element-button,.neko-form button,.search-form button,.comment-form .submit{display:inline-block;background:var(--neko-primary);color:var(--neko-on-primary);border:2px solid var(--neko-primary);border-radius:var(--neko-radius);padding:.75em 1.4em;font:inherit;font-weight:700;line-height:1.2;text-decoration:none;cursor:pointer;transition:transform .15s,box-shadow .15s,filter .15s}
.btn:hover,body .wp-block-button__link:hover,.neko-form button:hover,.search-form button:hover,.comment-form .submit:hover{filter:brightness(.93);transform:translateY(-1px);box-shadow:0 6px 18px rgba(11,27,43,.14);color:var(--neko-on-primary)}
.btn-outline,body .is-style-outline>.wp-block-button__link{background:transparent;color:var(--neko-link);border-color:currentColor}
.btn-outline:hover,body .is-style-outline>.wp-block-button__link:hover{background:var(--neko-primary);color:var(--neko-on-primary);border-color:var(--neko-primary)}
.neko-dark .is-style-outline>.wp-block-button__link,body .neko-hero .is-style-outline>.wp-block-button__link{color:var(--neko-on-dark)}
.nav-cta{white-space:nowrap}

/* Contenido */
.entry-content>*{width:min(100% - 2*var(--neko-pad),var(--neko-narrow));margin-inline:auto;margin-block:0 1.2em}
.entry-content>.alignwide{width:min(100% - 2*var(--neko-pad),var(--neko-wrap))}
.entry-content>.alignfull{width:100%;max-width:none}
.entry-content>.alignfull{margin-block:0}
.entry--home .entry-content>*:last-child,.entry--landing .entry-content>*:last-child{margin-bottom:0}
.entry-content img{border-radius:var(--neko-radius)}
.entry-content figure{margin-inline:auto}
.entry-content figcaption,.wp-caption-text{font-size:.9rem;color:var(--neko-muted);margin-top:.5rem}
.entry-content>.alignfull img{border-radius:0}
.entry-content blockquote{border-left:4px solid var(--neko-primary);margin-left:auto;padding:.2em 0 .2em 1.2em;font-size:1.15em}
.entry-content table{border-collapse:collapse;width:100%}
.entry-content th,.entry-content td{border:1px solid var(--neko-border);padding:.6em .8em;text-align:left}
.entry-content pre{background:var(--neko-dark);color:var(--neko-on-dark);padding:1rem;border-radius:var(--neko-radius);overflow:auto}
.alignleft{float:left;margin:0 1.2rem 1rem 0}.alignright{float:right;margin:0 0 1rem 1.2rem}.aligncenter{margin-inline:auto}
.entry-thumb{margin-block:0 2rem}.entry-thumb img{width:100%;border-radius:var(--neko-radius)}
.entry-meta{color:var(--neko-muted);font-size:.9rem;margin-bottom:.6rem}
.entry-meta a{color:inherit}
.entry-foot{padding-block:2rem 3rem}
.tags a{display:inline-block;background:var(--neko-soft);border-radius:99px;padding:.15em .8em;margin:0 .3em .3em 0;text-decoration:none;font-size:.9rem}
.post-navigation .nav-links{display:flex;justify-content:space-between;gap:1rem;margin-top:1.5rem}
.crumbs ol{list-style:none;padding:0;margin:0 0 1rem;display:flex;flex-wrap:wrap;gap:.3rem;font-size:.88rem;color:var(--neko-muted)}
.crumbs li+li::before{content:"/";margin-right:.3rem}
.crumbs a{color:inherit}

/* Secciones de patrones */
.neko-section{padding-block:clamp(3rem,7vw,5.5rem)}
.entry-content>.alignfull>*{width:min(100% - 2*var(--neko-pad),var(--neko-wrap));max-width:none;margin-inline:auto}
.entry-content>.alignfull.is-narrow>*{width:min(100% - 2*var(--neko-pad),var(--neko-narrow))}
.neko-dark{background:var(--neko-dark);color:var(--neko-on-dark)}
.neko-dark a:not(.btn):not(.wp-block-button__link){color:inherit}
.neko-soft{background:var(--neko-soft)}
.neko-hero{background:var(--neko-dark);color:var(--neko-on-dark);padding-block:clamp(4rem,11vw,8.5rem)}
.neko-hero p{font-size:1.2rem;opacity:.92}
.neko-dark .eyebrow,.neko-hero .eyebrow{color:var(--neko-primary)}
.neko-section>.wp-block-columns:last-child{margin-bottom:0}
.neko-hero.has-image{background-size:cover;background-position:center}
.neko-center,.neko-center>*{text-align:center}
.neko-center h1,.neko-center p{margin-inline:auto}
.neko-card{background:var(--neko-bg);border:1px solid var(--neko-border);border-radius:var(--neko-radius);padding:1.5rem;height:100%}
.neko-soft .neko-card{background:#fff}
.neko-card img{width:100%;aspect-ratio:3/2;object-fit:cover;margin-bottom:1rem}
.neko-card h3{margin-bottom:.35em}
.neko-price{font-weight:800;font-size:1.25rem;color:var(--neko-link);margin-bottom:.6rem}
.neko-steps .step-n{display:inline-grid;place-items:center;width:2.4rem;height:2.4rem;border-radius:50%;background:var(--neko-primary);color:var(--neko-on-primary);font-weight:800;margin-bottom:.6rem}
.neko-cta{background:var(--neko-primary);color:var(--neko-on-primary);text-align:center}
.neko-cta .wp-block-button .wp-block-button__link{background:var(--neko-dark);border-color:var(--neko-dark);color:var(--neko-on-dark)}
.wp-block-columns{gap:1.5rem}
.wp-block-details{border:1px solid var(--neko-border);border-radius:var(--neko-radius);padding:.2rem 1.1rem;margin-bottom:.7rem;background:var(--neko-bg)}
.wp-block-details summary{cursor:pointer;font-weight:700;padding:.8rem 0}
.wp-block-details[open] summary{color:var(--neko-link)}

/* Entradas */
.post-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));gap:1.6rem}
.card{background:var(--neko-bg);border:1px solid var(--neko-border);border-radius:var(--neko-radius);overflow:hidden;display:flex;flex-direction:column;transition:box-shadow .2s,transform .2s}
.card:hover{box-shadow:var(--neko-shadow);transform:translateY(-2px)}
.card-img img{width:100%;aspect-ratio:3/2;object-fit:cover}
.card-body{padding:1.2rem 1.3rem 1.4rem}
.card-title{font-size:1.2rem;margin-bottom:.4em}
.card-title a{color:inherit;text-decoration:none}
.card-title a:hover{color:var(--neko-link)}
.card-excerpt p{margin:0;color:var(--neko-muted)}
.nav-links{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center;margin-top:2.2rem}
.nav-links .page-numbers{padding:.45rem .85rem;border:1px solid var(--neko-border);border-radius:8px;text-decoration:none;color:inherit}
.nav-links .page-numbers.current{background:var(--neko-primary);color:var(--neko-on-primary);border-color:var(--neko-primary);font-weight:700}

/* Formularios */
.neko-form,.comment-form{max-width:640px}
.neko-form label,.comment-form label{display:block;font-weight:600;margin-bottom:.3rem}
.neko-form input[type=text],.neko-form input[type=email],.neko-form input[type=tel],.neko-form textarea,.search-form input[type=search],.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{width:100%;font:inherit;color:inherit;background:var(--neko-bg);border:1.5px solid #9aa5a2;border-radius:10px;padding:.7em .9em}
.neko-form input:focus,.neko-form textarea:focus,.search-form input:focus{border-color:var(--neko-primary);outline:3px solid color-mix(in srgb,var(--neko-primary) 35%,transparent);outline-offset:0}
.neko-form .check label{font-weight:400;display:flex;gap:.6rem;align-items:flex-start}
.neko-form .check input{margin-top:.35rem;width:1.1rem;height:1.1rem;accent-color:var(--neko-primary)}
.neko-hp{position:absolute!important;left:-9999px;width:1px;height:1px;overflow:hidden}
.req{color:#b3261e}
.form-msg{padding:.8rem 1rem;border-radius:10px;font-weight:600}
.form-msg.is-ok{background:#e4f6ec;color:#0c5a32}.form-msg.is-error{background:#fde8e7;color:#8a1c14}
.search-form{display:flex;gap:.6rem;max-width:520px}.center .search-form{margin:1.2rem auto}

/* Pie */
.site-footer{background:var(--neko-dark);color:var(--neko-on-dark);margin-top:0}
.site-footer a{color:inherit}
.footer-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));padding-block:3rem 2rem}
.footer-brand{font-family:var(--neko-head);font-size:1.4rem;font-weight:800;margin-bottom:.6rem}
.footer-title{font-size:.85rem;text-transform:uppercase;letter-spacing:.12em;opacity:.75;margin-bottom:.9rem}
.footer-text{opacity:.85}.footer-text p:last-child{margin:0}
.contact-list,.footer-menu{list-style:none;margin:0;padding:0}
.contact-list li{display:flex;gap:.7rem;align-items:flex-start;margin-bottom:.6rem}
.contact-list .ico{flex:none;margin-top:.3rem;opacity:.85}
.footer-menu li{margin-bottom:.45rem}
.socials{display:flex;gap:.5rem;flex-wrap:wrap}
.social{display:inline-grid;place-items:center;width:42px;height:42px;border-radius:50%;border:1px solid currentColor;opacity:.9}
.social:hover{background:var(--neko-primary);color:var(--neko-on-primary);border-color:var(--neko-primary);opacity:1}
.footer-bottom{border-top:1px solid rgba(255,255,255,.16);padding-block:1.2rem 1.6rem;font-size:.9rem;opacity:.85;display:flex;gap:1rem;flex-wrap:wrap;justify-content:space-between}
.footer-bottom p{margin:0}
.wa-float{position:fixed;right:18px;bottom:18px;z-index:60;width:56px;height:56px;border-radius:50%;background:#128c4a;color:#fff;display:grid;place-items:center;box-shadow:0 8px 24px rgba(0,0,0,.25)}
.wa-float .ico{width:30px;height:30px}
.wa-float:hover{filter:brightness(1.1)}

/* NekoBook dentro del tema */
.srb-booking{margin-inline:auto}
.entry-content>.srb-booking,.entry-content>.wp-block-shortcode{width:min(100% - 2*var(--neko-pad),var(--neko-narrow))}
.srb-status{display:inline-block;font-size:.85rem;font-weight:700;padding:.2em .8em;border-radius:99px}
.srb-status-open{background:#e4f6ec;color:#0c5a32}.srb-status-full{background:#fde8e7;color:#8a1c14}

/* Animaciones suaves (opcionales y respetan reduced-motion) */
@media (prefers-reduced-motion:no-preference){
	.has-anim.js .reveal{opacity:0;transform:translateY(18px);transition:opacity .7s ease,transform .7s ease}
	.has-anim.js .reveal.is-in{opacity:1;transform:none}
}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.site-header,.site-footer,.wa-float,.skip-link{display:none}body{font-size:12pt}}
