/* Calzados Sonia V15.0 · Marcas, contacto y página institucional.
   La tienda y sus interacciones permanecen en los archivos originales V14.0. */
:root { --sonia-extra-ink:#14233e; --sonia-extra-pink:#d50863; --sonia-extra-blush:#fff4f8; --sonia-extra-border:#efdce5; }
@media (min-width:901px) {
 .main-navigation .nav-inner { padding-left:32px; }
 .main-navigation .nav-list>li>a,.main-navigation .nav-list>li>button { padding-inline:14px; }
 .main-navigation .season-badge { width:211px; }
}
/* Contacto: estructura adaptada de Contáctanos.html, integrada sin página duplicada. */
.sonia-contact { padding:clamp(46px,6vw,80px) 22px; background:radial-gradient(ellipse 530px 430px at 97% 3%,#fae8ef80,transparent 73%), radial-gradient(ellipse 360px 350px at 0% 90%,#faeaf180,transparent 72%),#fffafb; border-top:1px solid #f3e4e9; }
.sonia-contact-shell { width:min(100%,1170px); margin:auto; display:grid; grid-template-columns:minmax(280px,.9fr) minmax(0,1.25fr); gap:clamp(28px,5vw,65px); align-items:center; }
.sonia-contact-title { color:#101d3a; font:700 clamp(43px,5.3vw,65px)/1.08 var(--script); letter-spacing:-.015em; margin:5px 0 17px; }
.sonia-contact-intro { color:#40506c; font-size:clamp(16px,1.5vw,18px); line-height:1.65; max-width:430px; margin-bottom:24px; }
.sonia-contact-address { background:#fff; border:1px solid var(--sonia-extra-border); border-radius:18px; padding:23px; display:flex; align-items:flex-start; gap:16px; box-shadow:0 9px 32px #5a253b08; }
.sonia-contact-pin { width:30px; height:36px; color:var(--sonia-extra-pink); flex:0 0 30px; }
.sonia-contact-label { display:block; color:#86596e; font-size:12px; font-weight:700; letter-spacing:.09em; margin-bottom:7px; }
.sonia-contact-address strong { display:block; color:var(--sonia-extra-ink); font-size:19px; margin-bottom:4px; }
.sonia-contact-address p { color:#3c4a62; font-size:15px; line-height:1.6; }
.sonia-contact-direct { margin-top:23px; }
.sonia-contact-direct h3 { color:#182843; font-size:17px; line-height:1.4; }
.sonia-contact-direct p { margin:5px 0 14px; font-size:14px; color:#667187; line-height:1.45; }
.sonia-contact-whatsapp { display:inline-flex; justify-content:center; align-items:center; gap:10px; padding:12px 17px; min-height:48px; border:0; border-radius:12px; color:white; background:var(--sonia-extra-pink); font-size:14px; font-weight:700; transition:background .2s,transform .2s; }
.sonia-contact-whatsapp svg { width:17px; height:17px; }
.sonia-contact-whatsapp:hover { background:#b90652; transform:translateY(-2px); }
.sonia-contact-note { color:#6a778e; font-size:13px; margin:21px 0 10px; line-height:1.55; }
.sonia-contact-story { display:inline-flex; align-items:center; gap:8px; color:#b20a51; font-size:14px; font-weight:700; text-decoration:underline; text-underline-offset:3px; min-height:40px; }
.sonia-contact-map-card { min-width:0; background:#fff; border:1px solid var(--sonia-extra-border); border-radius:24px; padding:11px; box-shadow:0 15px 45px #3017240f; }
.sonia-contact-map-frame { position:relative; overflow:hidden; border-radius:16px; min-height:390px; height:clamp(420px,42vw,545px); background:#f1edf0; }
.sonia-contact-map-frame iframe { display:block; width:100%; height:100%; border:0; position:relative; z-index:1; }
.sonia-contact-map-badge { position:absolute; z-index:2; pointer-events:none; top:15px; left:15px; display:flex; align-items:center; gap:9px; color:#1c2944; background:#fff; border-radius:999px; box-shadow:0 5px 22px #1b1b2322; font-size:12px; font-weight:700; padding:11px 15px; }
.sonia-contact-map-badge>span { width:8px; height:8px; border-radius:50%; background:var(--sonia-extra-pink); box-shadow:0 0 0 4px #ffe0ec; }
.sonia-contact-map-footer { display:flex; align-items:center; justify-content:space-between; gap:17px; flex-wrap:wrap; padding:16px 6px 5px; }
.sonia-contact-map-footer strong { font-size:16px; line-height:1.35; }
.sonia-contact-map-footer p { color:#758096; font-size:12px; margin-top:4px; }
.sonia-contact-directions { min-height:44px; display:inline-flex; justify-content:center; align-items:center; gap:8px; padding:10px 15px; border-radius:11px; color:#fff; background:var(--sonia-extra-pink); font-size:13px; font-weight:700; transition:background .2s; }
.sonia-contact-directions:hover { background:#b90652; }
/* Página independiente «Quiénes somos» */
.sonia-about-page { background:#fff; }
.sonia-about-header { background:#fff; border-bottom:1px solid #f2e2e9; }
.sonia-about-header-inner { max-width:1210px; min-height:92px; padding:14px 26px; margin:0 auto; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.sonia-about-logo img { width:min(300px,42vw); height:auto; }
.sonia-about-nav { display:flex; align-items:center; justify-content:flex-end; flex-wrap:wrap; column-gap:26px; row-gap:8px; }
.sonia-about-nav a { font-size:14px; color:var(--sonia-extra-ink); font-weight:700; padding:12px 2px; }
.sonia-about-nav a:hover { color:var(--sonia-extra-pink); }
.sonia-about-intro { background:radial-gradient(ellipse 730px 580px at 95% 25%,#ffebf277,transparent 74%),linear-gradient(125deg,#fff 0%,#fff9fb 100%); padding:clamp(50px,7vw,97px) 22px; }
.sonia-about-intro-inner { max-width:1180px; margin:auto; display:grid; grid-template-columns:minmax(0,1.12fr) minmax(300px,.88fr); gap:clamp(36px,6vw,90px); align-items:center; }
.sonia-about-copy h1 { font:700 clamp(43px,5vw,74px)/1.06 var(--sans); letter-spacing:-.045em; margin:13px 0 22px; color:#14233e; }
.sonia-about-copy h1 em { color:var(--sonia-extra-pink); font-family:var(--script); font-weight:700; font-style:normal; font-size:1.06em; letter-spacing:-.025em; }
.sonia-about-copy>p:not(.sonia-kicker) { color:#53617a; font-size:16px; line-height:1.8; max-width:580px; margin-top:13px; }
.sonia-about-copy>p.sonia-about-lead { color:#293c56; font-size:19px; line-height:1.62; }
.sonia-about-cta-row { display:flex; align-items:center; flex-wrap:wrap; gap:16px; margin-top:28px; }
.sonia-about-main-cta { display:inline-flex; align-items:center; justify-content:center; gap:10px; min-height:47px; border-radius:13px; background:var(--sonia-extra-pink); color:white; padding:12px 21px; font-weight:700; font-size:14px; }
.sonia-about-secondary-cta { display:inline-flex; align-items:center; justify-content:center; min-height:45px; font-size:14px; font-weight:700; color:#b70a55; text-decoration:underline; text-underline-offset:4px; }
.sonia-about-photo { width:100%; max-width:485px; aspect-ratio:1/1; justify-self:center; padding:10px; border-radius:27px; background:white; border:1px solid #f4d9e5; box-shadow:0 20px 60px #5529411c; }
.sonia-about-photo-placeholder { display:flex; flex-direction:column; align-items:center; justify-content:center; gap:15px; text-align:center; width:100%; height:100%; padding:24px; border-radius:19px; border:2px dashed #e6b5cb; background:repeating-linear-gradient(135deg,#fff7fa 0,#fff7fa 18px,#fff1f7 18px,#fff1f7 36px); color:#a54d75; }
.sonia-about-photo-placeholder svg { width:72px; height:72px; opacity:.75; }
.sonia-about-photo-placeholder strong { max-width:295px; color:#823c60; font-size:clamp(16px,2.1vw,20px); line-height:1.4; }
.sonia-about-photo-placeholder span { max-width:280px; font-size:13px; line-height:1.5; color:#9c6f84; }
.sonia-about-photo>img { width:100%; height:100%; border-radius:19px; object-fit:cover; }
.sonia-about-values { background:#fff; padding:clamp(48px,6vw,85px) 22px; }
.sonia-about-values-shell { max-width:1150px; margin:auto; }
.sonia-about-values-heading { text-align:center; margin-bottom:32px; }
.sonia-about-values-heading h2 { font-size:clamp(29px,3.5vw,42px); line-height:1.15; margin:8px 0 0; }
.sonia-about-value-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.sonia-about-value { padding:30px 27px; border:1px solid #f3e2ea; border-radius:18px; background:linear-gradient(135deg,#fff,#fffafc); box-shadow:0 10px 30px #45293808; }
.sonia-about-value-icon { width:57px; height:57px; display:flex; justify-content:center; align-items:center; border-radius:16px; color:var(--sonia-extra-pink); background:#ffeaf2; font-size:27px; font-weight:700; }
.sonia-about-value h3 { font-size:20px; margin:18px 0 10px; }
.sonia-about-value p { color:#5d6980; font-size:15px; line-height:1.6; }
.sonia-about-visit { padding:clamp(35px,5vw,65px) 34px; display:flex; align-items:center; justify-content:space-between; gap:25px; background:#fff0f6; }
.sonia-about-visit>div { max-width:720px; margin-left:max(0px,calc((100vw - 1180px)/2)); }
.sonia-about-visit h2 { font-size:clamp(25px,3.5vw,36px); margin:6px 0 10px; }
.sonia-about-visit p:not(.sonia-kicker) { color:#5d6980; font-size:16px; line-height:1.5; }
.sonia-about-visit>a { display:inline-flex; flex:0 0 auto; justify-content:center; align-items:center; gap:10px; padding:14px 19px; background:var(--sonia-extra-pink); color:white; min-height:47px; border-radius:13px; font-weight:700; font-size:14px; margin-right:max(0px,calc((100vw - 1180px)/2)); }
.sonia-about-footer { display:flex; align-items:center; justify-content:space-between; gap:22px; flex-wrap:wrap; padding:24px max(22px,calc((100vw - 1180px)/2)); background:#14233e; color:#fff; }
.sonia-about-footer img { width:192px; height:auto; }
.sonia-about-footer-links { display:flex; gap:20px; flex-wrap:wrap; }
.sonia-about-footer-links a { font-size:13px; font-weight:700; }
.sonia-about-footer p { width:100%; color:#c6d0df; font-size:12px; }
@media (max-width:900px) {
 .sonia-contact-shell { grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:24px; }
 .sonia-contact-map-frame { min-height:370px; height:480px; }
 .sonia-contact-address { padding:17px; }
 .sonia-about-intro-inner { gap:27px; grid-template-columns:minmax(0,1fr) minmax(280px,.85fr); }
 .sonia-about-copy h1 { font-size:clamp(38px,5vw,52px); }
 .sonia-about-copy>p.sonia-about-lead { font-size:17px; }
}
@media (max-width:700px) {
 .sonia-contact { padding:43px 16px 45px; }
 .sonia-contact-shell { display:flex; flex-direction:column; gap:26px; max-width:530px; align-items:stretch; }
 .sonia-contact-title { font-size:clamp(45px, 14vw, 56px); }
 .sonia-contact-intro { font-size:16px; }
 .sonia-contact-map-frame { min-height:330px; height:390px; }
 .sonia-contact-map-card { padding:9px; border-radius:20px; }
 .sonia-about-header-inner { padding:15px 18px; flex-direction:column; gap:9px; }
 .sonia-about-logo img { width:min(270px,80vw); }
 .sonia-about-nav { justify-content:center; gap:20px; }
 .sonia-about-nav a { padding:8px 0; }
 .sonia-about-intro { padding:44px 17px 56px; }
 .sonia-about-intro-inner { grid-template-columns:minmax(0,1fr); gap:35px; }
 .sonia-about-copy h1 { font-size:clamp(39px,8.6vw,55px); }
 .sonia-about-copy>p.sonia-about-lead { font-size:17px; }
 .sonia-about-photo { max-width:500px; }
 .sonia-about-values { padding:49px 17px; }
 .sonia-about-value-grid { grid-template-columns:1fr; gap:13px; }
 .sonia-about-value { padding:24px; }
 .sonia-about-visit { flex-direction:column; align-items:flex-start; padding:34px 20px; }
 .sonia-about-visit>div,.sonia-about-visit>a { margin:0; }
 .sonia-about-footer { padding:28px 20px; }
}
@media (max-width:360px) {
 .sonia-contact-address { gap:10px; padding:16px 13px; }
 .sonia-contact-map-footer { align-items:stretch; }
 .sonia-contact-directions { width:100%; }
 .sonia-about-nav { gap:13px; }
 .sonia-about-nav a { font-size:13px; }
 .sonia-about-copy h1 { font-size:36px; }
}
@media (prefers-reduced-motion:reduce) {
 .sonia-contact-whatsapp { transition:none; }
}
/* Redes sociales: nunca se muestran sin un enlace oficial válido. */
.sonia-social-links { display:flex; flex-wrap:wrap; align-items:center; gap:9px; margin:19px 0 1px; }
.sonia-social-links a { display:inline-flex; align-items:center; gap:8px; padding:10px 14px; min-height:44px; background:white; color:#182843; border:1px solid #efdce5; border-radius:12px; font-size:13px; font-weight:700; }
.sonia-social-links a span { font-size:20px; color:var(--sonia-extra-pink); }
.sonia-social-links a:hover { border-color:#efa5c4; background:#fff7fa; }
.sonia-about-social { margin-top:16px; align-items:center; gap:9px; font-size:14px; font-weight:700; color:#c00856; text-decoration:underline; text-underline-offset:4px; min-height:44px; }
.sonia-about-social:not([hidden]) { display:inline-flex; }
/* V16.0 | Franja editorial de marcas: compacta, táctil y accesible. */
.sonia-brands {
  background:linear-gradient(100deg,#fff6fa 0%,#fff 58%,#fff7fb 100%);
  border-block:1px solid #f1dfe7;
  padding:11px max(16px,calc((100vw - 1240px)/2));
  overflow:hidden;
}
.sonia-brands-shell { width:100%; display:flex; align-items:center; gap:18px; max-width:1240px; margin:0 auto; min-width:0; }
.sonia-brands-heading { flex:0 0 176px; display:flex; align-items:center; gap:10px; min-width:0; text-align:left; margin:0; }
.sonia-brands-heading h2 { margin:0; font:750 19px/1.16 var(--sans); color:#17243d; letter-spacing:-.04em; }
.sonia-brands-motion { flex:0 0 44px; display:grid; place-items:center; width:44px; height:44px; border:1px solid #eecbd9; border-radius:50%; background:#fff; color:#bd195e; cursor:pointer; transition:background .2s ease,border-color .2s ease; box-shadow:0 2px 9px #a7396910; }
.sonia-brands-motion:hover { background:#ffeaf2; border-color:#d583a8; }
.sonia-brands-motion-symbol { font:700 17px/1 Arial,sans-serif; }
.sonia-brands-motion[aria-pressed="true"] .sonia-brands-motion-symbol { font-size:15px; }
.sonia-brands-scroll { flex:1 1 0; min-width:0; overflow-x:auto; overflow-y:hidden; scrollbar-width:none; scroll-snap-type:none; overscroll-behavior-inline:contain; -webkit-overflow-scrolling:touch; touch-action:pan-x pan-y; }
.sonia-brands-scroll::-webkit-scrollbar { display:none; }
.sonia-brands-scroll[data-auto="true"] { scroll-snap-type:none; }
.sonia-brands-list { width:max-content; display:flex; align-items:center; gap:11px; padding:1px 3px; margin:0; list-style:none; }
.sonia-brands-list>li { min-width:0; width:210px; flex:0 0 210px; min-height:0; height:66px; padding:0; border:0; background:transparent; box-shadow:none; scroll-snap-align:start; }
.sonia-brand-tile { display:flex; align-items:center; justify-content:center; width:100%; height:100%; padding:8px 16px; border:1px solid #eedfe6; border-radius:13px; background:#fff; text-decoration:none; box-shadow:0 3px 12px #452e3a0b; transition:background .2s ease,border-color .2s ease,box-shadow .2s ease; }
.sonia-brand-tile img { display:block; width:100%; height:45px; max-width:165px; max-height:45px; object-fit:contain; }
.sonia-brand-tile:hover,.sonia-brand-tile:focus-visible { background:#fff9fc; border-color:#e59ab8; box-shadow:0 3px 15px #8e32521c; }
.sonia-brands-pang { font:850 27px/1 var(--sans); color:#1a2031; letter-spacing:-.07em; }
.sonia-brands-motion:focus-visible,.sonia-brand-tile:focus-visible,.sonia-brands-scroll:focus-visible { outline:3px solid #b40c57; outline-offset:2px; }
.sonia-brands-swipe { display:none; }
@media(max-width:900px) {
  .sonia-brands { padding-inline:14px; }
  .sonia-brands-shell { gap:12px; }
  .sonia-brands-heading { flex-basis:150px; }
  .sonia-brands-list>li { width:180px; flex-basis:180px; }
}
@media(max-width:700px) {
  .sonia-brands { padding:10px 11px; overflow:hidden; }
  .sonia-brands-shell { gap:9px; }
  .sonia-brands-heading { flex:0 0 126px; gap:4px; }
  .sonia-brands-heading h2 { font-size:16px; line-height:1.15; }
  .sonia-brands-motion { flex-basis:44px; }
  .sonia-brands-list { gap:9px; }
  .sonia-brands-list>li { width:156px; flex-basis:156px; height:63px; }
  .sonia-brand-tile { padding:8px 11px; }
  .sonia-brand-tile img { height:41px; max-height:41px; }
  .sonia-brands-pang { font-size:25px; }
}
@media(max-width:360px) {
 .sonia-brands-heading { flex-basis:120px; }
 .sonia-brands-heading h2 { font-size:15px; }
 .sonia-brands-shell { gap:7px; }
 .sonia-brands-list>li { width:151px; flex-basis:151px; }
}
/* V16.0 | Marcas verificadas, explicadas en la página institucional. */
.sonia-about-brands { background:linear-gradient(160deg,#fff9fc 0%,#fff 48%,#fff7fa 100%); border-block:1px solid #f0dfe7; padding:clamp(52px,6vw,83px) 22px; }
.sonia-about-brands-shell { max-width:1150px; margin:auto; }
.sonia-about-brands-head { max-width:790px; margin:0 auto 32px; text-align:center; }
.sonia-about-brands-head h2 { font:750 clamp(30px,3.55vw,45px)/1.13 var(--sans); color:#152440; letter-spacing:-.035em; margin:12px 0 14px; }
.sonia-about-brands-head>p:last-child { font:400 16px/1.7 var(--sans); color:#56657d; max-width:720px; margin:0 auto; }
.sonia-about-brand-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.sonia-about-brand-card { display:grid; grid-template-columns:138px minmax(0,1fr); align-items:center; gap:18px; padding:24px; border:1px solid #ecdee6; border-radius:20px; background:#fff; box-shadow:0 8px 30px #56354709; scroll-margin-top:26px; }
.sonia-about-brand-card:target { border-color:#df8eaf; box-shadow:0 0 0 3px #fce4ee,0 8px 30px #56354709; }
.sonia-about-brand-card:focus { outline:none; }
.sonia-about-brand-card:focus-visible { outline:3px solid #b50857; outline-offset:3px; }
.sonia-about-brand-logo { min-width:0; display:flex; align-items:center; justify-content:center; height:104px; padding:16px; border-radius:15px; background:#fff7fa; }
.sonia-about-brand-logo img { display:block; max-width:100%; width:auto; max-height:73px; object-fit:contain; }
.sonia-about-brand-wordmark { font:850 35px/1 var(--sans); letter-spacing:-.07em; color:#1a2130; }
.sonia-about-brand-category { color:#ad235e; font-size:11px; font-weight:800; letter-spacing:.095em; text-transform:uppercase; margin:0 0 6px; }
.sonia-about-brand-body h3 { color:#172640; font-size:clamp(20px,2vw,24px); letter-spacing:-.025em; line-height:1.15; margin:0 0 5px; }
.sonia-about-brand-body h4 { color:#4c5269; font-size:14px; line-height:1.35; margin:0 0 8px; font-weight:700; }
.sonia-about-brand-body>p:last-child { color:#59657a; font-size:14px; line-height:1.63; margin:0; }
.sonia-about-brand-card:last-child { grid-column:1 / -1; grid-template-columns:180px minmax(0,1fr); }
.sonia-about-brand-card:last-child .sonia-about-brand-logo { height:116px; }
.sonia-about-brand-footer { margin-top:24px; display:flex; align-items:center; flex-wrap:wrap; gap:15px; padding:19px 23px; background:#fff0f6; border:1px solid #f5dce6; border-radius:17px; }
.sonia-about-brand-footer>span { font-size:24px; color:#d22b6e; }
.sonia-about-brand-footer p { flex:1 1 310px; color:#455169; font-size:14px; line-height:1.55; }
.sonia-about-brand-footer>a { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-height:44px; border-radius:11px; padding:10px 18px; font-size:13px; font-weight:700; color:#fff; background:#c20857; }
.sonia-about-brand-footer>a:hover { background:#a9034b; }
@media(max-width:1000px) {
 .sonia-about-brand-card { grid-template-columns:1fr; align-items:start; gap:14px; }
 .sonia-about-brand-card:last-child { grid-template-columns:150px minmax(0,1fr); }
 .sonia-about-brand-logo { height:91px; }
}
@media(max-width:700px) {
 .sonia-about-brands { padding:46px 16px 53px; }
 .sonia-about-brands-head { margin-bottom:23px; }
 .sonia-about-brands-head h2 { font-size:30px; }
 .sonia-about-brand-grid { grid-template-columns:1fr; gap:13px; }
 .sonia-about-brand-card,.sonia-about-brand-card:last-child { grid-column:auto; grid-template-columns:104px minmax(0,1fr); gap:14px; padding:17px; border-radius:16px; }
 .sonia-about-brand-card:last-child .sonia-about-brand-logo,.sonia-about-brand-logo { height:91px; padding:10px; }
 .sonia-about-brand-logo img { max-height:66px; }
 .sonia-about-brand-wordmark { font-size:26px; }
 .sonia-about-brand-category { font-size:10px; }
 .sonia-about-brand-body h3 { font-size:19px; }
 .sonia-about-brand-body h4 { font-size:13px; }
 .sonia-about-brand-body>p:last-child { font-size:13.5px; }
 .sonia-about-brand-footer { padding:16px; gap:9px; }
 .sonia-about-brand-footer>a { width:100%; }
}
@media(max-width:390px) {
 .sonia-about-brand-card,.sonia-about-brand-card:last-child { grid-template-columns:1fr; }
 .sonia-about-brand-logo,.sonia-about-brand-card:last-child .sonia-about-brand-logo { height:80px; }
 .sonia-about-brand-body>p:last-child { font-size:14px; }
}
@media(prefers-reduced-motion:reduce) {
 .sonia-brands-motion { display:none; }
 .sonia-brand-tile { transition:none; }
}
/* Los nombres accesibles viajan con cada tarjeta dentro de su área desplazable. */
.sonia-brand-tile { position:relative; }

/* V17.0 | Marcas: carrusel automático sin botón, usa todo el ancho restante. */
.sonia-brands-shell { gap: clamp(12px, 2vw, 24px); }
.sonia-brands-heading { flex: 0 0 clamp(112px, 13vw, 150px); }
.sonia-brands-heading h2 { font-size: clamp(17px, 1.65vw, 21px); }
.sonia-brands-motion { display:none !important; }
.sonia-brands-scroll { position:relative; display:block; flex:1 1 auto; width:0; overflow:hidden; isolation:isolate; }
.sonia-brands-scroll::before,.sonia-brands-scroll::after { content:""; position:absolute; z-index:3; top:0; bottom:0; width:clamp(18px,3.2vw,42px); pointer-events:none; }
.sonia-brands-scroll::before { left:0; background:linear-gradient(90deg,#fff8fb 0%,rgba(255,248,251,.78) 38%,transparent 100%); }
.sonia-brands-scroll::after { right:0; background:linear-gradient(270deg,#fff8fb 0%,rgba(255,248,251,.78) 38%,transparent 100%); }
.sonia-brands-track { display:flex; width:max-content; align-items:center; animation: sonia-brand-marquee 34s linear infinite; will-change:transform; }
.sonia-brands-list { flex:0 0 auto; gap:clamp(12px,1.4vw,20px); padding:2px 10px 2px 0; }
.sonia-brands-list>li { width:clamp(145px,15vw,190px); flex-basis:clamp(145px,15vw,190px); height:72px; }
.sonia-brand-tile { padding:8px 13px; }
.sonia-brand-tile img { max-width:100%; height:50px; max-height:50px; }
/* El movimiento continúa de forma automática, incluso al pasar el cursor. */
@keyframes sonia-brand-marquee { to { transform:translateX(-50%); } }
@media(max-width:700px) {
 .sonia-brands { padding:10px 12px; }
 .sonia-brands-shell { gap:10px; }
 .sonia-brands-heading { flex:0 0 100px; }
 .sonia-brands-heading h2 { font-size:15px; }
 .sonia-brands-list { gap:9px; }
 .sonia-brands-list>li { width:clamp(124px,38vw,156px); flex-basis:clamp(124px,38vw,156px); height:62px; }
 .sonia-brand-tile { padding:6px 9px; }
 .sonia-brand-tile img { height:43px; max-height:43px; }
 .sonia-brands-track { animation-duration:30s; }
 .sonia-brands-scroll::before,.sonia-brands-scroll::after { width:20px; }
}
@media(prefers-reduced-motion:reduce) { .sonia-brands-track { animation:none; } .sonia-brands-scroll { overflow-x:auto; } }

/* V19.2 | Escritorio: carrusel de marcas hasta el borde derecho de la ventana.
   Aprovecha todo el espacio después de «Nuestras marcas», sin márgenes muertos. */
@media (min-width:901px) {
  .sonia-brands { padding-left:max(22px, calc((100vw - 1290px) / 2)); padding-right:0; }
  .sonia-brands-shell { max-width:none; margin:0; gap:16px; }
  .sonia-brands-heading { flex:0 0 140px; }
  .sonia-brands-scroll { flex:1 1 auto; }
  .sonia-brands-list>li { width:clamp(175px, 17vw, 225px); flex-basis:clamp(175px, 17vw, 225px); }
  .sonia-brands-scroll::after { width:20px; }
}
