/* Shared GreenTeam design. Existing content and Bootstrap components are retained. */
.gt-site { --text-main:#193c30; --text-muted:#536653; --dark-green:#244b36; background:#f6f8ef; color:#193c30; font-family:Inter,sans-serif; line-height:1.7; }
.gt-site #header { background:rgba(246,248,239,.97); border-bottom:1px solid #dce4d4; box-shadow:none; }
.gt-site #header .logo img { max-height:42px; }
.gt-site .navbar a { color:#234738; }
.gt-site .navbar a:hover,.gt-site .navbar .active,.gt-site .navbar .active:focus { color:#476a19; }
.gt-site .navbar ul ul { background:#fcfdf8; border:1px solid #d9e2cf; box-shadow:0 12px 28px #193c3014; }
.gt-site a:focus-visible,.gt-site button:focus-visible { outline:3px solid #386c8c; outline-offset:4px; }
.gt-site #footer { margin-top:auto !important; padding:28px 0; background:#edf2e4; border-top:1px solid #d7e0cc; box-shadow:none; backdrop-filter:none; }
.gt-home.gt-site #footer { margin-top:0; }
.gt-site #footer .footer-links { display:flex; justify-content:center; flex-wrap:wrap; gap:8px 22px; margin-top:10px; }
.gt-site #footer .footer-links a { padding:0; color:#476047; }
.gt-site .aviso-cookies { background:#fcfdf8; border:1px solid #d5dfc8; border-radius:16px; }
.gt-site .aviso-cookies .boton { background:#234b37; color:white; }
.gt-site .back-to-top { background:#244b36; border-radius:10px; }
.gt-site .back-to-top:hover { background:#476a36; }
.gt-site .gt-context { margin:100px auto 28px; max-width:1200px; padding:18px 24px; border:1px solid #d8e2ca; border-radius:12px; background:#eaf0df; display:flex; align-items:center; justify-content:space-between; gap:20px; }
.gt-site .gt-context-brand { display:flex; align-items:center; gap:10px; font-size:10px; font-weight:600; letter-spacing:.16em; }
.gt-site .gt-context-brand svg { width:32px; height:32px; color:#5b7f38; flex-shrink:0; }
.gt-site .gt-context ol { list-style:none; margin:0; padding:0; display:flex; flex-wrap:wrap; gap:8px; font-size:12px; }
.gt-site .gt-context li+li::before { content:"/"; margin-right:8px; color:#8aa078; }
.gt-site .gt-context a { color:#31553b; text-decoration:underline; text-underline-offset:3px; }
.gt-inner > br { display:none; }
.gt-inner > .container,.gt-inner > .container-fluid,.gt-inner section > .container { max-width:1200px; padding-left:24px; padding-right:24px; margin-left:auto; margin-right:auto; }
.gt-inner > .container-fluid > .container-fluid { padding:0; }
.gt-inner > .container > br,.gt-inner > .container-fluid > br,.gt-inner > .container-fluid > .container-fluid > br { display:none; }
.gt-inner section { padding:24px 0 48px; }
.gt-inner .section-bg { background:transparent; }
.gt-inner h1 { font-size:clamp(30px,4vw,48px); font-weight:500; line-height:1.15; letter-spacing:-.035em; color:#193c30; margin:12px 0 30px; }
.gt-inner h1 br { display:none; }
.gt-inner h2 { font-size:clamp(25px,3vw,34px); font-weight:500; line-height:1.25; color:#244b36; }
.gt-inner h3,.gt-inner h4 { line-height:1.35; font-weight:500; }
.gt-inner .section-title { text-align:left; padding-bottom:24px; }
.gt-inner .section-title h1 { margin-bottom:0; padding-bottom:22px; border-bottom:1px solid #d8e2cd; }
.gt-inner .section-title h2::before,.gt-inner .section-title h2::after { display:none; }
.gt-inner p,.gt-inner li { line-height:1.8; }
.gt-inner p { color:#3b5140; }
.gt-inner a { color:#286444; overflow-wrap:anywhere; }
.gt-inner p a:hover,.gt-inner .card-body a:hover { text-decoration:underline; text-underline-offset:3px; }
.gt-inner .color-AlarcosAzul,.gt-inner .AlarcosAzul { color:#28677c; }
.gt-inner .color-AlarcosVerde,.gt-inner .AlarcosVerde { color:#50732d!important; }
.gt-inner .color-AlarcosVerdeOscuro { color:#244b36; }
.gt-inner .services > .row,.gt-inner .services > .container > .row { row-gap:24px; }
.gt-inner .services .row > [class*="col-"] { margin-bottom:0!important; }
.gt-inner .services .icon-box { width:100%; padding:28px; background:#fcfdf8; color:#193c30; border:1px solid #d9e2cf; border-radius:16px; box-shadow:0 4px 16px #1b3a2b05; transition:transform .2s,box-shadow .2s,border-color .2s; }
.gt-inner .services .icon-box::before { display:none; }
.gt-inner .services .icon-box:hover,.gt-inner .services .icon-box:focus-within { background:#f0f5e7; border-color:#9eb784; transform:translateY(-3px); box-shadow:0 10px 28px #1b3a2b0b; }
.gt-inner .services .icon { width:58px; height:58px; display:flex; align-items:center; justify-content:center; background:#e7efda; color:#52732f; border-radius:14px; margin-bottom:25px; }
.gt-inner .services .icon i,.gt-inner .services .icon-box:hover .icon i { color:#52732f; font-size:29px; }
.gt-inner .services .title { font-size:21px; font-weight:500; margin-bottom:15px; line-height:1.3; }
.gt-inner .services .title a,.gt-inner .services .icon-box:hover .title a { color:#193c30; }
.gt-inner .services .description,.gt-inner .services .icon-box:hover .description { color:#3b5140; line-height:1.8; }
.gt-inner .services .icon-box p:last-child { margin-bottom:0; }
.gt-inner .card { border:1px solid #d8e2cc; border-radius:14px; background:#fcfdf8; box-shadow:0 4px 16px #193c3006; margin-bottom:22px; }
.gt-inner .card:hover { box-shadow:0 8px 24px #193c300c; }
.gt-inner .card-header { padding:18px 22px; border-bottom:1px solid #d5dfc5; }
.gt-inner .card-header.bg-AlarcosAzul,.gt-inner .card-header .bg-AlarcosAzul { background:#254b37!important; }
.gt-inner .card-header h5,.gt-inner .card-header a { font-family:Outfit,sans-serif; font-size:19px; font-weight:500; line-height:1.45; overflow-wrap:anywhere; }
.gt-inner .card-header a.text-white { color:#fff!important; }
.gt-inner .card-body { padding:22px; }
.gt-inner .card-body h6,.gt-inner .ficha-tesis { font-family:Inter,sans-serif; font-size:14px; font-weight:400; line-height:1.85; overflow-wrap:anywhere; }
.gt-inner .card-body strong,.gt-inner .ficha-tesis strong { font-weight:600; }
.gt-inner .card-body a { color:#286444; }
.gt-inner .bg-AlarcosVerde { background:#e6efda; color:#193c30; }
.gt-inner .team .member { width:100%; background:#fcfdf8; border:1px solid #d9e2cf; border-radius:16px; box-shadow:0 4px 16px #193c3006; margin-bottom:24px; }
.gt-inner .team .member .member-img { background:#e8eedf; }
.gt-inner .team .member .member-img img { width:100%; height:auto; aspect-ratio:4/3; object-fit:contain; }
.gt-inner .team .member .member-info { padding:22px; text-align:left; }
.gt-inner .team .member .member-info h4 { color:#193c30; font-size:21px; font-weight:500; line-height:1.3; }
.gt-inner .team .member .member-info span { color:#52654f; line-height:1.7; font-size:13px; }
.gt-inner .team .member .social { position:static; display:flex; height:auto; min-height:44px; opacity:1; padding:4px 10px; background:#edf2e3; flex-wrap:wrap; }
.gt-inner .team .member .social:empty { display:none; }
.gt-inner .team .member .social a { width:36px; height:36px; margin:0 3px; color:#31553b; }
.gt-inner .team .member:focus-within { outline:2px solid #52732f; outline-offset:3px; }
.gt-inner .hero-img { display:flex; align-items:center; justify-content:center; }
.gt-inner .hero-img img { max-width:100%; height:auto; padding:18px; background:#fcfdf8; border:1px solid #d9e2cf; border-radius:18px; animation:none!important; }
.gt-inner .hero-img br { display:none; }
.gt-inner .portfolio .portfolio-wrap { border:1px solid #d9e2cf; border-radius:16px; overflow:hidden; background:#eaf0df; }
.gt-inner .portfolio .portfolio-wrap img { width:100%; height:auto; }
.gt-inner .portfolio #portfolio-flters { display:flex; justify-content:flex-start; gap:8px; flex-wrap:wrap; padding:0; }
.gt-inner .portfolio #portfolio-flters li { margin:0; padding:10px 18px; border:1px solid #c9d8b9; border-radius:8px; background:#fcfdf8; color:#31543b; }
.gt-inner .portfolio #portfolio-flters li.filter-active,.gt-inner .portfolio #portfolio-flters li:hover { color:#fff; background:#244b36; }
.gt-inner .portfolio-wrap:focus-within .portfolio-info { opacity:1; }
.gt-inner .portfolio-wrap:focus-within::before { opacity:1; }
.gt-inner .button,.gt-inner .btn-primary,.gt-inner .btn-success { background:#244b36; color:#fff; border-color:#244b36; border-radius:8px; padding:11px 20px; box-shadow:none; }
.gt-inner .button:hover,.gt-inner .btn-primary:hover,.gt-inner .btn-success:hover { background:#3c6347; color:#fff; }
.gt-inner .button3 { background:#fcfdf8; color:#31553b; border-color:#b9cba7; }
.gt-inner table { max-width:100%; }
.gt-inner th,.gt-inner td { padding:12px; overflow-wrap:anywhere; }
.gt-inner th { background:#e8efdc; color:#234738; }
.gt-inner .lead { font-size:17px; line-height:1.85; }
.gt-inner .gt-page-news > .container { max-width:1100px; }
.gt-inner[data-gt-page="N"] > .container { max-width:960px; }
.gt-inner[data-gt-page="Contact"] > .container { min-height:45vh; padding:32px; background:#fcfdf8; border:1px solid #d9e2cf; border-radius:18px; }
.gt-inner[data-gt-page="LegalNotice"] > .container { max-width:960px; padding:32px; background:#fcfdf8; border:1px solid #d9e2cf; border-radius:18px; }
.gt-inner[data-gt-page="News"] img,.gt-inner[data-gt-page="N"] img,.gt-inner[data-gt-page="NewsYear"] img { max-width:100%; height:auto; }
.gt-inner hr { background:#bccfb0; opacity:1; }
@media(max-width:1239px) { .gt-site .gt-context { margin-left:24px; margin-right:24px; } }
@media(max-width:767px) {
  .gt-site .gt-context { margin:96px 16px 22px; padding:14px 18px; align-items:flex-start; flex-direction:column; gap:10px; }
  .gt-inner > .container,.gt-inner > .container-fluid,.gt-inner section > .container { padding-left:18px; padding-right:18px; }
  .gt-inner section { padding-top:12px; }
  .gt-inner .services .icon-box { padding:24px; }
  .gt-inner .card-header,.gt-inner .card-body { padding:16px; }
  .gt-inner .card-header a { font-size:17px; }
  .gt-inner .hero-img { order:3!important; margin-top:24px; }
  .gt-inner .portfolio .portfolio-wrap .portfolio-info { opacity:1; position:static; padding:16px; background:#fcfdf8; }
  .gt-inner .portfolio .portfolio-wrap .portfolio-info h4,.gt-inner .portfolio .portfolio-wrap .portfolio-info p,.gt-inner .portfolio .portfolio-wrap .portfolio-links a { color:#244b36; }
  .gt-inner .portfolio .portfolio-wrap .portfolio-info::before,.gt-inner .portfolio .portfolio-wrap .portfolio-info::after { display:none; }
  .gt-inner .portfolio .portfolio-wrap::before { display:none; }
  .gt-site .aviso-cookies { right:16px; bottom:16px; width:calc(100% - 32px); }
}
@media(prefers-reduced-motion:reduce) { .gt-site *, .gt-site *::before,.gt-site *::after { animation:none!important; transition:none!important; scroll-behavior:auto!important; } .gt-site [data-aos] { opacity:1!important; transform:none!important; } }
.gt-site .gt-menu-button { display:none; }
@media (min-width:992px) and (max-width:1199px) { .gt-site .navbar > ul { display:none; } }
/* Mobile navigation: keep the fixed overlay relative to the viewport. */
.gt-site .gt-menu-button { border:1px solid #b7c9a7; border-radius:10px; width:46px; height:46px; padding:10px; background:#edf2e3; color:#193c30; align-items:center; justify-content:center; flex-shrink:0; line-height:1; }
.gt-site .gt-menu-button::before { content:none; }
.gt-site .gt-menu-button svg { display:block; width:24px; height:24px; }
.gt-site .gt-menu-button path { stroke:currentColor; stroke-width:2; stroke-linecap:round; transform-origin:12px 12px; transition:transform .2s,opacity .2s; }
.gt-site .gt-menu-button.bi-x path:nth-child(1) { transform:translateY(6px) rotate(45deg); transform-origin:12px 6px; }
.gt-site .gt-menu-button.bi-x path:nth-child(2) { opacity:0; }
.gt-site .gt-menu-button.bi-x path:nth-child(3) { transform:translateY(-6px) rotate(-45deg); transform-origin:12px 18px; }
.gt-site .gt-social-links { display:flex; align-items:center; gap:4px; margin-left:18px; }
.gt-site .gt-social-links a { padding:10px; }
@media(max-width:1199px) {
  .gt-site #header { backdrop-filter:none; -webkit-backdrop-filter:none; transition:none; }
  .gt-site #header > .container { gap:16px; }
  .gt-site #header .logo { min-width:0; }
  .gt-site #header .logo img { max-width:100%; object-fit:contain; }
  .gt-site .gt-menu-button { display:flex; }
  .gt-site .navbar-mobile { position:fixed; inset:0; width:100%; height:100vh; height:100dvh; background:rgba(18,39,29,.55); display:block; padding:0; transition:none; }
  .gt-site .navbar-mobile .gt-menu-button { position:absolute; top:17px; right:max(16px,env(safe-area-inset-right)); z-index:2; color:#193c30; background:#f6f8ef; }
  .gt-site .navbar-mobile > ul { position:absolute; top:80px; right:12px; bottom:max(12px,env(safe-area-inset-bottom)); left:12px; display:block; padding:14px; background:#f6f8ef; border:1px solid #d4dfc7; border-radius:16px; overflow-y:auto; overscroll-behavior:contain; box-shadow:0 18px 40px #142d2929; }
  .gt-site .navbar-mobile > ul > li { margin:0; }
  .gt-site .navbar-mobile a,.gt-site .navbar-mobile a:focus { display:flex; align-items:center; justify-content:space-between; min-height:48px; padding:12px 14px; border-radius:8px; font-size:16px; white-space:normal; color:#234738; }
  .gt-site .navbar-mobile a:hover,.gt-site .navbar-mobile a.active { color:#193c30; background:#e3ebd7; }
  .gt-site .navbar-mobile .dropdown > a i { margin-left:16px; }
  .gt-site .navbar-mobile .dropdown > a[aria-expanded="true"] i { transform:rotate(180deg); }
  .gt-site .navbar-mobile .dropdown ul { position:static; margin:4px 0 10px 14px; padding:4px 0 4px 8px; border:0; border-left:2px solid #bad09f; border-radius:0; background:transparent; box-shadow:none; overflow:visible; }
  .gt-site .navbar-mobile .dropdown ul li { min-width:0; }
  .gt-site .navbar-mobile .dropdown ul a { font-size:14px; }
  .gt-site .navbar-mobile > ul > .gt-social-links { display:flex; justify-content:flex-start; gap:10px; padding:14px 0 0; margin:14px 0 0; border-top:1px solid #d4dfc7; }
  .gt-site .gt-social-links a { justify-content:center; width:48px; background:#e8efdc; }
  .gt-site.gt-menu-open { overflow:hidden; }
}
