:root { --vvl-green:#315b49; --vvl-green-light:#6f8a6f; --vvl-rust:#9c5b20; --vvl-gold:#bd8d35; --vvl-ink:#332d29; --vvl-muted:#706962; --vvl-cream:#f8f3eb; --vvl-line:#e5ded4; }
body.page-type-camada #block-villaverde-marina-page-title,
body.page-type-camada #block-villaverde-marina-local-tasks { display:none; }
body.page-type-camada article.node-type-camada.node-view-mode-full { width:100%; max-width:none; margin:0; }
body.page-type-camada article.node-type-camada > .node-content { width:100%; max-width:none; margin:0; }
.vv-litter-profile { color:var(--vvl-ink); }
article.vv-litter-ready.vv-pro-ready > .node-content > .vv-litter-profile { display:block !important; }
article.vv-litter-ready > .node-content > .vv-pro { display:none !important; }
.vv-litter-hero { position:relative; left:50%; width:100vw; min-height:260px; margin-left:-50vw; overflow:hidden; display:flex; align-items:center; justify-content:center; padding:46px max(22px,calc((100vw - 1120px)/2)); color:#fff; background:#1d3027 url('../../villaverde_ficha_enhancements/images/profile-mountains.jpg') center 48%/cover no-repeat; }
.vv-litter-hero__shade { position:absolute; inset:0; background:linear-gradient(90deg,rgba(12,24,18,.82),rgba(12,24,18,.45) 58%,rgba(12,24,18,.72)); }
.vv-litter-hero__identity { position:relative; z-index:1; flex:1; max-width:1120px; }
.vv-litter-hero__identity p { margin:0 0 9px; color:#efe0b4; font-size:.76rem; font-weight:800; letter-spacing:.18em; }
.vv-litter-hero__identity h1 { margin:0; color:#fff; font-family:Georgia,serif; font-size:clamp(2.65rem,6vw,5.2rem); font-weight:400; line-height:.98; text-shadow:0 3px 14px rgba(0,0,0,.3); }
.vv-litter-hero__identity span { display:block; margin-top:14px; font-size:1.05rem; }
.vv-litter-hero__status { position:relative; z-index:1; display:flex; gap:12px; align-items:center; min-width:250px; padding:15px 18px; border:1px solid rgba(255,255,255,.3); border-radius:7px; background:rgba(255,255,255,.94); color:var(--vvl-ink); box-shadow:0 10px 28px rgba(0,0,0,.2); }
.vv-litter-hero__status > i { font-style:normal; }
.vv-litter-hero__status.is-open > i { color:#4d7a56; }
.vv-litter-hero__status.is-closed > i { color:#9a6a5f; }
.vv-litter-hero__status strong,.vv-litter-hero__status span { display:block; }
.vv-litter-hero__status strong { font-family:Georgia,serif; font-size:1.08rem; }
.vv-litter-hero__status span { margin-top:2px; color:var(--vvl-muted); font-size:.77rem; }
.vv-litter-tabs { position:sticky; top:0; z-index:8; display:flex; justify-content:center; max-width:1120px; margin:0 auto 30px; overflow-x:auto; border-bottom:1px solid var(--vvl-line); background:#fff; }
.vv-litter-tabs button { flex:0 0 auto; padding:17px 25px 14px; color:#554e48; border:0; border-bottom:3px solid transparent; background:transparent; cursor:pointer; font-size:.93rem; }
.vv-litter-tabs button span { margin-right:7px; color:var(--vvl-gold); }
.vv-litter-tabs button.is-active { color:var(--vvl-green); border-color:var(--vvl-green); font-weight:700; }
.vv-litter-panels,.vv-litter-cta { width:min(100% - 32px,1120px); margin-left:auto; margin-right:auto; }
.vv-litter-panel { scroll-margin-top:82px; }
.vv-litter-panel[hidden] { display:none !important; }
.vv-litter-summary-grid { display:grid; grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr); gap:42px; align-items:start; }
.vv-litter-poster { overflow:hidden; border-radius:8px; background:#eee9e1; box-shadow:0 12px 34px rgba(45,35,25,.13); }
.vv-litter-poster__image { display:block; width:100%; max-height:650px; object-fit:contain; background:#f1ece5; }
.vv-litter-overview { padding:10px 0; }
.vv-litter-kicker,.vv-litter-heading > p { margin:0 0 8px; color:var(--vvl-gold); font-size:.71rem; font-weight:800; letter-spacing:.17em; }
.vv-litter-overview > h2,.vv-litter-heading h2 { margin:0; color:var(--vvl-ink); font-family:Georgia,serif; font-size:clamp(2rem,3vw,2.8rem); font-weight:400; }
.vv-litter-born { margin:8px 0 22px; color:var(--vvl-muted); }
.vv-litter-count { display:flex; gap:13px; align-items:center; padding:17px; border-radius:6px; background:var(--vvl-cream); }
.vv-litter-count i { font-size:1.6rem; font-style:normal; }
.vv-litter-count strong,.vv-litter-count span { display:block; }
.vv-litter-count strong { font-family:Georgia,serif; font-size:1.2rem; }
.vv-litter-count span { margin-top:2px; color:var(--vvl-muted); font-size:.85rem; }
.vv-litter-overview > dl { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:18px 0 0; }
.vv-litter-overview > dl div { padding:13px; border:1px solid var(--vvl-line); border-radius:5px; }
.vv-litter-overview dt { color:var(--vvl-muted); font-size:.72rem; text-transform:uppercase; }
.vv-litter-overview dd { margin:4px 0 0; font-weight:700; }
.vv-litter-notes { margin-top:20px; padding:16px 18px; border:1px solid #eadfbe; border-radius:6px; background:linear-gradient(135deg,#fffbed,#fff5d8); }
.vv-litter-notes header { display:flex; justify-content:space-between; gap:15px; align-items:center; }
.vv-litter-notes h3 { margin:0; font-family:Georgia,serif; font-size:1.05rem; }
.vv-litter-notes a { padding:6px 10px; border-radius:4px; background:#f4e6c4; color:var(--vvl-ink); font-size:.78rem; text-decoration:none; }
.vv-litter-notes p { margin:12px 0 0; line-height:1.55; white-space:pre-line; }
.vv-litter-notes p.is-empty { color:#847a6f; font-style:italic; }
.vv-litter-heading { margin-bottom:23px; text-align:center; }
.vv-litter-parent-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:26px; }
.vv-litter-parent { display:grid; grid-template-columns:minmax(150px,.82fr) minmax(0,1.18fr); overflow:hidden; border:1px solid var(--vvl-line); border-radius:8px; background:#fff; box-shadow:0 8px 26px rgba(50,40,28,.08); }
.vv-litter-parent__photo { min-height:290px; background:#eee9e1; }
.vv-litter-parent__image { display:block; width:100%; height:100%; object-fit:cover; }
.vv-litter-parent > div { padding:25px 22px; }
.vv-litter-parent__relation { color:var(--vvl-gold); font-size:.72rem; font-weight:800; letter-spacing:.14em; text-transform:uppercase; }
.vv-litter-parent h3 { margin:8px 0 17px; font-family:Georgia,serif; font-size:1.7rem; }
.vv-litter-parent h3 a,.vv-litter-puppy h3 a { color:inherit; text-decoration:none; }
.vv-litter-parent dl div { display:grid; grid-template-columns:auto 1fr; gap:8px; padding:6px 0; border-bottom:1px solid #eeeae4; }
.vv-litter-parent dt { color:var(--vvl-muted); }
.vv-litter-parent dd { margin:0; text-align:right; }
.vv-litter-text-link { display:inline-block; margin-top:17px; color:var(--vvl-rust); font-weight:700; text-decoration:none; }
.vv-litter-puppy-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.vv-litter-puppy { overflow:hidden; border:1px solid var(--vvl-line); border-radius:8px; background:#fff; box-shadow:0 8px 25px rgba(50,40,28,.07); }
.vv-litter-puppy__photo { position:relative; display:block; height:310px; overflow:hidden; background:#eee9e1; }
.vv-litter-puppy__image { display:block; width:100%; height:100%; object-fit:cover; transition:transform .25s ease; }
.vv-litter-puppy:hover .vv-litter-puppy__image { transform:scale(1.025); }
.vv-litter-badge { position:absolute; top:13px; right:13px; padding:7px 10px; color:#fff; border-radius:999px; font-size:.7rem; font-weight:800; box-shadow:0 3px 9px rgba(0,0,0,.2); }
.vv-litter-badge.is-ready { background:#3f7458; }
.vv-litter-badge.is-available { background:#a36a24; }
.vv-litter-badge.is-reserved { background:#806f67; }
.vv-litter-puppy__body { padding:18px; }
.vv-litter-puppy h3 { margin:0; font-family:Georgia,serif; font-size:1.45rem; }
.vv-litter-puppy__body > p { margin:6px 0 12px; color:var(--vvl-muted); }
.vv-litter-puppy__docs { display:flex; flex-wrap:wrap; gap:6px; }
.vv-litter-puppy__docs span { padding:5px 8px; border-radius:4px; font-size:.72rem; }
.vv-litter-puppy__docs .yes { color:#315b49; background:#e9f1ec; }
.vv-litter-doc-grid { display:grid; gap:13px; width:min(100%,850px); margin:0 auto; }
.vv-litter-doc-grid article { display:grid; grid-template-columns:45px 1fr auto; gap:15px; align-items:center; padding:19px 22px; border:1px solid var(--vvl-line); border-radius:7px; background:#fff; }
.vv-litter-doc-grid article > i { display:grid; place-items:center; width:43px; height:43px; border-radius:50%; background:var(--vvl-cream); color:var(--vvl-rust); font-size:1.3rem; font-style:normal; }
.vv-litter-doc-grid h3 { margin:0; font-family:Georgia,serif; font-size:1.12rem; }
.vv-litter-doc-grid p { margin:4px 0 0; color:var(--vvl-muted); font-size:.85rem; }
.vv-litter-doc-grid strong { color:var(--vvl-green); font-size:.8rem; }
.vv-litter-video-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:15px; }
.vv-litter-video-grid a { display:flex; gap:13px; align-items:center; padding:20px; border:1px solid var(--vvl-line); border-radius:7px; color:var(--vvl-ink); text-decoration:none; }
.vv-litter-photo-missing { display:grid; place-items:center; width:100%; height:100%; min-height:220px; background:linear-gradient(135deg,#eee9e1,#f8f4ee); }
.vv-litter-photo-missing span { opacity:.32; font-size:3rem; }
.vv-litter-cta { display:grid; grid-template-columns:auto 1fr auto; gap:18px; align-items:center; margin-top:36px; padding:23px 27px; border-radius:7px; background:#f7eee5; }
.vv-litter-cta > i { display:grid; place-items:center; width:54px; height:54px; border-radius:50%; background:#eadbc8; font-size:1.7rem; font-style:normal; }
.vv-litter-cta strong,.vv-litter-cta span { display:block; }
.vv-litter-cta strong { font-family:Georgia,serif; font-size:1.22rem; }
.vv-litter-cta span { margin-top:3px; color:var(--vvl-muted); font-size:.88rem; }
.vv-litter-cta a { padding:15px 21px; color:#fff; border-radius:6px; background:var(--vvl-rust); font-weight:700; text-decoration:none; }
.vv-litter-cta a b { margin-left:14px; }
@media (max-width:900px) {
  .vv-litter-hero { align-items:flex-start; flex-direction:column; gap:24px; }
  .vv-litter-hero__status { min-width:0; }
  .vv-litter-summary-grid { grid-template-columns:1fr; }
  .vv-litter-poster { width:min(100%,650px); margin:0 auto; }
  .vv-litter-parent-grid { grid-template-columns:1fr; }
  .vv-litter-puppy-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:650px) {
  .vv-litter-hero { min-height:225px; padding:32px 18px; }
  .vv-litter-hero__identity h1 { font-size:3rem; }
  .vv-litter-hero__status { width:100%; box-sizing:border-box; }
  .vv-litter-tabs { justify-content:flex-start; margin-bottom:22px; }
  .vv-litter-tabs button { padding:14px 17px 12px; }
  .vv-litter-panels,.vv-litter-cta { width:min(100% - 22px,1120px); }
  .vv-litter-summary-grid { gap:24px; }
  .vv-litter-overview > dl { grid-template-columns:1fr; }
  .vv-litter-parent { grid-template-columns:1fr; }
  .vv-litter-parent__photo { min-height:330px; }
  .vv-litter-puppy-grid { grid-template-columns:1fr; }
  .vv-litter-puppy__photo { height:390px; }
  .vv-litter-doc-grid article { grid-template-columns:42px 1fr; padding:17px; }
  .vv-litter-doc-grid article > strong { grid-column:2; }
  .vv-litter-video-grid { grid-template-columns:1fr; }
  .vv-litter-cta { grid-template-columns:auto 1fr; padding:18px; }
  .vv-litter-cta a { grid-column:1/-1; text-align:center; }
}
@media (prefers-reduced-motion:reduce) { .vv-litter-profile * { scroll-behavior:auto !important; transition:none !important; } }

/* Versión 2 — composición de la maqueta aprobada. */
.vv-litter-profile { background:#fffdfa; padding-bottom:36px; }
.vv-litter-hero { min-height:305px; padding-top:110px; padding-bottom:35px; text-align:center; box-sizing:border-box; }
.vv-litter-hero__shade { background:linear-gradient(90deg,rgba(8,15,11,.72),rgba(9,17,12,.28) 48%,rgba(8,14,10,.72)); }
.vv-litter-hero__identity { flex:0 1 900px; text-align:center; }
.vv-litter-hero__identity h1 { font-size:clamp(2.45rem,4.8vw,4.15rem); }
.vv-litter-hero__identity p { margin:4px 0 10px; color:#fff; font-family:Georgia,serif; font-size:1.5rem; letter-spacing:0; }
.vv-litter-hero__identity span { margin-top:0; font-size:.92rem; }
.vv-litter-hero blockquote { position:absolute; z-index:2; right:max(22px,calc((100vw - 1180px)/2)); bottom:37px; width:auto; margin:0; padding:0; border:0; background:transparent; color:#fff; font-family:cursive; font-size:1.25rem; font-style:italic; line-height:1.55; text-shadow:0 2px 8px rgba(0,0,0,.65); transform:rotate(-5deg); }
.vv-litter-hero blockquote::before,.vv-litter-hero blockquote::after { display:none; }
.vv-litter-alerts { display:grid; grid-template-columns:1fr 1fr; gap:14px; width:min(100% - 32px,1120px); margin:16px auto 14px; }
.vv-litter-alert { display:flex; gap:18px; align-items:center; min-height:74px; padding:14px 20px; border:1px solid #e9e1d7; border-radius:7px; box-sizing:border-box; background:#f7f3ed; }
.vv-litter-alert > i { display:grid; flex:0 0 48px; place-items:center; width:48px; height:48px; border-radius:50%; color:#fff; background:#6d3c1b; font-size:1.75rem; font-style:normal; }
.vv-litter-alert.is-open { background:linear-gradient(90deg,#e6f4e9,#eff8f1); border-color:#d4ead9; }
.vv-litter-alert.is-open > i { background:#12632e; }
.vv-litter-alert.is-closed { background:#f3efeb; }
.vv-litter-alert.is-closed > i { background:#806f67; font-size:1rem; }
.vv-litter-alert.is-ready { background:linear-gradient(90deg,#f7f1e9,#fbf8f4); }
.vv-litter-alert strong,.vv-litter-alert span { display:block; }
.vv-litter-alert strong { color:#432a1a; font-family:Georgia,serif; font-size:1.2rem; }
.vv-litter-alert span { margin-top:3px; color:#58514b; font-size:.85rem; }
.vv-litter-tabs { position:relative; top:auto; z-index:4; justify-content:space-between; order:0; width:min(100% - 32px,1120px); max-width:none; margin:14px auto 12px; border-top:0; }
.vv-litter-tabs button { flex:1 1 auto; padding:14px 12px 12px; font-size:.88rem; }
.vv-litter-panels { width:min(100% - 32px,1120px); }
.vv-litter-panel { margin:0 0 23px; padding-top:7px; scroll-margin-top:20px; }
.vv-litter-panel[hidden] { display:block !important; }
#camada-resumen { width:min(100% - 32px,1120px); margin:0 auto 6px; padding-top:0; }
.vv-litter-summary-grid { grid-template-columns:minmax(0,1.45fr) minmax(230px,.92fr) minmax(220px,.82fr); gap:13px; align-items:stretch; }
.vv-litter-poster,.vv-litter-overview,.vv-litter-doc-summary { border:1px solid var(--vvl-line); border-radius:7px; background:#fff; box-shadow:none; }
.vv-litter-poster { position:relative; display:grid; place-items:center; min-height:0; padding:10px; }
.vv-litter-poster__image { display:block; width:auto; max-width:100%; height:auto; max-height:420px; object-fit:contain; }
.vv-litter-overview { padding:17px; }
.vv-litter-card-heading { display:flex; gap:10px; align-items:center; padding-bottom:11px; border-bottom:1px solid #eee8e0; }
.vv-litter-card-heading > i { color:#713d18; font-size:1.25rem; font-style:normal; }
.vv-litter-card-heading h2 { margin:0; font-family:Georgia,serif; font-size:1.16rem; font-weight:400; }
.vv-litter-overview > dl { display:block; margin:10px 0 0; }
.vv-litter-overview > dl div { display:grid; grid-template-columns:1fr auto; gap:12px; padding:7px 0; border:0; border-bottom:1px solid #eee8e0; border-radius:0; }
.vv-litter-overview dt { color:#57504a; font-size:.78rem; text-transform:none; }
.vv-litter-overview dd { margin:0; font-size:.82rem; font-weight:500; }
.vv-litter-summary-copy { margin:14px 0 0; color:#5d554f; font-size:.77rem; line-height:1.55; }
.vv-litter-doc-summary { padding:17px; }
.vv-litter-doc-summary ul { margin:10px 0; padding:0; list-style:none; }
.vv-litter-doc-summary li { display:flex; justify-content:space-between; gap:10px; padding:8px 0; border-bottom:1px solid #eee8e0; font-size:.78rem; }
.vv-litter-doc-summary li strong { color:#176534; font-size:.72rem; white-space:nowrap; }
.vv-litter-doc-summary > p { margin:12px -8px -8px; padding:11px; border-radius:4px; background:#fbf4e8; color:#574c43; font-size:.72rem; line-height:1.5; }
.vv-litter-heading { margin:0 0 12px; text-align:left; }
.vv-litter-heading > p { display:none; }
.vv-litter-heading h2 { display:flex; align-items:center; gap:9px; font-size:1.45rem; }
.vv-litter-heading h2::before { content:'♧'; color:#713d18; font-size:1.4rem; }
#camada-cachorros .vv-litter-heading h2::before { content:'🐾'; font-size:1.1rem; }
#camada-documentacion .vv-litter-heading h2::before { content:'▣'; }
.vv-litter-parent-grid { gap:14px; }
.vv-litter-parent { grid-template-columns:185px 1fr; min-height:205px; border-radius:6px; box-shadow:none; }
.vv-litter-parent__photo { position:relative; display:grid; place-items:center; min-height:0; padding:8px; background:#f4f0e9; }
.vv-litter-parent__image { width:auto; max-width:100%; height:auto; max-height:190px; object-fit:contain; }
.vv-litter-parent > div { padding:16px 18px; }
.vv-litter-parent__relation { color:#655f59; font-size:.7rem; letter-spacing:0; text-transform:none; }
.vv-litter-parent h3 { margin:4px 0 8px; font-size:1.55rem; }
.vv-litter-parent dl div { padding:4px 0; font-size:.75rem; }
.vv-litter-text-link { margin-top:9px; font-size:.78rem; }
.vv-litter-puppy-grid { grid-template-columns:repeat(5,minmax(0,1fr)); gap:12px; }
.vv-litter-puppy { border-radius:6px; box-shadow:none; }
.vv-litter-puppy__photo { position:relative; display:grid; place-items:center; height:155px; padding:6px; box-sizing:border-box; }
.vv-litter-profile .vv-litter-puppy__photo > .vv-litter-puppy__image { width:auto !important; max-width:100% !important; height:auto !important; max-height:143px !important; object-fit:contain !important; }
.vv-litter-badge { top:auto; right:8px; bottom:8px; left:8px; text-align:center; border-radius:4px; font-size:.64rem; }
.vv-litter-puppy__body { padding:10px 11px 12px; }
.vv-litter-puppy h3 { font-size:1.18rem; }
.vv-litter-puppy__body > p { min-height:31px; margin:3px 0 7px; font-size:.7rem; line-height:1.35; }
.vv-litter-puppy__docs { gap:4px; }
.vv-litter-puppy__docs span { padding:4px 5px; font-size:.62rem; }
.vv-litter-puppy .vv-litter-text-link { display:none; }
.vv-litter-doc-grid { width:100%; grid-template-columns:repeat(3,minmax(0,1fr)); }
.vv-litter-doc-grid article { grid-template-columns:36px 1fr; gap:10px; padding:14px; }
.vv-litter-doc-grid article > i { width:35px; height:35px; }
.vv-litter-doc-grid article > strong { grid-column:2; }
.vv-litter-notes { margin:4px 0 18px; padding:0; overflow:hidden; border-radius:6px; }
.vv-litter-notes header { padding:10px 15px; background:#fff3dd; }
.vv-litter-notes h3 { font-size:1.13rem; }
.vv-litter-notes > div { min-height:45px; padding:10px 20px 14px; color:#544b43; font-size:.78rem; line-height:1.55; white-space:pre-line; }
.vv-litter-notes > div.is-empty { color:#847a6f; font-style:italic; }
.vv-litter-cta { margin-top:12px; padding:16px 24px; }
.vv-litter-cta > i { width:48px; height:48px; }
.vv-litter-cta a { background:#d95500; }
.vv-litter-zoom { position:absolute; z-index:3; right:10px; bottom:10px; display:grid; place-items:center; width:32px; height:32px; padding:0; color:#fff; border:1px solid rgba(255,255,255,.72); border-radius:50%; background:rgba(35,31,27,.72); box-shadow:0 3px 10px rgba(0,0,0,.22); cursor:pointer; font-size:1rem; line-height:1; }
.vv-litter-puppy__photo .vv-litter-zoom { top:9px; bottom:auto; }
.vv-litter-lightbox[hidden] { display:none !important; }
.vv-litter-lightbox { position:fixed; z-index:10000; inset:0; display:grid; place-items:center; padding:28px; background:rgba(15,14,13,.9); box-sizing:border-box; }
.vv-litter-lightbox figure { display:flex; flex-direction:column; align-items:center; max-width:min(1100px,94vw); max-height:92vh; margin:0; }
.vv-litter-lightbox figure img { display:block; max-width:100%; max-height:84vh; object-fit:contain; border-radius:5px; box-shadow:0 12px 45px rgba(0,0,0,.45); }
.vv-litter-lightbox figcaption { margin-top:9px; color:#fff; font-size:.85rem; }
.vv-litter-lightbox__close { position:fixed; z-index:2; top:18px; right:20px; display:grid; place-items:center; width:42px; height:42px; padding:0; color:#fff; border:1px solid rgba(255,255,255,.7); border-radius:50%; background:rgba(0,0,0,.55); cursor:pointer; font-size:1.8rem; line-height:1; }
body.vv-litter-photo-open { overflow:hidden; }
.vv-reservation-modal[hidden] { display:none !important; }
.vv-reservation-modal { position:fixed; z-index:10001; inset:0; display:grid; place-items:center; padding:24px; background:rgba(22,17,12,.72); backdrop-filter:blur(3px); box-sizing:border-box; }
.vv-reservation-modal__window { display:flex; flex-direction:column; width:min(760px,100%); max-height:92vh; overflow:hidden; border-radius:10px; background:#fffdfa; box-shadow:0 25px 80px rgba(0,0,0,.38); }
.vv-reservation-modal__window > header { display:flex; align-items:center; justify-content:space-between; gap:18px; padding:16px 22px; border-bottom:1px solid var(--vvl-line); background:#faf6ef; }
.vv-reservation-modal__window header p { margin:0 0 3px; color:var(--vvl-rust); font-size:.7rem; font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.vv-reservation-modal__window h2 { margin:0; color:var(--vvl-ink); font-family:Georgia,serif; font-size:1.45rem; font-weight:400; }
.vv-reservation-modal__close { display:grid; flex:0 0 auto; place-items:center; width:38px; height:38px; padding:0; color:var(--vvl-ink); border:1px solid var(--vvl-line); border-radius:50%; background:#fff; cursor:pointer; font-size:1.65rem; line-height:1; }
.vv-reservation-modal__body { overflow:auto; padding:20px 24px 26px; }
article.node-type-camada.node-view-mode-full > .node-content > #villaverde-reserva-form { display:none !important; }
.vv-reservation-modal__body #villaverde-reserva-form { display:block !important; margin:0; }
.vv-reservas-formulario__note { margin:0 0 18px; padding:13px 15px; border:1px solid #eadfbe; border-radius:6px; background:#fff8e9; color:#544b43; font-size:.84rem; line-height:1.5; }
.vv-reservas-formulario__note strong { display:block; margin-bottom:4px; color:#713d18; font-family:Georgia,serif; font-size:1rem; }
.vv-reservas-formulario__note p { margin:0; }
body.vv-reservation-modal-open { overflow:hidden; }
@media (max-width:650px) {
  .vv-reservation-modal { padding:8px; }
  .vv-reservation-modal__window { max-height:96vh; }
  .vv-reservation-modal__window > header { padding:14px 16px; }
  .vv-reservation-modal__body { padding:16px; }
}
@media (max-width:980px) {
  .vv-litter-hero blockquote { display:none; }
  .vv-litter-summary-grid { grid-template-columns:1.25fr .75fr; }
  .vv-litter-doc-summary { grid-column:1/-1; }
  .vv-litter-puppy-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media (max-width:650px) {
  .vv-litter-hero { min-height:270px; align-items:center; padding-top:92px; text-align:center; }
  .vv-litter-hero__identity { text-align:center; }
  .vv-litter-hero__identity h1 { font-size:2.35rem; }
  .vv-litter-hero__identity p { font-size:1.17rem; }
  .vv-litter-alerts { grid-template-columns:1fr; width:min(100% - 22px,1120px); }
  .vv-litter-alert { min-height:65px; padding:11px 14px; }
  .vv-litter-alert > i { flex-basis:42px; width:42px; height:42px; }
  .vv-litter-alert strong { font-size:1.04rem; }
  .vv-litter-tabs { width:100%; }
  #camada-resumen { width:min(100% - 22px,1120px); }
  .vv-litter-tabs button { flex:0 0 112px; }
  .vv-litter-summary-grid { grid-template-columns:1fr; }
  .vv-litter-poster { min-height:0; }
  .vv-litter-poster__image { width:auto; max-width:100%; height:auto; max-height:430px; object-fit:contain; }
  .vv-litter-doc-summary { grid-column:auto; }
  .vv-litter-parent { grid-template-columns:120px 1fr; min-height:170px; }
  .vv-litter-parent__photo { min-height:0; }
  .vv-litter-parent > div { padding:13px; }
  .vv-litter-parent h3 { font-size:1.3rem; }
  .vv-litter-puppy-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:9px; }
  .vv-litter-puppy__photo { height:150px; }
  .vv-litter-profile .vv-litter-puppy__photo > .vv-litter-puppy__image { max-height:138px !important; }
  .vv-litter-doc-grid { grid-template-columns:1fr; }
}

/* Cabecera de camada compacta en móvil: permite llegar antes a la información. */
@media (max-width: 650px) {
  .vv-litter-hero {
    min-height: 230px;
    padding: 56px 18px 24px;
  }

  .vv-litter-hero__identity h1 {
    font-size: 2.05rem;
    line-height: 1.06;
  }

  .vv-litter-hero__identity p {
    margin: 3px 0 7px;
    font-size: 1rem;
  }

  .vv-litter-hero__identity span {
    font-size: .82rem;
  }
}
