/*
Theme Name: Shylook
Theme URI: https://shylook.in
Author: Shylook Editorial
Author URI: https://shylook.in
Description: An editorial blog theme for Shylook — fit guides, fabric care, and comfort-first stories. Soft blush and orchid palette, serif display type, magazine-style post grid.
Version: 1.0.0
Requires at least: 6.0
Requires PHP: 7.4
Tested up to: 6.6
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: shylook
Tags: blog, custom-menu, custom-logo, featured-images, translation-ready, two-columns

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.
*/

:root{
  --bg:            #FBF1F4;
  --bg-lilac:      #F0DCEF;
  --ink:           #3B1D3E;
  --ink-soft:      #6B4A6E;
  --rose:          #C3487D;
  --rose-deep:     #A63868;
  --orchid:        #7B3F96;
  --gold:          #B98A4E;
  --line:          #E3C7DA;
  --max: 1180px;
}

*{ box-sizing:border-box; }
html{ scroll-behavior:smooth; }
body{
  margin:0;
  background:var(--bg);
  color:var(--ink);
  font-family:'Nunito Sans', sans-serif;
  font-size:16px;
  line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
h1,h2,h3,h4,.serif{
  font-family:'Cormorant Garamond', serif;
  font-weight:500;
  color:var(--ink);
  margin:0 0 0.4em;
  line-height:1.15;
}
a{ color:inherit; }
img{ max-width:100%; height:auto; display:block; }
.wrap{ max-width:var(--max); margin:0 auto; padding:0 28px; }
.screen-reader-text{
  position:absolute !important;
  left:-9999px;
  width:1px; height:1px;
  overflow:hidden;
}
:focus-visible{
  outline:3px solid var(--orchid);
  outline-offset:3px;
}

/* ---------- Header ---------- */
.site-header{
  border-bottom:1px solid var(--line);
  background:rgba(251,241,244,0.92);
  backdrop-filter:blur(6px);
  position:sticky; top:0; z-index:50;
}
.nav{
  display:flex; align-items:center; justify-content:space-between;
  padding:20px 28px;
  max-width:var(--max); margin:0 auto;
}
.logo{
  font-family:'Cormorant Garamond', serif;
  font-size:28px;
  font-style:italic;
  letter-spacing:0.5px;
  color:var(--rose-deep);
  text-decoration:none;
}
.logo span{ color:var(--orchid); }
.logo img{ max-height:44px; }

.nav-links{ display:flex; gap:32px; list-style:none; margin:0; padding:0; }
.nav-links li{ position:relative; }
.nav-links a{
  text-decoration:none;
  font-size:15px;
  color:var(--ink-soft);
  padding:6px 2px;
  border-bottom:2px solid transparent;
  transition:border-color .2s ease, color .2s ease;
}
.nav-links a:hover, .nav-links .current-menu-item > a{ color:var(--rose-deep); border-color:var(--rose); }
.nav-toggle{ display:none; background:none; border:none; cursor:pointer; padding:8px; }
.nav-toggle span{ display:block; width:24px; height:2px; background:var(--ink); margin:5px 0; }

/* ---------- Hero / page intro ---------- */
.hero{ padding:64px 0 56px; border-bottom:1px solid var(--line); }
.hero-grid{ display:grid; grid-template-columns:1.5fr 1fr; gap:56px; align-items:end; }
.hero-eyebrow{ font-size:14px; color:var(--gold); margin-bottom:14px; font-weight:600; }
.hero h1{ font-size:clamp(38px, 5vw, 62px); max-width:14ch; }
.hero p.lede{ margin-top:22px; font-size:18px; color:var(--ink-soft); max-width:48ch; }
.btn{
  display:inline-flex; align-items:center; gap:10px;
  background:var(--rose-deep); color:#fff; text-decoration:none;
  padding:14px 26px; border-radius:999px; font-weight:600; font-size:15px;
  border:none; cursor:pointer; font-family:inherit;
  transition:background .2s ease, transform .2s ease;
}
.btn:hover{ background:var(--orchid); transform:translateY(-1px); color:#fff; }

.category-list{ border-left:1px solid var(--line); padding-left:36px; display:flex; flex-direction:column; gap:18px; list-style:none; margin:0; }
.category-list a{ text-decoration:none; display:flex; justify-content:space-between; font-size:17px; color:var(--ink); padding-bottom:14px; border-bottom:1px solid var(--line); }
.category-list a .count{ color:var(--ink-soft); font-size:14px; }
.category-list a:hover{ color:var(--rose-deep); }

/* ---------- Section heading ---------- */
.section-head{ display:flex; justify-content:space-between; align-items:baseline; margin:56px 0 32px; }
.section-head h2{ font-size:34px; }
.section-head a{ font-size:14px; text-decoration:none; color:var(--rose-deep); border-bottom:1px solid var(--rose); white-space:nowrap; }

/* ---------- Content layout ---------- */
.content-layout{ display:grid; grid-template-columns:2.2fr 1fr; gap:56px; align-items:start; padding-bottom:64px; }

/* ---------- Post grid ---------- */
.post-grid{ display:grid; grid-template-columns:repeat(2, 1fr); gap:32px; }
/* Homepage "latest posts" grid — full width, 3 columns */
.post-grid--3col{ grid-template-columns:repeat(3, 1fr); gap:36px 32px; }
.post-grid--3col .post-card:nth-child(3n+2){ margin-top:34px; }
.post-grid--3col .post-card:nth-child(3n+3){ margin-top:0; }
.post-card{ display:flex; flex-direction:column; text-decoration:none; color:inherit; }
.post-thumb{
  aspect-ratio:4/5; border-radius:18px; overflow:hidden;
  background:linear-gradient(160deg, var(--bg-lilac), #fff);
  border:1px solid var(--line); margin-bottom:18px; position:relative;
}
.post-thumb img{ width:100%; height:100%; object-fit:cover; }
.post-thumb .tag{
  position:absolute; left:14px; bottom:14px;
  background:rgba(59,29,62,0.85); color:#fff; font-size:12px;
  padding:5px 12px; border-radius:999px; letter-spacing:0.3px;
}
.post-card h2, .post-card h3{ font-size:23px; margin-bottom:8px; }
.post-card p{ color:var(--ink-soft); font-size:15px; margin:0; }
.post-meta{ margin-top:12px; font-size:13px; color:var(--gold); }

/* ---------- Single post ---------- */
.single-post-header{ padding:56px 0 32px; border-bottom:1px solid var(--line); }
.single-post-header .post-meta{ margin-bottom:14px; }
.single-post-header h1{ font-size:clamp(32px, 4.5vw, 50px); max-width:20ch; }
.single-thumb{ margin:32px 0; border-radius:20px; overflow:hidden; border:1px solid var(--line); }
.entry-content{ font-size:17px; max-width:70ch; }
.entry-content p{ margin:0 0 1.3em; }
.entry-content h2{ font-size:28px; margin-top:1.6em; }
.entry-content h3{ font-size:22px; margin-top:1.4em; }
.entry-content blockquote{
  margin:2em 0; padding:20px 28px; background:var(--bg-lilac);
  border-left:4px solid var(--rose); border-radius:0 14px 14px 0; font-style:italic;
}
.entry-content img{ border-radius:16px; margin:1.6em 0; }
.entry-content a{ color:var(--rose-deep); text-decoration-color:var(--rose); }
.tags-links{ margin-top:32px; font-size:14px; color:var(--ink-soft); }
.tags-links a{ text-decoration:none; border-bottom:1px solid var(--line); }

/* ---------- Sidebar / widgets ---------- */
.widget{ margin-bottom:44px; }
.widget h2, .widget .widget-title{ font-size:20px; margin-bottom:18px; }
.widget ul{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:12px; }
.widget ul li{ padding-bottom:12px; border-bottom:1px solid var(--line); font-size:15px; }
.widget a{ text-decoration:none; }
.widget a:hover{ color:var(--rose-deep); }
.search-form{ display:flex; gap:8px; }
.search-form input[type="search"]{
  flex:1; padding:12px 16px; border-radius:999px; border:1px solid var(--line); font-family:inherit;
}
.search-form button{
  background:var(--rose-deep); color:#fff; border:none; padding:0 20px; border-radius:999px; cursor:pointer;
}

/* ---------- Callout ---------- */
.callout{ margin:64px 0; background:var(--bg-lilac); border-radius:28px; padding:64px; display:grid; grid-template-columns:1fr 1fr; gap:48px; align-items:center; }
.callout h2{ font-size:38px; font-style:italic; }
.callout p{ color:var(--ink-soft); margin-top:18px; font-size:16px; max-width:42ch; }
.callout-list{ list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:16px; }
.callout-list li{ padding-left:28px; position:relative; font-size:16px; }
.callout-list li::before{ content:""; position:absolute; left:0; top:9px; width:8px; height:8px; border-radius:50%; background:var(--rose); }

/* ---------- Newsletter widget ---------- */
.newsletter{ border-top:1px solid var(--line); border-bottom:1px solid var(--line); padding:56px 0; text-align:center; }
.newsletter h2{ font-size:30px; }
.newsletter p{ color:var(--ink-soft); margin-top:10px; }
form.subscribe{ margin:28px auto 0; display:flex; max-width:440px; gap:10px; }
form.subscribe input[type="email"]{ flex:1; padding:14px 18px; border-radius:999px; border:1px solid var(--line); font-size:15px; font-family:inherit; background:#fff; }
form.subscribe input[type="email"]:focus{ border-color:var(--orchid); }
form.subscribe button{ background:var(--rose-deep); color:#fff; border:none; padding:14px 24px; border-radius:999px; font-weight:600; cursor:pointer; font-family:inherit; font-size:15px; transition:background .2s ease; }
form.subscribe button:hover{ background:var(--orchid); }
.form-note{ font-size:12px; color:var(--ink-soft); margin-top:10px; }
.hp-field{ position:absolute; left:-9999px; top:auto; width:1px; height:1px; overflow:hidden; }

/* ---------- Comments ---------- */
.comments-area{ margin-top:56px; padding-top:40px; border-top:1px solid var(--line); }
.comment-list{ list-style:none; margin:0; padding:0; }
.comment-list li{ margin-bottom:28px; padding-bottom:28px; border-bottom:1px solid var(--line); }
.comment-author{ font-weight:700; font-size:15px; }
.comment-meta{ font-size:12px; color:var(--ink-soft); margin-bottom:8px; }
.comment-form input, .comment-form textarea{
  width:100%; padding:12px 16px; border-radius:12px; border:1px solid var(--line); font-family:inherit; margin-bottom:14px;
}
.comment-form textarea{ min-height:120px; }

/* ---------- Pagination ---------- */
.pagination{ display:flex; gap:10px; margin-top:48px; flex-wrap:wrap; }
.pagination a, .pagination span{
  padding:10px 16px; border:1px solid var(--line); border-radius:999px; text-decoration:none; font-size:14px;
}
.pagination .current{ background:var(--rose-deep); color:#fff; border-color:var(--rose-deep); }

/* ---------- Footer ---------- */
.site-footer{ padding:48px 0 32px; }
.footer-grid{ display:flex; justify-content:space-between; flex-wrap:wrap; gap:24px; border-bottom:1px solid var(--line); padding-bottom:32px; }
.footer-links{ display:flex; gap:28px; list-style:none; padding:0; margin:0; flex-wrap:wrap; }
.footer-links a{ text-decoration:none; font-size:14px; color:var(--ink-soft); }
.footer-links a:hover{ color:var(--rose-deep); }
.footer-bottom{ padding-top:20px; font-size:13px; color:var(--ink-soft); display:flex; justify-content:space-between; flex-wrap:wrap; gap:8px; }

@media (max-width:900px){
  .hero-grid{ grid-template-columns:1fr; }
  .category-list{ border-left:none; padding-left:0; border-top:1px solid var(--line); padding-top:24px; }
  .content-layout{ grid-template-columns:1fr; }
  .post-grid{ grid-template-columns:1fr; }
  .post-grid--3col{ grid-template-columns:repeat(2, 1fr); }
  .post-grid--3col .post-card{ margin-top:0 !important; }
  .callout{ grid-template-columns:1fr; padding:40px 28px; }
  .nav-links{ display:none; }
  .nav-links.is-open{ display:flex; flex-direction:column; position:absolute; top:100%; left:0; right:0; background:var(--bg); padding:20px 28px; border-bottom:1px solid var(--line); }
  .nav-toggle{ display:block; }
}
@media (max-width:600px){
  form.subscribe{ flex-direction:column; }
  .post-grid--3col{ grid-template-columns:1fr; }
}

@media (prefers-reduced-motion: reduce){
  *{ scroll-behavior:auto !important; transition:none !important; }
}
