/* Biblioteca UNT — child theme. Existing VuFind forms and behavior are inherited. */
:root{--portal-navy:#102d50;--portal-blue:#17477a;--portal-paper:#f3f5f8;--portal-muted:#64748b;--portal-accent:#83b9e5;--portal-line:#dfe5ed;--cc-blue:#102d50;--cc-blue-dark:#102d50;--cc-blue-light:#17477a}
body{background:var(--portal-paper);color:#23364c}
.portal-container{width:calc(100% - 64px);max-width:1240px;margin-inline:auto}
.portal-institutional-bar{background:var(--portal-navy);color:#fff;font-size:.72rem}
.portal-bar-inner{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:36px}
.portal-bar-inner>span{font-size:.69rem;letter-spacing:.02em}
.portal-bar-inner nav{display:flex;gap:20px;flex-wrap:wrap}
.portal-bar-inner a{color:#f3f6fa;text-decoration:none}
.portal-bar-inner a:hover{text-decoration:underline;text-underline-offset:3px}
.portal-header{padding:0;background:#fff;border-bottom:1px solid var(--portal-line)}
.portal-header-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:98px;flex-wrap:wrap}
.portal-brand{display:flex;align-items:center;gap:19px;text-decoration:none;flex-shrink:0;color:var(--portal-navy)}
.portal-brand img{display:block;width:126px;height:49px;object-fit:contain;background:var(--portal-navy);padding:6px 8px;border-radius:4px}
.portal-brand>span{display:flex;flex-direction:column;border-left:1px solid #dbe2ea;padding-left:19px;gap:3px}
.portal-brand small{font: .66rem/1.3 Georgia,serif;color:#526276}
.portal-brand strong{font-size:1.24rem;line-height:1.2;letter-spacing:.055em;font-weight:750;color:var(--portal-navy)}
.portal-header .navbar-toggler{border:1px solid #c6d3e1;color:var(--portal-navy);border-radius:7px;padding:7px 10px}
.portal-header .navbar-collapse{align-items:center;gap:24px;flex-grow:0}
.portal-main-nav,.portal-account-nav{list-style:none;padding:0;margin:0;display:flex;align-items:center;gap:22px}
.portal-main-nav a{font-size:.81rem;color:var(--portal-navy);font-weight:600;text-decoration:none;white-space:nowrap}
.portal-main-nav a:hover{color:var(--portal-blue);text-decoration:underline;text-underline-offset:7px}
.portal-catalog-link{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:9px 14px;background:var(--portal-blue);color:#fff!important;border-radius:6px;font-size:.79rem;text-decoration:none;font-weight:650}
.portal-catalog-link:hover{background:var(--portal-navy);text-decoration:none}
.portal-account-nav{gap:8px}
.portal-account-nav .nav-link{display:inline-flex;align-items:center;gap:6px;color:var(--portal-navy);font-size:.77rem;padding:7px 0}
.portal-account-nav .dropdown-menu{font-size:.85rem}
.portal-hero{height:226px;position:relative;background:var(--portal-navy);isolation:isolate;color:#fff}
.portal-hero-image{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center 54%;z-index:-2}
.portal-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#102d50ed 0%,#102d50c7 42%,#102d5033 100%);z-index:-1}
.portal-hero-content{padding-top:33px}
.portal-eyebrow{font-size:.65rem;letter-spacing:.14em;color:#52657a;font-weight:750;margin:0 0 10px;line-height:1.5}
.portal-hero .portal-eyebrow{color:#c7dff2;font-size:.61rem}
.portal-hero h1{font:700 clamp(2.2rem,4.1vw,3.4rem)/1.1 Georgia,'Times New Roman',serif;letter-spacing:-.025em;color:#fff;margin:0 0 12px}
.portal-hero-tagline{font-size:.98rem;color:#eff5fa;margin:0;max-width:510px;line-height:1.6}
.portal-hero-credit{position:absolute;right:20px;bottom:8px;background:#102d50ba;padding:3px 8px;font-size:.57rem;border-radius:3px;color:#e5eff7}
.portal-home-body{position:relative;padding-bottom:35px}
.portal-search{position:relative;margin-top:-35px;z-index:1;background:#fff;border:1px solid #dce4ed;border-radius:12px;box-shadow:0 8px 30px #102d5010;padding:23px 28px 18px;scroll-margin-top:20px}
.portal-search-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:17px}
.portal-search-heading .portal-eyebrow{font-size:.58rem;margin-bottom:5px}
.portal-search h2{font:700 clamp(1.25rem,2vw,1.7rem)/1.25 Georgia,serif;color:var(--portal-navy);margin:0}
.portal-technology{background:#edf2f7;color:var(--portal-blue);font-size:.66rem;font-weight:700;padding:5px 11px;border:1px solid #dce5ee;border-radius:30px;white-space:nowrap}
.portal-search .searchForm{display:block;float:none;width:100%;margin:0}
.portal-search-label{display:block;font-size:.72rem;color:#52657a;font-weight:600;margin-bottom:6px}
.portal-search .searchForm-inputs{display:grid;grid-template-columns:minmax(0,1fr) 195px 112px;gap:10px;align-items:center}
.portal-search .searchForm-query{display:flex;align-items:center;min-width:0;border:1px solid #bdcbdc;background:#fff;border-radius:6px;overflow:visible}
.portal-search .searchForm-query input.searchForm_lookfor{height:48px;font-size:.94rem;border:0!important;box-shadow:none!important;padding:0 14px;border-radius:6px;min-width:0}
.portal-search #searchForm_controls{flex:0 0 auto}
.portal-search .searchForm select.searchForm_type{width:100%;max-width:none;height:50px;border-radius:6px;border-color:#bdcbdc;font-size:.85rem}
.portal-search .searchForm .btn-primary{height:50px;width:100%;border-radius:6px;font-size:.87rem;background:var(--portal-blue)!important;border-color:var(--portal-blue)!important;padding:0 12px}
.portal-search .advanced-search-link{grid-column:1/-1;justify-self:start;color:var(--portal-blue)!important;font-size:.75rem;font-weight:600;text-decoration:underline;text-underline-offset:3px;padding:0}
.portal-search-links{display:flex;gap:8px 20px;flex-wrap:wrap;border-top:1px solid #edf0f4;margin-top:12px;padding-top:11px}
.portal-search-links a{font-size:.74rem;color:var(--portal-blue);text-decoration:none}
.portal-search-links a:hover{text-decoration:underline}
.portal-quick{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:13px;margin:24px 0 30px}
.portal-quick-card{--quick-bg:#edf4fc;--quick-hover:#e2edfa;--quick-accent:#17477a;position:relative;display:flex;align-items:flex-start;flex-direction:column;gap:10px;padding:18px 15px 23px;background:var(--quick-bg);border:1px solid #ccd8e5;border-top:3px solid var(--quick-accent);border-radius:9px;color:var(--portal-navy);text-decoration:none;box-shadow:0 2px 7px #102d5003}
.portal-quick-card:nth-child(2){--quick-bg:#eaf6f4;--quick-hover:#ddf0ed;--quick-accent:#176b63}
.portal-quick-card:nth-child(3){--quick-bg:#f1eff9;--quick-hover:#e9e4f5;--quick-accent:#66508a}
.portal-quick-card:nth-child(4){--quick-bg:#eff5ec;--quick-hover:#e4eedc;--quick-accent:#4b6d3b}
.portal-quick-card:nth-child(5){--quick-bg:#fcf5e9;--quick-hover:#f6eacf;--quick-accent:#805b16}
.portal-quick-card:nth-child(6){--quick-bg:#eef1f7;--quick-hover:#e2e8f2;--quick-accent:#435a7c}
.portal-quick-card:hover,.portal-quick-card:focus{border-color:var(--quick-accent);background:var(--quick-hover);text-decoration:none;box-shadow:0 5px 14px #102d500b}
.portal-quick-icon{width:32px;height:32px;display:inline-flex;align-items:center;justify-content:center;color:var(--quick-accent);background:#ffffffb3;border-radius:8px;font-size:1.3rem}
.portal-quick-card h2{font-size:.83rem;line-height:1.35;font-weight:750;color:var(--quick-accent);margin:0}
.portal-quick-card p{font-size:.7rem;line-height:1.55;color:#43576b;margin:0}
.portal-card-arrow{position:absolute;bottom:5px;right:12px;color:var(--quick-accent);font-size:.85rem}
.portal-module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:23px;margin:0 0 34px}
.portal-panel{min-width:0;border:1px solid var(--portal-line);border-radius:10px;background:#fff;overflow:hidden;padding:23px}
.portal-panel h2{font:700 1.4rem/1.2 Georgia,serif;color:var(--portal-navy);margin:0 0 13px}
.portal-panel-intro{font-size:.76rem;color:var(--portal-muted);line-height:1.65;margin-bottom:15px}
.portal-about{padding:0}
.portal-about>img{display:block;width:100%;height:139px;object-fit:cover;object-position:center 45%}
.portal-about-copy{padding:20px 23px 23px}
.portal-about-copy>p:not(.portal-eyebrow){font-size:.79rem;line-height:1.75;color:var(--portal-muted)}
.portal-text-link{font-size:.77rem;font-weight:700;color:var(--portal-blue);text-underline-offset:4px}
.portal-about-copy>small{display:block;margin-top:14px;font-size:.63rem;color:var(--portal-muted)}
.portal-news-list{display:grid;gap:15px}
.portal-news-item{padding-bottom:14px;border-bottom:1px solid #e7ecf2}
.portal-news-item:last-child{border:0;padding-bottom:0}
.portal-news-item>span{display:block;color:#5a6e83;font-size:.55rem;letter-spacing:.09em;font-weight:700;margin-bottom:5px}
.portal-news-item h3{font-size:.87rem;line-height:1.4;margin:0 0 5px;font-weight:700}
.portal-news-item h3 a{color:var(--portal-navy);text-decoration:none}
.portal-news-item h3 a:hover{text-decoration:underline}
.portal-news-item p,.portal-news-item time{font-size:.72rem;line-height:1.65;color:var(--portal-muted);margin:0}
.portal-help ul{list-style:none;padding:0;margin:0}
.portal-help li{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:13px 0;border-bottom:1px solid #e7ecf2}
.portal-help li a{font-size:.79rem;color:var(--portal-navy);text-decoration:none}
.portal-help li span{color:#6a8199}
.portal-help-contact{padding:16px;background:#f1f5f9;border-radius:7px;margin-top:22px}
.portal-help-contact strong{display:block;font-size:.78rem;color:var(--portal-navy);margin-bottom:6px}
.portal-help-contact a{display:block;font-size:.7rem;overflow-wrap:anywhere;color:var(--portal-blue)}
.portal-materials{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap;margin-bottom:32px;padding:19px 22px;background:#e7edf4;border:1px solid #d8e1ec;border-radius:9px}
.portal-materials h2{font-size:.95rem;font-weight:700;margin:0;color:var(--portal-navy)}
.portal-materials>div{display:flex;flex-wrap:wrap;gap:9px}
.portal-materials a{padding:5px 11px;border-radius:30px;border:1px solid #c7d5e5;color:var(--portal-blue);font-size:.74rem;text-decoration:none;background:#fff}
.portal-home .cc-section-title{font:700 1.5rem/1.3 Georgia,serif;color:var(--portal-navy);margin-bottom:17px}
.portal-home .cc-section-title:after{background:var(--portal-accent);height:2px;width:45px}
.portal-home .cc-section-subtitle{color:#52657a}
.portal-home .cc-card,.portal-home .cc-institution-card{border-radius:9px;box-shadow:0 3px 11px #102d5005}
.portal-home .cc-card-title{color:var(--portal-navy)}
.portal-home .cc-record-card .cc-card-author{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.portal-home .cc-card:hover{transform:none}
.portal-footer{background:var(--portal-navy);color:#d2dfec;margin-top:35px;font-size:.8rem;width:100%;max-width:none;padding-inline:0}
.portal-footer-grid{display:grid;grid-template-columns:1.2fr 1.25fr 1fr;gap:60px;padding-top:38px;padding-bottom:35px}
.portal-footer-kicker{font-size:.57rem;letter-spacing:.09em;color:#afc8df}
.portal-footer h2{font:700 1.25rem/1.3 Georgia,serif;color:#fff;margin:9px 0 13px}
.portal-footer p,.portal-footer address{font-size:.76rem;line-height:1.85;color:#d2dfec;font-style:normal;margin-bottom:10px}
.portal-footer a{display:block;color:#d8e8f5;text-decoration:none;font-size:.76rem;margin:8px 0;overflow-wrap:anywhere}
.portal-footer a:hover{text-decoration:underline;text-underline-offset:4px}
.portal-footer small{display:block;font-size:.64rem;color:#b8cde0;margin-top:10px}
.portal-footer-bottom{display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px;border-top:1px solid #ffffff25;padding:17px 0;color:#c7d9ea;font-size:.66rem}
.portal-footer-bottom a{display:inline;font-size:inherit}
.portal-faq{max-width:900px;margin:30px auto 40px}
.portal-faq h1{font:700 2.2rem/1.2 Georgia,serif;color:var(--portal-navy)}
.portal-faq>p{color:#52657a;line-height:1.7}
.portal-faq details{border:1px solid var(--portal-line);border-radius:9px;background:#fff;margin:12px 0;scroll-margin-top:20px}
.portal-faq summary{padding:18px 20px;font-size:.96rem;color:var(--portal-navy);font-weight:650;cursor:pointer}
.portal-faq details p{padding:0 20px 18px;margin:0;font-size:.91rem;line-height:1.8}
.portal-faq>.portal-text-link{display:inline-block;margin-top:15px}
.portal-home a:focus-visible,.portal-header a:focus-visible,.portal-footer a:focus-visible,.portal-institutional-bar a:focus-visible,.portal-faq summary:focus-visible,.portal-header button:focus-visible{outline:3px solid #17477a;outline-offset:4px;border-radius:3px}
.portal-footer a:focus-visible,.portal-institutional-bar a:focus-visible{outline-color:#fff}
.portal-search .searchForm-query:focus-within{outline:3px solid var(--portal-blue);outline-offset:2px}
@media(min-width:1100px){.portal-header .navbar-toggler{display:none}.portal-header .navbar-collapse{display:flex!important;flex-basis:auto}.portal-header-inner{flex-wrap:nowrap}}
@media(min-width:1100px) and (max-width:1350px){.portal-header-inner{gap:18px}.portal-brand img{width:103px}.portal-brand{gap:12px}.portal-brand>span{padding-left:12px}.portal-brand strong{font-size:1.05rem}.portal-main-nav{gap:16px}.portal-header .navbar-collapse{gap:16px}}
@media(max-width:1099.98px){.portal-header .navbar-collapse{flex-basis:100%;padding-bottom:18px}.portal-main-nav{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;margin-bottom:14px}.portal-main-nav a{display:block;padding:12px 0}.portal-account-nav{margin-top:12px}.portal-quick{grid-template-columns:repeat(3,minmax(0,1fr))}.portal-module-grid{gap:15px}.portal-panel{padding:18px}.portal-about{padding:0}.portal-about-copy{padding:18px}.portal-footer-grid{gap:25px}}
@media(max-width:767.98px){.portal-container{width:calc(100% - 32px)}.portal-bar-inner{gap:7px;flex-wrap:wrap;padding:8px 0;min-height:0}.portal-bar-inner>span{font-size:.61rem}.portal-bar-inner nav{gap:14px;font-size:.61rem}.portal-header-inner{min-height:85px;gap:12px}.portal-brand{gap:10px}.portal-brand img{width:88px;height:40px}.portal-brand>span{padding-left:10px;max-width:190px}.portal-brand small{font-size:.54rem}.portal-brand strong{font-size:1rem}.portal-hero{height:203px}.portal-hero-content{padding-top:30px}.portal-hero-tagline{font-size:.85rem;max-width:290px}.portal-hero-credit{font-size:.49rem;right:10px;bottom:7px}.portal-search{padding:20px 17px 16px;margin-top:-22px}.portal-search-heading{gap:10px}.portal-search h2{font-size:1.19rem}.portal-search-heading .portal-eyebrow{font-size:.51rem}.portal-technology{font-size:.57rem;padding:4px 7px}.portal-search .searchForm-inputs{grid-template-columns:minmax(0,1fr) 110px}.portal-search .searchForm-query{grid-column:1/-1}.portal-search .searchForm-query input.searchForm_lookfor{font-size:1rem}.portal-search .searchForm select.searchForm_type{font-size:.8rem}.portal-search-links{gap:10px 16px}.portal-search-links a{font-size:.71rem}.portal-quick{grid-template-columns:minmax(0,1fr);gap:10px;margin:20px 0 25px}.portal-quick-card{display:grid;grid-template-columns:35px minmax(0,1fr) 15px;gap:4px 12px;padding:16px}.portal-quick-icon{grid-row:1/3;align-self:center}.portal-quick-card h2{grid-column:2;font-size:.93rem}.portal-quick-card p{grid-column:2;font-size:.75rem}.portal-card-arrow{position:static;grid-column:3;grid-row:1/3;align-self:center}.portal-module-grid{grid-template-columns:minmax(0,1fr);gap:18px}.portal-panel{padding:22px}.portal-about{padding:0}.portal-about-copy{padding:22px}.portal-about>img{height:170px}.portal-news-item p,.portal-panel-intro,.portal-help li a{font-size:.83rem}.portal-about-copy>p:not(.portal-eyebrow){font-size:.88rem}.portal-materials{padding:18px;gap:14px}.portal-materials>div{gap:8px}.portal-footer-grid{grid-template-columns:minmax(0,1fr);gap:22px;padding:28px 0}.portal-footer h2{font-size:1.3rem}.portal-footer p,.portal-footer address,.portal-footer a{font-size:.82rem}.portal-footer-bottom{padding:17px 0;flex-direction:column}.portal-footer-bottom a{font-size:inherit}.portal-faq h1{font-size:1.8rem}}
@media(prefers-reduced-motion:reduce){.portal-home *{transition:none!important;scroll-behavior:auto!important}}
