/*
Theme Name: Shop Style by Rose
Theme URI: https://example.com/shop-style-by-rose
Author: Refine Media
Description: A clean, responsive editorial fashion blog with affiliate-ready posts and Elementor compatibility.
Version: 1.4.0
Requires at least: 6.2
Requires PHP: 7.4
Text Domain: shop-style-by-rose
*/

:root{--ink:#141414;--muted:#6b6863;--line:#dedbd6;--paper:#fff;--warm:#f5f1eb;--accent:#8c6e54;--serif:"Cormorant Garamond",Georgia,serif;--sans:"Montserrat",Arial,sans-serif;--max:1180px}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--paper);font-family:var(--sans);font-size:16px;line-height:1.65}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}button,input,textarea{font:inherit}.site-shell{width:min(calc(100% - 48px),var(--max));margin-inline:auto}.screen-reader-text{position:absolute;left:-9999px}
.site-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line);backdrop-filter:blur(10px)}.header-inner{min-height:82px;display:flex;align-items:center;justify-content:space-between;gap:36px}.brand{font-family:var(--serif);font-size:31px;line-height:1;letter-spacing:.035em;text-transform:uppercase;white-space:nowrap}.custom-logo{width:auto;max-height:52px}.nav-wrap{display:flex;align-items:center;gap:14px;margin-left:auto}.main-menu{display:flex;align-items:center;gap:20px;list-style:none;margin:0;padding:0}.main-menu li{white-space:nowrap}.main-menu a{font-size:11px;font-weight:600;letter-spacing:.075em;text-transform:uppercase}.main-menu a:hover,.main-menu .current-menu-item>a{color:var(--accent)}.search-toggle,.menu-toggle{border:0;background:none;padding:8px;cursor:pointer;color:var(--ink)}.menu-toggle{display:none}.search-panel{display:none;padding:18px 0;border-top:1px solid var(--line)}.search-panel.is-open{display:block}.search-form{display:flex;gap:10px}.search-field{width:100%;border:1px solid var(--line);padding:12px 15px}.search-submit,.btn{display:inline-flex;align-items:center;justify-content:center;border:1px solid var(--ink);background:#fff;color:var(--ink);min-height:46px;padding:10px 24px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:.25s}.btn:hover,.search-submit:hover{background:var(--ink);color:#fff}
.hero{position:relative;width:100%;min-height:clamp(620px,calc(100vh - 82px),860px);display:flex;align-items:flex-end;background:center top/100% auto no-repeat;margin:0}.hero-shell{display:flex;align-items:flex-end;min-height:inherit}.hero-content{position:relative;z-index:1;width:100%;margin:0;padding:72px 0 70px;color:#fff}.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.58) 0%,rgba(0,0,0,.23) 48%,rgba(0,0,0,.05) 75%)}.eyebrow{display:block;margin-bottom:12px;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase}.hero h1{max-width:640px;margin:0 0 10px;font:500 clamp(50px,6vw,76px)/.92 var(--serif);letter-spacing:-.02em;text-transform:uppercase}.hero p{margin:0 0 25px;font-size:17px}.hero .btn{background:#fff}.hero .btn:hover{background:var(--ink)}
.section{padding:70px 0;clear:both}.section-head{display:flex;align-items:end;justify-content:space-between;gap:20px;margin-bottom:30px;border-bottom:1px solid var(--line);padding-bottom:18px}.section-head h2,.page-title{margin:0;font:500 clamp(38px,4vw,54px)/1 var(--serif);text-transform:uppercase}.text-link,.card-link{display:inline-block;width:max-content;border-bottom:1px solid;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;align-items:start}.post-card{min-width:0}.post-image{aspect-ratio:4/5;overflow:hidden;background:var(--warm)}.post-image img{width:100%;height:100%;object-fit:cover;transition:transform .6s}.post-card:hover .post-image img{transform:scale(1.025)}.post-meta{margin-top:17px;color:var(--muted);font-size:9px;font-weight:600;letter-spacing:.09em;text-transform:uppercase}.post-card h3{margin:8px 0 9px;font:500 30px/1.02 var(--serif);text-transform:uppercase}.post-card p{margin:0 0 15px;color:#494642;font-size:13px}.home .editorial-grid{gap:0}.home .post-card{display:grid;grid-template-columns:minmax(130px,44%) 1fr;grid-template-rows:auto auto 1fr auto;column-gap:16px;min-height:295px;padding:0 22px;border-right:1px solid var(--line)}.home .post-card:first-child{padding-left:0}.home .post-card:last-child{padding-right:0;border-right:0}.home .post-image{grid-column:1;grid-row:1/5;width:100%;height:295px;aspect-ratio:auto}.home .post-meta{grid-column:2;margin:0 0 5px}.home .post-card h3{grid-column:2;margin:0 0 10px;font-size:25px}.home .post-card p{grid-column:2;margin:0 0 12px;line-height:1.5}.home .card-link{grid-column:2;align-self:end}.categories-band{background:var(--warm);position:relative;z-index:1}.category-grid{display:grid;grid-template-columns:repeat(5,1fr);border:1px solid var(--line)}.category-tile{padding:32px 12px;text-align:center;border-right:1px solid var(--line);font-family:var(--serif);font-size:21px;text-transform:uppercase;transition:.2s}.category-tile:last-child{border:0}.category-tile:hover{background:var(--ink);color:#fff}
.archive-header{padding:70px 0 35px}.archive-description{max-width:650px;color:var(--muted)}.pagination{margin-top:48px}.nav-links{display:flex;gap:8px}.page-numbers{border:1px solid var(--line);padding:8px 14px}.page-numbers.current{background:var(--ink);color:#fff}
.article{width:min(calc(100% - 48px),850px);margin:0 auto;padding:75px 0}.article-header{text-align:center;margin-bottom:40px}.article-header h1{margin:10px 0 12px;font:500 clamp(46px,6vw,76px)/.98 var(--serif);text-transform:uppercase}.article-hero{margin-bottom:38px}.article-content{font-family:Georgia,serif;font-size:18px}.article-content h2,.article-content h3{font-family:var(--serif);line-height:1.1}.article-content a{text-decoration:underline}.affiliate-box{margin:40px 0;padding:28px;border:1px solid var(--line);background:var(--warm)}.affiliate-box h3{margin-top:0;font:500 30px var(--serif);text-transform:uppercase}.affiliate-note{font-size:12px;color:var(--muted)}
.page-content{width:min(calc(100% - 48px),900px);margin:0 auto;padding:75px 0}.page-content h1{font:500 clamp(46px,6vw,70px)/1 var(--serif);text-transform:uppercase}.contact-grid{display:grid;grid-template-columns:.8fr 1.2fr;gap:60px}.contact-form label{display:block;margin-bottom:18px;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.contact-form input,.contact-form textarea{display:block;width:100%;margin-top:7px;padding:13px;border:1px solid var(--line);background:#fff}.contact-form textarea{min-height:150px}
.site-footer{border-top:1px solid var(--line);padding:32px 0}.footer-inner{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:25px}.footer-brand{font-family:var(--serif);font-size:27px;text-transform:uppercase}.socials,.footer-menu{display:flex;gap:16px;list-style:none;margin:0;padding:0;font-size:11px;text-transform:uppercase;letter-spacing:.06em}.footer-menu{justify-content:flex-end}.copyright{grid-column:1/-1;text-align:right;color:var(--muted);font-size:10px;text-transform:uppercase}
.empty-state{padding:60px 0}.error404{text-align:center;padding:110px 20px}.error404 h1{font:500 90px var(--serif);margin:0}
@media(max-width:1050px){.header-inner{min-height:72px}.brand{font-size:25px}.menu-toggle{display:block}.nav-wrap{gap:5px}.main-menu{display:none;position:absolute;left:0;right:0;top:72px;background:#fff;border-bottom:1px solid var(--line);padding:20px 24px;flex-direction:column;align-items:flex-start}.main-menu.is-open{display:flex}.hero{min-height:540px}.editorial-grid{grid-template-columns:repeat(2,1fr)}.home .editorial-grid{gap:28px}.home .post-card{display:block;min-height:0;padding:0;border:0}.home .post-card:first-child,.home .post-card:last-child{padding:0}.home .post-image{height:auto;aspect-ratio:4/5}.home .post-meta{margin-top:14px}.category-grid{grid-template-columns:repeat(2,1fr)}.category-tile:nth-child(even){border-right:0}.category-tile{border-bottom:1px solid var(--line)}.footer-inner{grid-template-columns:1fr 1fr}.footer-menu{grid-column:1/-1;justify-content:flex-start}.copyright{text-align:left}.contact-grid{grid-template-columns:1fr}}
@media(max-width:620px){.site-shell{width:min(calc(100% - 30px),var(--max))}.brand{font-size:20px}.hero{min-height:500px}.hero-content{padding:42px 22px}.hero h1{font-size:45px}.hero p{font-size:15px}.section{padding:52px 0}.section-head{align-items:flex-start;flex-direction:column}.editorial-grid{grid-template-columns:1fr;gap:42px}.post-card h3,.home .post-card h3{font-size:32px}.category-grid{grid-template-columns:1fr}.category-tile{border-right:0}.footer-inner{grid-template-columns:1fr}.footer-menu,.socials{flex-wrap:wrap}.article,.page-content{width:calc(100% - 30px);padding:55px 0}.article-header{text-align:left}.article-header h1{font-size:47px}.contact-grid{gap:28px}}

/* Elementor compatibility */
.elementor-page-content{width:100%;max-width:none;margin:0;padding:0;overflow:hidden}.elementor-page .site-main,.elementor-page-content>.elementor{width:100%;max-width:none}.elementor-section.elementor-section-stretched,.e-con.e-con-full{max-width:none}.elementor-page-content .elementor-element{box-sizing:border-box}
@media(min-width:1051px){body.home .hero{min-height:calc(100vh - 82px)}}
/* Elementor seeded hero */
.ssbr-elementor-hero{min-height:calc(100vh - 82px)!important;display:flex;align-items:flex-end;background-position:center top!important;background-size:100% auto!important}
.ssbr-elementor-hero>.elementor-container{width:min(calc(100% - 48px),var(--max));margin-inline:auto;align-items:flex-end}
.ssbr-elementor-hero .elementor-widget-wrap{align-content:flex-end;padding:0!important}
.ssbr-elementor-hero .elementor-heading-title{max-width:700px;color:#fff;font-family:var(--serif);font-size:clamp(50px,6vw,76px);font-weight:500;line-height:.92;text-transform:uppercase}
.ssbr-elementor-hero .eyebrow .elementor-heading-title{font-family:var(--sans);font-size:11px;font-weight:600;line-height:1.4;letter-spacing:.12em;text-transform:uppercase}
.ssbr-elementor-hero .elementor-widget-text-editor{max-width:700px;color:#fff;font-size:17px}
.ssbr-elementor-hero .elementor-button{background:#fff;color:var(--ink);border:1px solid var(--ink);border-radius:0;padding:15px 24px;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}
@media(max-width:1050px){.ssbr-elementor-hero{min-height:540px!important}.ssbr-elementor-hero>.elementor-container{width:min(calc(100% - 36px),var(--max))}}
@media(max-width:620px){.ssbr-elementor-hero{min-height:500px!important}.ssbr-elementor-hero>.elementor-container{width:calc(100% - 30px)}.ssbr-elementor-hero .elementor-heading-title{font-size:45px}}


/* ==========================================================
   v1.3 HERO SAFE MODE
   Keeps the top of the hero image visible on desktop so faces
   cannot be cropped by Elementor's cover positioning.
   ========================================================== */
@media (min-width:1051px){
  html body.home .hero,
  html body.home .ssbr-elementor-hero,
  html body.home .elementor-page-content > .elementor > .elementor-section:first-child,
  html body.home .elementor-page-content > .elementor > .e-con:first-child{
    min-height:clamp(620px,min(calc(100vh - 82px),50vw),860px)!important;
    background-position:center top!important;
    background-size:100% auto!important;
    background-repeat:no-repeat!important;
  }
}
@media (min-width:621px) and (max-width:1050px){
  html body.home .hero,
  html body.home .ssbr-elementor-hero,
  html body.home .elementor-page-content > .elementor > .elementor-section:first-child,
  html body.home .elementor-page-content > .elementor > .e-con:first-child{
    background-position:66% top!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
  }
}
@media (max-width:620px){
  html body.home .hero,
  html body.home .ssbr-elementor-hero,
  html body.home .elementor-page-content > .elementor > .elementor-section:first-child,
  html body.home .elementor-page-content > .elementor > .e-con:first-child{
    background-position:72% top!important;
    background-size:cover!important;
    background-repeat:no-repeat!important;
  }
}


/* =========================================================
   v1.4 - Fully editable Elementor homepage/lookbook sections
   Every visible item is a native Elementor widget; no shortcode widgets.
========================================================= */
.ssbr-edit-section,
.ssbr-edit-card-grid,
.ssbr-edit-category-grid,
.ssbr-lookbook-grid{
  position:relative;
}
.ssbr-edit-section>.elementor-container,
.ssbr-edit-card-grid>.elementor-container,
.ssbr-edit-category-grid>.elementor-container,
.ssbr-lookbook-grid>.elementor-container{
  width:min(calc(100% - 48px),var(--max));
  margin-inline:auto;
}
.ssbr-edit-section{padding:70px 0 0!important}
.ssbr-edit-section .ssbr-edit-eyebrow .elementor-heading-title{
  font-family:var(--sans);font-size:11px;font-weight:600;line-height:1.4;
  letter-spacing:.12em;text-transform:uppercase;color:var(--ink)
}
.ssbr-edit-section .ssbr-edit-title .elementor-heading-title{
  margin:0;font-family:var(--serif);font-size:clamp(38px,4vw,54px);
  font-weight:500;line-height:1;text-transform:uppercase;color:var(--ink)
}
.ssbr-edit-section .ssbr-edit-header-col{
  border-bottom:1px solid var(--line);padding-bottom:18px!important
}
.ssbr-edit-card-grid{padding:30px 0 70px!important}
.ssbr-edit-card-grid>.elementor-container,
.ssbr-lookbook-grid>.elementor-container{align-items:stretch}
.ssbr-edit-card{padding:0 14px!important}
.ssbr-edit-card:first-child{padding-left:0!important}
.ssbr-edit-card:last-child{padding-right:0!important}
.ssbr-edit-card .elementor-widget-image{margin-bottom:16px}
.ssbr-edit-card .elementor-widget-image img{
  display:block;width:100%;height:auto;aspect-ratio:4/5;object-fit:cover
}
.ssbr-edit-card .ssbr-card-meta .elementor-heading-title{
  font-family:var(--sans);font-size:9px;font-weight:600;line-height:1.4;
  letter-spacing:.09em;text-transform:uppercase;color:var(--muted)
}
.ssbr-edit-card .ssbr-card-title .elementor-heading-title{
  font-family:var(--serif);font-size:30px;font-weight:500;line-height:1.02;
  text-transform:uppercase;color:var(--ink)
}
.ssbr-edit-card .ssbr-card-copy,
.ssbr-edit-card .ssbr-card-copy p{
  color:#494642;font-family:var(--sans);font-size:13px;line-height:1.5
}
.ssbr-edit-card .elementor-button{
  background:transparent;color:var(--ink);border:0;border-bottom:1px solid var(--ink);
  border-radius:0;padding:0 0 3px;font-size:10px;font-weight:700;
  letter-spacing:.08em;text-transform:uppercase
}
.ssbr-edit-category-wrap{background:var(--warm);padding:0 0 70px!important}
.ssbr-edit-category-grid>.elementor-container{border:1px solid var(--line)}
.ssbr-edit-category{
  min-height:84px;border-right:1px solid var(--line);display:flex;align-items:center
}
.ssbr-edit-category:last-child{border-right:0}
.ssbr-edit-category .elementor-widget-button{width:100%}
.ssbr-edit-category .elementor-button{
  width:100%;min-height:82px;background:transparent;color:var(--ink);border:0;border-radius:0;
  font-family:var(--serif);font-size:21px;font-weight:500;text-transform:uppercase
}
.ssbr-edit-category .elementor-button:hover{background:var(--ink);color:#fff}
.ssbr-lookbook-grid{padding:30px 0 70px!important}

@media(max-width:1050px){
  .ssbr-edit-section>.elementor-container,
  .ssbr-edit-card-grid>.elementor-container,
  .ssbr-edit-category-grid>.elementor-container,
  .ssbr-lookbook-grid>.elementor-container{width:min(calc(100% - 36px),var(--max));flex-wrap:wrap}
  .ssbr-edit-card,.ssbr-edit-category{width:50%!important;padding:0 12px!important}
  .ssbr-edit-category{border-bottom:1px solid var(--line)}
}
@media(max-width:620px){
  .ssbr-edit-section{padding-top:52px!important}
  .ssbr-edit-card-grid,.ssbr-lookbook-grid{padding-bottom:52px!important}
  .ssbr-edit-section>.elementor-container,
  .ssbr-edit-card-grid>.elementor-container,
  .ssbr-edit-category-grid>.elementor-container,
  .ssbr-lookbook-grid>.elementor-container{width:calc(100% - 30px)}
  .ssbr-edit-card,.ssbr-edit-category{width:100%!important;padding:0!important}
  .ssbr-edit-card{margin-bottom:42px}
  .ssbr-edit-card .ssbr-card-title .elementor-heading-title{font-size:32px}
  .ssbr-edit-category{border-right:0}
}
.ssbr-edit-header-right{display:flex;align-items:flex-end;justify-content:flex-end}
.ssbr-edit-header-right .elementor-widget-wrap{align-content:flex-end;justify-content:flex-end}
.ssbr-view-all .elementor-button{background:transparent!important;color:var(--ink)!important;border:0!important;border-bottom:1px solid var(--ink)!important;border-radius:0!important;padding:0 0 3px!important;font-size:10px!important;font-weight:700!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.ssbr-edit-category-wrap.ssbr-edit-section{background:var(--warm)}
.ssbr-edit-category-wrap.ssbr-edit-section>.elementor-container{padding-top:0}
@media(max-width:620px){.ssbr-edit-header-right{justify-content:flex-start}.ssbr-edit-header-right .elementor-widget-wrap{justify-content:flex-start}}
