/*
Theme Name: Blog de BMW - M Power
Theme URI: https://blogdebmw.com
Description: Child theme deportivo M-Power para blogdebmw.com. Diseno premium sobre GeneratePress.
Author: Reclamalia
Template: generatepress
Version: 1.0.0
*/

/* ============ TOKENS ============ */
:root{
  --ink:#0a0e14; --ink2:#141a22; --paper:#ffffff; --surface:#f3f5f8; --line:#e5e9ef;
  --muted:#5b6673; --muted2:#8a94a1;
  --blue:#1c69d4; --blue-d:#0f4aa0;
  --m1:#68b0e6;  /* M light blue */
  --m2:#1a3d7c;  /* M dark blue  */
  --m3:#e2231a;  /* M red        */
  --radius:16px; --radius-s:12px;
  --shadow:0 10px 30px rgba(10,14,20,.10);
  --shadow-lg:0 24px 60px rgba(10,14,20,.20);
  --sans:'Inter',system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  --disp:'Archivo','Inter',system-ui,sans-serif;
  --wrap:1200px;
}

/* ============ BASE ============ */
body{font-family:var(--sans);color:var(--ink);background:var(--paper);font-size:17px;line-height:1.7;-webkit-font-smoothing:antialiased;}
a{color:var(--blue);text-decoration:none;}
a:hover{color:var(--blue-d);}
h1,h2,h3,h4,.disp{font-family:var(--disp);font-weight:800;letter-spacing:-.02em;line-height:1.08;color:var(--ink);}
img{height:auto;max-width:100%;}
.grid-container,.inside-header,.site-info .inside-site-info{max-width:var(--wrap);}

/* M stripe helper */
.mstripe{height:5px;background:linear-gradient(90deg,var(--m1) 0 33.33%,var(--m2) 33.33% 66.66%,var(--m3) 66.66% 100%);}

/* ============ HEADER ============ */
.site-header{background:var(--paper);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:200;box-shadow:0 2px 14px rgba(10,14,20,.05);}
.site-header:after{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--m1) 0 33.33%,var(--m2) 33.33% 66.66%,var(--m3) 66.66% 100%);}
.inside-header{padding:16px 24px;display:flex;align-items:center;gap:24px;}
.site-branding img{max-height:46px;width:auto;}
.main-title,.site-title a{font-family:var(--disp);font-weight:900;text-transform:uppercase;letter-spacing:.01em;font-size:26px;color:var(--ink)!important;}
.main-navigation{background:transparent;}
.main-navigation .main-nav ul li a{font-family:var(--disp);font-weight:700;text-transform:uppercase;letter-spacing:.03em;font-size:14px;color:var(--ink);padding:20px 14px;}
.main-navigation .main-nav ul li a:hover,.main-navigation .main-nav ul li.current-menu-item a{color:var(--blue);}
.main-navigation .main-nav ul li > a{position:relative;}
.main-navigation .main-nav ul li > a:after{content:"";position:absolute;left:14px;right:14px;bottom:12px;height:2px;background:var(--blue);transform:scaleX(0);transform-origin:left;transition:.22s;}
.main-navigation .main-nav ul li:hover > a:after,.main-navigation .main-nav ul li.current-menu-item > a:after{transform:scaleX(1);}
/* CTA Reclamar en el menu */
.main-navigation .main-nav ul li.menu-cta a{background:var(--m3);color:#fff!important;border-radius:999px;margin:10px 4px;padding:11px 20px!important;box-shadow:0 6px 18px rgba(226,35,26,.35);}
.main-navigation .main-nav ul li.menu-cta a:after{display:none;}
.main-navigation .main-nav ul li.menu-cta a:hover{background:#c11c14;transform:translateY(-1px);}
.menu-toggle{font-family:var(--disp);font-weight:700;text-transform:uppercase;}

/* ============ ARCHIVE / BLOG CARDS ============ */
.site-content{background:var(--surface);}
.separate-containers .site-main{margin:28px auto;}
.separate-containers article.post,.separate-containers .page-header,.one-container .site-main{background:transparent;}

/* turn GP articles into cards */
.blog article.post,.archive article.post,.search article.post{
  background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;
  box-shadow:var(--shadow);transition:transform .25s,box-shadow .25s;margin-bottom:28px;
}
.blog article.post:hover,.archive article.post:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
article.post .post-image{margin:0;overflow:hidden;position:relative;aspect-ratio:16/10;}
article.post .post-image img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
article.post:hover .post-image img{transform:scale(1.06);}
article.post .inside-article{padding:22px 24px 26px;}
.entry-header .entry-title{font-size:23px;line-height:1.14;margin:6px 0 10px;}
.blog .entry-title a,.archive .entry-title a{color:var(--ink);}
.blog .entry-title a:hover,.archive .entry-title a:hover{color:var(--blue);}
.entry-meta{font-family:var(--sans);font-size:13px;color:var(--muted2);text-transform:uppercase;letter-spacing:.04em;}
.entry-meta a{color:var(--muted);}
.entry-summary{color:var(--muted);font-size:15.5px;}
/* category as chip */
.entry-meta .cat-links,.entry-terms.category{display:inline-flex;gap:6px;flex-wrap:wrap;margin-bottom:8px;}
.entry-meta .cat-links a,.entry-terms.category a{background:var(--ink);color:#fff!important;font-family:var(--disp);font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.06em;padding:4px 11px;border-radius:999px;}
.entry-meta .cat-links a:hover{background:var(--blue);}
.read-more-container a,.button,button.wp-element-button{
  display:inline-block;background:var(--ink);color:#fff!important;font-family:var(--disp);font-weight:700;
  text-transform:uppercase;letter-spacing:.04em;font-size:13px;padding:11px 22px;border-radius:999px;border:0;transition:.2s;
}
.read-more-container a:hover,.button:hover{background:var(--blue);transform:translateY(-1px);}

/* two-column archive grid */
@media(min-width:769px){
  .blog .site-main,.archive .site-main,.search-results .site-main{display:grid;grid-template-columns:1fr 1fr;gap:28px;}
  .blog .site-main > *,.archive .site-main > *{margin-bottom:0!important;}
  .blog .site-main .page-header,.archive .site-main .page-header,
  .blog .site-main .paging-navigation,.archive .site-main .paging-navigation,
  .blog .site-main > .generate-columns-container{grid-column:1/-1;}
}

/* page header (archive title) */
.page-header,.page-hero{background:var(--ink);color:#fff;border-radius:var(--radius);padding:34px 34px;margin-bottom:28px;position:relative;overflow:hidden;}
.page-header:before,.page-hero:before{content:"";position:absolute;left:0;top:0;bottom:0;width:6px;background:linear-gradient(180deg,var(--m1),var(--m2),var(--m3));}
.page-header h1,.page-hero h1{color:#fff;font-size:34px;text-transform:uppercase;margin:0;}

/* ============ SINGLE ============ */
.single .site-content{background:var(--paper);}
.single article.post{background:transparent;border:0;box-shadow:none;}
.single .entry-header{max-width:820px;margin:10px auto 0;padding:0 20px;}
.single .entry-title{font-size:clamp(30px,5vw,50px);margin:14px 0 12px;text-transform:none;}
.single .entry-meta{margin-bottom:6px;}
.bmw-hero-img{margin:22px auto 6px;max-width:1040px;border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);}
.bmw-hero-img img{width:100%;object-fit:cover;max-height:560px;}
.single .entry-content{max-width:760px;margin:26px auto 0;padding:0 20px;font-size:18px;}
.single .entry-content h2{font-size:30px;margin:1.7em 0 .5em;padding-top:.2em;}
.single .entry-content h3{font-size:23px;margin:1.4em 0 .4em;}
.single .entry-content img{border-radius:var(--radius-s);box-shadow:var(--shadow);margin:1.2em 0;}
.single .entry-content a{text-decoration:underline;text-underline-offset:3px;text-decoration-color:rgba(28,105,212,.35);}
.single .entry-content blockquote{border-left:4px solid var(--blue);background:var(--surface);padding:16px 22px;border-radius:0 12px 12px 0;font-style:italic;color:var(--ink2);margin:1.5em 0;}
.single .entry-content ul li,.single .entry-content ol li{margin:.4em 0;}
.entry-tags,.single .entry-content{clear:both;}

/* ============ RECLAMA CTA (funnel) ============ */
.bmw-reclama{max-width:820px;margin:38px auto;background:linear-gradient(135deg,#0a0e14,#16233d);color:#fff;border-radius:var(--radius);padding:34px 32px;position:relative;overflow:hidden;box-shadow:var(--shadow-lg);}
.bmw-reclama .mstripe{position:absolute;top:0;left:0;right:0;}
.bmw-reclama h3{color:#fff;font-size:26px;text-transform:uppercase;margin:8px 0 8px;}
.bmw-reclama p{color:#c7d0dd;font-size:16px;margin:0 0 18px;}
.bmw-reclama .btn-reclama{display:inline-block;background:var(--m3);color:#fff!important;font-family:var(--disp);font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:15px 30px;border-radius:999px;box-shadow:0 10px 26px rgba(226,35,26,.4);transition:.2s;}
.bmw-reclama .btn-reclama:hover{background:#c11c14;transform:translateY(-2px);}
.bmw-reclama .fine{font-size:12.5px;color:#8b97a8;margin-top:14px;}
.sofia-box{background:#fff;border-radius:14px;padding:10px;max-width:720px;margin:14px auto 0;min-height:120px;box-shadow:0 10px 30px rgba(0,0,0,.14);}

/* ============ RELATED ============ */
.bmw-related{max-width:1040px;margin:44px auto;padding:0 20px;}
.bmw-related > h3{font-size:15px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);border-top:2px solid var(--ink);padding-top:14px;margin-bottom:20px;}
.bmw-related-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;}
.bmw-rc{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:.25s;}
.bmw-rc:hover{transform:translateY(-5px);box-shadow:var(--shadow-lg);}
.bmw-rc a{color:inherit;display:block;}
.bmw-rc .im{aspect-ratio:16/10;overflow:hidden;background:var(--surface);}
.bmw-rc .im img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.bmw-rc:hover .im img{transform:scale(1.07);}
.bmw-rc .tx{padding:14px 16px 18px;}
.bmw-rc .tx b{font-family:var(--disp);font-size:16px;line-height:1.2;display:block;color:var(--ink);}

/* ============ FRONT PAGE ============ */
.bmw-front{background:var(--surface);}
.bmw-wrap{max-width:var(--wrap);margin:0 auto;padding:0 24px;}
.bmw-sec{padding:46px 0;}
.bmw-sec-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:26px;}
.bmw-sec-head h2{font-size:28px;text-transform:uppercase;position:relative;padding-left:16px;}
.bmw-sec-head h2:before{content:"";position:absolute;left:0;top:2px;bottom:2px;width:6px;border-radius:3px;background:linear-gradient(180deg,var(--m1),var(--m2),var(--m3));}
.bmw-sec-head a.more{font-family:var(--disp);font-weight:700;text-transform:uppercase;font-size:13px;letter-spacing:.04em;color:var(--ink);white-space:nowrap;}
.bmw-sec-head a.more:hover{color:var(--blue);}

/* HERO */
.bmw-hero{background:var(--ink);padding:36px 0 40px;position:relative;}
.bmw-hero-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:24px;}
.bmw-h-main,.bmw-h-side a{position:relative;border-radius:var(--radius);overflow:hidden;display:block;}
.bmw-h-main{min-height:460px;}
.bmw-h-main img,.bmw-h-side .im img{width:100%;height:100%;object-fit:cover;position:absolute;inset:0;transition:transform .6s;}
.bmw-h-main:hover img{transform:scale(1.05);}
.bmw-h-main .ov,.bmw-h-side a .ov{position:absolute;inset:0;background:linear-gradient(0deg,rgba(6,9,14,.92) 0%,rgba(6,9,14,.35) 45%,rgba(6,9,14,0) 75%);display:flex;flex-direction:column;justify-content:flex-end;padding:28px;}
.bmw-chip{align-self:flex-start;background:var(--m3);color:#fff;font-family:var(--disp);font-weight:800;font-size:11px;text-transform:uppercase;letter-spacing:.07em;padding:5px 12px;border-radius:999px;margin-bottom:12px;}
.bmw-h-main .ov h1,.bmw-h-main .ov h2{color:#fff;font-size:34px;line-height:1.08;text-transform:none;}
.bmw-h-side{display:grid;grid-template-rows:1fr 1fr;gap:24px;}
.bmw-h-side a{min-height:0;}
.bmw-h-side .im{position:absolute;inset:0;overflow:hidden;}
.bmw-h-side .ov h3{color:#fff;font-size:19px;line-height:1.14;}
.bmw-h-side .bmw-chip{font-size:10px;margin-bottom:8px;background:var(--blue);}

/* card grid generic */
.bmw-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.bmw-card{background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);transition:.25s;}
.bmw-card:hover{transform:translateY(-6px);box-shadow:var(--shadow-lg);}
.bmw-card a{color:inherit;display:block;}
.bmw-card .im{aspect-ratio:16/10;overflow:hidden;background:var(--surface);position:relative;}
.bmw-card .im img{width:100%;height:100%;object-fit:cover;transition:transform .5s;}
.bmw-card:hover .im img{transform:scale(1.07);}
.bmw-card .im .bmw-chip{position:absolute;left:12px;top:12px;margin:0;}
.bmw-card .tx{padding:16px 18px 20px;}
.bmw-card .tx b{font-family:var(--disp);font-size:17px;line-height:1.18;color:var(--ink);display:block;margin-bottom:6px;}
.bmw-card .tx span{font-size:12.5px;color:var(--muted2);text-transform:uppercase;letter-spacing:.04em;}

/* category pills row */
.bmw-pills{display:flex;flex-wrap:wrap;gap:10px;padding:22px 0 4px;}
.bmw-pills a{background:var(--paper);border:1px solid var(--line);color:var(--ink);font-family:var(--disp);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:.03em;padding:9px 16px;border-radius:999px;transition:.2s;}
.bmw-pills a:hover{background:var(--ink);color:#fff;border-color:var(--ink);}

/* big reclama band on front */
.bmw-band{background:linear-gradient(120deg,#0a0e14,#16233d);color:#fff;position:relative;overflow:hidden;border-radius:0;}
.bmw-band .mstripe{position:absolute;top:0;left:0;right:0;}
.bmw-band-in{max-width:var(--wrap);margin:0 auto;padding:52px 24px;display:grid;grid-template-columns:1.1fr .9fr;gap:32px;align-items:center;}
.bmw-band h2{color:#fff;font-size:32px;text-transform:uppercase;margin:0 0 12px;}
.bmw-band p{color:#c7d0dd;font-size:17px;margin:0 0 20px;}
.bmw-band .btn-reclama{display:inline-block;background:var(--m3);color:#fff!important;font-family:var(--disp);font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:16px 32px;border-radius:999px;box-shadow:0 12px 30px rgba(226,35,26,.4);transition:.2s;}
.bmw-band .btn-reclama:hover{background:#c11c14;transform:translateY(-2px);}
.bmw-band .faults{display:flex;flex-wrap:wrap;gap:8px;}
.bmw-band .faults span{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.14);border-radius:999px;padding:8px 14px;font-size:13px;color:#dbe3ee;}

/* ============ FOOTER ============ */
.site-footer{background:var(--ink);color:#aeb8c4;}
.site-footer:before{content:"";display:block;height:4px;background:linear-gradient(90deg,var(--m1) 0 33.33%,var(--m2) 33.33% 66.66%,var(--m3) 66.66% 100%);}
.site-info{background:var(--ink);color:#8a94a1;font-size:13.5px;padding:22px 0;}
.site-info a{color:#c7d0dd;}
.bmw-foot{max-width:var(--wrap);margin:0 auto;padding:48px 24px 26px;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:32px;}
.bmw-foot h4{color:#fff;font-size:14px;text-transform:uppercase;letter-spacing:.06em;margin:0 0 14px;}
.bmw-foot a{display:block;color:#aeb8c4;padding:5px 0;font-size:14.5px;}
.bmw-foot a:hover{color:#fff;}
.bmw-foot p{font-size:14px;color:#8a94a1;line-height:1.6;}

/* ============ RESPONSIVE ============ */
@media(max-width:900px){
  .bmw-hero-grid{grid-template-columns:1fr;}
  .bmw-h-main{min-height:340px;}
  .bmw-cards{grid-template-columns:repeat(2,1fr);}
  .bmw-related-grid{grid-template-columns:1fr 1fr;}
  .bmw-band-in{grid-template-columns:1fr;}
  .bmw-foot{grid-template-columns:1fr 1fr;}
}
@media(max-width:560px){
  .bmw-cards{grid-template-columns:1fr;}
  .bmw-related-grid{grid-template-columns:1fr;}
  .bmw-foot{grid-template-columns:1fr;}
  .inside-header{flex-wrap:wrap;gap:12px;}
}
