/*
Theme Name: Laptop & Coffee
Theme URI: https://laptopandcoffee.com
Author: Laptop & Coffee
Author URI: https://laptopandcoffee.com
Description: A clean, fast, AdSense-ready blog theme for making-money-online blogs — SEO, freelancing, AI tools, dropshipping and more. Sip. Click. Earn.
Version: 1.0.0
Requires at least: 6.0
Tested up to: 6.6
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: laptop-and-coffee
Tags: blog, two-columns, right-sidebar, custom-menu, featured-images, threaded-comments, translation-ready, custom-logo
*/

:root{
  --espresso:#3E2C23; --mocha:#8C5A3B; --latte:#B07B52;
  --cream:#FAF6EF; --cream-soft:#F3E9DD; --card:#FFFFFF;
  --green:#2E7D5B; --green-soft:#E4F0EA;
  --text:#2A1E17; --muted:#806E61; --line:#E7DACB;
  --serif:'Fraunces',Georgia,serif;
  --sans:'Inter',-apple-system,BlinkMacSystemFont,sans-serif;
  --maxw:1180px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:var(--sans);background:var(--cream);color:var(--text);line-height:1.7;-webkit-font-smoothing:antialiased}
a{color:var(--green);text-decoration:none}
a:hover{text-decoration:underline}
img{max-width:100%;height:auto;display:block}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.screen-reader-text{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(1px,1px,1px,1px);white-space:nowrap}

/* layout */
.site-main{padding:48px 0}
.layout{display:grid;grid-template-columns:1fr 320px;gap:48px;align-items:start}
.layout.full{grid-template-columns:1fr}

/* ---------- HEADER ---------- */
.site-header{position:sticky;top:0;z-index:50;background:rgba(250,246,239,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;min-height:74px;gap:20px}
.brand{display:flex;align-items:center;gap:12px}
.brand .logo-ico{width:42px;height:42px;flex:none}
.brand .name{font-family:var(--serif);font-weight:700;font-size:1.45rem;line-height:1;color:var(--espresso);letter-spacing:-.2px}
.brand .name .amp{color:var(--latte)}
.brand .tagline{display:block;font-size:.68rem;letter-spacing:2px;text-transform:uppercase;color:var(--latte);margin-top:4px;font-weight:600}
.brand a{text-decoration:none}
.main-menu{display:flex;align-items:center;gap:28px;list-style:none;margin:0;padding:0}
.main-menu a{font-size:.95rem;font-weight:500;color:var(--espresso);position:relative;padding:6px 0;display:inline-block}
.main-menu a:hover{color:var(--mocha);text-decoration:none}
.main-menu a::after{content:"";position:absolute;left:0;bottom:0;height:2px;width:0;background:var(--green);transition:width .25s}
.main-menu a:hover::after{width:100%}
.main-menu .current-menu-item>a{color:var(--green)}
.menu-toggle{display:none;background:none;border:1px solid var(--line);border-radius:10px;width:44px;height:44px;cursor:pointer}
.menu-toggle span,.menu-toggle span::before,.menu-toggle span::after{display:block;width:20px;height:2px;background:var(--espresso);position:relative;margin:0 auto;content:""}
.menu-toggle span::before{content:"";position:absolute;top:-6px;left:0}
.menu-toggle span::after{content:"";position:absolute;top:6px;left:0}

/* ---------- HERO (front page) ---------- */
.hero{padding:74px 0 54px;text-align:center;border-bottom:1px solid var(--line)}
.hero .eyebrow{display:inline-block;font-size:.8rem;font-weight:600;letter-spacing:2.5px;text-transform:uppercase;color:var(--latte);margin-bottom:18px}
.hero h1{font-family:var(--serif);font-weight:600;font-size:clamp(2.3rem,5.4vw,3.8rem);line-height:1.08;color:var(--espresso);letter-spacing:-1px;max-width:15ch;margin:0 auto}
.hero h1 em{font-style:italic;color:var(--mocha)}
.hero p.lead{max-width:58ch;margin:22px auto 0;font-size:1.12rem;color:var(--muted)}
.actions{margin-top:32px;display:flex;gap:14px;justify-content:center;flex-wrap:wrap}
.btn{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:.95rem;padding:13px 24px;border-radius:999px;transition:transform .15s,box-shadow .2s}
.btn:hover{text-decoration:none}
.btn-primary{background:var(--green);color:#fff}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 20px rgba(46,125,91,.25)}
.btn-ghost{background:transparent;color:var(--espresso);border:1px solid var(--line)}
.btn-ghost:hover{background:var(--cream-soft)}

/* ---------- SECTION HEADS ---------- */
.sec{padding:60px 0}
.sec-head{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:30px;gap:16px;flex-wrap:wrap}
.sec-head h2{font-family:var(--serif);font-weight:600;font-size:1.9rem;color:var(--espresso);letter-spacing:-.5px;margin:0}
.sec-head p{color:var(--muted);font-size:.98rem;margin:4px 0 0}
.sec-head .all{font-size:.9rem;font-weight:600;color:var(--green)}

/* ---------- CATEGORY CARDS ---------- */
.cats{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}
.cat{display:flex;align-items:center;gap:14px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:18px;transition:transform .18s,border-color .2s,box-shadow .2s}
.cat:hover{transform:translateY(-3px);border-color:var(--latte);box-shadow:0 10px 24px rgba(62,44,35,.08);text-decoration:none}
.cat .ic{width:44px;height:44px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex:none;background:var(--cream-soft)}
.cat .ic svg{width:22px;height:22px;stroke:var(--espresso);fill:none;stroke-width:1.8}
.cat strong{display:block;font-size:1rem;color:var(--espresso);font-weight:600}
.cat span.d{font-size:.82rem;color:var(--muted)}

/* ---------- POST GRID / CARDS ---------- */
.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:26px}
.layout .grid{grid-template-columns:repeat(2,1fr)}
.card{background:var(--card);border:1px solid var(--line);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;transition:transform .18s,box-shadow .2s}
.card:hover{transform:translateY(-4px);box-shadow:0 14px 30px rgba(62,44,35,.10)}
.card .thumb{display:block;aspect-ratio:16/9;background:var(--cream-soft);overflow:hidden}
.card .thumb img{width:100%;height:100%;object-fit:cover}
.card .thumb.placeholder{display:flex;align-items:center;justify-content:center;background:var(--espresso)}
.card .thumb.placeholder svg{width:48px;height:48px;stroke:#fff;fill:none;stroke-width:1.5;opacity:.85}
.card .pad{padding:22px;display:flex;flex-direction:column;flex:1}
.tag{align-self:flex-start;font-size:.72rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase;color:var(--mocha);background:var(--cream-soft);padding:5px 11px;border-radius:999px;margin-bottom:14px}
.tag:hover{text-decoration:none;color:var(--green)}
.card h3{font-family:var(--serif);font-weight:600;font-size:1.22rem;line-height:1.3;margin:0;letter-spacing:-.3px}
.card h3 a{color:var(--espresso)}
.card h3 a:hover{color:var(--mocha);text-decoration:none}
.card .excerpt{margin-top:10px;font-size:.95rem;color:var(--muted);flex:1}
.meta{margin-top:18px;display:flex;align-items:center;gap:8px;font-size:.82rem;color:var(--muted)}
.meta .dot{width:3px;height:3px;border-radius:50%;background:var(--latte)}

/* ---------- SINGLE / PAGE ---------- */
.article{background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden}
.article .feat{aspect-ratio:16/8;overflow:hidden;background:var(--cream-soft)}
.article .feat img{width:100%;height:100%;object-fit:cover}
.article .content{padding:40px}
.article .eyebrow-cat{margin-bottom:14px}
.article .entry-title{font-family:var(--serif);font-weight:600;font-size:clamp(1.9rem,4vw,2.7rem);line-height:1.12;color:var(--espresso);letter-spacing:-.5px;margin:0 0 16px}
.entry-meta{display:flex;align-items:center;gap:10px;font-size:.88rem;color:var(--muted);margin-bottom:8px;flex-wrap:wrap}
.entry-meta .dot{width:3px;height:3px;border-radius:50%;background:var(--latte)}
.entry-content{font-size:1.06rem;color:var(--text);margin-top:24px}
.entry-content > *{margin:0 0 1.2em}
.entry-content h2{font-family:var(--serif);font-weight:600;font-size:1.7rem;color:var(--espresso);margin:1.6em 0 .5em;letter-spacing:-.4px}
.entry-content h3{font-family:var(--serif);font-weight:600;font-size:1.35rem;color:var(--espresso);margin:1.4em 0 .4em}
.entry-content a{color:var(--green);text-decoration:underline}
.entry-content img{border-radius:12px;margin:1.4em 0}
.entry-content blockquote{border-left:4px solid var(--latte);background:var(--cream-soft);margin:1.5em 0;padding:18px 24px;border-radius:0 12px 12px 0;font-family:var(--serif);font-size:1.2rem;font-style:italic;color:var(--espresso)}
.entry-content ul,.entry-content ol{padding-left:1.4em}
.entry-content li{margin-bottom:.5em}
.entry-content code{background:var(--cream-soft);padding:2px 7px;border-radius:6px;font-size:.92em}
.entry-content pre{background:var(--espresso);color:#F5EDE4;padding:20px;border-radius:12px;overflow:auto;font-size:.9rem}
.entry-content table{width:100%;border-collapse:collapse}
.entry-content th,.entry-content td{border:1px solid var(--line);padding:10px 14px;text-align:left}

/* alignment helpers (WP) */
.alignleft{float:left;margin:0 24px 16px 0}
.alignright{float:right;margin:0 0 16px 24px}
.aligncenter{margin:1.4em auto;display:block}
.wp-caption{max-width:100%}
.wp-caption-text{font-size:.85rem;color:var(--muted);text-align:center;margin-top:8px}
.sticky .entry-title::after{content:" ★";color:var(--latte)}

/* tags + share row */
.post-tags{margin-top:30px;display:flex;flex-wrap:wrap;gap:8px}
.post-tags a{font-size:.8rem;background:var(--cream-soft);color:var(--mocha);padding:6px 12px;border-radius:999px}
.post-tags a:hover{text-decoration:none;color:var(--green)}

/* author box */
.author-box{display:flex;gap:16px;align-items:flex-start;background:var(--cream-soft);border-radius:16px;padding:24px;margin-top:32px}
.author-box .avatar img{border-radius:50%}
.author-box h4{margin:0 0 6px;font-family:var(--serif);color:var(--espresso)}
.author-box p{margin:0;color:var(--muted);font-size:.94rem}

/* ---------- AD SLOTS ---------- */
.ad-slot{margin:0 auto;text-align:center;overflow:hidden}
.ad-slot.full{max-width:var(--maxw);padding:8px 24px 32px}
.ad-inpost{margin:34px 0;padding:18px;background:var(--cream-soft);border:1px dashed var(--line);border-radius:14px;text-align:center}
.ad-label{display:block;font-size:.68rem;letter-spacing:1.5px;text-transform:uppercase;color:var(--muted);margin-bottom:8px}

/* ---------- SIDEBAR / WIDGETS ---------- */
.sidebar .widget{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px;margin-bottom:24px}
.sidebar .widget-title{font-family:var(--serif);font-weight:600;font-size:1.1rem;color:var(--espresso);margin:0 0 16px;padding-bottom:12px;border-bottom:1px solid var(--line)}
.sidebar ul{list-style:none;margin:0;padding:0}
.sidebar li{padding:7px 0;border-bottom:1px solid var(--cream-soft);font-size:.95rem}
.sidebar li:last-child{border-bottom:0}
.sidebar a{color:var(--espresso)}
.sidebar a:hover{color:var(--green);text-decoration:none}
.widget_ad{padding:0;border:0;background:transparent}
.search-form{display:flex;gap:8px}
.search-form input[type=search]{flex:1;padding:11px 14px;border:1px solid var(--line);border-radius:999px;font-family:var(--sans);background:var(--card)}
.search-form button{padding:11px 18px;border:0;background:var(--green);color:#fff;border-radius:999px;font-weight:600;cursor:pointer}

/* ---------- NEWSLETTER ---------- */
.news{background:var(--espresso);border-radius:24px;padding:52px 40px;text-align:center;color:#fff;margin:0}
.news h2{font-family:var(--serif);font-weight:600;font-size:2rem;color:#fff;margin:0}
.news p{margin:12px auto 24px;max-width:48ch;color:#E6D9CC}
.news .form{display:flex;gap:10px;justify-content:center;max-width:480px;margin:0 auto;flex-wrap:wrap}
.news input{flex:1;min-width:220px;padding:14px 18px;border-radius:999px;border:1px solid #5A4438;background:#4A352B;color:#fff}
.news input::placeholder{color:#C7B4A4}

/* ---------- PAGINATION ---------- */
.pagination{display:flex;gap:8px;justify-content:center;margin-top:44px;flex-wrap:wrap}
.pagination .page-numbers{display:inline-flex;min-width:42px;height:42px;align-items:center;justify-content:center;padding:0 12px;border:1px solid var(--line);border-radius:10px;color:var(--espresso);font-weight:500}
.pagination .page-numbers:hover{border-color:var(--latte);text-decoration:none}
.pagination .current{background:var(--green);color:#fff;border-color:var(--green)}

/* ---------- COMMENTS ---------- */
.comments-area{margin-top:40px;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:34px}
.comments-title,.comment-reply-title{font-family:var(--serif);font-weight:600;font-size:1.5rem;color:var(--espresso);margin:0 0 20px}
.comment-list{list-style:none;margin:0;padding:0}
.comment-list li{margin-bottom:20px}
.comment-body{background:var(--cream-soft);border-radius:14px;padding:18px}
.comment-author{font-weight:600;color:var(--espresso)}
.comment-metadata{font-size:.8rem;color:var(--muted)}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{width:100%;padding:12px 14px;border:1px solid var(--line);border-radius:10px;font-family:var(--sans);margin-top:6px;background:var(--card)}
.comment-form label{font-size:.9rem;font-weight:500;color:var(--espresso)}
.comment-form p{margin:0 0 16px}
.comment-form .submit{background:var(--green);color:#fff;border:0;padding:13px 26px;border-radius:999px;font-weight:600;cursor:pointer}

/* ---------- FOOTER ---------- */
.site-footer{border-top:1px solid var(--line);background:var(--cream-soft);margin-top:24px}
.foot{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:36px;padding:54px 0 38px}
.foot .name{font-family:var(--serif);font-weight:700;font-size:1.3rem;color:var(--espresso)}
.foot .about{margin-top:14px;color:var(--muted);font-size:.92rem;max-width:34ch}
.foot h4{font-size:.82rem;font-weight:600;letter-spacing:1.5px;text-transform:uppercase;color:var(--mocha);margin:0 0 16px}
.foot ul{list-style:none;margin:0;padding:0}
.foot li{margin-bottom:10px}
.foot a{color:var(--espresso);font-size:.94rem;opacity:.85}
.foot a:hover{opacity:1;color:var(--green);text-decoration:none}
.copy{border-top:1px solid var(--line);padding:22px 0;text-align:center;color:var(--muted);font-size:.86rem}

/* ---------- RESPONSIVE ---------- */
@media(max-width:980px){
  .layout{grid-template-columns:1fr}
  .cats{grid-template-columns:repeat(2,1fr)}
  .grid,.layout .grid{grid-template-columns:repeat(2,1fr)}
  .foot{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .menu-toggle{display:block}
  .main-menu{position:absolute;top:74px;left:0;right:0;flex-direction:column;align-items:flex-start;gap:0;background:var(--cream);border-bottom:1px solid var(--line);padding:0 24px;max-height:0;overflow:hidden;transition:max-height .3s,padding .3s}
  .main-menu.open{max-height:420px;padding:12px 24px 20px}
  .main-menu li{width:100%}
  .main-menu a{display:block;padding:12px 0;width:100%;border-bottom:1px solid var(--line)}
  .main-menu a::after{display:none}
  .grid,.layout .grid,.cats{grid-template-columns:1fr}
  .foot{grid-template-columns:1fr}
  .article .content{padding:26px}
  .news{padding:38px 22px}
}
