/* SOFyS · V4: tarjetas institucionales iguales, barra de filtros compacta. */
:root { --sofys-vino:#76123d; --sofys-profundo:#430d2e; --sofys-oro:#d7a85a; --sofys-crema:#faf7f2; }

/* LANDING: misión, visión y registro presencial */
.values-section { position:relative; padding:105px 0 110px; background:radial-gradient(circle at 12% 12%,#fce5eb 0,transparent 29%), linear-gradient(140deg,#fffdfa,#f7f0e7 62%,#f6ebea); overflow:hidden; }
.values-section:before{content:""; position:absolute; width:400px;height:400px; border:1px solid rgba(117,18,61,.09);border-radius:50%;right:-190px;top:-190px;pointer-events:none}
.values-section:after{content:"";position:absolute;width:260px;height:260px;border:1px solid rgba(117,18,61,.09);border-radius:50%;right:-90px;top:-90px;pointer-events:none}
.values-section .values-intro{max-width:830px;margin-bottom:43px;position:relative;z-index:1}
.values-section .values-intro h2{font-family:var(--display,Georgia,serif);font-size:clamp(32px,4.4vw,59px);line-height:1.12;color:#291e2b;margin:17px 0 16px;font-weight:700;letter-spacing:-.045em}
.values-section .values-intro h2 em{color:var(--sofys-vino)}
.values-section .values-intro p{color:#685e68;font-size:17px;line-height:1.8;max-width:760px}
.values-section .values-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:25px;position:relative;z-index:1}
.values-section .value-card{position:relative;min-width:0;min-height:335px;padding:42px 42px 38px;border-radius:25px;border:1px solid #63203d;background:linear-gradient(145deg,#82204b,#4e1032 78%);box-shadow:0 22px 50px rgba(79,15,47,.19);isolation:isolate;overflow:hidden;display:flex;flex-direction:column;align-items:flex-start;transition:transform .2s ease,box-shadow .2s ease}
.values-section .value-card:hover{transform:translateY(-4px);box-shadow:0 25px 55px rgba(75,22,48,.12)}
.values-section .value-card:after{content:"";width:190px;height:190px;border-radius:50%;background:rgba(255,255,255,.055);position:absolute;right:-90px;top:-82px;z-index:-1}
.values-section .value-card .value-topline{display:flex;align-items:center;justify-content:space-between;width:100%;gap:10px;margin-bottom:25px}
.values-section .value-card .value-icon{width:61px;height:61px;border-radius:17px;display:grid;place-items:center;background:rgba(255,255,255,.13);color:#ffe5ad;border:1px solid rgba(255,255,255,.22);box-shadow:0 8px 18px rgba(45,9,29,.18);font-size:27px;line-height:1}
.values-section .value-card .value-icon svg{width:29px;height:29px;stroke:currentColor;stroke-width:1.6;fill:none;stroke-linecap:round;stroke-linejoin:round}
.values-section .value-card .value-number{display:inline-block;color:#f4cf9f;font-size:11px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}
.values-section .value-card h3{font-family:var(--display,Georgia,serif);font-weight:700;font-size:35px;line-height:1.1;color:#fff;margin:0 0 18px}
.values-section .value-card p{font-size:15px;line-height:1.85;color:#f9eaf2;max-width:560px;margin:0}
.values-section .value-card .value-line{width:72px;height:3px;border-radius:8px;background:var(--sofys-oro);margin-top:auto;transform:translateY(24px)}

.register-section{background:#fff;padding:110px 0 118px;position:relative}
.register-section .register-layout{display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:start;gap:clamp(32px,5vw,84px)}
.register-section .register-lead{position:sticky;top:26px;min-width:0}
.register-section .register-lead h2{font-family:var(--display,Georgia,serif);font-size:clamp(33px,3.4vw,49px);line-height:1.17;color:#31172a;margin:18px 0 22px;letter-spacing:-.045em}
.register-section .register-lead h2 em{color:var(--sofys-vino)}
.register-section .register-lead>p{font-size:16px;line-height:1.85;color:#635c65;max-width:490px}
.register-section .register-place{display:flex;align-items:flex-start;gap:15px;padding:23px 23px;margin:29px 0 30px;background:#fff9f1;border:1px solid #eddcc4;border-left:4px solid var(--sofys-oro);border-radius:16px;box-shadow:0 12px 28px #763b160a}
.register-section .register-place .register-location-icon{width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:#f6e4c8;color:#7b4a25;flex-shrink:0;font-size:21px}
.register-section .register-place strong{font-size:15px;color:#3b2131;display:block;margin-bottom:6px}
.register-section .register-place p{line-height:1.72;font-size:14px;color:#625665;margin:0}
.register-section .register-steps{display:grid;grid-template-columns:1fr;gap:15px;border:0;padding:0;min-width:0}
.register-section .register-step{display:flex;align-items:flex-start;gap:21px;min-width:0;padding:26px 28px;background:linear-gradient(120deg,#fff,#fffcfc);border:1px solid #ede0e3;border-radius:20px;box-shadow:0 12px 26px rgba(73,17,44,.045);transition:border-color .2s ease,transform .2s ease}
.register-section .register-step:hover{transform:translateX(3px);border-color:#d8acbb}
.register-section .register-step>span{width:52px;height:52px;border-radius:15px;display:grid;place-items:center;background:linear-gradient(145deg,#8e2853,#5d1037);color:#fff;font:800 18px var(--sans,Arial,sans-serif);flex-shrink:0;box-shadow:0 10px 22px #75143c27}
.register-section .register-step h3{margin:1px 0 8px;font-size:17px;line-height:1.4;color:#4c1937;font-weight:800}
.register-section .register-step p{margin:0;font-size:14px;line-height:1.72;color:#655f67}
.register-section .register-note{margin:7px 0 0;padding:16px 21px;border-radius:12px;background:#f7f4f4;border:1px solid #e9e0e2;color:#675d64;font-size:13px;line-height:1.7}
@media(max-width:940px){.values-section{padding:75px 0}.register-section{padding:80px 0}.register-section .register-layout{grid-template-columns:1fr;gap:35px}.register-section .register-lead{position:static}.values-section .value-card{padding:33px;min-height:335px}}
@media(max-width:650px){.values-section{padding:66px 0 70px}.values-section .values-grid{grid-template-columns:1fr;gap:17px}.values-section .value-card{padding:28px;min-height:295px}.values-section .value-card h3{font-size:29px}.values-section .values-intro p{font-size:15px}.register-section{padding:70px 0}.register-section .register-step{padding:22px 19px;gap:15px}.register-section .register-step>span{width:45px;height:45px;font-size:15px}.register-section .register-place{padding:20px}}

/* CATÁLOGO: barra de filtros clara, calificaciones legibles y tarjetas consistentes */
.catalog-tools{background:#fff!important;border:1px solid #ebdfe4!important;box-shadow:0 14px 43px rgba(65,12,39,.07)!important;border-radius:23px!important;padding:26px!important}
.catalog-tools .search-filters{grid-template-columns:minmax(220px,2.8fr) repeat(3,minmax(144px,1fr)) auto!important;gap:14px!important;align-items:end}
.catalog-tools .catalog-select-wrap label{font-weight:800!important;color:#5a1738!important;font-size:12px!important;letter-spacing:.01em!important}
.catalog-tools .search-box,.catalog-tools select,.catalog-tools #zone-input{min-height:53px!important;border:1px solid #e6dbe1!important;border-radius:12px!important;background:#fff!important;color:#4c2840!important}
.catalog-tools .search-box:focus-within,.catalog-tools select:focus,.catalog-tools #zone-input:focus{border-color:#a75074!important;outline:2px solid #a7507430!important;outline-offset:1px}
.catalog-tools .search-box input{min-height:50px!important}
.catalog-tools .reset-filters{font-weight:700;padding:10px 13px;border-radius:9px;background:#fcf2f5;white-space:nowrap;align-self:end;min-height:53px;display:inline-flex;gap:7px;align-items:center;justify-content:center}
.catalog-tools .reset-filters:hover{background:#f7e5ec}
#home-services-grid .home-service-card{overflow:hidden;border-radius:22px;box-shadow:0 15px 38px #2b0f1d12;transition:box-shadow .2s ease,transform .2s ease}
#home-services-grid .home-service-card:hover{transform:translateY(-3px);box-shadow:0 23px 48px #2b0f1d20}
#home-services-grid .home-service-image{height:400px!important;min-height:400px!important;max-height:none!important;position:relative}
#home-services-grid .home-service-image img{height:100%!important;width:100%!important;object-fit:cover!important;object-position:center}
#home-services-grid .home-rating-badge{position:absolute!important;right:14px!important;top:14px!important;left:auto!important;display:flex!important;align-items:center!important;gap:6px!important;width:auto!important;height:auto!important;padding:9px 12px!important;color:#4a2b20!important;background:rgba(255,251,243,.98)!important;border:1px solid #f3ddb1!important;border-radius:999px!important;box-shadow:0 5px 18px #2c14204d!important;z-index:20!important;font-family:Arial,sans-serif;font-size:13px!important;font-weight:800;line-height:1.2;white-space:nowrap}
#home-services-grid .home-rating-badge .rating-star{color:#d69b28;font-size:17px;line-height:1}
#home-services-grid .home-rating-badge .rating-number{font-size:13px;font-weight:900}
#home-services-grid .home-rating-badge .rating-count{font-size:11px;color:#756473;font-weight:600}
#home-services-grid .home-rating-badge.no-rating{color:#5d5360;background:#fff!important;border-color:#e7dfe1!important}
#home-services-grid .home-rating-badge.no-rating .rating-star{color:#b6a4ac}
#home-services-grid .home-rating-badge.rating-error{border-color:#e9b7bf!important;color:#9b244c!important}
#home-services-grid .home-category{max-width:calc(100% - 153px)!important;left:16px!important;top:17px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#home-services-grid .home-service-content{padding:25px 23px 23px}
#home-services-grid .home-service-content h3{font-size:20px;line-height:1.48}
@media(max-width:650px){.catalog-tools{padding:16px!important}.catalog-tools .search-filters{gap:12px!important}#home-services-grid .home-service-image{height:365px!important;min-height:365px!important}#home-services-grid .home-category{left:12px!important;top:14px!important}#home-services-grid .home-rating-badge{right:10px!important;top:10px!important;padding:7px 9px!important;font-size:11px!important}}

/* La barra utiliza una sola fila: sin accesos rápidos bajo los filtros. */
@media (max-width:1160px){
 .catalog-tools .search-filters{grid-template-columns:repeat(3,minmax(0,1fr))!important}
 .catalog-tools .search-box{grid-column:1/-1}
 .catalog-tools .reset-filters{grid-column:3;justify-self:end}
}
@media (max-width:650px){
 .catalog-tools .search-filters{grid-template-columns:repeat(2,minmax(0,1fr))!important}
 .catalog-tools .search-box{grid-column:1/-1}
 .catalog-tools .reset-filters{grid-column:1/-1;justify-self:end;min-height:43px}
}
