/* Integration only: existing production forms with the approved visual system. */
[data-solo-venta] { display:none; }
.modo-venta [data-solo-venta] { display:revert; }
.modo-venta [data-solo-pre] { display:none; }
[hidden] { display:none!important; }
.newsletter-form fieldset { border:0; margin:0; padding:0; min-width:0; }
.newsletter-form .email-row { display:flex; border-bottom:1px solid var(--ink); gap:12px; padding:10px 0; }
.newsletter-form .email-row input { width:100%; min-width:0; border:0; background:transparent; color:inherit; font:inherit; padding:10px 0; }
.newsletter-form .email-row .button { flex-shrink:0; border:0; color:inherit; background:transparent; font:700 15px Lato,sans-serif; cursor:pointer; }
.newsletter-form .consent { display:flex; gap:10px; align-items:flex-start; margin:18px 0 8px; font-size:13px; line-height:1.6; }
.newsletter-form .consent input { margin-top:4px; flex-shrink:0; accent-color:var(--orange); }
.newsletter-form .form-note,.newsletter-form .form-status { font-size:12px; line-height:1.6; }
.email-honeypot { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); }
.cookie-banner { position:fixed; z-index:130; bottom:20px; left:20px; right:20px; max-width:860px; margin:auto; padding:18px 22px; background:var(--white); color:var(--ink); border:1px solid var(--line); border-radius:12px; box-shadow:0 10px 40px var(--menu-shadow); display:flex; align-items:center; gap:24px; font:14px/1.5 Lato,sans-serif; }
.cookie-banner p { margin:0; }
.cookie-banner a { color:inherit; text-decoration:underline; }
.cookie-actions { display:flex; gap:8px; flex-shrink:0; }
.cookie-actions button { padding:11px 16px; background:var(--ink); color:var(--white); border:1px solid var(--ink); border-radius:22px; cursor:pointer; font:700 13px Lato,sans-serif; }
.cookie-actions #cookie-reject { background:transparent; color:var(--ink); }
.newsletter-dialog { width:min(760px,calc(100vw - 32px)); max-height:calc(100svh - 40px); padding:0; border:0; border-radius:12px; background:var(--cream); color:var(--ink); font:16px/1.5 Lato,sans-serif; }
.newsletter-dialog::backdrop { background:var(--dialog-backdrop); }
.newsletter-dialog .popup-grid { display:grid; grid-template-columns:0.8fr 1fr; }
.popup-photo { position:relative; overflow:hidden; }
.popup-photo img { width:100%; height:100%; object-fit:cover; position:absolute; inset:0; }
.popup-photo>p { position:absolute; bottom:18px; left:18px; color:var(--white); font:400 22px/1.1 Caprasimo,serif; }
.popup-copy { padding:36px 26px 24px; }
.popup-heading { margin:12px 0; font:400 29px/1.08 Caprasimo,serif; }
.popup-description { font-size:14px; }
.popup-copy .eyebrow { font-size:11px; text-transform:uppercase; letter-spacing:0.12em; }
.newsletter-dialog .close-button { position:absolute; right:12px; top:10px; z-index:1; border:0; background:transparent; color:inherit; font:26px/1 Lato,sans-serif; cursor:pointer; padding:8px; }
.popup-later { border:0; background:transparent; color:inherit; font:13px Lato,sans-serif; text-decoration:underline; padding:10px 0; cursor:pointer; }
@media(max-width:620px) {
 .cookie-banner { bottom:10px; left:10px; right:10px; display:block; padding:16px; font-size:12px; }
 .cookie-actions { margin-top:12px; } .cookie-actions button { flex:1; }
 .newsletter-dialog .popup-grid { display:block; } .popup-photo { display:none; }
 .popup-copy { padding:32px 22px 22px; }
}


.directory-zones{padding-block:32px 56px}.directory-zones h2{font:400 26px Caprasimo,serif}.directory-zones nav{display:flex;flex-wrap:wrap;gap:12px 22px}.directory-zones a{color:inherit;font-size:14px}

.newsletter-form .consent,.newsletter-consent{font-size:14px;line-height:1.5;gap:12px;margin:16px 0}
.newsletter-form .consent input,.newsletter-consent input{width:18px;height:18px;flex-shrink:0}
.newsletter-form .form-note,.newsletter-form .form-status,.newsletter-feedback{font-size:14px;line-height:1.6}
.newsletter-form .email-row{align-items:center;flex-wrap:wrap;border:0;padding:0}
.newsletter-form .email-row input{border:1px solid var(--line);border-radius:6px;padding:14px;min-width:180px;flex:1}
.newsletter-form .email-row .button,.newsletter-field button{background:var(--bp-yellow-300);color:var(--bp-ink);border:0;border-radius:999px;padding:14px 22px;min-height:48px}
.signup-verification{margin:14px 0;max-width:100%;overflow:hidden}
.newsletter-form .signup-submit{display:flex;align-items:center;justify-content:center;width:100%;min-height:50px;margin:18px 0 0;padding:14px 22px;border:0;border-radius:999px;background:var(--bp-yellow-300);color:var(--bp-ink);font:700 16px/1.4 Lato,sans-serif;text-align:center;cursor:pointer}
.newsletter-form .signup-submit:hover:not(:disabled){background:var(--bp-yellow-500)}
.newsletter-form .signup-submit:focus-visible{outline:2px solid var(--bp-ink);outline-offset:4px}
.newsletter-form .signup-submit:disabled{opacity:.65;cursor:wait}
.signup-complete .email-row,.signup-complete .newsletter-field,.signup-complete label,.signup-complete .form-note,.signup-complete .newsletter-small,.signup-complete .signup-verification,.signup-complete .signup-submit{display:none!important}
.signup-complete .form-status,.signup-complete .newsletter-feedback{padding:22px;border:1px solid var(--line);border-radius:10px;background:var(--bp-yellow-300);color:var(--bp-ink);font-size:17px;margin:20px 0}
.newsletter-dialog .popup-later{display:none}
@media(max-width:600px){.newsletter-form .email-row .button{width:100%}.newsletter-form .consent,.newsletter-consent{font-size:14px}}
