/* Estudia Deporte: colores extraídos del nuevo logo. Azul #003857; turquesa #00e6dd. */
body#page1 { background:#003857; }
#page1 .body1 { background:#eee; }
#page1 .body2, #page1 .body3 { background:none; }
#page1 .zerogrid { width:calc(100% - 40px); max-width:1440px; }
#page1 header { height:auto; padding:18px 0 28px; }
#page1 header h1 { float:none; padding:0; margin:0 auto; }
#page1 #logo { width:104px; margin:auto; }
#page1 #logo img { display:block; width:100%; height:auto; border-radius:50%; }
.portal-subtitle { text-align:center; color:#454545; margin:8px 0 18px; padding:0; font-size:16px; }
#page1 #menu { box-sizing:border-box; width:100% !important; float:none; display:flex; flex-wrap:wrap; gap:12px; align-items:flex-end; padding:16px; margin:0 0 20px; background:#fff; border:1px solid #ddd; border-radius:8px; }
#page1 #menu li { float:none; padding:0 !important; min-width:0; }
#page1 #menu li:first-child { flex:1 1 380px; }
#page1 #menu form { margin:0; }
.portal-select-label { display:block; font-size:14px; line-height:20px; font-weight:bold; margin:0 0 8px; }
#page1 #menu select { box-sizing:border-box; display:block; width:100%; max-width:100%; min-width:0; height:48px; padding:10px !important; font:16px Arial,sans-serif; color:#222; background:#fafafa; border:1px solid #888; border-radius:4px; }
#page1 #menu li a { box-sizing:border-box; display:flex; align-items:center; justify-content:center; min-height:48px; padding:10px 18px; border-radius:4px; background:none; font-size:16px; line-height:24px; }
#page1 #menu #portal-open-book, #page1 #menu a[href="javascript:verLibro()"] { color:#fff !important; background:#003857; font-weight:bold; }
#page1 #menu #portal-open-book:hover, #page1 #menu a[href="javascript:verLibro()"]:hover { background:#00e6dd; color:#003857 !important; }
#page1 #menu a[href="logout.php"] { color:#3c3c3c !important; border:1px solid #ccc; }
#page1 a:focus-visible, #page1 select:focus, .login input:focus { outline:3px solid #003857; outline-offset:3px; }
#page1 #gallery { display:block !important; box-sizing:border-box; width:100%; height:auto; margin:0; padding:20px; background:#fff; border:1px solid #d0d0d0; border-radius:8px; box-shadow:0 3px 12px rgba(0,0,0,.05); }
#page1 .slider { display:none !important; }
#page1 #portal-catalog-title { font:600 22px/28px Arial,sans-serif; color:#003857; padding:0; margin:0 0 6px; }
.portal-book-help { color:#555; font:14px/21px Arial,sans-serif; padding:0; margin:0 0 18px; }
#page1 #myRoundabout { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:16px; width:100%; max-width:100%; height:auto; margin:0; padding:0; list-style:none; overflow:visible; }
#page1 #myRoundabout li { display:block; position:static; min-width:0; width:auto; height:auto; margin:0; padding:0; }
#page1 #myRoundabout a { display:flex; flex-direction:column; box-sizing:border-box; height:100%; min-width:0; padding:10px; background:#fff; border:1px solid #ddd; border-radius:6px; color:#252525; text-decoration:none; transition:border-color .15s,box-shadow .15s; }
#page1 #myRoundabout a:hover { border-color:#00e6dd; box-shadow:0 3px 10px rgba(0,0,0,.08); }
#page1 #myRoundabout img { display:block; float:none; width:100%; height:150px; object-fit:contain; background:#fff; }
.portal-card-title { display:block; font:600 13px/19px Arial,sans-serif; text-align:center; color:#252525; padding:12px 0 8px; overflow-wrap:break-word; flex:1; }
.portal-card-open { display:block; font:600 14px/22px Arial,sans-serif; text-align:center; color:#003857; padding-top:4px; }
#page1 .body4 { height:10px; background:#00e6dd; }
#page1 #content2 { padding:0; }
#page1 footer { padding:24px 0 28px; color:#eee; font-size:12px; line-height:20px; text-align:center; }
#page1 footer a { color:#00e6dd; }
.login .login-page { box-sizing:border-box; width:100%; max-width:420px; padding:48px 20px; }
.login .form { margin:0; padding:32px 24px; border-radius:8px; }
.login .form input { font-size:16px; min-height:48px; }
.login .form img { max-width:140px; width:100%; height:auto; border-radius:50%; }
.login .form .button { background:#003857; color:#fff; }
.login .form .button:hover { background:#00e6dd; color:#003857; }
@media (max-width:1199px) { #page1 #myRoundabout { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media (max-width:899px) { #page1 #myRoundabout { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media (max-width:649px) {
  #page1 .zerogrid { width:calc(100% - 24px); }
  #page1 header { padding:16px 0 20px; }
  #page1 #logo { width:90px; }
  #page1 #menu { gap:10px; padding:14px; margin-bottom:16px; }
  #page1 #menu li:first-child { flex-basis:100%; }
  #page1 #menu li:not(:first-child) { flex:1 1 auto; }
  #page1 #gallery { padding:14px; }
  #page1 #myRoundabout { grid-template-columns:repeat(2,minmax(0,1fr)); gap:10px; }
  #page1 #myRoundabout a { padding:8px; }
  #page1 #myRoundabout img { height:118px; }
  .portal-card-title { font-size:12px; line-height:18px; }
}
@media (max-width:359px) { #page1 #myRoundabout { grid-template-columns:minmax(0,1fr); } }
@media (prefers-reduced-motion:reduce) { #page1 #myRoundabout a { transition:none; } }

#page1 #myRoundabout a:hover { border-color:#003857; box-shadow:0 3px 10px rgba(0,56,87,.12); }
#page1 footer a:focus-visible { outline-color:#00e6dd; }

/* Heading font used by the official Estudia Deporte website; served locally. */
@font-face { font-family:'Portal Quicksand'; font-style:normal; font-weight:600; font-display:swap; src:url('portal-quicksand-600.ttf') format('truetype'); }
#page1 .portal-subtitle { font:600 24px/1.35 'Portal Quicksand',Arial,sans-serif; color:#003857; margin:10px 0 20px; letter-spacing:-.02em; }
#page1 #portal-catalog-title { font:600 22px/1.35 'Portal Quicksand',Arial,sans-serif; color:#003857; margin-bottom:18px; }
#page1 #menu select[hidden] { display:none !important; }
.portal-combobox { position:relative; width:100%; }
#page1 #menu .portal-combobox input { box-sizing:border-box; width:100%; min-width:0; height:50px; margin:0; padding:12px 40px 12px 14px; font:16px/24px Arial,sans-serif; color:#003857; background:#fff; border:1px solid #91a5b0; border-radius:6px; box-shadow:none; }
#page1 #menu .portal-combobox input::placeholder { color:#536b78; opacity:1; }
#page1 #menu .portal-combobox input:focus { outline:2px solid #003857; outline-offset:2px; border-color:#003857; }
.portal-combobox-arrow { position:absolute; right:14px; top:11px; color:#003857; pointer-events:none; font:22px/24px Arial,sans-serif; }
.portal-search-panel { position:fixed; box-sizing:border-box; z-index:10000; padding:0; border:1px solid #91a5b0; border-radius:8px; background:#fff; box-shadow:0 8px 28px rgba(0,56,87,.18); overflow:hidden; color:#003857; font:16px/23px Arial,sans-serif; }
.portal-search-panel[hidden] { display:none; }
.portal-search-status { box-sizing:border-box; padding:9px 12px; font:13px/20px Arial,sans-serif; color:#536b78; background:#f2f8fa; border-bottom:1px solid #dde8ed; }
#portal-book-results { overflow-y:auto; overscroll-behavior:contain; -webkit-overflow-scrolling:touch; touch-action:pan-y; }
.portal-search-option { box-sizing:border-box; min-height:48px; padding:12px 14px; cursor:pointer; border-bottom:1px solid #edf2f4; white-space:normal; overflow-wrap:break-word; text-align:left; }
.portal-search-option:last-child { border-bottom:0; }
.portal-search-option:hover, .portal-search-option.is-active { background:#e5faf8; color:#003857; }
.portal-search-option[aria-selected="true"] { box-shadow:inset 4px 0 #003857; font-weight:600; }
@media (max-width:649px) {
  #page1 .portal-subtitle { font-size:22px; }
  #page1 #portal-catalog-title { font-size:21px; }
}
