/* Shared site styles — match v8.mp3juice.za.com structure & sizing */
*,::after,::before{box-sizing:border-box;margin:0;padding:0;list-style-type:none;text-decoration:none}
html,body{box-sizing:border-box;margin:0;padding:0;background-color:#1676c2;font-family:'Open Sans',Arial,Helvetica,sans-serif;font-weight:600;font-style:normal;min-height:100%}
h1,h2,h3{color:#fff;font-weight:700;line-height:normal}

/* Language bar (home) */
#lang-bar{max-width:600px;width:100%;margin:0 auto;padding:8px 0 0;display:flex;justify-content:flex-end;align-items:center}
#lang-bar .lang-select{background:rgba(255,255,255,0.18);color:#fff;border:1px solid rgba(255,255,255,0.45);padding:5px 10px;border-radius:4px;font-size:13px;font-weight:400;cursor:pointer;font-family:inherit}
#lang-bar .lang-select option{background:#1676c2;color:#fff}
.top-bar .lang-select{background:rgba(255,255,255,0.18);color:#fff;border:1px solid rgba(255,255,255,0.45);padding:5px 10px;border-radius:4px;font-size:13px;font-weight:400;cursor:pointer;font-family:inherit;margin-left:auto}
.top-bar .lang-select option{background:#1676c2;color:#fff}

/* Convert MP3 button (subpages) */
.top-bar{max-width:600px;width:100%;margin:0 auto;padding:12px 0 0;display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.convert-btn{background:#fff;color:#1676c2;padding:8px 18px;border-radius:12px;font-weight:700;text-decoration:none;font-size:.95rem;font-family:inherit;line-height:1.2;display:inline-block;border:none;box-shadow:0 1px 3px rgba(0,0,0,0.12)}
.convert-btn:hover{opacity:0.95;text-decoration:none}

/* Nav — reference exact */
#nav{max-width:600px;width:100%;margin:0 auto 20px;padding:0}
#nav ul{padding:5px 0;border-bottom:1px solid #fff;display:flex;align-items:center;justify-content:center;gap:10px 30px;flex-wrap:wrap;list-style:none}
#nav ul li a{color:#fff;font-size:13px;font-weight:400;line-height:18px}
#nav ul li a:hover{text-decoration:underline}

/* Container + logo — reference exact */
#container{max-width:600px;width:100%;margin:0 auto;padding:0;text-align:center}
.main_logo{padding:0;display:flex;flex-direction:column;align-items:center;margin-bottom:20px;text-align:center}
.main_logo img{max-width:221px;width:100%;height:auto;margin-bottom:10px}

/* Search bar (home) — reference exact */
.SearchBar{width:100%}
#Search_form{display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:stretch;gap:0;position:relative;height:42px;background:#fff;margin-left:0;width:100%;overflow:hidden}
#urlInput,#urlInput::placeholder{color:#2c2c2c;font-size:14px;font-weight:500;line-height:normal}
#urlInput{flex:1 1 auto;min-width:0;padding:11px 13px;max-width:calc(100% - 48px);border:none;outline:0;border-radius:0;background:#fff;font-family:inherit;width:100%;height:42px;box-sizing:border-box}
#urlInput:focus{border:2px solid #0064d8;outline:#fff solid 2px}
#processBtn{cursor:pointer;height:42px;width:48px;flex:0 0 48px;background:#fff;padding:9px 12px;border-radius:0;border:none;outline:0;display:flex;align-items:center;justify-content:center}
#processBtn img{height:24px;width:24px;display:block}
#processBtn:disabled{opacity:0.55;cursor:wait}
.SearchBar .consent{padding:15px 0 0;color:#fff;text-align:center;font-size:13px;font-weight:600;line-height:20px;margin:0}
.SearchBar .consent a{color:#fff;text-decoration:underline;font-size:13px;font-weight:600}

/* Content typography — reference exact */
#text{text-align:left;width:100%}
#text h1{text-align:center;padding:40px 0 20px;font-size:26px;margin:0;color:#fff;font-weight:700}
#text h2{font-size:20px;padding:5px 0 15px;margin:0;color:#fff;font-weight:700;border:none}
#text h3{font-size:16px;padding:15px 0 10px;margin:0;color:#fff;font-weight:700}
#text p,#text p a{color:#fff;font-size:13px;font-weight:400;line-height:24px;padding:0 0 10px;margin:0;text-align:justify}
#text a,#text a:link,#text a:visited{color:#fff!important;text-decoration:underline}
#text a:hover{color:#fff!important;text-decoration:underline;opacity:0.9}
#text p a{text-decoration:underline}
#text ol{padding-left:20px;margin:0 0 10px}
#text ol li{list-style-type:decimal;color:#fff;font-size:13px;font-weight:400;line-height:24px;padding:0 0 4px;text-align:left}
#text ol li a,#text ul li a{color:#fff!important;text-decoration:underline}
#text ul{display:block;padding:0;margin:0 0 10px}
#text ul li{padding:5px 0;list-style-type:disc;margin-left:20px;color:#fff;font-size:13px;font-weight:400;line-height:18px;text-align:justify}
#text ul li a{color:#fff;text-decoration:underline;font-size:13px;font-weight:400}

/* Download result states (home) */
#loading,#result,#error{text-align:center;margin:20px auto;max-width:100%}
.hidden{display:none!important}
.loader-bars{display:flex;justify-content:center;gap:6px;margin:15px 0}
.bar{width:7px;height:28px;background:#fff;border-radius:4px;animation:pulse 1.3s infinite ease-in-out}
.bar:nth-child(2){animation-delay:0.15s}
.bar:nth-child(3){animation-delay:0.3s}
.bar:nth-child(4){animation-delay:0.45s}
.bar:nth-child(5){animation-delay:0.6s}
@keyframes pulse{0%,100%{transform:scaleY(0.5)}50%{transform:scaleY(1.4)}}
#loading p{color:#fff;font-size:13px;font-weight:600;line-height:20px;padding:0}
.result-box{padding:13px;text-align:center;background:#fff;border-radius:10px;color:#000}
.result-box h2{color:#000!important;font-size:18px;padding:0 0 8px;margin:0;border:none}
.result-box p{color:#000!important;font-size:13px;font-weight:600;padding-bottom:5px;margin:0;text-align:center}
#filename{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:0 8px 8px;box-sizing:border-box}
.download-btn{background:#1676c2;color:#fff!important;padding:10px 28px;border-radius:6px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex;align-items:center;gap:8px;margin:10px 0 6px;border:none;cursor:pointer}
.download-btn:hover{opacity:0.92}
.reset-link{margin-top:8px;background:none;border:none;color:#1676c2;font-size:13px;cursor:pointer;text-decoration:underline;font-family:inherit;font-weight:600}
#error .result-box{background:#fff5f5;border:1px solid #dc3545}
#error .result-box p{color:#b00020!important}

/* Footer — reference exact */
footer{max-width:600px;width:100%;margin:35px auto 15px;border:none;text-align:center;padding:0}
footer p{padding:15px 0;border-top:1px solid #d1e9ff;color:#fff;font-size:13px;font-weight:400;line-height:18px;margin:0}
footer p a{color:#fff;font-size:13px;font-weight:400;line-height:18px;text-decoration:underline}
footer ul{display:flex;align-items:center;justify-content:center;gap:10px 30px;flex-wrap:wrap;padding:0 0 10px;list-style:none;margin:0}
footer ul li a{color:#fff;font-size:13px;font-weight:400;line-height:18px}
footer ul li a:hover{text-decoration:underline}

/* Mobile — reference exact */
@media only screen and (max-width:600px){
  #container,#nav,footer,#lang-bar,.top-bar{padding-left:10px;padding-right:10px;box-sizing:border-box}
  #nav{margin:0 auto 15px}
  .main_logo{margin-bottom:10px}
  #text p,#text p a{text-align:justify;padding:0 0 10px}
  #lang-bar{padding-top:8px}
  .top-bar{padding-top:12px}
}
@media only screen and (max-width:450px){
  #text h1,#text h2{font-size:18px;padding:20px 0 15px}
  #text h3{font-size:16px;padding:10px 0}
  .main_logo{padding:15px 0 25px}
  footer{margin:25px 0 15px}
  #nav ul,footer ul{gap:5px 20px}
  footer p{padding-bottom:10px}
  .convert-btn{padding:8px 16px;font-size:.9rem}
}


/* force white content links (match body text, stay clickable) */
#text a,#text a:link,#text a:visited,#text a:active,#text a:hover,
#text p a,#text li a,#text ol li a,#text ul li a,#text h1 a,#text h2 a,#text h3 a{
  color:#fff!important;
  text-decoration:underline;
}
