/*
Theme Name: CheepWebb Exact
Theme URI: https://cheepwebb.com/
Author: Bonet Enterprises / OpenAI
Description: Exact-match CheepWebb WordPress theme based on the approved vibrant homepage design.
Version: 1.1.0
Text Domain: cheepwebb-exact
*/

:root{
  --cw-blue:#087bf5;
  --cw-blue-dark:#0053b7;
  --cw-navy:#0b2d59;
  --cw-navy-deep:#071d35;
  --cw-sky:#eaf7ff;
  --cw-yellow:#ffd817;
  --cw-pink:#f71b8f;
  --cw-green:#00c96f;
  --cw-text:#12335c;
  --cw-muted:#57708e;
  --cw-border:#cfe6f8;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Arial,Helvetica,sans-serif;color:var(--cw-text);background:#fff;line-height:1.42;-webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
button,input,textarea,select{font:inherit}
.cw-container{width:min(1180px,calc(100% - 104px));margin:0 auto}

/* exact top strip */
.cw-topbar{height:36px;background:linear-gradient(90deg,#0875d8 0%,#0059b8 46%,#034696 100%);color:#fff;font-size:12px;font-weight:600}
.cw-topbar .cw-container{height:36px;display:flex;align-items:center;justify-content:space-between;gap:20px}
.cw-top-left,.cw-top-right{display:flex;align-items:center;gap:10px;white-space:nowrap}
.cw-topbar a:hover{text-decoration:underline}
.cw-divider{opacity:.8}
.cw-mini-symbol{font-size:12px}
.cw-search{display:flex;align-items:center;width:166px;height:24px;margin-left:10px;background:#f3f7fa;border:1px solid #bed6e9;border-radius:999px;overflow:hidden}
.cw-search input{min-width:0;width:100%;height:100%;border:0;background:transparent;outline:0;padding:3px 9px;color:#294b70;font-size:11px}
.cw-search button{width:27px;height:100%;display:grid;place-items:center;border:0;background:transparent;padding:0 6px;color:#075fb5;cursor:pointer}
.cw-search button svg{width:14px;height:14px;fill:none;stroke:currentColor;stroke-width:2.4;stroke-linecap:round}

/* exact white header */
.cw-header{height:78px;background:#fff;border-bottom:1px solid #d5e9f6;position:relative;z-index:20}
.cw-header-main{height:78px;display:grid;grid-template-columns:222px 1fr;gap:22px;align-items:center}
.cw-logo{align-self:center}
.cw-logo img{width:205px;height:auto;max-height:48px;object-fit:contain;object-position:left center}
.cw-navwrap{min-width:0;align-self:center}
.cw-nav{display:grid;gap:3px}
.cw-menu{list-style:none;margin:0;padding:0;display:flex;align-items:center;justify-content:flex-start;gap:4px;white-space:nowrap}
.cw-menu li{margin:0;padding:0}
.cw-menu a{display:block;padding:7px 9px;border-radius:4px;color:#102f55;font-size:11.5px;font-weight:700;line-height:1.1}
.cw-menu a:hover{background:#edf6ff;color:#087bf5}
.cw-menu .current-menu-item>a{background:var(--cw-blue);color:#fff;box-shadow:0 3px 8px rgba(8,123,245,.24)}
.cw-menu-first{padding-bottom:1px}
.cw-menu-second{padding-left:0}
.cw-chevron{font-size:11px;margin-left:1px}
.cw-mobile-toggle{display:none;border:0;background:var(--cw-blue);color:#fff;border-radius:6px;padding:9px 12px;font-weight:800}

/* hero */
.cw-hero{position:relative;overflow:hidden;height:368px;background:
  radial-gradient(circle at 71% 28%,rgba(7,185,249,.92) 0 14%,transparent 42%),
  linear-gradient(113deg,#eaf8ff 0%,#f5fbff 47%,#17b8f1 47.3%,#1189e8 67%,#16d685 79%,#ffdf23 90%,#ff9100 100%);
  border-bottom:0}
.cw-hero:before{content:"";position:absolute;left:-7%;right:-8%;bottom:-95px;height:210px;background:rgba(255,255,255,.73);border-radius:50% 48% 0 0/30% 31% 0 0;transform:rotate(-2.5deg);z-index:1}
.cw-hero .cw-container{height:368px;position:relative;z-index:2;display:grid;grid-template-columns:43% 57%;align-items:stretch}
.cw-hero-copy{padding:35px 0 24px;align-self:start}
.cw-hero h1{font-size:39px;line-height:1.06;margin:0 0 11px;color:#17395f;letter-spacing:-1.8px;font-weight:800}
.cw-hero h1 strong{display:block;color:var(--cw-blue);font-weight:900}
.cw-hero-sub{font-size:14.5px;line-height:1.42;margin:0 0 15px;color:#365e87;max-width:390px}
.cw-checks{list-style:none;margin:0 0 17px;padding:0;display:grid;gap:5px;font-size:13px;color:#294e76}
.cw-checks li{display:flex;align-items:center}
.cw-checks li:before{content:"✓";display:inline-grid;place-items:center;width:18px;height:18px;margin-right:9px;border-radius:50%;background:var(--cw-blue);color:#fff;font-weight:900;font-size:11px;flex:0 0 auto}
.cw-actions{display:flex;gap:12px;flex-wrap:wrap}
.cw-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:11px 17px;border-radius:5px;font-weight:800;border:2px solid transparent;transition:.16s ease;cursor:pointer;font-size:12.5px}
.cw-btn:hover{transform:translateY(-1px);box-shadow:0 7px 18px rgba(15,75,130,.13)}
.cw-btn-yellow{background:var(--cw-yellow);color:#142d4b}
.cw-btn-outline{background:#fff;color:var(--cw-blue);border-color:#7bbff2}
.cw-btn-blue{background:var(--cw-blue);color:#fff}
.cw-hero-art{height:368px;display:flex;align-items:stretch;justify-content:flex-end;min-width:0;overflow:hidden}
.cw-hero-art img{width:100%;height:100%;max-width:none;object-fit:cover;object-position:50% 50%}

/* colorful stage behind the four service cards */
.cw-services-stage{position:relative;overflow:hidden;background:
  radial-gradient(ellipse at 15% 8%,rgba(0,158,246,.82) 0 18%,transparent 46%),
  radial-gradient(ellipse at 87% 20%,rgba(255,220,42,.82) 0 15%,transparent 42%),
  linear-gradient(105deg,#18a8ea 0%,#eaf8ff 35%,#ffffff 53%,#fff9d9 76%,#c8ff98 100%);padding:0 0 12px}
.cw-services-stage:before{content:"";position:absolute;left:-8%;right:-8%;top:-56px;height:150px;background:rgba(255,255,255,.48);border-radius:48% 52% 42% 50%;transform:rotate(2deg)}
.cw-card-grid{position:relative;z-index:2;width:min(956px,calc(100% - 70px));margin:-2px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0}
.cw-service-card{background:#fff;border:1px solid rgba(255,255,255,.94);border-radius:4px;overflow:hidden;box-shadow:0 7px 20px rgba(15,78,134,.12);text-align:center;display:flex;flex-direction:column;height:264px}
.cw-service-card .thumb{height:113px;overflow:hidden;background:#eef7ff;flex:0 0 auto}
.cw-service-card .thumb img{width:100%;height:100%;object-fit:cover}
.cw-service-card .content{padding:11px 15px 14px;display:flex;flex:1;flex-direction:column;align-items:center}
.cw-service-card h3{font-size:17px;line-height:1.06;margin:1px 0 7px;color:#082d5a;letter-spacing:-.25px}
.cw-service-card p{font-size:12px;margin:0 0 9px;line-height:1.28;color:#274a6d}
.cw-service-card .cw-btn{margin-top:auto;padding:8px 16px;font-size:11.5px;color:#fff;min-width:118px}
.cw-service-card:nth-child(1){background:linear-gradient(#fff 66%,#edf8ff)}
.cw-service-card:nth-child(1) .cw-btn{background:#087bf5}
.cw-service-card:nth-child(2){background:linear-gradient(#fff 66%,#fff7cb)}
.cw-service-card:nth-child(2) .cw-btn{background:var(--cw-yellow);color:#14375f}
.cw-service-card:nth-child(3){background:linear-gradient(#fff 66%,#ffe4f4)}
.cw-service-card:nth-child(3) .cw-btn{background:var(--cw-pink)}
.cw-service-card:nth-child(4){background:linear-gradient(#fff 66%,#e4fff1)}
.cw-service-card:nth-child(4) .cw-btn{background:var(--cw-green)}

/* quick services */
.cw-quick{height:116px;background:linear-gradient(180deg,#fff,#fbfdff);border-top:1px solid #d6e9f7;border-bottom:1px solid #dcebf6}
.cw-quick-grid{height:116px;display:grid;grid-template-columns:repeat(4,1fr);gap:0;align-items:center}
.cw-quick-item{min-width:0;display:grid;grid-template-columns:52px 1fr;gap:9px;align-items:center;padding:0 18px;border-right:1px solid #d9e7f1}
.cw-quick-item:first-child{padding-left:10px}
.cw-quick-item:last-child{border-right:0;padding-right:0}
.cw-icon{width:46px;height:46px;display:grid;place-items:center;color:var(--cw-blue)}
.cw-icon svg{width:44px;height:44px;fill:currentColor;display:block}
.cw-quick-item h4{margin:0 0 5px;font-size:13px;line-height:1.15;color:#082d5a}
.cw-quick-item p{margin:0;font-size:10.6px;color:#5a7190;line-height:1.42}

/* about */
.cw-about{height:247px;background:linear-gradient(105deg,#f7fcff 0%,#e5f5ff 63%,#ffffff 100%);overflow:hidden}
.cw-about .cw-container{height:247px;display:grid;grid-template-columns:60% 40%;align-items:end}
.cw-about-copy{padding:30px 0 27px;align-self:center}
.cw-about h2,.cw-portfolio h2{font-size:27px;margin:0 0 9px;color:#15395f;letter-spacing:-.8px;line-height:1.05}
.cw-about h2 span,.cw-portfolio h2 span{color:var(--cw-blue)}
.cw-about p{font-size:12.1px;max-width:600px;line-height:1.45;margin:0 0 15px;color:#2a4b6f}
.cw-about-art{height:247px;align-self:stretch;display:flex;align-items:flex-end;justify-content:flex-end}
.cw-about-art img{max-height:245px;width:100%;object-fit:contain;object-position:right bottom}

/* portfolio */
.cw-portfolio{height:205px;background:#fff;padding:18px 0 16px}
.cw-section-head{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:11px}
.cw-section-head a{font-size:10.5px;color:#597b9e}
.cw-port-wrap{position:relative}
.cw-port-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;overflow:hidden}
.cw-port-item{border:1px solid #bfd5e5;background:#fff;box-shadow:0 4px 13px rgba(8,59,102,.09);min-width:0}
.cw-port-item img{width:100%;height:112px;object-fit:cover}
.cw-port-arrow{position:absolute;top:50%;transform:translateY(-50%);width:28px;height:28px;border-radius:50%;border:0;background:#9fc9e8;color:white;display:grid;place-items:center;z-index:3;cursor:pointer;font-size:20px;padding:0}
.cw-port-arrow.prev{left:-30px}.cw-port-arrow.next{right:-30px}

/* CTA */
.cw-cta{height:130px;background:linear-gradient(90deg,#0870df,#0759c0 54%,#00449e);color:#fff}
.cw-cta .cw-container{height:130px;display:grid;grid-template-columns:180px 1fr auto;align-items:center;gap:20px}
.cw-cta-badge{align-self:stretch;display:flex;align-items:flex-end}
.cw-cta-badge img{width:125px;margin-bottom:-2px}
.cw-cta h3{font-size:23px;line-height:1.05;margin:0 0 5px;color:#fff}
.cw-cta p{margin:0;color:#e6f4ff;font-size:11.5px}
.cw-cta .cw-btn{background:var(--cw-yellow);color:#12335c;border-radius:28px;padding:13px 22px;font-size:11px;white-space:nowrap}

/* exact dark footer */
.cw-footer{height:94px;background:#071d35;color:#d9e8f4}
.cw-footer .cw-container{height:94px;padding:15px 0 12px;display:grid;grid-template-columns:170px 1fr auto;grid-template-rows:auto auto;gap:7px 20px;align-items:center}
.cw-footer-brand{grid-row:1/3;align-self:center;border-right:1px solid rgba(255,255,255,.11);padding-right:18px}
.cw-footer-brand img{width:150px;height:auto;object-fit:contain;object-position:left center}
.cw-footer-links{align-self:end;font-size:9.5px;color:#d6e1eb;line-height:1.7}
.cw-footer-row{display:flex;gap:7px;align-items:center;flex-wrap:nowrap;white-space:nowrap}
.cw-footer-row span{color:#60788f}
.cw-footer-links a:hover{text-decoration:underline}
.cw-socials{display:flex;gap:7px;justify-content:flex-end;align-self:end}
.cw-social{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:900;font-size:11px;background:#0b79dd}
.cw-social.tw{background:#16a5ee;font-size:8px}.cw-social.ig{background:#f02a8b}.cw-social.yt{background:#ff1f35;font-size:9px}.cw-social.in{background:#1482c9;font-size:9px}
.cw-copyright{grid-column:2/4;text-align:right;align-self:start;font-size:8.8px;color:#91abc1}

/* generic pages */
.cw-page-hero{background:linear-gradient(115deg,#edf9ff,#d8f1ff 68%,#bfe9ff);padding:55px 0 45px;border-bottom:1px solid #c7e4f3}
.cw-page-hero h1{font-size:42px;line-height:1.05;margin:0 0 8px;color:#15395f}
.cw-page-hero p{max-width:780px;margin:0;color:#547191}
.cw-page{padding:44px 0 60px}.cw-page-content{font-size:16px;color:#2c4f70}.cw-page-content h2,.cw-page-content h3{color:#0d3a67}.cw-page-content a{color:var(--cw-blue);text-decoration:underline}
.cw-page-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:28px}.cw-page-card{border:1px solid #cfe3f0;border-radius:10px;padding:22px;background:#fff;box-shadow:0 14px 36px rgba(20,72,120,.14)}.cw-page-card h3{margin-top:0}
.cw-contact-form{display:grid;gap:13px;max-width:760px}.cw-contact-form input,.cw-contact-form textarea,.cw-contact-form select{width:100%;border:1px solid #bdd8e9;border-radius:7px;padding:12px 13px;outline:0;background:#fff}.cw-contact-form input:focus,.cw-contact-form textarea:focus{border-color:var(--cw-blue);box-shadow:0 0 0 3px rgba(8,123,245,.1)}
.cw-notice{padding:12px 14px;border-radius:6px;background:#ecfff3;border:1px solid #b7e8c9;color:#17663a;margin:0 0 18px}.cw-notice.error{background:#fff0f0;border-color:#efc2c2;color:#8a2525}
.woocommerce .button,.woocommerce button.button,.woocommerce input.button,.woocommerce a.button{background:var(--cw-blue)!important;color:#fff!important;border-radius:5px!important}.woocommerce span.onsale{background:var(--cw-pink)!important}

@media (max-width:980px){
  .cw-container{width:calc(100% - 70px)}
  .cw-topbar{height:34px}.cw-topbar .cw-container{height:34px}
  .cw-topbar{font-size:10px}.cw-search{width:145px}
  .cw-header{height:auto;min-height:74px}.cw-header-main{height:auto;min-height:74px;grid-template-columns:190px 1fr;gap:14px;padding:6px 0}.cw-logo img{width:185px}
  .cw-menu a{font-size:10px;padding:6px 7px}
  .cw-hero h1{font-size:34px}.cw-hero-sub{font-size:13px}.cw-checks{font-size:11.5px}
  .cw-card-grid{width:calc(100% - 70px)}
  .cw-service-card h3{font-size:15px}.cw-service-card p{font-size:10.5px}
  .cw-quick-item{grid-template-columns:44px 1fr;padding:0 10px}.cw-icon svg{width:38px;height:38px}.cw-quick-item p{font-size:9.5px}
  .cw-about p{font-size:11px}.cw-cta .cw-container{grid-template-columns:135px 1fr auto}.cw-cta-badge img{width:108px}.cw-cta h3{font-size:19px}.cw-cta .cw-btn{font-size:10px;padding:11px 16px}
  .cw-footer .cw-container{grid-template-columns:150px 1fr auto;gap:6px 12px}.cw-footer-brand img{width:132px}.cw-footer-links{font-size:8px}.cw-footer-row{gap:5px}.cw-copyright{font-size:7.8px}
}

@media (max-width:760px){
  .cw-container,.cw-card-grid{width:calc(100% - 28px)}
  .cw-topbar{height:auto}.cw-topbar .cw-container{height:auto;min-height:34px;padding:6px 0}.cw-top-right{display:none}
  .cw-header{min-height:62px}.cw-header-main{min-height:62px;display:flex;align-items:center;justify-content:space-between;padding:7px 0}.cw-logo img{width:180px}.cw-mobile-toggle{display:block}
  .cw-navwrap{display:none;position:absolute;left:0;right:0;top:100%;background:#fff;padding:12px 14px 15px;box-shadow:0 12px 25px rgba(20,60,90,.16)}.cw-navwrap.open{display:block}.cw-menu{flex-wrap:wrap;white-space:normal}.cw-menu a{font-size:12px}
  .cw-hero{height:auto;min-height:650px}.cw-hero .cw-container{height:auto;display:grid;grid-template-columns:1fr}.cw-hero-copy{padding:28px 0 12px}.cw-hero h1{font-size:34px}.cw-hero-art{height:300px}.cw-hero-art img{object-position:62% center}
  .cw-services-stage{padding:14px 0}.cw-card-grid{grid-template-columns:1fr 1fr;gap:10px;margin:0 auto}.cw-service-card{height:auto;min-height:260px}.cw-service-card .thumb{height:125px}
  .cw-quick{height:auto}.cw-quick-grid{height:auto;grid-template-columns:1fr 1fr;padding:20px 0;row-gap:22px}.cw-quick-item{border-right:0;padding:0 12px}.cw-quick-item:first-child{padding-left:12px}
  .cw-about{height:auto}.cw-about .cw-container{height:auto;grid-template-columns:1fr}.cw-about-copy{padding:28px 0 8px}.cw-about-art{height:235px}.cw-about-art img{object-position:center bottom}
  .cw-portfolio{height:auto;padding:20px 0}.cw-port-grid{grid-template-columns:repeat(4,78vw);overflow:auto}.cw-port-item img{height:auto;aspect-ratio:1.58/1}.cw-port-arrow{display:none}
  .cw-cta{height:auto}.cw-cta .cw-container{height:auto;grid-template-columns:90px 1fr;padding:16px 0;gap:12px}.cw-cta-badge img{width:90px}.cw-cta .cw-btn{grid-column:1/3;justify-self:stretch}
  .cw-footer{height:auto}.cw-footer .cw-container{height:auto;padding:20px 0;grid-template-columns:1fr}.cw-footer-brand{grid-row:auto;border-right:0;padding-right:0}.cw-footer-links,.cw-socials,.cw-copyright{grid-column:1}.cw-footer-row{flex-wrap:wrap;white-space:normal}.cw-socials{justify-content:flex-start}.cw-copyright{text-align:left}
  .cw-page-grid{grid-template-columns:1fr}
}
