/*
Theme Name: Nanosoft
Description: Nanosoft Technologies Limited website theme. Edit pages in the normal WordPress editor.
Version: 1.1.0
Requires at least: 6.5
Requires PHP: 8.0
Text Domain: nanosoft
*/
.ns-card{background:#fff;border:1px solid var(--wp--preset--color--border);border-radius:16px;padding:24px;height:100%;transition:box-shadow .2s,transform .2s}
.ns-card:hover{box-shadow:0 12px 48px rgba(0,0,0,.1);transform:translateY(-2px)}
.ns-card a{text-decoration:none}
.ns-grid .wp-block-post-template{gap:20px}
.ns-pill a,.ns-pill{border-radius:999px}
.ns-header{position:sticky;top:0;z-index:50;background:rgba(255,255,255,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--wp--preset--color--border)}
.ns-logo{font-family:var(--wp--preset--font-family--sora);font-weight:800;font-size:20px;letter-spacing:-.5px}
.ns-logo span{color:var(--wp--preset--color--blue)}
.ns-features li{margin:6px 0}
.ns-form{display:grid;gap:12px;max-width:520px}
.ns-form input,.ns-form select,.ns-form textarea{width:100%;padding:12px 14px;border:1px solid var(--wp--preset--color--border);border-radius:10px;font:inherit}
.ns-form button{background:linear-gradient(135deg,#0096d6,#005b8e);color:#fff;border:0;border-radius:999px;padding:12px 26px;font-weight:700;cursor:pointer}
.ns-form .ns-hp{position:absolute;left:-9999px}
.ns-note{padding:12px 16px;border-radius:10px;background:var(--wp--preset--color--blue-pale)}
.ns-stat strong{display:block;font-family:var(--wp--preset--font-family--sora);font-size:36px;color:var(--wp--preset--color--blue)}

/* ---- Polish pass (Nov 4) ---- */

/* No sideways scroll on phones */
*,*::before,*::after{box-sizing:border-box}
html,body{overflow-x:clip}
img,svg,video{max-width:100%;height:auto}

/* Header sits flush on the first section; footer flush on the last */
.wp-site-blocks>main,.wp-site-blocks>footer{margin-block-start:0}
.ns-header .ns-logo-img{margin:0}
.ns-header .ns-logo-img img{display:block;width:132px;height:auto}
.ns-header .wp-block-navigation a{color:var(--wp--preset--color--ink-2);text-decoration:none}
.ns-header .wp-block-navigation a:hover{color:var(--wp--preset--color--blue-dark)}
.ns-header .wp-block-button__link{padding:10px 22px;font-size:14px}
@media (max-width:600px){.ns-header .ns-logo-img img{width:104px}.ns-header .wp-block-button__link{padding:9px 16px;font-size:13px}}

/* Buttons: consistent pill, shadow, hover; outline style readable on any background */
.wp-element-button,.wp-block-button__link{box-shadow:0 4px 18px rgba(0,150,214,.25);transition:background .2s,box-shadow .2s,transform .2s}
.wp-element-button:hover,.wp-block-button__link:hover{transform:translateY(-1px)}
.wp-block-button.is-style-outline>.wp-block-button__link{background:transparent!important;color:var(--wp--preset--color--ink-2)!important;border:1.5px solid var(--wp--preset--color--border);box-shadow:none}
.wp-block-button.is-style-outline>.wp-block-button__link:hover{border-color:var(--wp--preset--color--blue-dark);color:var(--wp--preset--color--blue-dark)!important}
:where(a,button,input,select,textarea,.wp-block-button__link):focus-visible{outline:3px solid #0096d6;outline-offset:2px}

/* Product cards: whole card opens the product page; calmer title size */
.ns-card{position:relative;box-shadow:0 1px 4px rgba(0,0,0,.06);border-top:3px solid var(--wp--preset--color--blue)}
.ns-card .wp-block-post-title{font-size:20px!important;line-height:1.25;margin-block:8px 10px}
.ns-card .wp-block-post-title a{color:var(--wp--preset--color--ink)}
.ns-card:hover .wp-block-post-title a{color:var(--wp--preset--color--blue-dark)}
.ns-card .wp-block-post-title a::after{content:"";position:absolute;inset:0;border-radius:inherit}
.ns-card .wp-block-post-terms{position:relative;z-index:1;font-weight:700;letter-spacing:.5px;text-transform:uppercase;font-size:11px!important}
.ns-card .wp-block-post-terms a{color:var(--wp--preset--color--blue-dark)}
.ns-card .wp-block-post-excerpt{color:var(--wp--preset--color--ink-2)}
.ns-card .wp-block-post-excerpt__more-link{font-weight:700;color:var(--wp--preset--color--blue-dark)}

/* Stats: large numbers in the darker blue for contrast on pale backgrounds */
.ns-stat strong{color:var(--wp--preset--color--blue-dark)}

/* Demo form */
.ns-form label{display:grid;gap:6px;font-weight:600;font-size:14px;color:var(--wp--preset--color--ink-2)}
.ns-form input,.ns-form select{background:#fff;color:var(--wp--preset--color--ink);min-height:46px}
.ns-form input:focus,.ns-form select:focus{border-color:#0096d6}
.ns-form button{justify-self:start;padding:14px 32px;font-size:15px;box-shadow:0 4px 18px rgba(0,150,214,.25)}
.ns-form button:hover{background:#005b8e}
.ns-form .ns-hp{width:1px;height:1px;overflow:hidden}

/* Footer readability */
footer .wp-block-group.has-text-background-color a{text-decoration:none}
footer .wp-block-group.has-text-background-color a:hover{text-decoration:underline}
footer .wp-block-group.has-text-background-color p{color:rgba(255,255,255,.85)}
.ns-video video{width:100%;border-radius:12px;box-shadow:0 10px 30px rgba(17,24,39,.12);background:#0b1220}
@media (prefers-reduced-motion:reduce){.ns-hero .wp-block-cover__video-background{display:none}}

/* Top menu: products dropdown and phone menu button */
.ns-header .wp-block-navigation .wp-block-navigation__submenu-container{background:#fff;border:1px solid var(--wp--preset--color--border);border-radius:10px;padding:8px 0;min-width:240px;box-shadow:0 10px 30px rgba(15,23,42,.12)}
.ns-header .wp-block-navigation .wp-block-navigation__submenu-container a{padding:8px 16px}
.ns-header .wp-block-navigation__responsive-container.is-menu-open{padding:24px}
.ns-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__submenu-container{border:0;box-shadow:none;padding:4px 0 4px 12px;min-width:0}
/* The blurred sticky header would trap the full-screen phone menu inside it, so drop the blur on phones and while the menu is open. */
@media (max-width:781px){.ns-header{backdrop-filter:none;background:#fff}}
.ns-header:has(.is-menu-open){backdrop-filter:none}

/* About: team cards. Initials show until the Editor adds a photo to the card's image block. */
.ns-team{gap:20px;margin-bottom:32px}
.ns-team-card{text-align:center;padding:24px 18px}
.ns-team-card .ns-avatar{width:84px;height:84px;margin:0 auto 12px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:var(--wp--preset--color--blue-pale,#e6f4fb);color:var(--wp--preset--color--blue-dark,#0369a1);font-weight:700;font-size:26px;letter-spacing:1px}
.ns-team-card:has(.ns-team-photo img[src]) .ns-avatar{display:none}
.ns-team-photo:not(:has(img[src])){display:none}
.ns-team-photo img{width:120px;height:120px;object-fit:cover;border-radius:50%;margin:0 auto 12px;display:block}
.ns-team-card .ns-team-name{margin:0 0 4px;font-size:18px}
.ns-team-card .ns-team-title{margin:0;color:var(--wp--preset--color--muted,#64748b);font-size:14px}
