/* @license GPL-2.0-or-later https://www.drupal.org/licensing/faq */
.text-align-left{text-align:left;}.text-align-right{text-align:right;}.text-align-center{text-align:center;}.text-align-justify{text-align:justify;}.align-left{float:left;}.align-right{float:right;}.align-center{display:block;margin-right:auto;margin-left:auto;}
.container-inline div,.container-inline label{display:inline-block;}.container-inline .details-wrapper{display:block;}.container-inline .hidden{display:none;}
.clearfix::after{display:table;clear:both;content:"";}
.hidden{display:none;}.visually-hidden{position:absolute !important;overflow:hidden;clip:rect(1px,1px,1px,1px);width:1px;height:1px;word-wrap:normal;}.visually-hidden.focusable:active,.visually-hidden.focusable:focus-within{position:static !important;overflow:visible;clip:auto;width:auto;height:auto;}.invisible{visibility:hidden;}
.item-list__comma-list,.item-list__comma-list li{display:inline;}.item-list__comma-list{margin:0;padding:0;}.item-list__comma-list li::after{content:", ";}.item-list__comma-list li:last-child::after{content:"";}
.js .js-hide{display:none;}.js-show{display:none;}.js .js-show{display:block;}@media (scripting:enabled){.js-hide.js-hide{display:none;}.js-show{display:block;}}
.position-container{position:relative;}
.reset-appearance{margin:0;padding:0;border:0 none;background:transparent;line-height:inherit;-webkit-appearance:none;appearance:none;}
#citation-modal,#sharing-modal{z-index:1060;}#citation-modal .modal-dialog,#sharing-modal .modal-dialog{max-width:700px;margin:1.75rem auto;}#citation-modal .modal-content,#sharing-modal .modal-content{border:none;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,0.3);overflow:hidden;}#citation-modal .modal-header,#sharing-modal .modal-header{background:linear-gradient(135deg,#990000 0%,#b30000 100%);color:white;padding:1.5rem 2rem;border:none;position:relative;}#citation-modal .modal-header::after,#sharing-modal .modal-header::after{content:'';position:absolute;bottom:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,0.2),transparent);}#citation-modal .modal-title,#sharing-modal .modal-title{color:white !important;font-size:1.25rem;font-weight:600;margin:0;display:flex;align-items:center;gap:0.75rem;}#citation-modal .btn-close,#sharing-modal .btn-close{background:rgba(255,255,255,0.1) !important;border:1px solid rgba(255,255,255,0.2) !important;border-radius:8px;color:white;opacity:1;font-size:1.125rem;width:40px;height:40px;display:flex;align-items:center;justify-content:center;transition:all 0.2s ease;}#citation-modal .btn-close:hover,#citation-modal .btn-close:focus,#sharing-modal .btn-close:hover,#sharing-modal .btn-close:focus{background:rgba(255,255,255,0.2) !important;border-color:rgba(255,255,255,0.3) !important;transform:scale(1.05);opacity:1;box-shadow:none;}#citation-modal .modal-body,#sharing-modal .modal-body{background:#fafbfc;padding:2rem;}.citation-format,.citation-text-container{margin-bottom:2rem;}.citation-format:last-child,.citation-text-container:last-child{margin-bottom:0;}.citation-format-header h6{color:#990000 !important;font-weight:700;margin-bottom:1rem;display:flex;align-items:center;gap:0.5rem;text-transform:uppercase;letter-spacing:0.5px;font-size:0.875rem;}.citation-text,.apa-citation,.harvard-citation,.oxford-citation{background:white !important;border:1px solid #e1e5e9 !important;border-radius:8px;padding:1.5rem !important;box-shadow:0 2px 4px rgba(0,0,0,0.02);border-left:3px solid #990000 !important;}.citation-content{font-size:0.9rem;line-height:1.6;color:#374151;margin-bottom:1rem;word-wrap:break-word;overflow-wrap:break-word;}.citation-actions{margin-top:1rem;padding-top:1rem;border-top:1px solid #e1e5e9;}.copy-individual,.copy-all-citations,.url-copy-btn,.copy-url-btn,.copy-btn{background:linear-gradient(135deg,#990000 0%,#b30000 100%) !important;color:white !important;border:none !important;padding:0.75rem 1.5rem;border-radius:6px;font-size:0.875rem;font-weight:600;cursor:pointer;transition:all 0.2s ease;white-space:nowrap;box-shadow:0 2px 4px rgba(153,0,0,0.2);display:inline-flex;align-items:center;gap:0.5rem;}.copy-individual:hover,.copy-individual:focus,.copy-all-citations:hover,.copy-all-citations:focus,.url-copy-btn:hover,.url-copy-btn:focus,.copy-url-btn:hover,.copy-url-btn:focus,.copy-btn:hover,.copy-btn:focus{background:linear-gradient(135deg,#7a0000 0%,#990000 100%) !important;color:white !important;transform:translateY(-1px);box-shadow:0 4px 8px rgba(153,0,0,0.25);text-decoration:none;}.copy-individual:active,.copy-all-citations:active,.url-copy-btn:active,.copy-url-btn:active,.copy-btn:active{transform:translateY(0);box-shadow:0 2px 4px rgba(153,0,0,0.2);}.copied{background:linear-gradient(135deg,#28a745 0%,#34ce57 100%) !important;color:white !important;box-shadow:0 2px 4px rgba(40,167,69,0.2);}#citation-modal .modal-footer,#sharing-modal .modal-footer{background:#f8f9fa;border-top:1px solid #e1e5e9;padding:1.5rem 2rem;}.modal-footer .copy-all-citations{padding:1rem 2rem;font-size:1rem;}.url-copy-section{background:white;border:1px solid #e1e5e9;border-radius:8px;padding:1.5rem;margin-bottom:2rem;box-shadow:0 2px 4px rgba(0,0,0,0.02);}.url-copy-section h6{color:#990000 !important;font-weight:700;margin-bottom:1rem;text-transform:uppercase;letter-spacing:0.8px;font-size:0.875rem;display:flex;align-items:center;gap:0.5rem;}.url-copy-section h6::before{content:'';width:3px;height:14px;background:linear-gradient(135deg,#990000 0%,#b30000 100%);border-radius:2px;}.url-input-group{display:flex;gap:0.75rem;}.url-input,#page-url-input{flex:1;padding:0.75rem !important;border:1px solid #e1e5e9 !important;border-radius:6px;background:#f8f9fa !important;font-size:0.875rem;font-family:ui-monospace,'SF Mono','Monaco',monospace;color:#374151 !important;transition:all 0.2s ease;}.url-input:focus,#page-url-input:focus{border-color:#990000 !important;background:white !important;outline:none !important;box-shadow:0 0 0 3px rgba(153,0,0,0.1) !important;}.sharing-options{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem;}.share-option{display:flex;align-items:center;justify-content:center;gap:0.75rem;padding:1rem;background:white;border:1px solid #e1e5e9;border-radius:8px;text-decoration:none !important;color:#374151 !important;font-size:0.875rem;font-weight:600;transition:all 0.2s ease;box-shadow:0 2px 4px rgba(0,0,0,0.02);}.share-option:hover,.share-option:focus{background:linear-gradient(135deg,#990000 0%,#b30000 100%) !important;border-color:#990000 !important;color:white !important;transform:translateY(-2px);box-shadow:0 4px 8px rgba(153,0,0,0.15);text-decoration:none !important;}.share-option svg{opacity:0.8;transition:opacity 0.2s ease;flex-shrink:0;}.share-option:hover svg{opacity:1;}@media (max-width:768px){#citation-modal .modal-dialog,#sharing-modal .modal-dialog{max-width:95%;margin:0.5rem auto;}#citation-modal .modal-header,#sharing-modal .modal-header{padding:1.25rem 1.5rem;}#citation-modal .modal-header .modal-title,#sharing-modal .modal-header .modal-title{font-size:1.125rem;}#citation-modal .modal-body,#sharing-modal .modal-body{padding:1.5rem;}.citation-text,.apa-citation,.harvard-citation,.oxford-citation{padding:1.25rem !important;}.sharing-options{grid-template-columns:1fr;}.url-input-group{flex-direction:column;}.copy-individual,.copy-all-citations,.url-copy-btn,.copy-url-btn{width:100%;justify-content:center;}}@media (max-width:480px){#citation-modal .modal-dialog,#sharing-modal .modal-dialog{max-width:100%;margin:0;height:100vh;max-height:none;}#citation-modal .modal-content,#sharing-modal .modal-content{height:100vh;border-radius:0;display:flex;flex-direction:column;}#citation-modal .modal-body,#sharing-modal .modal-body{flex:1;overflow-y:auto;padding:1.25rem;}}#citation-modal *:focus,#sharing-modal *:focus{outline:2px solid #990000;outline-offset:2px;}@media print{#citation-modal,#sharing-modal{display:none !important;}}@media (prefers-contrast:high){#citation-modal .modal-header,#sharing-modal .modal-header{border:2px solid #990000;}.copy-individual,.copy-all-citations,.url-copy-btn,.copy-url-btn,.share-option:hover{border:2px solid #990000 !important;}}
