/*
Theme Name: SIMONEDELUXE Magazine
Theme URI: https://simonedeluca.it/
Author: Simone De Luca
Description: Custom editorial magazine theme for SIMONEDELUXE — Fotografia, Video, Streaming.
Version: 1.2.1
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: simonedeluxe
*/
:root{
  --paper:#f5f1e8;
  --ink:#151515;
  --muted:#6d6a62;
  --yellow:#d7ad2b;
  --line:#222;
  --max:1480px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{
  margin:0;
  background:var(--paper);
  color:var(--ink);
  font-family: Georgia, "Times New Roman", serif;
  line-height:1.45;
}
a{color:inherit;text-decoration:none}
img{max-width:100%;height:auto;display:block}
.site-wrap{max-width:var(--max);margin:auto;padding:0 28px}
.topline{
  display:grid;grid-template-columns:1fr auto 1fr;gap:20px;
  align-items:center;border-bottom:1px solid var(--line);
  padding:10px 0;font:11px/1.2 "Courier New",monospace;
  text-transform:uppercase;letter-spacing:.12em
}
.topline .right{text-align:right}
.masthead{
  display:grid;grid-template-columns:1fr auto 1fr;align-items:end;
  border-bottom:1px solid var(--line);padding:14px 0 6px
}
.brand{
  grid-column:1 / 3;
  font-family: "Times New Roman", Georgia, serif;
  font-size:clamp(58px,9.1vw,145px);font-weight:900;
  line-height:.78;letter-spacing:-.065em;text-transform:uppercase;
  white-space:nowrap
}
.brand a{display:inline-block}
.mast-note{
  grid-column:3;text-align:right;border-left:1px solid var(--line);
  padding-left:18px;font:12px/1.35 "Courier New",monospace;
  text-transform:uppercase;letter-spacing:.08em
}
.services{
  display:flex;justify-content:center;gap:0;
  border-bottom:1px solid var(--line);padding:8px 0;
  font:700 clamp(15px,2vw,28px)/1 "Arial Narrow","Helvetica Neue",Arial,sans-serif;
  letter-spacing:.22em;text-transform:uppercase
}
.services a{padding:0 30px;border-right:1px solid var(--line);color:inherit;text-decoration:none}
.services a:last-child{border:0}
.services a:hover{text-decoration:underline;text-underline-offset:3px}
.main-nav{display:flex;justify-content:space-between;gap:20px;padding:8px 0;border-bottom:1px solid var(--line)}
.main-nav a{font:11px "Courier New",monospace;text-transform:uppercase;letter-spacing:.08em}
.hero{margin:12px 0 28px;position:relative}
.hero-media{position:relative;overflow:hidden;background:#252525;min-height:360px}
.hero-media img{width:100%;height:min(62vw,680px);object-fit:cover}
.hero-copy{
  position:absolute;left:0;bottom:0;width:min(560px,58%);
  padding:35px;color:#fff;
  background:linear-gradient(90deg,rgba(0,0,0,.88),rgba(0,0,0,.1),transparent)
}
.kicker{font:11px "Courier New",monospace;text-transform:uppercase;letter-spacing:.14em}
.hero h1{font-size:clamp(34px,4.2vw,64px);line-height:.92;margin:12px 0}
.hero .dek{font:16px/1.4 "Courier New",monospace;max-width:440px}
.yellow-rule{display:block;width:90px;height:5px;background:var(--yellow);margin:16px 0}
.read-more{display:inline-block;border-bottom:4px solid var(--yellow);font:700 12px "Courier New",monospace;text-transform:uppercase;letter-spacing:.05em;padding-bottom:5px}
.section-head{display:flex;align-items:end;justify-content:space-between;border-top:2px solid var(--line);border-bottom:1px solid var(--line);padding:8px 0;margin-top:28px}
.section-head h2{font-size:clamp(40px,4.5vw,68px);line-height:.9;margin:0;text-transform:uppercase;letter-spacing:-.04em}
.section-head .meta{font:11px "Courier New",monospace;text-transform:uppercase;letter-spacing:.1em}
.editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-bottom:1px solid var(--line)}
.column{
  padding:18px 22px 28px;border-right:1px solid var(--line);
}
.column:first-child{padding-left:0}
.column:last-child{border-right:0;padding-right:0}
.column.video{padding-top:18px}
.column.streaming{padding-top:18px}
.column-title{
  font-size:clamp(34px,3.4vw,54px);line-height:.9;
  margin:0 0 12px;text-transform:uppercase;letter-spacing:-.045em;
  border-bottom:1px solid var(--line);padding-bottom:8px
}
.column-title a{color:inherit;text-decoration:none;display:block}
.column-title a:hover{color:inherit}
.column-intro{font:12px/1.45 "Courier New",monospace;text-transform:uppercase;letter-spacing:.03em;margin-bottom:16px}
.story{padding:16px 0;border-bottom:1px solid #777}
.story:last-child{border-bottom:0}
.story-image{display:block;margin:0 0 10px;line-height:0}
.story-image img{display:block;width:100%;height:auto;object-fit:contain}
.story .kicker{margin-bottom:5px}
.story h3{font-size:24px;line-height:.96;margin:5px 0 8px}
.story p{font:14px/1.45 Georgia,serif;margin:0 0 12px}
.news-head{margin-top:28px}
.news-strip-wrap{overflow-x:auto;overflow-y:hidden;scrollbar-width:thin;border-bottom:2px solid var(--line);padding-bottom:2px}
.news-grid{display:flex;gap:0;width:max-content;min-width:100%}
.news-item{width:clamp(260px,22vw,340px);flex:0 0 clamp(260px,22vw,340px);padding:18px 20px;border-right:1px solid var(--line)}
.news-item:first-child{padding-left:0}
.news-item:last-child{border-right:0}
.news-image{display:block;margin:-18px -20px 16px;overflow:hidden;aspect-ratio:16/9;background:#d9d3c7}
.news-item:first-child .news-image{margin-left:0}
.news-image img{width:100%;height:100%;object-fit:cover;transition:transform .25s ease}
.news-image:hover img{transform:scale(1.025)}
.news-date{font:10px "Courier New",monospace;text-transform:uppercase}
.news-item h3{font-size:23px;line-height:1;margin:8px 0}
.news-item p{font:13px/1.4 Georgia,serif;margin-bottom:12px}
.news-archive-link{display:flex;justify-content:flex-end;padding:16px 0 2px}
.site-footer{
  display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;
  border-top:1px solid var(--line);padding:22px 12px 28px;margin-top:30px;text-align:center
}
.footer-name{font:600 20px/1.2 Georgia,serif}
.footer-contacts{display:flex;align-items:center;justify-content:center;gap:12px;flex-wrap:wrap;font:12px/1.5 "Courier New",monospace}
.footer-contacts a{color:inherit;text-decoration:none}
.footer-contacts a:hover{text-decoration:underline}
.footer-separator{color:var(--yellow)}
.footer-contact-link{font:11px/1.4 "Courier New",monospace;letter-spacing:.08em;color:inherit;text-decoration:none;border-bottom:1px solid var(--yellow);padding-bottom:2px;margin-top:3px}
.footer-contact-link:hover{text-decoration:none;color:var(--muted)}
.single-main{padding-bottom:10px}
.single-header{border-top:2px solid var(--line);padding:25px 0 20px}
.single-header h1{font-size:clamp(52px,7vw,112px);line-height:.88;margin:10px 0;letter-spacing:-.055em;max-width:1200px}
.single-meta{font:11px "Courier New",monospace;text-transform:uppercase;letter-spacing:.06em}
.single-dek{font:16px/1.45 "Courier New",monospace;max-width:760px;margin-top:18px}
.single-hero-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(220px,1fr);gap:38px;align-items:start}
.single-feature-image{margin:0;overflow:hidden;background:#d9d3c7}
.single-feature-image img{width:100%;max-height:720px;object-fit:cover}
.sidebar-note{border-left:1px solid var(--line);padding:4px 0 20px 20px;font:12px/1.5 "Courier New",monospace;text-transform:uppercase;letter-spacing:.02em;min-height:160px}
.sidebar-note .yellow-rule{margin:18px 0}
.single-body{max-width:980px;margin:38px 0 0}
.article-content{font-size:21px;line-height:1.62}
.article-content p{max-width:900px;margin:0 0 22px}
.article-content h2{font-size:42px;line-height:1;margin:38px 0 15px;letter-spacing:-.035em}
.article-content h3{font-size:30px;line-height:1.05;margin:30px 0 12px}
.article-content blockquote{border-left:5px solid var(--yellow);margin:30px 0;padding:5px 25px;font-style:italic;font-size:28px;line-height:1.2}
.article-content img{margin:25px 0}
.article-gallery{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-top:30px}
.article-gallery img{width:100%;height:100%;object-fit:cover}
.single-bottom{display:flex;justify-content:space-between;gap:20px;border-top:1px solid var(--line);margin-top:45px;padding:18px 0 0}

.photo-archive-head{border-top:2px solid var(--line);border-bottom:1px solid var(--line);padding:22px 0 18px;margin-bottom:0}
.photo-archive-head h1{font-size:clamp(70px,11vw,170px);line-height:.78;margin:12px 0 10px;letter-spacing:-.06em}
.photo-archive-intro{font:12px/1.4 "Courier New",monospace;text-transform:uppercase;letter-spacing:.06em}
.photo-mosaic{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-auto-rows:6px;grid-auto-flow:dense;gap:0;background:var(--ink);overflow:hidden}
.photo-tile{position:relative;display:block;overflow:hidden;background:#111;min-width:0}
.photo-tile img{width:100%;height:100%;object-fit:cover;transition:filter .22s ease,transform .22s ease;will-change:filter,transform}
.photo-tile:hover img{filter:brightness(1.08) contrast(1.03);transform:scale(1.008)}
.photo-tile-label{position:absolute;left:12px;bottom:10px;max-width:calc(100% - 24px);padding:5px 7px;background:rgba(245,241,232,.92);font:10px/1.1 "Courier New",monospace;text-transform:uppercase;letter-spacing:.04em;opacity:0;transform:translateY(4px);transition:opacity .18s ease,transform .18s ease}
.photo-tile:hover .photo-tile-label,.photo-tile:focus-visible .photo-tile-label{opacity:1;transform:none}
.photo-empty{padding:80px 0;border-bottom:1px solid var(--line)}
.photo-empty h2{font-size:42px;margin:0 0 8px}
.photo-empty p{font:13px/1.5 "Courier New",monospace}

.archive-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border-top:1px solid var(--line)}
.archive-card{padding:20px;border-right:1px solid var(--line);border-bottom:1px solid var(--line)}
.archive-card:nth-child(3n+1){padding-left:0}
.archive-card:nth-child(3n){border-right:0;padding-right:0}
.archive-card h2{font-size:32px;line-height:.95;margin:8px 0}
/* Responsive layout: desktop, tablet and mobile are intentionally reflowed with native CSS. */
@media (max-width: 1100px){
  .site-wrap{padding:0 20px}
  .brand{font-size:clamp(58px,8.8vw,112px)}
  .mast-note{font-size:10px;padding-left:12px}
  .services{font-size:clamp(14px,2.2vw,24px)}
  .services a{padding:0 18px}
  .column-title{font-size:clamp(38px,4.5vw,60px)}
}

@media (max-width: 800px){
  .site-wrap{padding:0 16px}

  /* Topline becomes a compact three-part header. */
  .topline{
    display:grid;
    grid-template-columns:1fr auto 1fr;
    gap:8px;
    padding:8px 0;
    font-size:9px;
    letter-spacing:.07em;
  }
  .topline > div:nth-child(2){text-align:center}
  .topline .right{text-align:right;grid-column:auto;border:0;padding:0}

  /* Mobile masthead: no side column and, importantly, no vertical rule. */
  .masthead{
    display:block;
    padding:12px 0 7px;
  }
  .brand{
    display:block;
    width:100%;
    font-size:clamp(42px,11.8vw,88px);
    line-height:.82;
    letter-spacing:-.075em;
    white-space:nowrap;
    overflow:hidden;
    text-align:center;
  }
  .mast-note{
    display:flex;
    justify-content:center;
    gap:0 14px;
    border:0;
    padding:9px 0 0;
    text-align:center;
    font-size:9px;
    line-height:1.25;
    letter-spacing:.06em;
  }
  .mast-note br{display:none}

  .services{
    display:flex;
    width:100%;
    justify-content:center;
    overflow:hidden;
    padding:8px 0;
    font-size:clamp(12px,3.2vw,18px);
    letter-spacing:.09em;
  }
  .services a{padding:0 9px;white-space:nowrap}

  .main-nav{
    justify-content:flex-start;
    gap:28px;
    overflow-x:auto;
    overflow-y:hidden;
    white-space:nowrap;
    scrollbar-width:none;
    -webkit-overflow-scrolling:touch;
  }
  .main-nav::-webkit-scrollbar{display:none}
  .main-nav a{font-size:10px;flex:0 0 auto}

  .hero{margin:8px 0 22px}
  .hero-media{min-height:0}
  .hero-media img{
    width:100%;
    height:70vw;
    min-height:300px;
    max-height:560px;
    object-fit:cover;
  }
  .hero-copy{
    position:absolute;
    left:0;right:0;bottom:0;
    width:100%;
    padding:18px 18px 16px;
  }
  .hero h1{font-size:clamp(30px,8.8vw,48px);margin:7px 0;line-height:.92}
  .hero .dek{font-size:12px;line-height:1.35;max-width:42em}
  .yellow-rule{height:4px;width:70px;margin:11px 0}

  .editorial-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0}
  .column,
  .column.video,
  .column.streaming{
    min-width:0;padding:14px 8px 18px;border-right:1px solid var(--line);border-bottom:0;
  }
  .column:first-child{padding-left:0}
  .column:last-child{padding-right:0;border-right:0}
  .column-title{font-size:clamp(18px,5.3vw,30px);margin-bottom:8px;letter-spacing:-.04em}
  .column-intro{font-size:8px;line-height:1.35;letter-spacing:0;margin-bottom:8px}
  .story{padding:10px 0}
  .story .kicker{font-size:8px}
  .story h3{font-size:clamp(12px,3.5vw,17px);line-height:1.02;overflow-wrap:anywhere}
  .story p{font-size:11px;line-height:1.3}
  .story .read-more{font-size:9px}
  .story-image{margin-bottom:7px}
  .story-image img{width:100%;height:auto;object-fit:contain}

  .section-head{margin-top:22px}
  .section-head h2{font-size:clamp(38px,9.5vw,58px)}
  .section-head .meta{font-size:9px}

  .news-strip-wrap{margin-left:-16px;margin-right:-16px;padding-left:16px}
  .news-grid{min-width:max-content}
  .news-item{width:78vw;flex-basis:78vw;padding:16px 18px}
  .news-item:first-child{padding-left:0}
  .news-item h3{font-size:22px}

  .site-footer{gap:8px;padding:20px 0 28px;margin-top:22px}
  .footer-name{font-size:18px}
  .footer-contacts{font-size:11px;gap:5px 10px}
  .footer-separator{display:none}

  .single-header{padding:18px 0 16px}
  .single-header h1{font-size:clamp(46px,12vw,82px);line-height:.88;overflow-wrap:anywhere}
  .single-meta{font-size:9px}
  .single-dek{font-size:12px;line-height:1.4}
  .single-hero-grid{display:block}
  .sidebar-note{border-left:0;border-top:1px solid var(--line);padding:15px 0 18px;min-height:0}
  .single-body{max-width:none;margin-top:22px}
  .article-content{font-size:18px;line-height:1.55}
  .article-content h2{font-size:34px}
  .article-content h3{font-size:27px}
  .article-content blockquote{font-size:23px}

  .archive-grid{grid-template-columns:1fr}
  .photo-mosaic{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:5px}
  .photo-tile-label{opacity:1;transform:none;font-size:9px;left:8px;bottom:8px;max-width:calc(100% - 16px)}
}

@media (max-width: 480px){
  .site-wrap{padding:0 12px}
  .topline{
    grid-template-columns:1fr;
    text-align:center;
    gap:3px;
    padding:7px 0;
  }
  .topline > div,
  .topline > div:nth-child(2),
  .topline .right{grid-column:1;text-align:center}
  .topline .right{padding:0;border:0}

  .brand{
    font-size:clamp(34px,10.8vw,54px);
    letter-spacing:-.08em;
  }
  .mast-note{font-size:8px;gap:0 10px}
  .services{font-size:11px;letter-spacing:.06em}
  .services a{padding:0 6px}
  .main-nav{gap:24px}

  .hero-media img{height:88vw;min-height:300px}
  .hero-copy{padding:15px 15px 13px}
  .hero h1{font-size:clamp(28px,8.8vw,42px)}
  .hero .dek{font-size:11px}
  .read-more{font-size:10px}

  .section-head .meta{max-width:48%;text-align:right}
  .news-strip-wrap{margin-left:-12px;margin-right:-12px;padding-left:12px}
  .news-item{width:84vw;flex-basis:84vw}
}
.contact-page{max-width:760px;padding:8px 0 50px;font-size:20px;line-height:1.5}
.contact-services{font:12px "Courier New",monospace;letter-spacing:.08em;border-bottom:1px solid var(--line);padding-bottom:16px}
.contact-details{padding:12px 0 20px}
.contact-details p{margin:0 0 9px}
.contact-details a{color:inherit;text-decoration:none;border-bottom:1px solid var(--yellow)}
