/*
Theme Name: NOOR & NOOR
Theme URI: https://noornoor.biz
Author: NOOR & NOOR SARL AU
Description: Corporate homepage and legal platform of NOOR & NOOR SARL AU. No page builder, no external fonts.
Version: 2.12.2
Requires at least: 6.0
Requires PHP: 7.4
Text Domain: noornoor
*/

/* Fonts (self-hosted, no request to Google) */
@font-face{font-family:'Inter';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/inter-latin-400-normal.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:500;font-display:swap;src:url('assets/fonts/inter-latin-500-normal.woff2') format('woff2');}
@font-face{font-family:'Inter';font-style:normal;font-weight:600;font-display:swap;src:url('assets/fonts/inter-latin-600-normal.woff2') format('woff2');}
@font-face{font-family:'Newsreader';font-style:normal;font-weight:400;font-display:swap;src:url('assets/fonts/newsreader-latin-400-normal.woff2') format('woff2');}

:root{
  --ink:#010102;
  --accent:#00faff;
  --accent-hover:#7dfdff;
  --white:#ffffff;
  --grey:#F5F5F5;
  --muted:#4a4f55;
  --body:#2b2f34;
  --line:#dcdfe3;
  --serif:'Newsreader',Georgia,'Times New Roman',serif;
  --sans:'Inter',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{margin:0;background:var(--white);color:var(--ink);font-family:var(--sans);font-size:16px;line-height:1.6;-webkit-font-smoothing:antialiased;}
img{max-width:100%;height:auto;}
a{color:var(--ink);text-decoration:underline;text-underline-offset:3px;}
a:hover{text-decoration-thickness:2px;}
.dark{background:var(--ink);color:var(--white);}
.dark a{color:var(--white);}
.dark a:hover{color:var(--accent);}

.skip-link{position:absolute;left:-9999px;top:8px;background:var(--accent);color:var(--ink);padding:10px 16px;border-radius:6px;z-index:100;font-weight:600;}
.skip-link:focus{left:16px;}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;}
.light :focus-visible{outline-color:var(--ink);}

.wrap{max-width:1360px;margin:0 auto;padding-left:40px;padding-right:40px;}

/* Buttons */
.btn,.btn-line{display:inline-block;padding:14px 26px;font-family:var(--sans);font-size:15px;border-radius:999px;text-decoration:none;}
.btn{background:var(--accent);color:var(--ink) !important;font-weight:600;}
.btn:hover{background:var(--accent-hover);text-decoration:none;}
.btn-line{border:1px solid var(--ink);color:var(--ink);font-weight:500;}
.btn-line:hover{background:var(--ink);color:var(--white);text-decoration:none;}
.btn-small{padding:10px 22px;font-size:14px;}

/* Header */
.site-header .wrap{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:20px;padding-top:18px;padding-bottom:18px;}
.logo{font-family:var(--serif);font-size:28px;letter-spacing:0.02em;text-decoration:none;white-space:nowrap;}
.nav{display:flex;flex-wrap:wrap;align-items:center;gap:8px 28px;font-size:14px;font-weight:500;}
.nav a{text-decoration:none;}

/* Hero */
.hero .wrap{padding-top:24px;padding-bottom:40px;}
.eyebrow{margin:0 0 24px;font-size:13px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--accent);}
.hero h1{margin:0 0 32px;font-family:var(--serif);font-weight:400;font-size:72px;line-height:1.05;letter-spacing:-0.01em;max-width:1100px;text-wrap:balance;}
.hero .lead{margin:0 0 20px;font-size:19px;line-height:1.6;color:#c4c8cd;max-width:600px;}
.hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:16px 32px;}
.hero-actions .textlink{font-weight:500;font-size:15px;}

/* Rows */
.row{background:var(--white);}
.row.is-grey{background:var(--grey);}
.row .wrap{display:flex;flex-wrap:wrap;gap:56px;align-items:center;padding-top:88px;padding-bottom:88px;min-height:100vh;min-height:100svh;}
.row-text{flex:4 1 360px;min-width:0;}
.row-media{flex:7 1 440px;min-width:0;}
.row-num{margin:0 0 12px;font-size:13px;font-weight:600;letter-spacing:0.14em;color:var(--muted);}
.row h2,.section-title{margin:0 0 24px;font-family:var(--serif);font-weight:400;font-size:42px;line-height:1.1;}
.row p{margin:0 0 16px;font-size:17px;color:var(--body);}
.row-actions{display:flex;flex-wrap:wrap;align-items:center;gap:14px 16px;margin-top:32px;}
.row-actions .textlink{font-weight:500;font-size:15px;}
.row-media img{display:block;width:100%;height:auto;border-radius:12px;border:1px solid var(--line);box-shadow:0 2px 6px rgba(1,1,2,0.08),0 24px 56px rgba(1,1,2,0.16);}
.placeholder{min-height:340px;display:flex;align-items:center;justify-content:center;text-align:center;padding:24px;color:var(--muted);font-size:14px;background:#f0f1f3;border:1px dashed #9aa0a7;border-radius:12px;}
.row.is-grey .placeholder{background:#e6e8eb;}

/* About + contact */
.about{background:var(--white);}
.contact{background:var(--grey);}
.about .wrap{display:flex;flex-wrap:wrap;gap:56px;align-items:flex-start;padding-top:88px;padding-bottom:88px;}
.about .col-a{flex:1 1 360px;min-width:0;}
.about .col-b{flex:1 1 520px;min-width:0;}
.about p{margin:0 0 18px;font-size:17px;color:var(--body);}
.about p:last-child{margin-bottom:0;}
.contact .wrap{display:flex;flex-wrap:wrap;gap:32px;align-items:center;justify-content:space-between;padding-top:88px;padding-bottom:88px;}
.contact .col-a{flex:1 1 480px;min-width:0;}
.contact p{margin:0;font-size:17px;color:var(--body);max-width:560px;}
.contact-actions{display:flex;flex-wrap:wrap;gap:16px;}

/* Footer */
.site-footer .wrap{padding-top:72px;padding-bottom:32px;}
.footer-cols{display:flex;flex-wrap:wrap;gap:48px;justify-content:space-between;}
.footer-cols>div{min-width:0;font-size:14px;color:#c4c8cd;line-height:1.7;}
.footer-brand{flex:1 1 240px;}
.footer-company{flex:2 1 420px;}
.footer-contact{flex:1 1 180px;}
.footer-legal{flex:1 1 150px;}
.footer-logo{margin:0 0 16px;font-family:var(--serif);font-size:28px;letter-spacing:0.02em;color:var(--white);}
.footer-tagline{margin:0;max-width:260px;color:#b4b9bf;}
.footer-label{margin:0 0 12px;font-size:12px;letter-spacing:0.12em;text-transform:uppercase;color:var(--accent);}
.footer-cols p{margin:0 0 10px;}
.footer-cols strong{color:var(--white);font-weight:500;}
.footer-cols a{display:block;line-height:1.9;}
.footer-note{margin-top:8px !important;font-size:13px;color:#9ca2a9;}
.footer-bottom{margin:56px 0 0;padding-top:24px;border-top:1px solid #2a2d31;font-size:13px;color:#9ca2a9;}

/* Inner pages (legal, detail pages) */
.page-head{background:var(--white);}
.page-head .wrap{padding-top:72px;padding-bottom:8px;}
.page-head h1{margin:0;font-family:var(--serif);font-weight:400;font-size:52px;line-height:1.1;max-width:860px;}
.entry{max-width:760px;margin:0 auto 0 0;}
.page-body .wrap{padding-top:32px;padding-bottom:96px;}
.entry h2{font-family:var(--serif);font-weight:400;font-size:30px;line-height:1.2;margin:48px 0 16px;}
.entry h3{font-size:19px;margin:32px 0 10px;}
.entry p,.entry li{font-size:17px;color:var(--body);}
.entry ul,.entry ol{padding-left:22px;}
.entry li{margin-bottom:8px;}
.entry img{border-radius:12px;}
.entry table{border-collapse:collapse;width:100%;}
.entry th,.entry td{border-bottom:1px solid var(--line);padding:10px 8px;text-align:left;vertical-align:top;}
.entry-wide{max-width:1200px;}

@media (max-width:720px){
  .wrap{padding-left:20px;padding-right:20px;}
  .site-header .wrap{padding-top:16px;padding-bottom:16px;}
  .hero h1{font-size:40px;}
  .hero .lead{font-size:16px;}
  .hero .wrap{padding-top:24px;padding-bottom:32px;}
  .row .wrap{min-height:0;padding-top:40px;padding-bottom:40px;gap:24px;}
  .about .wrap,.contact .wrap{padding-top:56px;padding-bottom:56px;gap:36px;}
  .row-more{display:none;}
  .row-actions{margin-top:20px;}
  .placeholder{min-height:220px;}
  .row h2,.section-title{font-size:34px;}
  .page-head h1{font-size:38px;}
}


/* Logo */
.logo{display:inline-flex;align-items:center;}
.logo-img{display:block;height:76px;width:auto;}
.footer-logo .logo-img{height:104px;}

/* Four cards */

/* Footer addresses */
.footer-name{margin:0 0 14px !important;}
.footer-addresses{display:flex;flex-wrap:wrap;gap:20px 40px;margin:0 0 14px;}
.footer-addresses address{font-style:normal;line-height:1.6;min-width:0;}
.addr-label{display:block;margin-bottom:4px;font-size:12px;letter-spacing:0.08em;text-transform:uppercase;color:#9ca2a9;}
.footer-ids{margin:0 0 10px;}

/* Hamburger */
.nav-toggle{display:none;width:48px;height:48px;padding:0;border:1px solid #3a3f45;border-radius:10px;background:transparent;cursor:pointer;flex-direction:column;align-items:center;justify-content:center;gap:5px;}
.nav-toggle span{display:block;width:22px;height:2px;background:var(--white);border-radius:2px;transition:transform .2s ease,opacity .2s ease;}
.nav-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.nav-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.nav-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

@media (max-width:1180px){
  .js .nav-toggle{display:flex;}
  .js .nav{display:none;width:100%;flex-direction:column;align-items:flex-start;gap:0;padding-bottom:8px;}
  .js .nav.is-open{display:flex;}
  .js .nav a{width:100%;padding:14px 0;border-top:1px solid #2a2d31;font-size:16px;}
  .js .nav a.btn{width:auto;margin-top:14px;padding:12px 26px;border-top:0;}
  .logo-img{height:56px;}
}
@media (max-width:720px){
  .footer-addresses{gap:16px 28px;}
}
.footer-ids span{white-space:nowrap;}

/* Hero: photo background, everything on the left. Header stays solid dark above it. */
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0;}
.hero{display:flex;align-items:center;min-height:calc(100vh - 112px);min-height:calc(100svh - 112px);background:linear-gradient(90deg,rgba(1,1,2,0.82) 0%,rgba(1,1,2,0.55) 55%,rgba(1,1,2,0.25) 100%),url("assets/img/hero.webp") center/cover no-repeat,#010102;}
.hero .wrap{width:100%;padding-top:24px;padding-bottom:32px;}
.hero-rows{list-style:none;margin:0;padding:0;max-width:1200px;}
.hero-rows li{border-top:1px solid rgba(255,255,255,0.18);}
.hero-rows li:first-child{border-top:0;}
.hero-row{display:block;padding:clamp(8px,1.8vh,22px) 0;text-decoration:none;}
.hero-verb{display:block;font-family:var(--serif);font-size:clamp(34px,min(4.4vw,6.4vh),72px);line-height:1.05;letter-spacing:-0.01em;color:var(--white);transition:color .2s ease;}
.hero-text{display:block;margin-top:8px;font-size:clamp(16px,1.35vw,19px);line-height:1.5;color:#d3d7db;}
.hero-row:hover,.hero-row:focus-visible,.hero-row:active{text-decoration:none;}
.hero-row:hover .hero-verb,.hero-row:focus-visible .hero-verb,.hero-row:active .hero-verb{color:var(--accent);}
.hero-row:focus-visible{outline:2px solid var(--accent);outline-offset:4px;}

@media (max-width:720px){
  .hero{min-height:calc(100vh - 88px);min-height:calc(100svh - 88px);background:linear-gradient(180deg,rgba(1,1,2,0.7),rgba(1,1,2,0.7)),url("assets/img/hero.webp") 30% center/cover no-repeat,#010102;}
  .hero .wrap{padding-top:20px;padding-bottom:28px;}
  .hero-row{padding:14px 0;}
  .hero-verb{font-size:34px;}
  .hero-text{font-size:15px;margin-top:4px;}
}
@media (prefers-reduced-motion:reduce){.hero-verb{transition:none;}}

/* Legal pages */
.entry .updated{margin:0 0 24px;font-size:14px;color:var(--muted);}
.entry .table-wrap{overflow-x:auto;margin:16px 0;}
.entry thead th{font-size:14px;border-bottom:1px solid var(--ink);}
.entry td{font-size:15px;}

/* Legal pages: contents on the left, text on the right */
.legal-layout{display:grid;grid-template-columns:260px minmax(0,1fr);column-gap:64px;align-items:start;}
.legal-toc{position:sticky;top:24px;padding-top:8px;}
.legal-toc-title{margin:0 0 12px;font-size:13px;font-weight:600;letter-spacing:0.14em;text-transform:uppercase;color:var(--muted);}
.legal-toc ul{list-style:none;margin:0;padding:0;border-left:1px solid var(--line);}
.legal-toc li{margin:0;}
.legal-toc a{display:block;padding:7px 0 7px 16px;font-size:15px;line-height:1.35;color:var(--body);text-decoration:none;}
.legal-toc a:hover,.legal-toc a:focus-visible{color:var(--ink);text-decoration:underline;}
.entry-legal{max-width:900px;margin:0;}
.entry-legal h2{scroll-margin-top:24px;}
.entry-legal h2:first-of-type{margin-top:8px;}
@media (max-width:900px){
  .legal-layout{grid-template-columns:1fr;row-gap:28px;}
  .legal-toc{position:static;}
}

/* Service pages */
.entry .lead{font-size:20px;line-height:1.6;color:var(--ink);margin:0 0 20px;}
.entry .actions{display:flex;flex-wrap:wrap;gap:14px 16px;margin:24px 0 8px;}
.entry .btn,.entry .btn-line{text-decoration:none;}
.entry .shot{margin:20px 0 24px;}
.entry .shot img{display:block;width:100%;height:auto;}
.entry-legal ol{padding-left:22px;}
.entry-legal .actions + h2{margin-top:48px;}

/* Carousel (screenshots) */
.carousel{position:relative;}
.carousel-track{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-webkit-overflow-scrolling:touch;border-radius:12px;}
.carousel-track::-webkit-scrollbar{display:none;}
.carousel .slide{flex:0 0 100%;margin:0;scroll-snap-align:start;}
.carousel-track{box-shadow:0 2px 6px rgba(1,1,2,0.08),0 24px 56px rgba(1,1,2,0.16);}
.carousel .slide img{box-shadow:none;border:0;border-radius:0;aspect-ratio:16/9;object-fit:cover;object-position:top center;}
.carousel-caption{margin:16px 0 0;min-height:1.4em;font-size:14px;line-height:1.4;color:var(--muted);text-align:center;}
.carousel-prev,.carousel-next{display:none;position:absolute;top:calc(50% - 40px);width:44px;height:44px;margin-top:-22px;padding:0;align-items:center;justify-content:center;border:1px solid rgba(1,1,2,0.12);border-radius:50%;background:rgba(255,255,255,0.94);color:var(--ink);box-shadow:0 4px 14px rgba(1,1,2,0.2);cursor:pointer;transition:background-color .15s ease,opacity .15s ease;}
.js .carousel-prev,.js .carousel-next{display:flex;}
.carousel-prev{left:12px;}
.carousel-next{right:12px;}
.carousel-prev:hover,.carousel-next:hover{background:var(--accent);}
.carousel-prev:disabled,.carousel-next:disabled{opacity:0;pointer-events:none;}
.carousel-dots{display:none;justify-content:center;gap:10px;margin-top:12px;}
.js .carousel-dots{display:flex;}
.carousel-dots button{width:10px;height:10px;padding:0;border:0;border-radius:50%;background:#c3c7cc;cursor:pointer;}
.carousel-dots button[aria-current="true"]{background:var(--ink);}
.carousel:focus-visible{outline:2px solid var(--accent);outline-offset:6px;border-radius:12px;}
@media (max-width:720px){.carousel-prev,.carousel-next{width:40px;height:40px;}}
.row p.carousel-caption,.entry p.carousel-caption{margin:16px 0 0;font-size:14px;line-height:1.4;color:var(--muted);}

@media (max-width:1180px){.hero{min-height:calc(100vh - 88px);min-height:calc(100svh - 88px);}}

/* Mobile: titles stay on one line. The size follows the screen width (longest title is about 11.5 em wide). */
@media (max-width:720px){
  .row h2,.page-head h1{white-space:nowrap;font-size:min(34px,calc((100vw - 40px) / 11.8));line-height:1.15;}
}

.ext{display:inline-block;margin-left:6px;vertical-align:-1px;}

/* ADDONS page: blocks edited in the WordPress editor */
.entry .wp-block-media-text{display:grid;grid-template-columns:minmax(0,7fr) minmax(0,5fr);gap:48px;align-items:center;margin:48px 0;}
.entry .wp-block-media-text__media{margin:0;}
.entry .wp-block-media-text__media img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:cover;object-position:top center;border:1px solid var(--line);border-radius:12px;box-shadow:0 2px 6px rgba(1,1,2,0.08),0 24px 56px rgba(1,1,2,0.16);}
.entry .wp-block-media-text__content h2{margin:12px 0 12px;}
.entry .wp-block-media-text__content p{margin:0 0 14px;}
.entry .nn-label{display:inline-block;margin:0 !important;padding:6px 12px;border:1px solid var(--line);border-radius:999px;font-size:12px !important;font-weight:600;letter-spacing:0.1em;text-transform:uppercase;color:var(--ink) !important;}
.entry .nn-note{font-size:14px !important;color:var(--muted) !important;}
.entry .wp-block-buttons{display:flex;flex-wrap:wrap;gap:14px 16px;margin:20px 0 0;}
.entry .wp-block-button__link{display:inline-block;padding:14px 26px;border-radius:999px;background:var(--accent);color:var(--ink);font-family:var(--sans);font-weight:600;font-size:15px;text-decoration:none;}
.entry .wp-block-button__link:hover{background:var(--accent-hover);}
@media (max-width:720px){
  .entry .wp-block-media-text{grid-template-columns:1fr;gap:20px;margin:36px 0;}
}
.entry .wp-block-button.is-style-outline .wp-block-button__link{background:transparent;border:1px solid var(--ink);font-weight:500;}
.entry .wp-block-button.is-style-outline .wp-block-button__link:hover{background:var(--grey);}
.entry-legal .wp-block-media-text{grid-template-columns:minmax(0,3fr) minmax(0,2fr);gap:32px;margin:40px 0 64px;}
.entry-legal .wp-block-media-text__content h2{margin-top:10px;}
.entry-legal .lead + .wp-block-buttons{margin:24px 0 8px;}
@media (max-width:720px){.entry-legal .wp-block-media-text{grid-template-columns:1fr;gap:20px;}}

/* Blog: latest STACKwebzine articles */
.entry-blog{max-width:900px;}
.entry-blog h2{margin-top:40px;}
.blog-list{list-style:none;margin:8px 0 0;padding:0;}
.blog-item{display:flex;gap:24px;align-items:flex-start;padding:22px 0;border-top:1px solid var(--line);margin:0;}
.blog-item:last-child{border-bottom:1px solid var(--line);}
.blog-thumb{flex:0 0 220px;display:block;}
.blog-thumb img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover;border-radius:10px;border:1px solid var(--line);}
.blog-text{min-width:0;flex:1;}
.blog-text h3{margin:0 0 6px;font-family:var(--serif);font-weight:400;font-size:24px;line-height:1.25;}
.blog-text h3 a{color:var(--ink);text-decoration:none;}
.blog-text h3 a:hover{text-decoration:underline;}
.entry .blog-date{margin:0 0 8px;font-size:14px;color:var(--muted);}
.entry .blog-excerpt{margin:0;font-size:16px;}
@media (max-width:720px){
  .blog-item{gap:14px;padding:18px 0;}
  .blog-thumb{flex-basis:104px;}
  .blog-text h3{font-size:19px;}
  .entry .blog-excerpt{display:none;}
}
.entry .blog-list{padding-left:0;}
.entry .blog-item{margin-bottom:0;}
@media (max-width:720px){.entry-blog h2{white-space:nowrap;font-size:min(26px,calc((100vw - 40px) / 17.8));line-height:1.2;}}

/* Blog: narrow logo cards in the left column */
.wz-nav ul{border-left:0;display:flex;flex-direction:column;gap:10px;}
.wz-nav a.wz-card{display:flex;align-items:center;justify-content:center;height:64px;padding:10px 18px;border:1px solid var(--line);border-radius:12px;background:var(--white);box-shadow:0 1px 3px rgba(1,1,2,0.05);transition:box-shadow .15s ease,border-color .15s ease;}
.wz-nav a.wz-card:hover,.wz-nav a.wz-card:focus-visible{box-shadow:0 6px 18px rgba(1,1,2,0.12);border-color:#c9ced4;text-decoration:none;}
.wz-nav a.wz-card.is-active{border-color:var(--ink);box-shadow:inset 0 0 0 1px var(--ink);}
.wz-nav a.wz-card img{display:block;width:100%;max-width:170px;height:auto;max-height:30px;object-fit:contain;}
.entry-blog .lead{margin-top:8px;}
@media (max-width:900px){
  .legal-layout.is-blog .wz-nav{order:2;}
  .wz-nav ul{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));}
}
@media (max-width:720px){
  .wz-nav ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;}
  .wz-nav a.wz-card{height:54px;padding:8px 12px;}
  .wz-nav a.wz-card img{max-height:26px;}
}
