/*
Theme Name: TShirtPrintLondon
Theme URI: https://tshirtprintlondon.com
Author: TShirtPrintLondon
Description: Custom WordPress theme for TShirtPrintLondon printing business site.
Version: 1.0
Text Domain: tshirtprintlondon
*/

:root{
  /* Deep Teal Silk (light theme) */
  --teal-deep:#0B3037;
  --teal:#134E5E;
  --gold:#D4AF37;
  --cream:#F7F3E9;

  --primary:#134E5E;
  --accent:#D4AF37;
  --dark:#0B3037;
  --gray:#4C7178;
  --light-bg:#EEF2F1;
  --ink:#0B3037;
  --card-bg:#E3E9E8;
  --card-border:rgba(11,48,55,.12);
}
*{margin:0;padding:0;box-sizing:border-box;font-family:'Inter',Arial,sans-serif;}
body{background:#EEF2F1;color:var(--dark);scroll-behavior:smooth;-webkit-font-smoothing:antialiased;}
a{text-decoration:none;color:inherit;}
img{max-width:100%;display:block;}
.container{max-width:1320px;margin:0 auto;padding:0 32px;}
h1,h2,h3,.logo{font-family:'Playfair Display',Georgia,serif;}

/* Scroll-reveal animation */
.reveal{opacity:0;transform:translateY(28px);transition:opacity .7s cubic-bezier(.16,1,.3,1),transform .7s cubic-bezier(.16,1,.3,1);}
.reveal.in-view{opacity:1;transform:translateY(0);}
.reveal-delay-1.in-view{transition-delay:.1s;}
.reveal-delay-2.in-view{transition-delay:.2s;}
.reveal-delay-3.in-view{transition-delay:.3s;}

/* Top bar */
.topbar{background:var(--ink);color:#fff;font-size:13px;}
.topbar .container{display:flex;justify-content:space-between;align-items:center;height:36px;}
.topbar .social a{margin-left:12px;opacity:.8;}

/* Header */
header.main{padding:18px 0;border-bottom:1px solid #eee;}
header.main .container{display:flex;align-items:center;justify-content:space-between;gap:24px;}
.logo{font-size:26px;font-weight:800;color:var(--accent);}
.logo span{color:var(--accent);}
nav ul{display:flex;list-style:none;gap:28px;font-weight:600;font-size:15px;}
.header-actions{display:flex;align-items:center;gap:18px;}
.btn{padding:14px 28px;border-radius:8px;font-weight:700;font-size:14px;display:inline-block;transition:transform .25s ease,box-shadow .25s ease,background .25s ease;position:relative;}
.btn:hover{transform:translateY(-3px);}
.btn-primary{background:var(--ink);color:#fff;}
.btn-primary:hover{box-shadow:0 10px 24px rgba(13,27,42,.3);}
.btn-accent{background:var(--accent);color:var(--dark);}
.btn-accent:hover{box-shadow:0 10px 26px rgba(212,175,55,.4);}

/* Hero */
@keyframes heroFadeUp{from{opacity:0;transform:translateY(30px);}to{opacity:1;transform:translateY(0);}}
.hero{position:relative;background:radial-gradient(circle at 15% 20%,rgba(212,175,55,.08),transparent 40%),radial-gradient(circle at 85% 80%,rgba(27,38,59,.06),transparent 45%),var(--light-bg);padding:70px 0;overflow:hidden;}
.hero-watermark{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:'Playfair Display',Georgia,serif;font-size:clamp(80px,18vw,260px);font-weight:800;color:var(--dark);opacity:.045;white-space:nowrap;letter-spacing:6px;pointer-events:none;z-index:0;user-select:none;}
.hero .container{position:relative;z-index:1;}
.hero .container{display:grid;grid-template-columns:1fr 1.2fr 1fr;align-items:center;gap:20px;}
.hero h1{font-size:50px;line-height:1.15;font-weight:800;margin-bottom:16px;animation:heroFadeUp .8s cubic-bezier(.16,1,.3,1) both;}
.hero p{color:var(--gray);margin-bottom:24px;max-width:420px;animation:heroFadeUp .8s cubic-bezier(.16,1,.3,1) .12s both;}
.hero-buttons{animation:heroFadeUp .8s cubic-bezier(.16,1,.3,1) .24s both;}

/* Marquee strips */
@keyframes marqueeScroll{from{transform:translateX(0);}to{transform:translateX(-50%);}}
.marquee-strip{overflow:hidden;background:var(--light-bg);padding:26px 0;border-top:1px solid rgba(0,0,0,.05);border-bottom:1px solid rgba(0,0,0,.05);}
.marquee-strip .section-title{margin-bottom:24px;}
.marquee-track{display:flex;align-items:center;gap:16px;width:max-content;white-space:nowrap;animation:marqueeScroll 30s linear infinite;font-weight:700;font-size:16px;color:var(--accent);}
.marquee-track.reverse{animation-direction:reverse;}
.marquee-strip:hover .marquee-track{animation-play-state:paused;}
.marquee-track .dot{color:var(--accent);font-weight:400;}

.testimonials-marquee{background:transparent;border:none;padding:20px 0 10px;}
.testimonial-track{gap:24px;animation-duration:260s;align-items:stretch;}
.testimonial-track .testimonial-card{flex-shrink:0;width:320px;white-space:normal;}

/* Order types strip */
.order-types{padding:40px 0;}
.order-types-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;}
.order-type-badge{text-align:center;background:var(--light-bg);border-radius:12px;padding:24px 16px;transition:transform .3s ease,box-shadow .3s ease;}
.order-type-badge:hover{transform:translateY(-4px);box-shadow:0 12px 26px rgba(13,27,42,.08);}
.order-type-badge strong{display:block;font-size:32px;font-weight:800;color:var(--accent);font-family:'Playfair Display',Georgia,serif;}
.order-type-badge span{color:var(--gray);font-size:13px;font-weight:600;}
.hero-img{border-radius:16px;overflow:hidden;box-shadow:0 20px 50px rgba(13,27,42,.15);transition:transform .4s ease,box-shadow .4s ease;animation:heroFadeUp .9s cubic-bezier(.16,1,.3,1) both;}
.hero-img:hover{transform:translateY(-6px);box-shadow:0 28px 60px rgba(13,27,42,.2);}
.hero-img img{height:420px;width:100%;object-fit:cover;}

/* Features row */
.features{padding:50px 0;}
.features .container{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;}
.feature-item{display:flex;gap:16px;align-items:flex-start;}
.feature-icon{width:52px;height:52px;border-radius:50%;background:var(--light-bg);display:flex;align-items:center;justify-content:center;flex-shrink:0;color:var(--accent);transition:transform .35s cubic-bezier(.16,1,.3,1),background .3s ease,color .3s ease;}
.feature-icon svg{width:24px;height:24px;}
.feature-item:hover .feature-icon{background:var(--accent);color:#fff;transform:scale(1.1) rotate(-6deg);}
.feature-item h4{margin-bottom:6px;font-size:17px;}
.feature-item p{color:var(--gray);font-size:14px;}

/* Section heading */
.section-title{text-align:center;max-width:600px;margin:0 auto 40px;}
.section-title h2{font-size:32px;font-weight:800;margin-bottom:12px;}
.section-title p{color:var(--gray);}

/* Ideas cards */
.ideas{padding:60px 0;background:var(--light-bg);}
.ideas-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.idea-card{border-radius:12px;overflow:hidden;background:var(--card-bg);border:1px solid var(--card-border);box-shadow:0 10px 26px rgba(11,48,55,.1);}
.idea-card img{height:200px;width:100%;object-fit:cover;}
.idea-card .content{padding:18px;}
.idea-card h4{font-size:16px;margin-bottom:6px;}
.idea-card p{color:var(--gray);font-size:14px;}

/* Provide 100% section */
.provide{padding:70px 0;}
.provide .container{display:grid;grid-template-columns:1fr 1fr;gap:50px;align-items:center;}
.provide-img img{border-radius:20px;height:460px;object-fit:cover;}
.provide-content .tag{color:var(--accent);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:1px;}
.provide-content h2{font-size:34px;font-weight:800;margin:12px 0 16px;}
.provide-content p{color:var(--gray);margin-bottom:24px;}
.perk{display:flex;gap:14px;margin-bottom:18px;align-items:flex-start;}
.perk-icon{width:40px;height:40px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.perk h5{font-size:16px;margin-bottom:4px;}
.perk p{font-size:13px;color:var(--gray);}
.provide-cta{display:flex;align-items:center;gap:20px;margin-top:20px;}

/* Team / professional banner */
.banner{background:var(--primary);color:#fff;text-align:center;padding:60px 0;}
.banner h2{font-size:30px;font-weight:800;}

/* Latest design */
.latest{padding:70px 0;}
.latest-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;}
.latest-card{position:relative;border-radius:14px;overflow:hidden;color:#fff;min-height:260px;}
.latest-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0;}
.latest-card .overlay{position:absolute;inset:0;background:rgba(15,23,42,.55);z-index:1;}
.latest-card .text{position:relative;z-index:2;padding:30px;height:100%;display:flex;flex-direction:column;justify-content:flex-end;}
.latest-card .label{font-size:12px;font-weight:700;background:var(--primary);display:inline-block;padding:4px 10px;border-radius:4px;margin-bottom:10px;width:fit-content;}
.latest-card h3{font-size:24px;margin-bottom:14px;}

/* Footer */

.hero-buttons{display:flex;gap:14px;flex-wrap:wrap;}
.btn-outline{background:transparent;color:var(--primary);border:2px solid var(--primary);}
.btn-outline-light{background:transparent;color:#fff;border:2px solid #fff;}

.section{padding:100px 0;}
.section-cta{text-align:center;margin-top:36px;}

/* Trusted By */
.trusted-by{padding:36px 0;background:var(--light-bg);}
.trusted-label{text-align:center;color:var(--gray);font-weight:600;margin-bottom:20px;}
.trusted-logos{display:flex;justify-content:center;align-items:center;gap:30px;flex-wrap:wrap;}

/* Generic grids */
.grid-6{display:grid;grid-template-columns:repeat(3,1fr);gap:28px;}
.grid-4{display:grid;grid-template-columns:repeat(4,1fr);gap:28px;}
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:32px;}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:32px;}

/* Inner page hero (About / Contact / etc.) */
.page-hero{position:relative;background:var(--light-bg);padding:80px 0 60px;overflow:hidden;text-align:center;}
.page-hero .container{position:relative;z-index:1;}
.page-hero h1{font-size:44px;margin-bottom:14px;}
.page-hero p{color:var(--gray);max-width:560px;margin:0 auto;}
.breadcrumb{display:flex;justify-content:center;gap:8px;margin-bottom:18px;font-size:13px;color:var(--gray);font-weight:600;}
.breadcrumb a{color:var(--accent);}
.breadcrumb a:hover{color:var(--accent);}

/* Company story split */
.story-grid{display:grid;grid-template-columns:1fr 1fr;gap:60px;align-items:center;}
.story-img img{border-radius:16px;box-shadow:0 20px 50px rgba(11,48,55,.15);}
.story-content .tag{color:var(--accent);font-weight:700;font-size:13px;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px;display:block;}
.story-content h2{font-size:32px;margin-bottom:16px;}
.story-content p{color:var(--gray);margin-bottom:16px;line-height:1.7;}

/* Mission & Vision cards */
.mv-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:40px 32px;text-align:center;box-shadow:0 10px 26px rgba(11,48,55,.1);transition:transform .3s ease,box-shadow .3s ease;}
.mv-card:hover{transform:translateY(-6px);}
.mv-icon{font-size:36px;display:block;margin-bottom:16px;}
.mv-card h3{margin-bottom:12px;}
.mv-card p{color:var(--gray);line-height:1.7;}

/* Team cards */
.team-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;overflow:hidden;text-align:center;box-shadow:0 10px 26px rgba(11,48,55,.1);transition:transform .3s ease,box-shadow .3s ease;padding-bottom:20px;}
.team-card:hover{transform:translateY(-6px);}
.team-card img{height:220px;width:100%;object-fit:cover;margin-bottom:16px;}
.team-card h4{font-size:16px;margin-bottom:4px;}
.team-card span{color:var(--gray);font-size:13px;display:block;margin-bottom:12px;}
.team-social{display:flex;justify-content:center;gap:8px;}
.team-social a{width:32px;height:32px;border-radius:50%;background:var(--light-bg);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;transition:all .25s ease;}
.team-social a:hover{background:var(--accent);color:#fff;transform:translateY(-3px);}

/* Contact info cards */
.contact-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;}
.contact-info-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;padding:32px 24px;text-align:center;box-shadow:0 8px 22px rgba(11,48,55,.08);transition:transform .3s ease,box-shadow .3s ease;}
.contact-info-card:hover{transform:translateY(-6px);box-shadow:0 16px 32px rgba(11,48,55,.12);}
.contact-info-card .feature-icon{margin:0 auto 16px;}
.contact-info-card h4{font-size:15px;margin-bottom:6px;}
.contact-info-card p, .contact-info-card a{color:var(--gray);font-size:14px;}
.contact-info-card a:hover{color:var(--accent);}

/* Contact form + office info split */
.contact-split{display:grid;grid-template-columns:1.3fr 1fr;gap:40px;align-items:start;}
.office-info{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:40px 32px;box-shadow:0 10px 26px rgba(11,48,55,.1);}
.office-info h3{margin-bottom:24px;}
.office-info ul{list-style:none;display:flex;flex-direction:column;gap:18px;margin-bottom:24px;}
.office-info ul li{display:flex;gap:12px;align-items:flex-start;color:var(--gray);font-size:14px;}
.office-info ul li strong{color:var(--dark);display:block;font-size:13px;margin-bottom:2px;}
.office-info .social{display:flex;gap:8px;margin-bottom:20px;}
.office-info .social a{width:34px;height:34px;border-radius:50%;background:var(--light-bg);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;}
.qr-placeholder{width:110px;height:110px;border-radius:10px;margin:0 auto;}

@media(max-width:900px){
  .story-grid, .contact-split{grid-template-columns:1fr;}
  .grid-2, .contact-cards{grid-template-columns:1fr;}
}

/* FAQ search + categories */
.faq-search-box{max-width:600px;margin:0 auto 24px;display:flex;gap:10px;}
.faq-search-box input{flex:1;padding:16px 20px;border-radius:10px;border:1px solid var(--card-border);background:var(--card-bg);font-size:15px;color:var(--dark);}
.faq-search-box input::placeholder{color:var(--gray);}
.popular-searches{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:10px;}
.popular-searches span{font-size:12px;color:var(--gray);font-weight:600;align-self:center;}
.popular-searches button{background:var(--card-bg);border:1px solid var(--card-border);color:var(--accent);font-size:13px;font-weight:600;padding:6px 14px;border-radius:20px;cursor:pointer;transition:all .2s ease;}
.popular-searches button:hover{background:var(--accent);color:#fff;border-color:var(--accent);}

.faq-categories{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin:20px 0 40px;}
.faq-cat-btn{background:var(--card-bg);border:1px solid var(--card-border);color:var(--dark);font-size:14px;font-weight:600;padding:10px 20px;border-radius:24px;cursor:pointer;transition:all .2s ease;}
.faq-cat-btn:hover{border-color:var(--accent);}
.faq-cat-btn.active{background:var(--accent);color:#fff;border-color:var(--accent);}

.faq-item.faq-hidden{display:none;}
.faq-no-results{text-align:center;color:var(--gray);padding:30px 0;display:none;}
.faq-no-results.show{display:block;}

/* Color swatches */
.color-swatches{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;}
.color-swatch{text-align:center;}
.color-swatch .swatch{width:56px;height:56px;border-radius:50%;margin:0 auto 10px;border:1px solid var(--card-border);box-shadow:0 6px 16px rgba(11,48,55,.1);transition:transform .3s ease;}
.color-swatch:hover .swatch{transform:scale(1.15);}
.color-swatch span{font-size:12px;color:var(--gray);font-weight:600;}

/* Simple size table */
.size-table{width:100%;border-collapse:collapse;background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;overflow:hidden;box-shadow:0 8px 22px rgba(11,48,55,.08);}
.size-table th, .size-table td{padding:14px 18px;text-align:center;border-bottom:1px solid var(--card-border);font-size:14px;}
.size-table th{background:var(--light-bg);color:var(--dark);font-weight:700;}
.size-table td{color:var(--gray);}
.size-table tr:last-child td{border-bottom:none;}

/* Gallery filter buttons (reuse faq-cat-btn look) */
.gallery-filters{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:40px;}

/* Masonry grid */
.masonry-grid{column-count:4;column-gap:20px;}
.masonry-item{break-inside:avoid;margin-bottom:20px;border-radius:12px;overflow:hidden;position:relative;cursor:pointer;box-shadow:0 8px 22px rgba(11,48,55,.1);}
.masonry-item img{width:100%;display:block;transition:transform .5s ease;}
.masonry-item:hover img{transform:scale(1.08);}
.masonry-item .overlay{position:absolute;inset:0;background:rgba(11,48,55,.55);opacity:0;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:14px;transition:opacity .3s ease;}
.masonry-item:hover .overlay{opacity:1;}
.masonry-item.gallery-hidden, .masonry-item.load-more-hidden{display:none;}

.load-more-wrap{text-align:center;margin-top:36px;}

/* Lightbox */
.lightbox{position:fixed;inset:0;background:rgba(5,5,5,.92);z-index:3000;display:none;align-items:center;justify-content:center;padding:40px;}
.lightbox.open{display:flex;}
.lightbox img{max-width:90vw;max-height:85vh;border-radius:8px;box-shadow:0 20px 60px rgba(0,0,0,.5);}
.lightbox-close{position:absolute;top:24px;right:32px;background:none;border:none;color:#fff;font-size:28px;cursor:pointer;}

/* Before & after */
.before-after{display:grid;grid-template-columns:repeat(2,1fr);gap:6px;border-radius:14px;overflow:hidden;box-shadow:0 10px 26px rgba(11,48,55,.1);}
.before-after > div{position:relative;}
.before-after img{width:100%;height:260px;object-fit:cover;}
.before-after span{position:absolute;bottom:10px;left:10px;background:rgba(5,5,5,.7);color:#fff;font-size:12px;font-weight:700;padding:4px 10px;border-radius:6px;}

/* Video gallery */
.video-card{position:relative;border-radius:12px;overflow:hidden;cursor:pointer;box-shadow:0 8px 22px rgba(11,48,55,.1);}
.video-card img{width:100%;height:200px;object-fit:cover;}
.video-card .play-icon{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:40px;color:#fff;background:rgba(11,48,55,.35);}

/* Instagram feed */
.instagram-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;}
.instagram-grid img{border-radius:8px;aspect-ratio:1;object-fit:cover;transition:transform .3s ease;}
.instagram-grid a:hover img{transform:scale(1.06);}

@media(max-width:900px){
  .masonry-grid{column-count:2;}
  .instagram-grid{grid-template-columns:repeat(3,1fr);}
  .before-after{grid-template-columns:1fr;}
}

/* ===== Blog post template ===== */
.blog-hero{position:relative;background:var(--light-bg);padding:70px 0 40px;text-align:center;overflow:hidden;}
.blog-hero .container{position:relative;z-index:1;max-width:850px;}
.blog-category{display:inline-block;background:var(--accent);color:#fff;font-size:12px;font-weight:700;padding:6px 16px;border-radius:20px;text-transform:uppercase;letter-spacing:.5px;margin-bottom:16px;}
.blog-hero h1{font-size:38px;margin-bottom:18px;}
.blog-meta{display:flex;justify-content:center;gap:20px;flex-wrap:wrap;color:var(--gray);font-size:13px;font-weight:600;}

.blog-featured-img{max-width:900px;margin:0 auto;padding:0 32px;}
.blog-featured-img img{width:100%;border-radius:16px;box-shadow:0 20px 50px rgba(11,48,55,.15);}

.blog-body{max-width:800px;margin:0 auto;}
.blog-summary{background:var(--card-bg);border:1px solid var(--card-border);border-left:4px solid var(--accent);border-radius:10px;padding:20px 24px;color:var(--gray);font-style:italic;margin-bottom:40px;}

.toc-box{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:24px 28px;margin-bottom:40px;}
.toc-box h4{margin-bottom:14px;font-size:15px;}
.toc-box ul{list-style:none;display:flex;flex-direction:column;gap:8px;}
.toc-box a{color:var(--accent);font-size:14px;font-weight:600;}
.toc-box a:hover{text-decoration:underline;}

.blog-content h2{font-size:26px;margin:40px 0 16px;}
.blog-content h3{font-size:20px;margin:28px 0 12px;}
.blog-content p{color:var(--gray);line-height:1.8;margin-bottom:16px;}
.blog-content ul{margin:0 0 16px 20px;color:var(--gray);line-height:1.8;}

.tip-box{background:var(--card-bg);border:1px solid var(--card-border);border-left:4px solid var(--accent);border-radius:10px;padding:22px 26px;margin:30px 0;}
.tip-box h4{margin-bottom:8px;font-size:15px;color:var(--accent);}
.tip-box p{color:var(--gray);margin-bottom:0;}

.blog-gallery{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:30px 0;}
.blog-gallery img{border-radius:10px;height:150px;width:100%;object-fit:cover;}

.key-takeaways{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:26px 30px;margin:30px 0;}
.key-takeaways h4{margin-bottom:14px;}
.key-takeaways ul{list-style:none;margin:0;display:flex;flex-direction:column;gap:10px;}
.key-takeaways li{color:var(--gray);padding-left:26px;position:relative;}
.key-takeaways li::before{content:"✓";position:absolute;left:0;color:var(--accent);font-weight:700;}

.related-articles{max-width:1000px;margin:60px auto 0;}

.post-nav{display:flex;justify-content:space-between;gap:20px;margin:40px 0;flex-wrap:wrap;}
.post-nav a{flex:1;min-width:220px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;padding:18px 22px;transition:transform .3s ease,box-shadow .3s ease;}
.post-nav a:hover{transform:translateY(-4px);box-shadow:0 10px 24px rgba(11,48,55,.1);}
.post-nav .nav-label{display:block;font-size:11px;text-transform:uppercase;letter-spacing:.5px;color:var(--accent);font-weight:700;margin-bottom:6px;}
.post-nav .nav-next{text-align:right;}

.share-buttons{display:flex;align-items:center;gap:10px;margin:30px 0;}
.share-buttons span{font-size:13px;font-weight:700;color:var(--gray);}
.share-buttons a{width:36px;height:36px;border-radius:50%;background:var(--light-bg);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:700;transition:all .25s ease;}
.share-buttons a:hover{background:var(--accent);color:#fff;transform:translateY(-3px);}

.author-box{display:flex;gap:20px;align-items:center;background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;padding:26px;margin:40px 0;}
.author-box img{width:64px;height:64px;border-radius:50%;object-fit:cover;flex-shrink:0;}
.author-box h5{margin-bottom:4px;}
.author-box p{color:var(--gray);font-size:14px;margin:0;}

@media(max-width:700px){
  .blog-gallery{grid-template-columns:1fr;}
  .post-nav .nav-next{text-align:left;}
}

/* Mini cards (services) */
.mini-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;padding:36px 28px;text-align:center;box-shadow:0 8px 22px rgba(11,48,55,.08);transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease,border-color .3s ease;}
.mini-card:hover{border-color:var(--accent);box-shadow:0 16px 32px rgba(13,27,42,.1);transform:translateY(-6px);}
.mini-icon{display:flex;align-items:center;justify-content:center;width:52px;height:52px;border-radius:50%;background:var(--light-bg);color:var(--accent);margin:0 auto 14px;transition:transform .35s cubic-bezier(.16,1,.3,1),background .3s ease,color .3s ease;}
.mini-icon svg{width:24px;height:24px;}
.mini-card:hover .mini-icon{transform:scale(1.15) rotate(-6deg);background:var(--accent);color:#fff;}
.mini-card h4{font-size:15px;}

/* Product cards */
.product-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;overflow:hidden;box-shadow:0 10px 26px rgba(11,48,55,.1);text-align:center;transition:transform .3s cubic-bezier(.16,1,.3,1),box-shadow .3s ease;}
.product-card:hover{transform:translateY(-6px);box-shadow:0 16px 32px rgba(13,27,42,.12);}
.product-card img{height:220px;width:100%;object-fit:cover;transition:transform .4s ease;}
.product-card:hover img{transform:scale(1.06);}
.product-card h4{padding:14px;font-size:15px;}

.why-grid .feature-item{background:var(--card-bg);border:1px solid var(--card-border);padding:28px 20px;border-radius:12px;flex-direction:column;align-items:center;text-align:center;gap:6px;box-shadow:0 8px 22px rgba(11,48,55,.08);transition:transform .3s ease,box-shadow .3s ease;}
.why-grid .feature-item:hover{transform:translateY(-6px);box-shadow:0 16px 32px rgba(13,27,42,.08);}
.why-grid .feature-item .feature-icon{margin-bottom:8px;}

/* Process steps */
.process-steps{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;}
.process-step{flex:1;min-width:140px;text-align:center;}
.step-num{width:52px;height:52px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:20px;margin:0 auto 12px;}

/* Pricing */
.pricing-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;padding:48px 32px;text-align:center;box-shadow:0 10px 26px rgba(11,48,55,.1);transition:transform .3s ease,box-shadow .3s ease;}
.pricing-card:hover{transform:translateY(-6px);box-shadow:0 16px 32px rgba(13,27,42,.1);}
.pricing-card.featured{border-color:var(--accent);box-shadow:0 10px 30px rgba(212,175,55,.15);transform:scale(1.03);}
.pricing-card.featured:hover{transform:scale(1.03) translateY(-6px);}
.pricing-card .price{font-size:34px;font-weight:800;color:var(--accent);margin:12px 0;}
.pricing-card .price span{font-size:14px;color:var(--gray);font-weight:400;}

/* Gallery */
.gallery-grid img{border-radius:10px;height:180px;width:100%;object-fit:cover;}

/* Industries tag grid */
.tag-grid{display:flex;flex-wrap:wrap;gap:14px;justify-content:center;}
.tag-grid span{background:var(--light-bg);color:var(--accent);padding:10px 20px;border-radius:30px;font-weight:600;font-size:14px;}

/* Testimonials */
.testimonial-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;padding:36px;box-shadow:0 10px 26px rgba(11,48,55,.1);transition:transform .3s ease,box-shadow .3s ease;}
.google-badge{display:flex;align-items:center;gap:8px;margin-bottom:14px;font-size:12px;font-weight:600;color:var(--gray);}
.google-badge svg{flex-shrink:0;}
.testimonial-card:hover{transform:translateY(-6px);box-shadow:0 16px 32px rgba(13,27,42,.1);}
.stars{color:var(--accent);letter-spacing:3px;margin-bottom:12px;}
.testimonial-card p{color:var(--gray);margin-bottom:14px;}

/* Stats */
.stats-section{background:var(--ink);color:#fff;padding:50px 0;text-align:center;}
.stat-num{font-size:34px;font-weight:800;color:var(--accent);}
.stat-label{color:#cbd5e1;font-size:14px;margin-top:6px;}

/* Growth graph */
.growth-graph{display:flex;align-items:flex-end;justify-content:center;gap:22px;height:140px;margin:50px auto 10px;max-width:480px;}
.graph-bar{position:relative;width:36px;height:0%;background:var(--accent);border-radius:6px 6px 0 0;transition:height 1.1s cubic-bezier(.16,1,.3,1);}
.growth-graph.in-view .graph-bar{height:var(--h);}
.graph-bar span{position:absolute;top:100%;left:0;right:0;text-align:center;margin-top:8px;font-size:12px;color:#cbd5e1;}
.graph-caption{text-align:center;color:#cbd5e1;font-size:13px;margin-top:34px;}

/* FAQ accordion */
.faq-accordion{max-width:800px;margin:0 auto;}
.faq-item{border-bottom:1px solid #eee;}
.faq-question{width:100%;text-align:left;background:none;border:none;padding:18px 0;font-size:16px;font-weight:600;cursor:pointer;display:flex;justify-content:space-between;color:var(--dark);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .3s ease;}
.faq-answer p{padding-bottom:16px;color:var(--gray);}
.faq-item.open .faq-answer{max-height:200px;}
.faq-item.open .faq-question span{transform:rotate(45deg);}
.faq-question span{transition:transform .2s ease;}

/* Blog */
.blog-card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:12px;overflow:hidden;box-shadow:0 10px 26px rgba(11,48,55,.1);}
.blog-card img{height:180px;width:100%;object-fit:cover;}
.blog-card .content{padding:16px;}
.blog-card .content p{color:var(--gray);font-size:14px;}

/* Blog pagination */
.blog-pagination{display:flex;align-items:center;justify-content:center;gap:20px;margin-top:50px;flex-wrap:wrap;}
.page-numbers{display:flex;gap:8px;flex-wrap:wrap;}
.page-num{width:38px;height:38px;border-radius:8px;display:flex;align-items:center;justify-content:center;background:var(--card-bg);border:1px solid var(--card-border);color:var(--dark);font-weight:600;font-size:14px;transition:all .2s ease;}
.page-num:hover{border-color:var(--accent);}
.page-num.active{background:var(--accent);color:#fff;border-color:var(--accent);}
.page-nav{font-weight:700;color:var(--accent);font-size:14px;padding:8px 4px;}
.page-nav:hover{color:var(--accent);}
.page-nav.disabled{pointer-events:none;opacity:.4;}

/* Quote form */
.quote-form{max-width:800px;margin:0 auto;display:flex;flex-direction:column;gap:16px;}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.quote-form input, .quote-form select, .quote-form textarea{padding:14px;border:1px solid #ddd;border-radius:8px;font-size:14px;font-family:inherit;}
.quote-form button{align-self:center;padding:14px 40px;}

/* Wide two-column quote form (get-a-quote page) */
.quote-form-wide{max-width:1000px;}
.quote-two-col{display:grid;grid-template-columns:1fr 1fr;gap:48px;}
.quote-form-col{display:flex;flex-direction:column;gap:14px;}
.quote-form-col h4{margin-bottom:2px;font-size:16px;}
@media(max-width:800px){.quote-two-col{grid-template-columns:1fr;}}

/* CTA banner 2 */
.cta-banner2{background:var(--primary);color:#fff;text-align:center;padding:60px 0;}
.cta-banner2 h2{font-size:30px;font-weight:800;margin-bottom:24px;}
.cta-buttons{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;}

/* Map */
.map-section iframe{display:block;}

/* Newsletter */
.newsletter-section{background:var(--light-bg);padding:50px 0;text-align:center;}
.newsletter-section h3{margin-bottom:20px;font-size:22px;}
.newsletter-form{display:flex;justify-content:center;gap:10px;max-width:460px;margin:0 auto;flex-wrap:wrap;}
.newsletter-form input{flex:1;min-width:220px;padding:14px;border:1px solid #ddd;border-radius:8px;}

/* SEO content */
.seo-content{padding:60px 0;}
.seo-content .container{max-width:900px;}
.seo-content .container{background:var(--card-bg);border:1px solid var(--card-border);border-radius:16px;box-shadow:0 10px 26px rgba(11,48,55,.1);padding:48px 56px;}
.seo-content p{color:var(--gray);margin-bottom:16px;line-height:1.7;}

/* Back to top */
.back-to-top{position:fixed;bottom:20px;left:20px;width:44px;height:44px;border-radius:50%;background:var(--primary);color:#fff;display:flex;align-items:center;justify-content:center;font-size:18px;z-index:1500;opacity:0;visibility:hidden;transition:all .3s ease;box-shadow:0 6px 16px rgba(0,0,0,.2);}
.back-to-top.show{opacity:1;visibility:visible;}

@media(max-width:900px){
  .hero .container{grid-template-columns:1fr;text-align:center;}
  .hero p{margin:0 auto 24px;}
  .hero-buttons{justify-content:center;}
  .features .container,.ideas-grid,.latest-grid{grid-template-columns:1fr;}
  .provide .container{grid-template-columns:1fr;}
  .grid-6{grid-template-columns:repeat(2,1fr);}
  .grid-4{grid-template-columns:repeat(2,1fr);}
  .grid-3{grid-template-columns:1fr;}
  .order-types-grid{grid-template-columns:repeat(2,1fr);}
  .form-row{grid-template-columns:1fr;}
  .process-steps{flex-direction:column;}
  nav{display:none;}
}
