/*
Theme Name: OwnyuTech
Theme URI: https://ownyu.com/
Author: Ownyu Technologies
Author URI: https://ownyu.com/
Description: A fast, accessible, SEO-ready and security-hardened theme. Every colour, font, text, link, section and toggle is editable in Appearance > Customize > Ownyu theme options. No jQuery, no third-party requests.
Version: 1.0.0
Requires at least: 6.3
Tested up to: 6.8
Requires PHP: 7.4
License: GPL-2.0-or-later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ownyutech
Tags: blog, custom-colors, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready, accessibility-ready, one-column
*/

/* Colours, fonts, width and radius come from the Customizer (see inc/helpers.php). */
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--c-bg,#fff);color:var(--c-text,#12202b);font-family:var(--font-body,system-ui,sans-serif);font-size:1.0625rem;line-height:1.65;-webkit-font-smoothing:antialiased}
img,video,iframe{max-width:100%;height:auto}
a{color:var(--c-primary);text-underline-offset:.15em}
a:hover{text-decoration-thickness:2px}
:focus-visible{outline:3px solid var(--c-primary);outline-offset:2px}
.site-footer :focus-visible{outline-color:var(--c-accent)}
h1,h2,h3,h4{font-family:var(--font-head);line-height:1.2;margin:0 0 .6em;letter-spacing:-.01em}
h1{font-size:clamp(2rem,4.5vw,3.1rem)}
h2{font-size:clamp(1.5rem,3vw,2rem)}
h3{font-size:1.2rem}
p{margin:0 0 1.1em}
.screen-reader-text{border:0;clip:rect(1px,1px,1px,1px);clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;word-wrap:normal!important}
.skip-link{position:absolute;left:-999px;top:0;background:var(--c-text);color:var(--c-bg);padding:.75rem 1rem;z-index:100}
.skip-link:focus{left:0}
.container{width:100%;max-width:var(--container,1160px);margin-inline:auto;padding-inline:1.25rem}
.narrow{max-width:780px}
.section{padding-block:clamp(2.5rem,6vw,4.5rem)}
.band{background:var(--c-surface)}

/* Buttons */
.btn{display:inline-block;padding:.7rem 1.25rem;border-radius:var(--radius);font-weight:600;text-decoration:none;border:2px solid transparent;cursor:pointer;font:inherit;font-weight:600;line-height:1.2}
.btn-primary{background:var(--c-primary);color:#fff}
.btn-primary:hover{filter:brightness(.92)}
.btn-ghost{border-color:var(--c-border);color:var(--c-text);background:transparent}
.btn-ghost:hover{border-color:var(--c-primary);color:var(--c-primary)}
.btn-accent{background:var(--c-accent);color:var(--c-primary)}
.btn-accent:hover{filter:brightness(.95)}

/* Header */
.site-header{background:var(--c-bg);border-bottom:1px solid var(--c-border);z-index:50}
.has-sticky-header .site-header{position:sticky;top:0}
.admin-bar.has-sticky-header .site-header{top:32px}
.header-inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;min-height:calc(var(--logo-h,48px) + 28px)}
.site-brand img{max-height:var(--logo-h,48px);width:auto;display:block}
.footer-logo img{max-height:var(--logo-h,48px);width:auto;display:block;margin-bottom:1rem}
.site-title{font-family:var(--font-head);font-weight:700;font-size:1.25rem;color:var(--c-primary);text-decoration:none}
.primary-nav{display:flex;align-items:center;gap:1.25rem}
.primary-nav ul{list-style:none;margin:0;padding:0;display:flex;gap:1.25rem;flex-wrap:wrap}
.primary-nav li{position:relative}
.primary-nav a{color:var(--c-text);text-decoration:none;font-weight:500;padding:.4rem 0;display:inline-block}
.primary-nav a:hover,.primary-nav .current-menu-item>a,.primary-nav .current_page_item>a{color:var(--c-primary)}
.primary-nav .sub-menu{display:none;position:absolute;top:100%;left:0;min-width:200px;background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius);padding:.5rem 1rem;flex-direction:column;gap:0;z-index:10}
.primary-nav li:hover>.sub-menu,.primary-nav li:focus-within>.sub-menu{display:flex}
.header-cta{padding:.5rem 1rem}
.nav-toggle{display:none;background:none;border:1px solid var(--c-border);border-radius:var(--radius);width:44px;height:44px;cursor:pointer;color:var(--c-text)}
.nav-toggle-bars,.nav-toggle-bars::before,.nav-toggle-bars::after{display:block;width:20px;height:2px;background:currentColor;margin:auto;position:relative}
.nav-toggle-bars::before,.nav-toggle-bars::after{content:"";position:absolute;left:0}
.nav-toggle-bars::before{top:-6px}
.nav-toggle-bars::after{top:6px}
@media (max-width:820px){
	.nav-toggle{display:block}
	.primary-nav{display:none;position:absolute;left:0;right:0;top:100%;background:var(--c-bg);border-bottom:1px solid var(--c-border);flex-direction:column;align-items:stretch;padding:1rem 1.25rem 1.5rem}
	.primary-nav.is-open{display:flex}
	.primary-nav ul{flex-direction:column;gap:.25rem}
	.primary-nav .sub-menu{display:flex;position:static;border:0;padding:0 0 0 1rem}
	.site-header{position:relative}
	.has-sticky-header .site-header{position:sticky}
}
@media (max-width:782px){.admin-bar.has-sticky-header .site-header{top:46px}}

/* Hero */
.hero{padding-block:clamp(3rem,8vw,6rem);background:linear-gradient(180deg,color-mix(in srgb,var(--c-primary) 8%,var(--c-bg)),var(--c-bg))}
.hero-grid{display:grid;gap:2.5rem;align-items:center}
.hero-grid.has-frame{grid-template-columns:1.1fr .9fr}
.hero-title{max-width:18ch;margin-bottom:.5em}
.hero-sub{font-size:1.2rem;color:var(--c-muted);max-width:52ch}
.hero-actions{display:flex;gap:.75rem;flex-wrap:wrap;margin-top:1.5rem}
@media (max-width:820px){.hero-grid.has-frame{grid-template-columns:1fr}}

/* Browser-window frame: the one memorable element */
.browser-frame{display:block;text-decoration:none;color:var(--c-text);background:var(--c-bg);border:1px solid var(--c-border);border-radius:calc(var(--radius) + 4px);overflow:hidden;box-shadow:0 24px 48px -24px color-mix(in srgb,var(--c-primary) 45%,transparent)}
.frame-bar{display:flex;align-items:center;gap:.75rem;padding:.65rem .9rem;background:var(--c-surface);border-bottom:1px solid var(--c-border)}
.frame-dots{display:flex;gap:6px}
.frame-dots i{width:10px;height:10px;border-radius:50%;background:var(--c-border);display:block}
.frame-dots i:first-child{background:var(--c-accent)}
.frame-url{flex:1;min-width:0;font-size:.8rem;color:var(--c-muted);background:var(--c-bg);border:1px solid var(--c-border);border-radius:999px;padding:.2rem .8rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.frame-body{display:block;padding:1.5rem 1.5rem 1.75rem}
.frame-title{display:block;font-family:var(--font-head);font-size:1.35rem;font-weight:700;margin-bottom:.5rem}
.frame-text{display:block;color:var(--c-muted);margin-bottom:.75rem}
.frame-meta{display:inline-block;font-size:.85rem;font-weight:600;color:var(--c-primary);border:1px solid var(--c-primary);border-radius:999px;padding:.1rem .7rem}
.browser-frame:hover .frame-title{color:var(--c-primary)}

/* Sections and cards */
.section-head{max-width:60ch;margin-bottom:2rem}
.section-head p{color:var(--c-muted)}
.section-more{margin-top:2rem}
.grid{display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(250px,1fr))}
.card{background:var(--c-bg);border:1px solid var(--c-border);border-radius:var(--radius);overflow:hidden;display:flex;flex-direction:column}
.band .card{background:var(--c-bg)}
.card-media img{display:block;width:100%;aspect-ratio:16/10;object-fit:cover}
.card-body{padding:1.25rem;display:flex;flex-direction:column;flex:1}
.card-title{margin-bottom:.35rem}
.card-title a{color:var(--c-text);text-decoration:none}
.card-title a:hover{color:var(--c-primary)}
.card-meta,.card-price{font-size:.9rem;color:var(--c-muted);margin-bottom:.6rem}
.card-price{color:var(--c-primary);font-weight:700}
.card-excerpt{color:var(--c-muted);flex:1}
.card-link{font-weight:600;text-decoration:none}
.card-link:hover{text-decoration:underline}

/* CTA band */
.cta-band{background:var(--c-primary);color:#fff;padding-block:clamp(2.5rem,6vw,4rem);text-align:center}
.cta-band h2{color:#fff}
.cta-band p{max-width:56ch;margin-inline:auto}

/* Entries */
.page-header{margin-bottom:2rem}
.page-title{margin-bottom:.4em}
.page-intro{color:var(--c-muted);max-width:60ch}
.breadcrumbs{font-size:.9rem;color:var(--c-muted);margin-bottom:1.5rem}
.breadcrumbs ol{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.25rem}
.breadcrumbs li+li::before{content:"/";margin-right:.25rem;color:var(--c-border)}
.breadcrumbs a{color:var(--c-muted)}
.entry-cats,.entry-meta{color:var(--c-muted);font-size:.95rem}
.entry-meta span+span::before,.entry-meta time+span::before{content:"|";margin:0 .6rem;color:var(--c-border)}
.entry-cats a{text-decoration:none;font-weight:600}
.entry-image{margin:1.5rem 0}
.entry-image img{border-radius:var(--radius);display:block}
.entry-content{font-size:1.125rem}
.entry-content h2{margin-top:2em}
.entry-content h3{margin-top:1.6em}
.entry-content img{border-radius:var(--radius)}
.entry-content blockquote{margin:1.5rem 0;padding:.25rem 1.25rem;border-left:4px solid var(--c-accent);color:var(--c-muted)}
.entry-content table{border-collapse:collapse;width:100%;display:block;overflow-x:auto}
.entry-content th,.entry-content td{border:1px solid var(--c-border);padding:.5rem .75rem;text-align:left}
.entry-content pre{background:var(--c-surface);padding:1rem;overflow-x:auto;border-radius:var(--radius)}
.entry-tags a{display:inline-block;margin:0 .4rem .4rem 0;padding:.1rem .7rem;border:1px solid var(--c-border);border-radius:999px;text-decoration:none;font-size:.9rem}
.product-facts{display:flex;flex-wrap:wrap;gap:1.5rem;margin:1rem 0 1.5rem}
.product-facts dt{font-size:.85rem;color:var(--c-muted)}
.product-facts dd{margin:0;font-weight:700}
.related{margin-top:3.5rem;padding-top:2rem;border-top:1px solid var(--c-border)}
.alignwide{max-width:min(100vw - 2.5rem,var(--container))}
.alignleft{float:left;margin:0 1.5rem 1rem 0}
.alignright{float:right;margin:0 0 1rem 1.5rem}
.aligncenter{display:block;margin-inline:auto}
.wp-caption-text,figcaption{font-size:.9rem;color:var(--c-muted)}

/* Forms, pagination, comments */
.search-form{display:flex;gap:.5rem;margin:1.25rem 0;max-width:480px}
input[type=text],input[type=email],input[type=url],input[type=search],textarea{width:100%;padding:.65rem .8rem;border:1px solid var(--c-border);border-radius:var(--radius);font:inherit;background:var(--c-bg);color:var(--c-text)}
.pagination{margin-top:2.5rem}
.nav-links{display:flex;gap:.5rem;flex-wrap:wrap}
.page-numbers{padding:.4rem .8rem;border:1px solid var(--c-border);border-radius:var(--radius);text-decoration:none;color:var(--c-text)}
.page-numbers.current{background:var(--c-primary);border-color:var(--c-primary);color:#fff}
.comments{margin-top:3rem}
.comment-list{list-style:none;padding:0}
.comment-list .children{list-style:none;padding-left:1.5rem}
.comment-body{border:1px solid var(--c-border);border-radius:var(--radius);padding:1rem;margin-bottom:1rem}

/* Footer */
.site-footer{background:var(--c-footer-bg);color:var(--c-footer-text);padding-top:3rem;margin-top:2rem}
.site-footer a{color:var(--c-footer-text)}
.site-footer .site-title{color:#fff}
.footer-grid{display:grid;gap:2rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}
.footer-menu,.social-list{list-style:none;margin:0;padding:0}
.footer-menu li,.social-list li{margin-bottom:.4rem}
.widget-title{font-size:1rem;color:#fff}
.footer-base{border-top:1px solid color-mix(in srgb,var(--c-footer-text) 25%,transparent);margin-top:2rem;padding-block:1.25rem;font-size:.9rem}
.footer-base p{margin:0}

@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*{transition:none!important;animation:none!important}}
@media print{.site-header,.site-footer,.nav-toggle,.related,.comments{display:none}}
