/*
Theme Name: Daily365 News
Theme URI: https://example.com/daily365-news
Author: Daily365 AI
Author URI: https://example.com
Description: A fast, clean, editorial news and blog theme built for AdSense and affiliate sites. Lightweight code for great page speed, built-in ad zones (below header, in-content, sidebar, footer), affiliate-friendly buttons, disclosure box and comparison-table styling. No page builder required.
Version: 1.1.1
Requires at least: 6.0
Tested up to: 6.7
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: daily365
Tags: news, magazine, blog, two-columns, right-sidebar, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready
*/

/* ============================================================
   Daily365 News — editorial, fast, AdSense + affiliate ready
   ============================================================ */

:root{
  --ink:#161412;          /* near-black text */
  --paper:#ffffff;        /* page background */
  --soft:#f6f4f1;         /* warm light surface */
  --muted:#6b6660;        /* secondary text */
  --line:#e7e3dd;         /* hairline borders */
  --accent:#c8102e;       /* news red (editable in Customizer) */
  --accent-ink:#9c0c23;   /* darker accent for hover */
  --maxw:1180px;
  --read:740px;           /* comfortable reading width */
  --serif: Georgia, "Times New Roman", "Noto Serif", serif;
  --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, "Helvetica Neue", sans-serif;
  --radius:10px;
}

*{box-sizing:border-box;}
html{-webkit-text-size-adjust:100%;}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  font-size:18px;
  line-height:1.65;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--accent);text-decoration:none;}
a:hover{color:var(--accent-ink);text-decoration:underline;}
.container{max-width:var(--maxw);margin:0 auto;padding:0 20px;}

/* ---------- Skip link / accessibility ---------- */
.skip-link{position:absolute;left:-9999px;}
.skip-link:focus{left:10px;top:10px;background:#fff;padding:10px 14px;z-index:1000;border:2px solid var(--accent);}

/* ---------- Header ---------- */
.site-header{border-bottom:1px solid var(--line);background:var(--paper);}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:18px 0;gap:20px;}
.brand{display:flex;align-items:center;gap:14px;min-width:0;}
.brand .custom-logo{max-height:54px;width:auto;}
.site-title{font-family:var(--serif);font-weight:700;font-size:30px;line-height:1.05;margin:0;letter-spacing:-0.01em;}
.site-title a{color:var(--ink);text-decoration:none;}
.site-title a:hover{color:var(--accent);}
.site-tagline{margin:2px 0 0;color:var(--muted);font-size:13px;}
.header-date{color:var(--muted);font-size:13px;text-align:right;white-space:nowrap;}

/* ---------- Navigation ---------- */
.main-nav{border-top:1px solid var(--line);}
.main-nav .menu{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:2px;}
.main-nav .menu li{position:relative;}
.main-nav .menu a{
  display:block;padding:13px 16px;color:var(--ink);font-weight:600;
  font-size:14px;letter-spacing:.02em;text-transform:uppercase;text-decoration:none;
}
.main-nav .menu a:hover,.main-nav .current-menu-item>a{color:var(--accent);}
.main-nav .menu ul{display:none;position:absolute;top:100%;left:0;background:#fff;border:1px solid var(--line);min-width:200px;z-index:50;box-shadow:0 12px 30px rgba(0,0,0,.08);}
.main-nav .menu li:hover>ul{display:block;}
.main-nav .menu ul a{text-transform:none;font-weight:500;border-bottom:1px solid var(--line);}
.nav-toggle{display:none;background:none;border:1px solid var(--line);border-radius:8px;padding:9px 12px;font-size:14px;font-weight:600;cursor:pointer;}

/* ---------- Layout ---------- */
.site-main{padding:32px 0 48px;}
.layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:42px;align-items:start;}
.content-area{min-width:0;}
@media(max-width:920px){.layout{grid-template-columns:minmax(0,1fr);}}

/* ---------- Ad zones ---------- */
.ad-zone{margin:0 auto;text-align:center;overflow:hidden;}
.ad-zone .ad-label{display:block;font-size:11px;letter-spacing:.12em;text-transform:uppercase;color:#b3ada4;margin:0 0 6px;}
.ad-below-header{padding:16px 0;border-bottom:1px solid var(--line);background:var(--soft);}
.d365-incontent-ad{margin:26px 0;text-align:center;}
.ad-footer{padding:22px 0;border-top:1px solid var(--line);background:var(--soft);}

/* ---------- Hero (latest post) ---------- */
.hero{margin-bottom:34px;}
.hero a.thumb{display:block;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/9;background:var(--soft);}
.hero a.thumb img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease;}
.hero a.thumb:hover img{transform:scale(1.03);}
.hero .cat{margin:16px 0 8px;}
.hero h2{font-family:var(--serif);font-size:36px;line-height:1.12;margin:0 0 10px;letter-spacing:-0.01em;}
.hero h2 a{color:var(--ink);}
.hero h2 a:hover{color:var(--accent);}
.hero .excerpt{color:#3c3833;font-size:19px;margin:0 0 10px;}

/* ---------- Section label ---------- */
.section-label{display:flex;align-items:center;gap:14px;margin:0 0 22px;}
.section-label h3{font-family:var(--serif);font-size:15px;text-transform:uppercase;letter-spacing:.08em;margin:0;padding:6px 0;border-bottom:3px solid var(--accent);}
.section-label .rule{flex:1;height:1px;background:var(--line);}

/* ---------- Post grid / cards ---------- */
.post-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 28px;}
.card{min-width:0;}
@media(max-width:560px){.post-grid{grid-template-columns:1fr;}}
.card .thumb{display:block;border-radius:var(--radius);overflow:hidden;aspect-ratio:16/10;background:var(--soft);}
.card .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .45s ease;}
.card .thumb:hover img{transform:scale(1.04);}
.card h3{font-family:var(--serif);font-size:21px;line-height:1.25;margin:12px 0 8px;}
.card h3 a{color:var(--ink);}
.card h3 a:hover{color:var(--accent);}
.card .excerpt{color:var(--muted);font-size:15.5px;margin:0;}

/* ---------- Category tag & meta ---------- */
.cat a{display:inline-block;background:var(--accent);color:#fff;font-size:11px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;padding:4px 9px;border-radius:5px;text-decoration:none;}
.cat a:hover{background:var(--accent-ink);color:#fff;text-decoration:none;}
.meta{color:var(--muted);font-size:13px;margin:9px 0;}
.meta a{color:var(--muted);}
.meta .dot{margin:0 7px;}

/* ---------- Single post ---------- */
.single-post{max-width:var(--read);}
.single-post .post-header{margin-bottom:18px;}
.single-post h1{font-family:var(--serif);font-size:40px;line-height:1.12;margin:12px 0 12px;letter-spacing:-0.015em;}
.single-post .featured{border-radius:var(--radius);overflow:hidden;margin:6px 0 26px;}
.entry-content{font-size:19px;line-height:1.75;}
.entry-content p{margin:0 0 1.25em;}
.entry-content h2{font-family:var(--serif);font-size:28px;line-height:1.2;margin:1.6em 0 .5em;}
.entry-content h3{font-family:var(--serif);font-size:23px;margin:1.4em 0 .5em;}
.entry-content ul,.entry-content ol{margin:0 0 1.25em;padding-left:1.4em;}
.entry-content li{margin:.4em 0;}
.entry-content blockquote{margin:1.5em 0;padding:8px 22px;border-left:4px solid var(--accent);color:#3c3833;font-style:italic;background:var(--soft);border-radius:0 8px 8px 0;}
.entry-content img{border-radius:8px;margin:1em 0;}
.entry-content a{text-decoration:underline;text-underline-offset:2px;}

/* ---------- Affiliate helpers ---------- */
.affiliate-disclosure{background:var(--soft);border:1px solid var(--line);border-radius:8px;
  padding:12px 16px;font-size:14px;color:var(--muted);margin:0 0 24px;}
.affiliate-disclosure strong{color:var(--ink);}
.d365-btn{display:inline-block;background:var(--accent);color:#fff !important;font-weight:700;
  padding:13px 26px;border-radius:8px;text-decoration:none !important;font-size:16px;
  transition:background .2s ease, transform .1s ease;}
.d365-btn:hover{background:var(--accent-ink);transform:translateY(-1px);}
.entry-content table{width:100%;border-collapse:collapse;margin:1.5em 0;font-size:16px;}
.entry-content th,.entry-content td{border:1px solid var(--line);padding:11px 13px;text-align:left;}
.entry-content th{background:var(--soft);font-family:var(--sans);font-weight:700;}

/* ---------- Tags / share / footer of post ---------- */
.post-tags{margin:26px 0;}
.post-tags a{display:inline-block;background:var(--soft);color:var(--muted);font-size:13px;
  padding:5px 11px;border-radius:20px;margin:0 6px 6px 0;text-decoration:none;}
.post-tags a:hover{background:var(--accent);color:#fff;}

/* ---------- Sidebar ---------- */
.sidebar .widget{margin:0 0 34px;}
.sidebar .widget-title{font-family:var(--serif);font-size:16px;text-transform:uppercase;letter-spacing:.06em;
  margin:0 0 14px;padding-bottom:8px;border-bottom:3px solid var(--accent);display:inline-block;}
.sidebar ul{list-style:none;margin:0;padding:0;}
.sidebar li{padding:9px 0;border-bottom:1px solid var(--line);font-size:15px;}
.sidebar a{color:var(--ink);}
.sidebar a:hover{color:var(--accent);}
.widget_search .search-form{display:flex;gap:8px;}
.search-form input[type=search]{flex:1;padding:11px 13px;border:1px solid var(--line);border-radius:8px;font-size:15px;font-family:inherit;}
.search-form button,.search-form input[type=submit]{background:var(--accent);color:#fff;border:0;border-radius:8px;padding:0 18px;font-weight:600;cursor:pointer;}

/* ---------- Pagination ---------- */
.pagination{margin:40px 0 0;display:flex;flex-wrap:wrap;gap:8px;}
.pagination .page-numbers{display:inline-block;padding:9px 15px;border:1px solid var(--line);border-radius:8px;color:var(--ink);text-decoration:none;font-weight:600;}
.pagination .page-numbers.current{background:var(--accent);color:#fff;border-color:var(--accent);}
.pagination .page-numbers:hover{border-color:var(--accent);color:var(--accent);}
.pagination .current:hover{color:#fff;}

/* ---------- Pages / 404 ---------- */
.page-content{max-width:var(--read);}
.page-content h1{font-family:var(--serif);font-size:38px;margin:0 0 18px;}
.error-404{max-width:var(--read);text-align:center;padding:30px 0;}
.error-404 h1{font-family:var(--serif);font-size:64px;margin:0;color:var(--accent);}

/* ---------- Comments ---------- */
.comments-area{max-width:var(--read);margin-top:40px;border-top:1px solid var(--line);padding-top:24px;}
.comments-area h2{font-family:var(--serif);font-size:24px;}
.comment-list{list-style:none;padding:0;}
.comment-list .comment{border-bottom:1px solid var(--line);padding:14px 0;}
.comment-form input[type=text],.comment-form input[type=email],.comment-form input[type=url],.comment-form textarea{
  width:100%;padding:11px 13px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:15px;margin:6px 0 14px;}
.comment-form input[type=submit]{background:var(--accent);color:#fff;border:0;border-radius:8px;padding:12px 26px;font-weight:700;cursor:pointer;}

/* ---------- Footer ---------- */
.site-footer{background:var(--ink);color:#cfc9c1;margin-top:10px;}
.footer-widgets{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;padding:46px 0 30px;}
@media(max-width:760px){.footer-widgets{grid-template-columns:1fr;gap:26px;}}
.site-footer .widget-title{color:#fff;font-family:var(--serif);font-size:15px;text-transform:uppercase;letter-spacing:.06em;border-bottom:3px solid var(--accent);display:inline-block;padding-bottom:7px;margin:0 0 14px;}
.site-footer a{color:#e7e3dd;}
.site-footer a:hover{color:#fff;}
.site-footer li{border-bottom:1px solid rgba(255,255,255,.08);padding:8px 0;font-size:14px;}
.footer-bottom{border-top:1px solid rgba(255,255,255,.1);padding:18px 0;font-size:13px;color:#9a948c;text-align:center;}

/* ---------- Mobile nav ---------- */
@media(max-width:760px){
  .header-date{display:none;}
  .site-title{font-size:25px;}
  .nav-toggle{display:inline-block;margin:10px 0;}
  .main-nav .menu{display:none;flex-direction:column;padding-bottom:10px;}
  .main-nav .menu.open{display:flex;}
  .main-nav .menu ul{position:static;border:0;box-shadow:none;padding-left:14px;}
  .main-nav .menu li:hover>ul{display:block;}
  .hero h2{font-size:28px;}
  .single-post h1{font-size:30px;}
  body{font-size:17px;}
}

/* ============================================================
   Universal responsiveness — fits every screen, any image
   ============================================================ */

/* Never allow sideways scrolling on any device */
html,body{max-width:100%;overflow-x:hidden;}

/* Any uploaded image fits its container cleanly, never overflows */
img,figure,svg,video,iframe,embed,object{max-width:100%;height:auto;}
figure{margin:1.2em 0;}
figure img{border-radius:8px;}
figcaption,.wp-caption-text{font-size:14px;color:var(--muted);text-align:center;margin-top:8px;}
.wp-caption{max-width:100% !important;height:auto;}

/* Content images stay tidy; full/wide alignments behave on small screens */
.entry-content img{height:auto;}
.entry-content .alignleft{float:left;margin:6px 22px 14px 0;max-width:48%;}
.entry-content .alignright{float:right;margin:6px 0 14px 22px;max-width:48%;}
.entry-content .aligncenter{display:block;margin:1em auto;}
.entry-content,.page-content{overflow-wrap:break-word;word-wrap:break-word;}

/* Responsive video / embeds (YouTube, etc.) keep 16:9 and never overflow */
.entry-content iframe,.wp-block-embed iframe{max-width:100%;}
.entry-content .wp-block-embed.is-type-video .wp-block-embed__wrapper,
.entry-content .responsive-embed{position:relative;padding-top:56.25%;height:0;overflow:hidden;margin:1.4em 0;}
.entry-content .wp-block-embed.is-type-video .wp-block-embed__wrapper iframe,
.entry-content .responsive-embed iframe{position:absolute;top:0;left:0;width:100%;height:100%;}

/* Wide tables scroll instead of breaking the layout on phones */
.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;margin:1.5em 0;border-radius:8px;}
.table-scroll table{margin:0;min-width:480px;}

/* ---------- Tablet (two-up grid stays, sidebar drops under) ---------- */
@media(max-width:1024px){
  :root{--maxw:960px;}
  .layout{grid-template-columns:minmax(0,1fr) 280px;gap:32px;}
  .hero h2{font-size:32px;}
}
@media(max-width:920px){
  .layout{grid-template-columns:minmax(0,1fr);gap:38px;}
  .sidebar{max-width:680px;}
  /* sidebar widgets sit side-by-side on tablet width for balance */
  .sidebar{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;}
  .sidebar .widget.widget_media_image,.sidebar .widget.ad-zone{grid-column:1 / -1;}
}
@media(max-width:680px){
  .sidebar{display:block;}
}

/* ---------- Small phones ---------- */
@media(max-width:480px){
  .container{padding:0 16px;}
  .post-grid{gap:24px;}
  .hero h2{font-size:24px;}
  .single-post h1{font-size:26px;}
  .entry-content{font-size:17px;}
  .entry-content h2{font-size:23px;}
  .entry-content h3{font-size:20px;}
  .error-404 h1{font-size:50px;}
  .entry-content .alignleft,.entry-content .alignright{float:none;max-width:100%;margin:1em auto;}
  .d365-btn{display:block;text-align:center;}
}

/* Larger tap targets on touch devices */
@media(hover:none){
  .main-nav .menu a{padding-top:14px;padding-bottom:14px;}
}
