/*
Theme Name: Free Tools Pro
Theme URI: https://tool100plus.com/
Author: OpenAI
Description: A clean, professional WordPress theme for a small free-tools site with a lightly animated hero, dynamic Tools/Posts cards, and minimal footer links.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: free-tools-pro
*/
:root{
  --green:#1687a7;
  --green2:#48c6a8;
  --dark:#10252b;
  --muted:#66777d;
  --bg:#f4fbfc;
  --card:#fff;
  --border:#e1eef0;
  --shadow:0 12px 35px rgba(30,100,115,.10);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--dark);background:#fff;line-height:1.65}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border-bottom:1px solid rgba(229,239,235,.9)}
.header-inner{max-width:1180px;margin:auto;padding:14px 20px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.site-brand{font-weight:800;font-size:22px;color:var(--green);letter-spacing:-.5px}
.main-nav{display:flex;gap:24px;font-weight:600;font-size:14px}
.main-nav a:hover{color:var(--green)}
.hero{position:relative;overflow:hidden;color:#fff;padding:72px 20px 84px;background:radial-gradient(circle at 18% 20%,rgba(255,255,255,.22),transparent 28%),radial-gradient(circle at 82% 75%,rgba(104,238,204,.25),transparent 30%),linear-gradient(135deg,#0d718e 0%,#159f9b 48%,#42c6a3 100%);box-shadow:inset 0 -1px rgba(255,255,255,.25)}
.hero:before,.hero:after{content:"";position:absolute;border-radius:42%;filter:blur(1px);opacity:.26;animation:float 10s ease-in-out infinite}
.hero:before{width:330px;height:330px;background:linear-gradient(145deg,#fff,transparent);right:-110px;top:-150px;transform:rotate(25deg)}
.hero:after{width:260px;height:260px;background:#d9fff4;left:-130px;bottom:-150px;animation-delay:-3s}
.hero-inner{position:relative;z-index:2;max-width:920px;margin:auto;text-align:center}
.hero h1{margin:0 0 12px;font-size:clamp(34px,5.5vw,62px);line-height:1.05;letter-spacing:-2px;text-shadow:0 4px 18px rgba(0,44,60,.18);animation:rise .8s ease both}
.hero h1 .typing-word{display:inline-block;min-width:4.8ch;color:#eafff8;border-right:3px solid rgba(255,255,255,.9);padding-right:7px;animation:caret .8s step-end infinite}
.hero p{margin:0 auto 30px;max-width:650px;font-size:18px;opacity:.96;animation:rise .9s .08s ease both}
.search-form{max-width:670px;margin:auto;display:flex;background:rgba(255,255,255,.97);padding:7px;border-radius:18px;box-shadow:0 22px 55px rgba(0,46,61,.22),0 3px 0 rgba(255,255,255,.45) inset;animation:rise 1s .16s ease both;transform:perspective(900px) rotateX(1.5deg)}
.search-form input{flex:1;border:0;outline:0;padding:14px 18px;border-radius:13px;font-size:15px;min-width:0;color:#19343c}
.search-form button{border:0;background:#116f88;color:#fff;padding:0 24px;border-radius:13px;font-weight:750;cursor:pointer;box-shadow:0 6px 14px rgba(17,111,136,.25)}
.search-form button:hover{background:#0c5e73}
.section{max-width:1180px;margin:auto;padding:54px 20px}
.section-head{text-align:center;margin-bottom:26px}
.section-head h2{font-size:34px;margin:0 0 7px;letter-spacing:-1px}
.section-head p{margin:0;color:var(--muted)}
.grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.card{background:var(--card);border:1px solid var(--border);border-radius:20px;padding:24px;box-shadow:var(--shadow);transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.card:hover{transform:translateY(-7px) perspective(700px) rotateX(1deg);box-shadow:0 22px 52px rgba(30,100,115,.16);border-color:#b9dfe5}
.card-icon{width:46px;height:46px;border-radius:14px;background:linear-gradient(145deg,#e6f8f7,#d7f1f6);color:#137e9d;box-shadow:0 5px 12px rgba(24,120,140,.10);display:grid;place-items:center;font-size:22px;margin-bottom:15px}
.card h3{margin:0 0 7px;font-size:19px}
.card p{margin:0 0 18px;color:var(--muted);font-size:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;background:#1687a7;color:#fff;border-radius:12px;padding:10px 18px;font-weight:700;font-size:14px;transition:all .2s;box-shadow:0 6px 14px rgba(22,135,167,.16)}
 .btn:hover{background:#0f718e;color:#fff;transform:translateY(-1px)}
.empty{padding:35px;text-align:center;border:1px dashed #cfe3dc;border-radius:18px;color:var(--muted)}
.single-wrap{max-width:900px;margin:auto;padding:55px 20px}
.single-title{font-size:clamp(34px,5vw,54px);line-height:1.1;letter-spacing:-1.5px;margin:0 0 12px}
.meta{color:var(--muted);font-size:14px;margin-bottom:28px}
.content{font-size:17px}
.content h2{font-size:30px;margin-top:42px}
.content h3{font-size:23px;margin-top:32px}
.tool-box{background:#f2fbf8;border:1px solid #cfeee3;border-radius:20px;padding:24px;margin:0 0 35px}
.tool-box-title{font-weight:800;color:#087f60;margin-bottom:10px}
.site-footer{position:relative;overflow:hidden;background:linear-gradient(180deg,#f2fbfc 0%,#eaf7f5 100%);color:#4d676e;margin-top:40px;border-top:1px solid #dceced}
.site-footer:before{content:"";position:absolute;left:-80px;right:-80px;top:-45px;height:90px;background:radial-gradient(ellipse at center,rgba(72,198,168,.18),transparent 65%)}
.footer-inner{position:relative;z-index:1;max-width:1180px;margin:auto;padding:34px 20px;display:flex;justify-content:center;gap:28px;flex-wrap:wrap;font-size:14px}
.footer-inner a:hover{color:#137e9d}

@keyframes rise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@keyframes float{0%,100%{transform:translate3d(0,0,0) rotate(25deg)}50%{transform:translate3d(30px,20px,0) rotate(38deg)}}
@keyframes caret{50%{border-color:transparent}}
@keyframes float{0%,100%{transform:translate3d(0,0,0)}50%{transform:translate3d(25px,18px,0)}}
@media(max-width:800px){.grid{grid-template-columns:repeat(2,minmax(0,1fr))}.main-nav{gap:14px}}
@media(max-width:560px){.header-inner{padding:12px 15px}.site-brand{font-size:19px}.main-nav{font-size:13px;gap:12px}.hero{padding:58px 15px 65px}.hero p{font-size:16px}.search-form button{padding:0 17px}.grid{grid-template-columns:1fr}.section{padding:42px 15px}.single-wrap{padding:40px 15px}}
@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}


/* V3: faster animated hero background */
.hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
  background:
    radial-gradient(circle at 12% 25%, rgba(255,255,255,.42) 0 4px, transparent 5px),
    radial-gradient(circle at 85% 20%, rgba(255,255,255,.30) 0 3px, transparent 4px),
    linear-gradient(120deg, #dff5ff 0%, #b9e9ff 35%, #b9f6ed 70%, #e7fbff 100%);
  background-size: 220px 220px, 300px 300px, 200% 200%;
  animation: ftpHeroGradient 8s ease-in-out infinite alternate;
}

.hero::before,
.hero::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  pointer-events: none;
  z-index: -1;
}

.hero::before {
  width: 420px;
  height: 420px;
  left: -150px;
  top: -210px;
  background: radial-gradient(circle, rgba(35,146,255,.24), rgba(35,146,255,0) 68%);
  animation: ftpOrbOne 5.5s ease-in-out infinite alternate;
}

.hero::after {
  width: 520px;
  height: 520px;
  right: -190px;
  bottom: -300px;
  background: radial-gradient(circle, rgba(0,207,174,.25), rgba(0,207,174,0) 68%);
  animation: ftpOrbTwo 6.5s ease-in-out infinite alternate;
}

.hero .floating-shape {
  animation-duration: 4.5s !important;
  animation-timing-function: ease-in-out !important;
}

@keyframes ftpHeroGradient {
  0% { background-position: 0% 50%; }
  100% { background-position: 100% 50%; }
}
@keyframes ftpOrbOne {
  0% { transform: translate3d(0,0,0) scale(.92); }
  100% { transform: translate3d(55px,35px,0) scale(1.08); }
}
@keyframes ftpOrbTwo {
  0% { transform: translate3d(0,0,0) scale(1); }
  100% { transform: translate3d(-55px,-40px,0) scale(.90); }
}

/* Faster type/delete/retype cursor */
.typing-word {
  display: inline-block;
  min-width: 9ch;
  border-right: 4px solid currentColor;
  padding-right: 7px;
  animation: ftpCursor .55s steps(1) infinite;
}
@keyframes ftpCursor {
  50% { border-color: transparent; }
}

@media (prefers-reduced-motion: reduce) {
  .hero,
  .hero::before,
  .hero::after,
  .hero .floating-shape,
  .typing-word {
    animation: none !important;
  }
}

/* V4 readability + colorful tools area */
.hero h1, .hero .hero-title, .hero h2 {
  color:#062b55 !important;
  text-shadow:0 2px 0 rgba(255,255,255,.85),0 6px 18px rgba(4,55,100,.18);
}
.hero .typing-word {
  color:#0756b8 !important;
  -webkit-text-fill-color:#0756b8;
  text-shadow:0 2px 0 rgba(255,255,255,.9),0 5px 14px rgba(0,70,150,.16);
  border-right-color:#0756b8 !important;
}
.hero p {
  color:#173b5e !important;
  text-shadow:0 1px 0 rgba(255,255,255,.75);
}
.tools-section, .home-tools, .tools-grid-section, .latest-tools, .tool-list-section {
  position:relative;
  background:
    radial-gradient(circle at 8% 20%,rgba(65,164,255,.12),transparent 28%),
    radial-gradient(circle at 92% 70%,rgba(0,205,171,.13),transparent 30%),
    linear-gradient(180deg,#f7fcff 0%,#eefaff 48%,#f5fffc 100%);
  border-radius:28px;
}
.tool-card, .tools-grid .tool-card, .tool-item {
  background:linear-gradient(145deg,rgba(255,255,255,.99),rgba(239,250,255,.97)) !important;
  border:1px solid rgba(52,153,220,.16) !important;
  box-shadow:0 12px 30px rgba(31,103,158,.10),0 2px 8px rgba(31,103,158,.06) !important;
}
.tool-card:hover, .tools-grid .tool-card:hover, .tool-item:hover {
  box-shadow:0 18px 38px rgba(31,103,158,.16),0 4px 12px rgba(31,103,158,.08) !important;
}
.site-main {
  background:linear-gradient(180deg,#fff 0%,#f5fbff 55%,#f3fffc 100%);
}
