/*
Theme Name: Campus Grafoestudio
Theme URI: https://campus.grafoestudio.com/
Author: Grafoestudio | Aranco & Asociados
Description: Tema hijo de TutorStarter diseñado para Campus Grafoestudio · Instituto ADF. Mantiene la compatibilidad con Tutor LMS y aplica la identidad visual de Grafoestudio.
Version: 1.0.0
Template: tutorstarter
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: campus-grafoestudio
*/

:root{
  --cg-navy:#0d1f33;
  --cg-blue:#123957;
  --cg-petrol:#1c3d5a;
  --cg-gold:#c99b43;
  --cg-gold-soft:#e5c47f;
  --cg-green:#315f4a;
  --cg-ink:#172536;
  --cg-muted:#667581;
  --cg-off:#f6f7f6;
  --cg-line:#e2e6e8;
  --cg-white:#fff;
  --cg-radius:18px;
  --cg-shadow:0 16px 42px rgba(13,31,51,.10);
  --tutor-color-primary:#123957;
  --tutor-color-primary-hover:#0d1f33;
  --tutor-color-primary-rgb:18,57,87;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;background:#fff;color:var(--cg-ink);font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.55}
a{text-decoration:none}
img{max-width:100%;height:auto}
.cg-container{width:min(calc(100% - 40px),1180px);margin-inline:auto}

/* Header */
.cg-header{position:sticky;top:0;z-index:1000;background:rgba(255,255,255,.96);backdrop-filter:blur(12px);border-bottom:1px solid rgba(13,31,51,.08)}
.admin-bar .cg-header{top:32px}
.cg-header-inner{min-height:78px;display:grid;grid-template-columns:270px 1fr auto;gap:28px;align-items:center}
.cg-brand{display:flex;align-items:center;gap:13px;color:var(--cg-navy)}
.cg-brand img{width:215px;max-height:58px;object-fit:contain}
.cg-brand-campus{display:block;font-size:10px;line-height:1.2;letter-spacing:.13em;text-transform:uppercase;color:#8c6722;font-weight:800;margin-top:2px}
.cg-nav{display:flex;align-items:center;justify-content:center;gap:25px}
.cg-nav a{font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.045em;color:#23384a;position:relative;padding:29px 0 24px}
.cg-nav a:hover,.cg-nav a:focus{color:#9a6918}
.cg-actions{display:flex;align-items:center;gap:10px}
.cg-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:9px;padding:12px 17px;background:var(--cg-navy);color:#fff!important;font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.05em;border:1px solid var(--cg-navy);transition:.18s ease}
.cg-button:hover{background:var(--cg-blue);border-color:var(--cg-blue);transform:translateY(-1px)}
.cg-button-outline{background:#fff;color:var(--cg-navy)!important;border-color:#cfd6db}
.cg-user-label{font-size:12px;font-weight:700;color:#50606d;max-width:120px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cg-menu-toggle{display:none;border:1px solid #dce1e4;background:#fff;border-radius:9px;padding:9px 11px;color:var(--cg-navy);font-size:20px;line-height:1}

/* Homepage */
.cg-home-hero{position:relative;overflow:hidden;background:linear-gradient(118deg,#fff 0%,#fff 49%,#edf2f4 100%);border-bottom:1px solid #e6eaec}
.cg-home-hero:after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;right:-150px;top:-110px;background:radial-gradient(circle,rgba(201,155,67,.18),rgba(18,57,87,.06) 47%,transparent 68%);pointer-events:none}
.cg-hero-grid{min-height:520px;display:grid;grid-template-columns:1.2fr .8fr;gap:65px;align-items:center;position:relative;z-index:2}
.cg-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:900;color:#a56f17;margin:0 0 14px}
.cg-home-hero h1{font-size:clamp(44px,5.4vw,70px);line-height:1.02;letter-spacing:-.045em;color:#102f4b;margin:0 0 22px;max-width:760px}
.cg-home-hero h1 span{color:#9a6a19}
.cg-lead{font-size:19px;color:#53636f;max-width:720px;margin:0 0 28px}
.cg-hero-actions{display:flex;gap:12px;flex-wrap:wrap}
.cg-hero-card{background:linear-gradient(145deg,#0a233c,#123c5d);color:#fff;border-radius:26px;padding:38px;box-shadow:0 24px 60px rgba(9,34,57,.22);position:relative;overflow:hidden}
.cg-hero-card:before{content:"";position:absolute;inset:auto -70px -90px auto;width:220px;height:220px;border:1px solid rgba(231,190,104,.3);border-radius:50%}
.cg-hero-card img{width:105px;height:105px;object-fit:contain;margin-bottom:22px;filter:brightness(0) invert(1);opacity:.92}
.cg-hero-card h2{font-size:27px;line-height:1.12;margin:0 0 14px;color:#fff}
.cg-hero-card p{color:#d7e3ea;font-size:14px;margin:0}
.cg-hero-card .cg-small-line{display:block;width:48px;height:2px;background:var(--cg-gold);margin:23px 0}

.cg-section{padding:78px 0}
.cg-section-alt{background:#f7f8f7}
.cg-heading{max-width:780px;margin-bottom:34px}
.cg-heading h2{font-size:clamp(31px,3.4vw,46px);line-height:1.08;letter-spacing:-.035em;color:#11334f;margin:0 0 13px}
.cg-heading p{margin:0;color:#64737d;font-size:16px}
.cg-feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cg-feature{background:#fff;border:1px solid var(--cg-line);border-radius:var(--cg-radius);padding:28px;box-shadow:0 10px 28px rgba(13,31,51,.05)}
.cg-feature-icon{width:52px;height:52px;border-radius:14px;display:grid;place-items:center;background:#edf2f4;color:#123957;font-size:23px;margin-bottom:18px}
.cg-feature h3{font-size:20px;color:#143a57;margin:0 0 9px}
.cg-feature p{font-size:14px;color:#687680;margin:0}

.cg-courses-section{background:#0b2944;color:#fff}
.cg-courses-section .cg-heading h2{color:#fff}
.cg-courses-section .cg-heading p{color:#c8d7df}
.cg-course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.cg-course-card{background:#fff;color:var(--cg-ink);border-radius:18px;overflow:hidden;box-shadow:0 14px 38px rgba(0,0,0,.16);display:flex;flex-direction:column;min-height:260px}
.cg-course-thumb{height:140px;background:linear-gradient(135deg,#e7edf0,#f8f5ee);display:grid;place-items:center;overflow:hidden}
.cg-course-thumb img{width:100%;height:100%;object-fit:cover}
.cg-course-thumb .cg-course-mark{font-size:46px;color:#b78631}
.cg-course-body{padding:22px;display:flex;flex-direction:column;flex:1}
.cg-course-body h3{font-size:20px;line-height:1.2;color:#153b57;margin:0 0 9px}
.cg-course-body p{font-size:13px;color:#687680;margin:0 0 17px}
.cg-course-body .cg-course-link{margin-top:auto;color:#9c6817;font-size:12px;font-weight:900;text-transform:uppercase;letter-spacing:.04em}
.cg-empty-course{border:1px dashed rgba(255,255,255,.25);border-radius:18px;padding:32px;color:#d5e1e8;grid-column:1/-1;text-align:center}

.cg-campus-band{background:#f5efe4;border-top:1px solid #e6d8be;border-bottom:1px solid #e6d8be}
.cg-campus-band-inner{display:grid;grid-template-columns:1fr auto;gap:35px;align-items:center;padding:36px 0}
.cg-campus-band h2{font-size:27px;color:#153a56;margin:0 0 6px}
.cg-campus-band p{color:#6e665a;margin:0}

/* Tutor LMS harmonization */
.tutor-wrap,.tutor-container{font-family:inherit}
.tutor-btn-primary,.tutor-btn.tutor-btn-primary{background:#123957!important;border-color:#123957!important}
.tutor-btn-primary:hover,.tutor-btn.tutor-btn-primary:hover{background:#0d1f33!important;border-color:#0d1f33!important}
.tutor-card,.tutor-course-card,.tutor-dashboard-content,.tutor-dashboard-left-menu{border-radius:14px}
.tutor-course-card{overflow:hidden}
.tutor-color-primary{color:#123957!important}
.tutor-bg-primary{background:#123957!important}
.tutor-dashboard .tutor-dashboard-left-menu .tutor-dashboard-menu-item.active a{color:#123957!important}
.tutor-dashboard .tutor-dashboard-left-menu .tutor-dashboard-menu-item.active a:before{background:#c99b43!important}
.tutor-form-control:focus,.tutor-form-select:focus{border-color:#7893a7!important;box-shadow:0 0 0 3px rgba(18,57,87,.08)!important}

/* Generic content */
.cg-content-wrap{padding:55px 0 80px}
.cg-content-wrap .entry-title{color:#123957;letter-spacing:-.03em}

/* Footer */
.cg-footer{background:#081d31;color:#dbe5eb;padding:55px 0 25px;margin-top:0}
.cg-footer-grid{display:grid;grid-template-columns:1.2fr .8fr .8fr;gap:55px}
.cg-footer-brand img{width:220px;filter:brightness(0) invert(1);opacity:.95}
.cg-footer-brand p{font-size:13px;color:#b9cad4;max-width:390px;margin:17px 0 0}
.cg-footer h3{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:#d9b66d;margin:0 0 14px}
.cg-footer a{display:block;color:#dce6ec;font-size:13px;padding:4px 0}
.cg-footer a:hover{color:#e8c77e}
.cg-footer-bottom{margin-top:38px;padding-top:18px;border-top:1px solid rgba(255,255,255,.11);font-size:11px;color:#8fa4b2;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap}

@media(max-width:1000px){
  .cg-header-inner{grid-template-columns:1fr auto}.cg-nav{display:none;position:absolute;left:0;right:0;top:78px;background:#fff;border-bottom:1px solid #e2e6e8;padding:12px 24px 20px;flex-direction:column;align-items:flex-start;gap:0;box-shadow:0 18px 35px rgba(13,31,51,.08)}
  .cg-nav.is-open{display:flex}.cg-nav a{padding:10px 0}.cg-menu-toggle{display:inline-block}.cg-actions .cg-user-label{display:none}
  .cg-hero-grid{grid-template-columns:1fr;gap:35px;padding:65px 0}.cg-hero-card{max-width:650px}.cg-feature-grid,.cg-course-grid{grid-template-columns:1fr 1fr}.cg-footer-grid{grid-template-columns:1fr 1fr}.cg-footer-brand{grid-column:1/-1}
}
@media(max-width:700px){
  .admin-bar .cg-header{top:46px}.cg-container{width:min(calc(100% - 28px),1180px)}.cg-brand img{width:180px}.cg-actions .cg-button-outline{display:none}.cg-home-hero h1{font-size:44px}.cg-home-hero{background:linear-gradient(165deg,#fff 0%,#fff 58%,#eef2f3 100%)}.cg-feature-grid,.cg-course-grid,.cg-footer-grid{grid-template-columns:1fr}.cg-campus-band-inner{grid-template-columns:1fr}.cg-section{padding:60px 0}.cg-hero-card{padding:29px}.cg-footer-brand{grid-column:auto}
}
