/* Difriho – Catálogo web | estilos aislados para no afectar las familias. */
.df-webcatalog { --dwc-navy:#102840; --dwc-navy-deep:#071b31; --dwc-cyan:#38c2d9; --dwc-ink:#14263b; --dwc-muted:#617189; --dwc-border:#e2e9f0; --dwc-serif:Georgia,'Times New Roman',serif; color:var(--dwc-ink); background:#f7f9fc; }
.df-webcatalog *, .df-webcatalog *::before, .df-webcatalog *::after { box-sizing:border-box; }
.df-webcatalog .dwc-main { display:block; width:100%; overflow:hidden; }
.df-webcatalog .dwc-shell { width:min(1190px,calc(100% - 48px)); margin-inline:auto; }
.df-webcatalog .dwc-hero { position:relative; isolation:isolate; padding:88px 0 90px; background:linear-gradient(135deg,#081a30 0%,#153950 72%,#0b263e 100%); color:white; overflow:hidden; }
.df-webcatalog .dwc-hero::before { content:""; position:absolute; inset:0; z-index:-1; background-image:linear-gradient(rgba(255,255,255,.035) 1px, transparent 1px),linear-gradient(90deg, rgba(255,255,255,.035) 1px, transparent 1px); background-size:64px 64px; mask-image:linear-gradient(to right,transparent,#000 30%,transparent 96%); }
.df-webcatalog .dwc-aurora { pointer-events:none; position:absolute; border-radius:50%; filter:blur(5px); z-index:-1; }
.df-webcatalog .dwc-aurora-one { width:660px;height:660px;right:-230px;top:-200px;background:radial-gradient(circle,rgba(30,150,195,.24),transparent 64%); }
.df-webcatalog .dwc-aurora-two { width:340px;height:340px;left:-200px;bottom:-240px;background:radial-gradient(circle,rgba(39,186,207,.26),transparent 74%); }
.df-webcatalog .dwc-hero-inner { position:relative; z-index:1; }
.df-webcatalog .dwc-breadcrumb { display:flex;gap:12px;align-items:center;margin:0 0 55px;font-size:13px;font-weight:500;color:#b4c7d7; }
.df-webcatalog .dwc-breadcrumb a { color:#d6e6f2; text-decoration:none; }
.df-webcatalog .dwc-breadcrumb a:hover { color:#fff; }
.df-webcatalog .dwc-eyebrow, .df-webcatalog .dwc-overline { display:inline-flex;align-items:center;gap:11px;font-size:11px;font-weight:800;letter-spacing:.19em;text-transform:uppercase; }
.df-webcatalog .dwc-eyebrow { color:#86deec;margin-bottom:24px; }
.df-webcatalog .dwc-pulse { width:7px;height:7px;border-radius:50%;background:#3ddcd8;box-shadow:0 0 0 6px rgba(61,220,216,.12); }
.df-webcatalog .dwc-hero h1 { margin:0;max-width:1000px;letter-spacing:-.058em;font-size:clamp(42px,5.4vw,78px);line-height:1.08;font-weight:760;color:#fff; }
.df-webcatalog .dwc-hero h1 em { color:#81d6e6;font-family:var(--dwc-serif);font-style:italic;font-weight:400;letter-spacing:-.055em; }
.df-webcatalog .dwc-hero p { color:#c4d2de;font-size:clamp(15px,1.8vw,18px);line-height:1.75;max-width:680px;margin:26px 0 0; }
.df-webcatalog .dwc-hero-actions { display:flex;align-items:center;flex-wrap:wrap;gap:13px;margin-top:36px; }
.df-webcatalog .dwc-btn { display:inline-flex;align-items:center;justify-content:space-between;gap:25px;border-radius:9px;padding:15px 22px;font-weight:750;font-size:14px;line-height:1.3;text-decoration:none!important;transition:transform .2s ease,background .2s ease,border-color .2s ease,box-shadow .2s ease; }
.df-webcatalog .dwc-btn:hover { transform:translateY(-2px); }
.df-webcatalog .dwc-btn-primary { color:#082237!important;background:#a2edf3;box-shadow:0 11px 29px rgba(27,174,196,.18); }
.df-webcatalog .dwc-btn-primary:hover { background:#c1f6fa; }
.df-webcatalog .dwc-btn-secondary { color:#e2f0f7!important;background:rgba(255,255,255,.055);border:1px solid rgba(204,235,249,.3); }
.df-webcatalog .dwc-btn-secondary:hover { background:rgba(255,255,255,.12);border-color:rgba(204,235,249,.56); }
.df-webcatalog .dwc-hero-meta { display:flex;gap:23px;align-items:center;flex-wrap:wrap;color:#9cb4c9;font-size:12px;margin-top:48px; }
.df-webcatalog .dwc-hero-meta strong { color:#f0fbff;font-size:19px;padding-right:8px;font-weight:750; }
.df-webcatalog .dwc-meta-divider { height:17px;width:1px;background:rgba(255,255,255,.21); }
.df-webcatalog .dwc-catalog { padding:85px 0 102px; }
.df-webcatalog .dwc-section-heading { display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:36px; }
.df-webcatalog .dwc-overline { color:#187da2;margin-bottom:13px; }
.df-webcatalog .dwc-section-heading h2,.df-webcatalog .dwc-cta h2 { margin:0;color:#152a42;font-size:clamp(31px,3.8vw,48px);line-height:1.12;letter-spacing:-.046em;font-weight:760; }
.df-webcatalog .dwc-section-heading h2 em,.df-webcatalog .dwc-cta h2 em { color:#167d9f;font-style:italic;font-family:var(--dwc-serif);font-weight:400; }
.df-webcatalog .dwc-section-heading p { color:var(--dwc-muted);font-size:15px;line-height:1.65;margin:16px 0 0; }
.df-webcatalog .dwc-count { white-space:nowrap;color:#53647b;font-size:13px;margin-bottom:7px; }
.df-webcatalog .dwc-count span { font-size:24px;font-weight:800;color:#1a415c;margin-right:7px; }
.df-webcatalog .dwc-tools { display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:25px; }
.df-webcatalog .dwc-filters { display:flex;flex-wrap:wrap;gap:8px; }
.df-webcatalog .dwc-filter { appearance:none;border:1px solid #d9e4ed;outline-offset:3px;background:white;color:#4e637a;border-radius:999px;padding:10px 15px;font-size:12px;font-weight:750;letter-spacing:.01em;cursor:pointer;white-space:nowrap;transition:background .2s ease,color .2s ease,border-color .2s ease; }
.df-webcatalog .dwc-filter:hover { border-color:#83bcd0;color:#145573; }
.df-webcatalog .dwc-filter.is-selected { background:#10334b;color:#fff;border-color:#10334b; }
.df-webcatalog .dwc-search { flex:0 1 255px;display:flex;align-items:center;gap:9px;min-width:195px;min-height:42px;background:white;border:1px solid #d9e4ed;border-radius:999px;padding:0 14px; }
.df-webcatalog .dwc-search:focus-within { border-color:#4aa4c2;box-shadow:0 0 0 3px rgba(56,194,217,.12); }
.df-webcatalog .dwc-search-icon { font-size:22px;line-height:1;color:#688298; }
.df-webcatalog .dwc-search input { width:100%;min-width:0;border:0!important;box-shadow:none!important;outline:none!important;padding:10px 0;background:transparent!important;color:#223a51;font-size:13px; }
.df-webcatalog .dwc-search input::placeholder { color:#8b9bac; }
.df-webcatalog .dwc-search kbd { font-size:9px;color:#91a2b4;border:1px solid #e5edf4;border-radius:4px;padding:3px; }
.df-webcatalog .dwc-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px; }
.df-webcatalog .dwc-card { min-width:0;display:flex;flex-direction:column;overflow:hidden;background:#fff;border:1px solid #e3eaf0;border-radius:16px;box-shadow:0 5px 24px rgba(26,55,75,.045);transition:transform .26s ease,box-shadow .26s ease,border-color .26s ease; }
.df-webcatalog .dwc-card-link { color:inherit; text-decoration:none!important; cursor:pointer; }
.df-webcatalog .dwc-card-link:hover, .df-webcatalog .dwc-card-link:focus-visible { transform:translateY(-5px);box-shadow:0 18px 45px rgba(26,55,75,.12);border-color:#c0d7e4; text-decoration:none!important; }
.df-webcatalog .dwc-card-link:focus-visible { outline:3px solid #137fa5; outline-offset:4px; }
.df-webcatalog .dwc-card-unpublished { cursor:default; }
.df-webcatalog .dwc-art { height:190px;position:relative;display:grid;place-items:center;isolation:isolate;overflow:hidden;background:linear-gradient(130deg,#ecf8fd,#d1e9f4); }
.df-webcatalog .dwc-art::before { content:"";position:absolute;inset:0;background:radial-gradient(circle at 75% 10%,rgba(255,255,255,.84),transparent 47%),repeating-linear-gradient(120deg,transparent 0,transparent 28px,rgba(255,255,255,.18) 29px,rgba(255,255,255,.18) 30px); }
.df-webcatalog .dwc-tone-pink .dwc-art { background:linear-gradient(120deg,#fbf2f6,#f3dce8);color:#bd779d; }
.df-webcatalog .dwc-tone-cyan .dwc-art { background:linear-gradient(120deg,#e8fbfd,#c7ecf3);color:#2795ac; }
.df-webcatalog .dwc-tone-lilac .dwc-art { background:linear-gradient(120deg,#f0eeff,#e1dcf8);color:#8172b8; }
.df-webcatalog .dwc-tone-amber .dwc-art { background:linear-gradient(120deg,#fff6e9,#ffe3bd);color:#c48a38; }
.df-webcatalog .dwc-tone-blue .dwc-art { background:linear-gradient(120deg,#eaf2fc,#cfdef3);color:#4e83b9; }
.df-webcatalog .dwc-tone-mint .dwc-art { background:linear-gradient(120deg,#e9fbf7,#caeee3);color:#3b9b86; }
.df-webcatalog .dwc-tone-sky .dwc-art { background:linear-gradient(120deg,#ebf9ff,#d7ebf8);color:#4b98bf; }
.df-webcatalog .dwc-art-number { position:absolute;top:16px;left:19px;z-index:3;font-weight:800;font-size:12px;letter-spacing:.1em;color:#244662;opacity:.55; }
.df-webcatalog .dwc-card-icon { position:relative;z-index:2;filter:drop-shadow(0 8px 12px rgba(47,90,119,.13)); }
.df-webcatalog .dwc-art-orbit { position:absolute;right:-55px;bottom:-105px;width:245px;height:245px;border:1px solid currentColor;opacity:.22;border-radius:50%;box-shadow:0 0 0 38px rgba(255,255,255,.12),0 0 0 80px rgba(255,255,255,.08); }
.df-webcatalog .dwc-card-body { display:flex;flex:1;flex-direction:column;padding:24px 24px 20px; }
.df-webcatalog .dwc-card-label { text-transform:uppercase;color:#167c9a;font-weight:800;font-size:10px;letter-spacing:.17em; }
.df-webcatalog .dwc-card-body h3 { font-size:21px;line-height:1.25;letter-spacing:-.025em;font-weight:760;margin:11px 0 0;color:#1a314b;min-height:52px; }
.df-webcatalog .dwc-card-body p { color:#627388;font-size:13px;line-height:1.75;margin:12px 0 24px; }
.df-webcatalog .dwc-card-action { margin-top:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 0 0;border-top:1px solid #e7edf2;font-weight:800;font-size:12px;text-decoration:none!important;color:#14577c!important; }
.df-webcatalog .dwc-card-link:hover .dwc-action-arrow,
.df-webcatalog .dwc-card-link:focus-visible .dwc-action-arrow { transform:translate(3px,-3px);background:#10334b;color:white; }
.df-webcatalog .dwc-action-arrow { flex:none;width:32px;height:32px;display:grid;place-items:center;border-radius:50%;background:#eaf5f9;transition:transform .2s ease,background .2s ease,color .2s ease;font-size:16px; }
.df-webcatalog .dwc-card-unavailable { color:#8695a2!important;cursor:default; }
.df-webcatalog .dwc-empty { background:#fff;border:1px solid #e3eaf0;border-radius:12px;padding:28px;color:#587089;text-align:center; }
.df-webcatalog [hidden] { display:none!important; }
.df-webcatalog .dwc-cta { padding:65px 0;background:#103148;color:#d2e1e9; }
.df-webcatalog .dwc-cta-inner { display:flex;align-items:center;justify-content:space-between;gap:32px; }
.df-webcatalog .dwc-cta .dwc-overline { color:#88dce9; }
.df-webcatalog .dwc-cta h2 { color:#fff;font-size:clamp(26px,3.4vw,40px); }
.df-webcatalog .dwc-cta h2 em { color:#87d7e4; }
.df-webcatalog .dwc-cta p { color:#b3c9d7;margin:16px 0 0;max-width:660px;line-height:1.6;font-size:14px; }
.df-webcatalog .dwc-btn-light { background:#f6fbff;color:#12344d!important;flex-shrink:0; }
.df-webcatalog .dwc-btn-light:hover { background:#d9f2f8; }
.df-webcatalog .dwc-visually-hidden { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
.df-webcatalog .dwc-fallback-footer { padding:24px;text-align:center;background:#0c2334;color:#fff; }
.df-webcatalog .dwc-fallback-footer a { color:#b5edff; }
@media (max-width:1024px) { .df-webcatalog .dwc-grid {grid-template-columns:repeat(2,minmax(0,1fr));} .df-webcatalog .dwc-tools {flex-direction:column;align-items:stretch;} .df-webcatalog .dwc-search{flex:auto;max-width:370px;} }
@media (max-width:660px) { .df-webcatalog .dwc-shell{width:min(100% - 30px,1190px);} .df-webcatalog .dwc-hero{padding:38px 0 60px;} .df-webcatalog .dwc-breadcrumb{margin-bottom:48px;} .df-webcatalog .dwc-hero h1{font-size:clamp(38px,10.7vw,55px);} .df-webcatalog .dwc-hero-actions{align-items:stretch;flex-direction:column;} .df-webcatalog .dwc-btn{width:100%;} .df-webcatalog .dwc-hero-meta{margin-top:33px;} .df-webcatalog .dwc-catalog{padding:56px 0 67px;} .df-webcatalog .dwc-grid{grid-template-columns:1fr;gap:17px;} .df-webcatalog .dwc-section-heading{align-items:flex-start;} .df-webcatalog .dwc-count{display:none;} .df-webcatalog .dwc-filters{flex-wrap:nowrap;overflow-x:auto;padding-bottom:10px;scrollbar-width:thin;} .df-webcatalog .dwc-filter{flex:none;} .df-webcatalog .dwc-search{max-width:none;} .df-webcatalog .dwc-cta-inner{flex-direction:column;align-items:stretch;} .df-webcatalog .dwc-art{height:185px;} .df-webcatalog .dwc-card-body h3{min-height:0;} }
@media (prefers-reduced-motion:reduce) { .df-webcatalog .dwc-btn,.df-webcatalog .dwc-card,.df-webcatalog .dwc-action-arrow { transition:none!important; } }
