/*
Theme Name: Bike Stop Mallorca
Theme URI: https://example.com/
Author: OpenAI
Description: Tema WordPress personalizado para Bike Stop Mallorca, alquiler de bicicletas de carretera.
Version: 1.0.0
Text Domain: bikestop
*/

:root{
  --bs-red:#bb0200;
  --bs-red-dark:#b70707;
  --bs-black:#111111;
  --bs-gray:#666;
  --bs-light:#f7f7f7;
  --bs-border:#e8e8e8;
  --bs-white:#fff;
  --bs-shadow:0 16px 45px rgba(0,0,0,.10);
  --bs-radius:14px;
  --bs-max:1440px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--bs-black);background:#fff;line-height:1.5}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.container{width:min(var(--bs-max),calc(100% - 64px));margin:0 auto}
.site-header{position:relative;z-index:50;background:#fff;border-top:2px solid var(--bs-red)}
.header-inner{min-height:132px;display:flex;align-items:center;gap:38px}
.site-branding{width:170px;flex:0 0 170px}
.custom-logo-link img,.brand-fallback{max-height:106px;width:auto}
.brand-fallback{display:flex;align-items:center;justify-content:center;width:108px;height:108px;border:5px double var(--bs-red);clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%);font-weight:900;line-height:.85;text-align:center;font-size:23px}
.main-nav{flex:1}
.main-nav ul{display:flex;align-items:center;gap:36px;list-style:none;padding:0;margin:0}
.main-nav a{font-size:14px;text-transform:uppercase;font-weight:700;position:relative;padding:12px 0}
.main-nav .current-menu-item>a:after,.main-nav a:hover:after{content:"";position:absolute;left:0;right:0;bottom:5px;height:2px;background:var(--bs-red)}
.header-cta{display:flex;align-items:center;gap:24px;font-size:14px;white-space:nowrap}
.header-phone{font-weight:700}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:10px;background:var(--bs-red);color:#fff;padding:16px 25px;border-radius:8px;font-weight:800;text-transform:uppercase;border:0;cursor:pointer;transition:.2s ease}
.btn:hover{background:var(--bs-red-dark);transform:translateY(-1px)}
.btn-outline{background:transparent;border:1px solid #fff}
.mobile-toggle{display:none;border:0;background:none;font-size:30px;margin-left:auto}

.hero{position:relative;min-height:650px;background:
linear-gradient(90deg,rgba(255,255,255,.92) 0%,rgba(255,255,255,.72) 33%,rgba(255,255,255,0) 60%),
url('https://images.unsplash.com/photo-1541625602330-2277a4c46182?auto=format&fit=crop&w=2000&q=88') center/cover no-repeat;
display:flex;align-items:center}
.hero-content{padding:65px 0 125px;max-width:780px}
.kicker{color:var(--bs-red);font-weight:900;text-transform:uppercase;letter-spacing:.03em}
.hero h1,.display-title{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;text-transform:uppercase;letter-spacing:.01em}
.hero h1{font-size:82px;line-height:.95;margin:0 0 24px}
.hero h1 span{color:var(--bs-red)}
.hero-lead{font-size:23px;max-width:600px;margin-bottom:36px}
.hero-features{display:flex;gap:28px;flex-wrap:wrap}
.mini-feature{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:800;text-transform:uppercase}
.mini-icon{width:48px;height:48px;border:2px solid var(--bs-red);color:var(--bs-red);display:grid;place-items:center;clip-path:polygon(30% 0,70% 0,100% 30%,100% 70%,70% 100%,30% 100%,0 70%,0 30%);font-size:20px}


.section{padding:78px 0}
.section-muted{background:#fafafa}
.section-head{text-align:center;margin-bottom:40px}
.section-head h2,.routes-copy h2,.page-hero h1{font-family:Impact,Haettenschweiler,'Arial Narrow Bold',sans-serif;text-transform:uppercase;font-weight:900;letter-spacing:.01em}
.section-head h2{font-size:44px;margin:8px 0 0}
.features-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:30px}
.feature-card{text-align:center;padding:0;display:flex;justify-content:center}
.octagon{
  width:245px;height:245px;margin:0 auto;
  display:grid;place-items:center;position:relative;
  color:var(--bs-red);
  background:#fff;
  clip-path:polygon(29% 0,71% 0,100% 29%,100% 71%,71% 100%,29% 100%,0 71%,0 29%);
}
.octagon:before{
  content:"";position:absolute;inset:0;
  background:var(--bs-red);
  clip-path:inherit;z-index:0;
}
.octagon:after{
  content:"";position:absolute;inset:4px;
  background:#fff;
  clip-path:inherit;z-index:1;
}
.octagon-inner{
  position:absolute;inset:14px;z-index:2;
  display:flex;flex-direction:column;align-items:center;justify-content:center;
  padding:22px;
  border:2px solid var(--bs-red);
  clip-path:inherit;
}
.octagon-inner:before{
  content:"";position:absolute;inset:6px;
  border:2px dotted var(--bs-red);
  clip-path:inherit;pointer-events:none;
}
.feature-symbol{font-size:36px;line-height:1;margin-bottom:10px;position:relative;z-index:2}
.feature-card h3{font-size:18px;text-transform:uppercase;margin:0 0 8px;position:relative;z-index:2}
.feature-card h3 em{font-style:normal;color:var(--bs-red);display:block}
.feature-card p{font-size:12.5px;line-height:1.45;color:#333;margin:0;max-width:170px;position:relative;z-index:2}

.routes-section{padding:70px 0;background:#f8f8f8}
.routes-grid{display:grid;grid-template-columns:1.15fr repeat(3,1fr);gap:22px;align-items:stretch}
.routes-copy{padding:20px 20px 20px 0}
.routes-copy h2{font-size:44px;line-height:1.05;margin:8px 0 20px}
.route-card img{height:230px;width:100%;object-fit:cover;border-radius:10px}
.route-card h3{text-align:center;text-transform:uppercase;margin:14px 0 0}
.route-card p{text-align:center;margin:3px 0 0;color:#555;font-size:14px}

.site-footer{background:var(--bs-red);color:#fff;padding:44px 0}
.footer-grid{display:grid;grid-template-columns:1.05fr 1.2fr 1fr 1fr;gap:42px;align-items:start}
.footer-logo img{max-width:125px}
.footer-title{font-weight:900;text-transform:uppercase;margin-bottom:8px}
.footer-text{font-size:14px;line-height:1.7}
.footer-brand-text{font-size:14px;margin-top:12px;max-width:220px}
.copyright{background:#970000;color:#fff;padding:12px 0;font-size:12px;text-align:center}

.page-hero{background:#111;color:#fff;padding:85px 0}
.page-hero h1{font-size:62px;margin:0 0 10px}
.page-hero p{font-size:20px;color:#ddd;margin:0;max-width:760px}
.content-wrap{padding:65px 0}
.two-col{display:grid;grid-template-columns:1.1fr .9fr;gap:60px;align-items:start}
.content-wrap h2{font-size:34px;margin-top:0}
.content-wrap p{font-size:17px;color:#444}
.bike-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.bike-card{border:1px solid var(--bs-border);border-radius:12px;overflow:hidden;background:#fff}
.bike-card img{width:100%;height:260px;object-fit:cover}
.bike-card-body{padding:22px}
.price{color:var(--bs-red);font-weight:900;font-size:20px}
.badge{display:inline-block;background:#f2f2f2;padding:6px 9px;border-radius:999px;font-size:12px;margin-right:5px;margin-bottom:5px}

.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:55px}
.contact-card{background:#f7f7f7;border-radius:12px;padding:30px}
.contact-form{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.contact-form .full{grid-column:1/-1}
.contact-form label{font-weight:800;font-size:13px;text-transform:uppercase;display:block;margin-bottom:7px}
.contact-form input,.contact-form textarea,.contact-form select{width:100%;padding:14px;border:1px solid #ddd;border-radius:7px;font:inherit}
.contact-form textarea{min-height:145px;resize:vertical}
.notice{padding:14px 18px;border-radius:7px;margin-bottom:20px}
.notice-success{background:#e8f7e9;color:#176b22}
.notice-error{background:#ffe8e8;color:#8a1717}
.map-placeholder{min-height:340px;border-radius:12px;background:
linear-gradient(rgba(209,10,10,.05),rgba(209,10,10,.05)),
url('https://images.unsplash.com/photo-1526778548025-fa2f459cd5c1?auto=format&fit=crop&w=1200&q=80') center/cover;display:grid;place-items:center;text-align:center;padding:30px}

@media(max-width:1100px){
  .header-inner{min-height:105px}
  .main-nav{display:none;position:absolute;top:100%;left:0;right:0;background:#fff;padding:20px 32px;border-top:1px solid #eee}
  .main-nav.open{display:block}
  .main-nav ul{flex-direction:column;align-items:flex-start;gap:4px}
  .mobile-toggle{display:block}
  .header-cta .header-phone{display:none}
  .hero h1{font-size:58px}
  .features-grid{grid-template-columns:repeat(2,1fr)}
  .routes-grid{grid-template-columns:1fr 1fr}
  .routes-copy{grid-column:1/-1}
  .footer-grid{grid-template-columns:1fr 1fr}
}
@media(max-width:700px){
  .container{width:min(100% - 28px,var(--bs-max))}
  .site-branding{width:95px;flex-basis:95px}
  .custom-logo-link img,.brand-fallback{max-height:80px}
  .header-cta .btn{padding:12px 14px;font-size:12px}
  .hero{min-height:640px;background-position:62% center}
  .hero-content{padding:60px 0 130px}
  .hero h1{font-size:44px;max-width:95%}
  .hero-lead{font-size:18px;max-width:90%}
  .mini-feature{font-size:11px}
  .features-grid,.routes-grid,.bike-grid,.two-col,.contact-grid,.footer-grid{grid-template-columns:1fr}
  .section-head h2,.routes-copy h2{font-size:36px}
  .page-hero h1{font-size:48px}
  .contact-form{grid-template-columns:1fr}
  .contact-form .full{grid-column:auto}
}

.brand-bundled{display:block;max-height:105px;width:auto;object-fit:contain}
.site-footer .brand-bundled{max-width:125px;max-height:125px;background:#fff;border-radius:4px}

.features-grid{align-items:center}
@media(max-width:1100px){
  .octagon{width:230px;height:230px}
}
@media(max-width:700px){
  .octagon{width:250px;height:250px}
}

.entry-content img,.content-wrap img{border-radius:10px}
.content-wrap .wp-block-columns{gap:32px}
.content-wrap h2{font-size:38px;line-height:1.1}
.content-wrap h3{font-size:26px}
.content-wrap ul{padding-left:22px}
.content-wrap .wp-block-button__link{background:var(--bs-red);border-radius:8px;font-weight:800}
