
:root{
  --cat-primary:#f59e0b;
  --cat-primary-dark:#d97706;
  --cat-primary-soft:#fff7ed;
  --cat-primary-border:#fed7aa;
  --cat-text:#0f172a;
  --cat-muted:#64748b;
  --cat-border:#e2e8f0;
  --cat-bg:#f8fafc;
  --cat-white:#ffffff;
  --cat-shadow:0 18px 45px rgba(15,23,42,.08);
}

*{margin:0;padding:0;box-sizing:border-box;}

body{
  font-family:'Inter',sans-serif;
  background:radial-gradient(circle at top left,rgba(245,158,11,.12),transparent 30rem),linear-gradient(180deg,#ffffff 0%,#f8fafc 48%,#eef2f7 100%);
  color:var(--cat-text);
  line-height:1.75;
  min-height:100vh;
}

.topbar{
  width:100%;min-height:92px;padding:18px clamp(18px,5vw,58px);display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.94);border-bottom:1px solid var(--cat-border);position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);
}

.logo{color:var(--cat-primary);font-size:clamp(1.55rem,4vw,2.25rem);font-weight:800;letter-spacing:-.04em;}

.back-btn{min-width:118px;min-height:54px;padding:16px 24px;display:inline-flex;align-items:center;justify-content:center;border-radius:18px;background:var(--cat-primary-soft);color:#92400e;border:1px solid var(--cat-primary-border);font-weight:800;line-height:1;text-decoration:none !important;text-decoration-line:none !important;transition:transform .2s ease,box-shadow .2s ease;}
.back-btn:hover{transform:translateY(-2px);}

.course-header{max-width:1180px;margin:0 auto;padding:76px clamp(22px,5vw,42px) 44px;display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:34px;align-items:end;}
.course-info{max-width:850px;}
.course-badge,.lesson-number,.section-label{display:inline-flex;align-items:center;justify-content:center;background:var(--cat-primary-soft);border:1px solid var(--cat-primary-border);color:#b45309;border-radius:999px;padding:10px 18px;font-size:.82rem;line-height:1;font-weight:800;letter-spacing:.08em;text-transform:uppercase;}
.course-info h1{margin-top:26px;font-size:clamp(2.25rem,7vw,5rem);line-height:1.04;letter-spacing:-.07em;font-weight:800;color:var(--cat-text);}
.course-info p{margin-top:24px;color:var(--cat-muted);font-size:clamp(1.04rem,2.2vw,1.22rem);max-width:780px;}
.course-progress-box{background:rgba(255,255,255,.88);border:1px solid var(--cat-border);border-radius:28px;padding:28px;box-shadow:var(--cat-shadow);}
.progress-text{display:block;font-weight:700;color:#334155;margin-bottom:14px;}
.progress-bar{width:100%;height:12px;border-radius:999px;background:#e2e8f0;overflow:hidden;}
.progress-fill{height:100%;width:0%;border-radius:999px;background:linear-gradient(135deg,var(--cat-primary),#fbbf24);transition:width .45s ease;}
.progress-percent{display:block;margin-top:14px;color:#92400e;font-weight:800;}
.container{max-width:1180px;margin:0 auto;padding:0 clamp(22px,5vw,42px) 82px;}
.lesson-card,.card,.gallery-panel,.definition-panel,.classification-panel,.care-table-card,.welfare-panel,.selection-panel,.case-card{background:rgba(255,255,255,.94);border:1px solid var(--cat-border);border-radius:34px;padding:clamp(28px,5vw,52px);margin-bottom:36px;box-shadow:var(--cat-shadow);}
.lesson-top{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:30px;flex-wrap:wrap;}
.lesson-duration{color:#64748b;font-weight:800;}
.lesson-card h2,.card h2,.gallery-panel h2,.definition-panel h2,.classification-panel h2,.care-table-card h2,.welfare-panel h2,.selection-panel h2,.case-card h2{font-size:clamp(1.8rem,4vw,2.9rem);line-height:1.12;letter-spacing:-.05em;color:var(--cat-text);margin-bottom:22px;}
.card p,.gallery-panel p,.definition-panel p,.classification-panel p,.care-table-card p,.welfare-panel p,.selection-panel p,.case-card p{color:#475569;font-size:1.04rem;margin-top:18px;}
.objectives{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-top:28px;}
.objective{background:linear-gradient(180deg,#ffffff 0%,#fff7ed 100%);border:1px solid var(--cat-primary-border);border-radius:22px;padding:22px;color:#92400e;font-weight:800;line-height:1.45;}
.gallery-panel{border-color:var(--cat-primary-border);background:linear-gradient(135deg,#fff7ed 0%,#ffffff 76%);}
.breed-gallery{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:18px;margin-top:28px;}
.breed-gallery article{overflow:hidden;border-radius:26px;background:#ffffff;border:1px solid var(--cat-primary-border);box-shadow:0 12px 28px rgba(15,23,42,.06);}
.breed-gallery img{display:block;width:100%;aspect-ratio:1/1;object-fit:cover;background:#fff7ed;}
.breed-gallery div{padding:20px;}
.breed-gallery h3{color:#92400e;font-size:1.1rem;margin-bottom:10px;}
.breed-gallery p{margin:0;font-size:.94rem;line-height:1.6;}
.definition-panel{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,340px);gap:30px;align-items:center;}
.definition-note{background:linear-gradient(180deg,#ffffff 0%,#fff7ed 100%);border:1px solid var(--cat-primary-border);border-radius:26px;padding:28px;}
.definition-note h3{color:#92400e;font-size:1.3rem;margin-bottom:12px;}
.definition-note p{margin:0;}
.classification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px;margin-top:28px;}
.classification-grid article{background:#ffffff;border:1px solid var(--cat-primary-border);border-radius:24px;padding:26px;}
.classification-grid span{display:block;color:#92400e;font-weight:800;margin-bottom:12px;}
.classification-grid p{margin:0;}
.care-table{display:grid;grid-template-columns:1fr 1.1fr 1.4fr;overflow:hidden;border:1px solid var(--cat-primary-border);border-radius:26px;margin-top:28px;background:#ffffff;}
.care-table div{padding:20px 22px;border-bottom:1px solid #fde7c2;color:#475569;}
.care-table div:nth-last-child(-n+3){border-bottom:0;}
.table-head{background:#fff7ed;color:#92400e !important;font-weight:800;}
.welfare-panel{display:grid;grid-template-columns:minmax(240px,340px) minmax(0,1fr);gap:30px;align-items:start;background:linear-gradient(135deg,#ffffff 0%,#fff7ed 100%);border-color:var(--cat-primary-border);}
.welfare-body{border-left:4px solid #f59e0b;padding-left:28px;}
.selection-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px;margin-top:28px;}
.selection-steps article{background:linear-gradient(180deg,#ffffff 0%,#fffaf2 100%);border:1px solid var(--cat-primary-border);border-radius:24px;padding:26px;}
.selection-steps h3{color:#92400e;font-size:1.12rem;margin-bottom:12px;}
.selection-steps p{margin:0;}
.case-card{display:grid;grid-template-columns:minmax(240px,340px) minmax(0,1fr);gap:30px;align-items:start;}
.case-body{border-left:4px solid #f59e0b;padding-left:28px;}
.lesson-navigation{display:flex;justify-content:center;margin-top:40px;}
.next-btn{min-height:62px;min-width:min(100%,560px);padding:20px 32px;display:inline-flex;align-items:center;justify-content:center;border-radius:22px;background:linear-gradient(135deg,var(--cat-primary),#f59e0b);color:#ffffff;font-weight:800;text-decoration:none !important;box-shadow:0 18px 32px rgba(245,158,11,.25);transition:transform .2s ease,box-shadow .2s ease;}
.next-btn:hover{transform:translateY(-2px);}
@media(max-width:1000px){.breed-gallery{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:900px){.course-header,.definition-panel,.welfare-panel,.case-card{grid-template-columns:1fr;}.course-header{padding-top:52px;}.objectives,.classification-grid,.selection-steps{grid-template-columns:1fr;}.welfare-body,.case-body{border-left:0;border-top:4px solid #f59e0b;padding-left:0;padding-top:24px;}.care-table{grid-template-columns:1fr;}.care-table div:nth-last-child(-n+3){border-bottom:1px solid #fde7c2;}.care-table div:last-child{border-bottom:0;}}
@media(max-width:600px){.topbar{min-height:80px;}.back-btn{min-width:96px;min-height:48px;padding:14px 18px;border-radius:16px;}.course-header{padding-top:42px;}.lesson-card,.card,.gallery-panel,.definition-panel,.classification-panel,.care-table-card,.welfare-panel,.selection-panel,.case-card{border-radius:26px;margin-bottom:32px;}.lesson-top{align-items:flex-start;}.breed-gallery{grid-template-columns:1fr;}}


.breed-gallery article.img-error img{
  display:none;
}

.breed-gallery article.img-error::before{
  content:"Imagen no disponible";
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:220px;
  padding:24px;
  background:#fff7ed;
  color:#92400e;
  font-weight:800;
  text-align:center;
  border-bottom:1px solid var(--cat-primary-border);
}
