/*
Theme Name: FormalShip UX
Theme URI: https://formalship.it/
Author: FormalShip
Description: Interfaccia coordinata per WordPress, WooCommerce e Tutor LMS.
Version: 1.0.0
Text Domain: formalship-ux
*/

:root{--bg:#F7FAF7;--surface:#fff;--sunken:#EAF2EA;--ink:#182822;--muted:#58685F;--primary:#2E6B4F;--primary-dark:#214D39;--primary-contrast:#fff;--accent:#4E9774;--accent-dark:#2E6B4F;--line:#D8E2D9;--line-strong:#B8C8B9;--success:#2E6B4F;--radius:5px;--shadow:0 18px 48px rgba(46,107,79,.09)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--bg);color:var(--ink);font:16px/1.6 'Public Sans',Arial,sans-serif;-webkit-font-smoothing:antialiased}img{max-width:100%;height:auto}a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}button,input,select,textarea{font:inherit}h1,h2,h3{font-family:'Source Serif 4',Georgia,serif;line-height:1.15;color:var(--ink);margin:0 0 .65em}p{margin:0 0 1em} .container{width:min(1120px,calc(100% - 48px));margin:0 auto}.skip{position:absolute;left:-9999px}.skip:focus{left:12px;top:12px;z-index:100;background:#fff;padding:10px}
.header{position:sticky;top:0;z-index:20;background:rgba(250,250,247,.96);border-bottom:1px solid var(--line);backdrop-filter:blur(12px)}.header-row{min-height:82px;display:flex;align-items:center;justify-content:flex-start;gap:30px}.brand{display:flex;align-items:center;gap:11px;color:var(--ink);font:600 1.18rem/1.05 'Source Serif 4',Georgia,serif;white-space:nowrap}.brand:hover{text-decoration:none}.brand small{display:block;margin-top:5px;color:var(--muted);font:500 .63rem/1.2 'Public Sans',Arial,sans-serif;letter-spacing:.07em;text-transform:uppercase}.brand-mark{width:37px;height:37px;display:block;border-radius:50%;background:linear-gradient(135deg,#DDEBE0,#EAF2EA);border:1px solid var(--line)}.nav,.header-actions{display:flex;align-items:center;gap:26px}.nav{margin-left:auto}.nav a,.text-link{display:inline-flex;align-items:center;min-height:44px;color:var(--ink);font-size:.91rem;font-weight:500}.header-actions{gap:14px;margin-left:10px}.button{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:12px 21px;border:1px solid var(--primary);border-radius:var(--radius);background:var(--primary);color:var(--primary-contrast);font-weight:600;line-height:1.2;transition:background .15s,border-color .15s}.button:hover{background:var(--primary-dark);color:white;text-decoration:none}.button-small{min-height:39px;padding:9px 15px;font-size:.86rem}.button-outline{background:transparent;color:var(--primary)}.button-outline:hover{background:var(--sunken);color:var(--primary)}.button-light{background:var(--primary-contrast);color:var(--primary)}.button-light:hover{background:white;color:var(--primary)}.button-full{display:flex;width:100%;margin-top:18px}
.hero{padding:62px 0 54px;background:linear-gradient(130deg,#F0F6F0 0%,#F7FAFD 55%,#E7F2E9 100%)}.hero-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.75fr);gap:72px;align-items:center}.eyebrow{display:inline-block;color:var(--accent-dark);font-size:.75rem;font-weight:700;letter-spacing:.11em;text-transform:uppercase}.hero h1{max-width:720px;margin:17px 0 20px;font-size:clamp(2.6rem,5vw,4.25rem);letter-spacing:-.035em}.hero-copy>p{max-width:610px;color:var(--muted);font-size:1.12rem}.actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:27px}.hero-note{margin-top:25px;color:var(--muted);font-size:.8rem}.feature-card{padding:22px;background:var(--surface);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow)}.feature-card h2{margin:10px 0 9px;font-size:1.55rem}.feature-card>p{color:var(--muted);font-size:.9rem}.image-slot{height:185px;margin:-22px -22px 21px;display:grid;place-items:center;overflow:hidden;border-radius:8px 8px 0 0;background:linear-gradient(135deg,#DDEBE0,#EAF2EA 60%,#E7F2E9);color:#58685F;font-size:.82rem}.image-slot-small{height:155px;margin:0 0 18px;border-radius:5px}.feature-meta{display:flex;gap:9px;flex-wrap:wrap;margin:16px 0;color:var(--muted);font-size:.78rem}.feature-meta span{padding:5px 9px;border:1px solid var(--line);border-radius:30px}.price{font-family:'Source Serif 4',Georgia,serif;font-size:1.45rem;font-weight:600}.price del{margin-right:7px;color:var(--muted);font-size:.9em}.price ins{text-decoration:none}
.stats{background:var(--primary);color:var(--primary-contrast)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);padding:24px 0}.stats-grid>div{display:flex;align-items:baseline;justify-content:center;gap:11px;padding:8px 14px;border-right:1px solid rgba(250,248,242,.22)}.stats-grid>div:last-child{border:0}.stats strong{font:600 1.75rem 'Source Serif 4',Georgia,serif}.stats span{font-size:.82rem;color:#D8E9DD}.section{padding:78px 0}.section-heading{max-width:700px;text-align:center}.section-heading h2,.cta h2{margin:12px 0;font-size:clamp(1.8rem,3.3vw,2.65rem)}.section-heading p,.cta p{color:var(--muted)}.steps{display:grid;grid-template-columns:repeat(3,1fr);margin-top:36px;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:var(--surface)}.steps article{padding:30px;border-right:1px solid var(--line)}.steps article:last-child{border:0}.steps article>span{display:block;margin-bottom:16px;color:var(--accent);font:600 1.5rem 'Source Serif 4',Georgia,serif}.steps h3{margin-bottom:8px;font-size:1.15rem}.steps p{margin:0;color:var(--muted);font-size:.91rem}.cta{padding:48px 0;background:var(--sunken)}.cta-row{display:flex;align-items:center;justify-content:space-between;gap:24px}.cta p{margin:0;max-width:64ch}
.content-page{min-height:62vh;padding-top:60px;padding-bottom:76px}.page-heading{max-width:760px;margin-bottom:32px}.page-heading h1{margin:12px 0;font-size:clamp(2rem,4vw,3rem)}.entry-content{max-width:850px}.course-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.course-card{overflow:hidden;border:1px solid var(--line);border-radius:7px;background:var(--surface);transition:transform .15s,box-shadow .15s}.course-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.course-card-link{display:block;height:100%;padding:18px;color:inherit}.course-card h2{margin:8px 0;font-size:1.35rem}.course-card p{color:var(--muted);font-size:.9rem}.card-cta{display:flex;justify-content:space-between;margin-top:18px;color:var(--primary);font-weight:600}.shop-page{max-width:1120px}.footer{padding:48px 0 20px;border-top:1px solid var(--line);background:#EFF4EF}.footer-grid{display:grid;grid-template-columns:1.5fr 1fr 1fr 1fr;gap:34px}.footer-grid h2{margin:0 0 13px;font:700 .77rem 'Public Sans',Arial,sans-serif;color:var(--muted);letter-spacing:.08em;text-transform:uppercase}.footer-grid a:not(.brand){display:block;padding:5px 0;color:var(--ink);font-size:.85rem}.footer-grid p{margin-top:16px;max-width:34ch;color:var(--muted);font-size:.86rem}.footer-bottom{display:flex;justify-content:space-between;gap:16px;margin-top:37px;padding-top:17px;border-top:1px solid var(--line);color:var(--muted);font-size:.77rem}
/* Tutor LMS shares the same surfaces, type and controls. */
.tutor-wrap,.tutor-container,.tutor-dashboard,.tutor-course-details-page{font-family:'Public Sans',Arial,sans-serif!important;color:var(--ink)!important}.tutor-wrap h1,.tutor-wrap h2,.tutor-wrap h3,.tutor-container h1,.tutor-container h2,.tutor-container h3,.tutor-dashboard h1,.tutor-dashboard h2{font-family:'Source Serif 4',Georgia,serif!important;color:var(--ink)!important}.tutor-card,.tutor-course-card,.tutor-dashboard-content-inner,.tutor-dashboard-left-menu{background:var(--surface)!important;border-color:var(--line)!important;border-radius:7px!important;box-shadow:0 8px 30px rgba(18,50,56,.04)}.tutor-btn,.tutor-button,.tutor-wrap button[type=submit],.tutor-wrap input[type=submit]{background:var(--primary)!important;color:var(--primary-contrast)!important;border-color:var(--primary)!important;border-radius:var(--radius)!important}.tutor-wrap input:not([type=checkbox]):not([type=radio]),.tutor-wrap textarea,.tutor-wrap select{border:1px solid var(--line-strong)!important;border-radius:var(--radius)!important;background:var(--surface)!important;color:var(--ink)!important;font:inherit!important}.tutor-wrap a[href*="become-an-instructor"],.tutor-wrap a[href*="instructor-registration"],.tutor-wrap a[href*="registrazione-docente"]{display:none!important}
/* WooCommerce classic and block checkout use the same branded fields. */
.woocommerce,.wc-block-cart,.wc-block-checkout{font-family:'Public Sans',Arial,sans-serif!important;color:var(--ink)!important}.woocommerce form.login,.woocommerce form.register,.woocommerce form.checkout_coupon,.woocommerce form.edit-account,.woocommerce .woocommerce-MyAccount-content,.woocommerce .cart_totals,.woocommerce-checkout #order_review,.wc-block-components-sidebar,.wc-block-checkout__main,.wc-block-cart__main{background:var(--surface);border:1px solid var(--line);border-radius:7px;padding:24px!important;box-shadow:0 8px 30px rgba(18,50,56,.04)}.woocommerce form .form-row input.input-text,.woocommerce form .form-row textarea,.woocommerce select,.wc-block-components-text-input input{background:var(--surface)!important;color:var(--ink)!important;border:1px solid var(--line-strong)!important;border-radius:var(--radius)!important;padding:12px!important;min-height:46px}.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,.wc-block-components-button{background:var(--primary)!important;color:var(--primary-contrast)!important;border:0!important;border-radius:var(--radius)!important;padding:13px 20px!important;font-weight:600!important}.woocommerce-MyAccount-navigation{background:var(--primary);border-radius:7px;padding:14px}.woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0}.woocommerce-MyAccount-navigation li a{display:block;padding:11px 14px;color:var(--primary-contrast)!important}.woocommerce-MyAccount-navigation li.is-active a{background:var(--accent);border-radius:4px}.woocommerce table.shop_table{border-color:var(--line);border-radius:5px;background:var(--surface)}
@media(max-width:900px){.hero-grid{gap:32px}.footer-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:700px){.container{width:min(100% - 36px,1120px)}.header-row{min-height:70px;gap:12px;flex-wrap:wrap;padding:12px 0}.nav{order:3;width:100%;margin-left:0;justify-content:center;gap:20px;border-top:1px solid var(--line);padding-top:10px}.header-actions{gap:9px;margin-left:auto}.hero{padding:38px 0}.hero-grid{grid-template-columns:1fr}.hero h1{font-size:2.55rem}.feature-card{max-width:520px}.stats-grid{grid-template-columns:repeat(2,1fr);padding:10px 0}.stats-grid>div{justify-content:flex-start;border-right:0;padding:12px 4px}.steps{grid-template-columns:1fr}.steps article{border-right:0;border-bottom:1px solid var(--line)}.steps article:last-child{border:0}.cta-row{align-items:flex-start;flex-direction:column}.course-grid{grid-template-columns:1fr}.footer-grid{grid-template-columns:1fr 1fr;gap:24px}.footer-grid>div:first-child{grid-column:1/-1}.footer-bottom{flex-direction:column}.woocommerce-MyAccount-navigation,.woocommerce-MyAccount-content{float:none!important;width:100%!important;margin-bottom:18px}.woocommerce table.shop_table th,.woocommerce table.shop_table td{padding:9px}}
/* Tutor v4 dashboard app shell: FormalShip color tokens and typography. */
.tutor-dashboard-layout,[data-tutor-theme="light"]{--tutor-brand-100:#F0F6F0;--tutor-brand-200:#E3EFE6;--tutor-brand-300:#C8DFD0;--tutor-brand-400:#86B99A;--tutor-brand-450:#5D9B77;--tutor-brand-500:#4E9774;--tutor-brand-600:#2E6B4F;--tutor-brand-700:#285D45;--tutor-brand-800:#214D39;--tutor-brand-900:#193B2C;--tutor-brand-950:#132F23;--tutor-surface-base:#F7FAF7;--tutor-surface-sidebar-l1:#F9FBF9;--tutor-tab-sidebar-l2-active:#E3EFE6;--tutor-tab-sidebar-l2-hover:#EEF4EF;--tutor-button-primary:#2E6B4F;--tutor-button-primary-hover:#214D39;--tutor-text-brand:#2E6B4F;--tutor-text-brand-hover:#214D39;--tutor-icon-brand:#2E6B4F;--tutor-border-brand:#B8C8B9;--tutor-font-family-body:'Public Sans',Arial,sans-serif}
.tutor-dashboard-layout{font-family:'Public Sans',Arial,sans-serif!important;color:#182822!important;background:#F7FAF7!important}
.tutor-dashboard-layout h1,.tutor-dashboard-layout h2,.tutor-dashboard-layout h3{font-family:'Source Serif 4',Georgia,serif!important;color:#182822!important}
.tutor-dashboard-layout .tutor-dashboard-sidebar-logo{overflow:hidden;max-width:100%}
.tutor-dashboard-layout .tutor-brand-logo,.tutor-dashboard-layout .tutor-brand-logo-light,.tutor-dashboard-layout .tutor-brand-logo-dark{display:block;max-width:100%;overflow:hidden}
.tutor-dashboard-layout .tutor-brand-logo .site-title{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 16px/1.35 'Public Sans',Arial,sans-serif;letter-spacing:0}
.tutor-dashboard-layout .tutor-dashboard-left-menu,.tutor-dashboard-layout .tutor-dashboard-content-inner{background:#fff!important;border-color:#D8E2D9!important;border-radius:7px!important;box-shadow:0 8px 30px rgba(46,107,79,.05)!important}
.tutor-dashboard-layout .tutor-btn,.tutor-dashboard-layout .tutor-button,.tutor-dashboard-layout button{font-family:'Public Sans',Arial,sans-serif}
.formalship-course-catalog .page-heading>p{max-width:65ch;color:var(--muted)}
.formalship-course-catalog .course-card{display:flex;flex-direction:column;padding:0}
.formalship-course-catalog .course-card-link{padding:0 0 16px}
.formalship-course-catalog .course-card-link>.eyebrow,.formalship-course-catalog .course-card-link>h2,.formalship-course-catalog .course-card-link>p,.formalship-course-catalog .course-card-link>.feature-meta{margin-left:18px;margin-right:18px}
.formalship-course-catalog .catalog-image{height:210px;overflow:hidden;background:#EAF2EA}
.formalship-course-catalog .catalog-image img{width:100%;height:100%;object-fit:cover}
.formalship-course-catalog .catalog-image-empty{display:grid;place-items:center;color:#58685F;font-size:.9rem}
.formalship-course-catalog .catalog-card-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:auto 18px 18px}
.formalship-course-catalog .catalog-card-actions .price{margin-right:auto}
.brand-logo{display:block;width:122px;height:auto;max-height:72px;object-fit:contain;border-radius:3px}
.hero{background:linear-gradient(90deg,rgba(247,250,247,.97) 0%,rgba(247,250,247,.91) 42%,rgba(247,250,247,.42) 100%),url('assets/formalship-landing-care-hero.png') center 52%/cover no-repeat}
.image-slot{position:relative}
.image-slot>img:first-child{width:100%;height:100%;object-fit:cover}
.course-logo-overlay{position:absolute!important;z-index:2;top:10px!important;left:10px!important;width:106px!important;height:68px!important;object-fit:contain!important;background:#fff;padding:3px;border:1px solid #D8E2D9;border-radius:3px;box-shadow:0 2px 10px rgba(24,40,34,.10)}
.formalship-course-catalog .catalog-image{position:relative}
.formalship-course-catalog .catalog-image-banner{height:auto;aspect-ratio:1942/812;background:#fff}
.formalship-course-catalog .catalog-image-banner>img{display:block;width:100%;height:100%;object-fit:contain}
.header{background:#0c2222;border-bottom:1px solid rgba(225,184,91,.28);backdrop-filter:none}
.header-row{min-height:82px}
.brand{gap:11px;color:#f5f0e6}
.brand-mark-crop{position:relative;display:block;flex:0 0 58px;width:58px;height:58px;overflow:hidden;border:2px solid #d1a44d;border-radius:50%;background:#fff;box-shadow:0 0 0 3px rgba(209,164,77,.11)}
.brand-mark-crop img{position:absolute;top:-16px;left:-11px;display:block;width:90px!important;height:90px!important;max-width:none!important;object-fit:cover}
.brand-copy{display:flex;flex-direction:column;gap:1px}
.brand-copy strong{font:600 1.14rem/1.12 'Source Serif 4',Georgia,serif;color:#f6f0e4}
.brand-copy small{margin:0;color:#b9c6c0;font:500 .61rem/1.25 'Public Sans',Arial,sans-serif;letter-spacing:.105em;text-transform:uppercase}
.header .nav a,.header .text-link{color:#e7eeea}
.header .nav a:hover,.header .text-link:hover{color:#e1b85b}
.header .button{background:#c89a43;border-color:#c89a43;color:#102423}
.header .button:hover{background:#dfb85f;border-color:#dfb85f;color:#102423}
.home .hero{position:relative;isolation:isolate;padding:70px 0 66px;background:radial-gradient(ellipse at 78% 15%,rgba(200,154,67,.13),transparent 35%),linear-gradient(120deg,#0c2222 0%,#102a29 65%,#163332 100%)}
.home .hero:after{position:absolute;z-index:-1;inset:0;content:"";background:linear-gradient(90deg,rgba(12,34,34,.98) 0%,rgba(12,34,34,.88) 48%,rgba(12,34,34,.55) 100%),url('assets/formalship-landing-care-hero.png') 76% 48%/cover no-repeat;opacity:.46}
.home .hero h1,.home .hero h2{color:#f4eee3}
.home .hero-copy>p{color:#b7c5c0}
.home .hero .eyebrow,.training-areas .eyebrow,.home .hero-note{color:#d8b15f}
.home .hero .button{background:#c89a43;border-color:#c89a43;color:#102423}
.home .hero .button:hover{background:#dfb85f;border-color:#dfb85f}
.home .hero .button-outline{background:transparent;color:#f4eee3;border-color:rgba(225,184,91,.7)}
.home .hero .button-outline:hover{background:rgba(225,184,91,.12);color:#fff}
.home .feature-card{padding:0 22px 22px;border:1px solid rgba(225,184,91,.38);border-radius:5px;box-shadow:0 24px 70px rgba(0,0,0,.28)}
.home .feature-card>.eyebrow{margin-top:20px}
.home .image-slot.home-course-banner{height:auto;aspect-ratio:1942/812;margin:0 -22px 0;border-radius:5px 5px 0 0;background:#fff}
.home .home-course-banner>img{display:block;width:100%;height:100%;object-fit:contain}
.home .feature-card h2{color:#142d2c}
.home .feature-card>p{color:#596967}
.home .feature-card .feature-meta span{border-color:#d9e0d9}
.home .feature-card .button-full{background:#2e6b4f;border-color:#2e6b4f;color:#fff}
.home .feature-card .button-full:hover{background:#214d39;border-color:#214d39}
.home .stats{background:#132e2d;border-top:1px solid rgba(225,184,91,.22);border-bottom:1px solid rgba(225,184,91,.22)}
.home .stats strong{color:#e1b85b}
.home .stats span{color:#bdc9c3}
.training-areas{padding:58px 0 74px;background:#0c2222;color:#eaf0eb}
.areas-heading{margin-bottom:34px;padding-bottom:24px;border-bottom:1px solid rgba(170,196,185,.2)}
.areas-heading h2{margin:15px 0 0;color:#f4eee3;font-size:clamp(1.9rem,3.2vw,2.65rem);line-height:1.4}
.areas-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border-top:1px solid rgba(170,196,185,.18);border-left:1px solid rgba(170,196,185,.18)}
.area-card{min-height:184px;padding:26px;border-right:1px solid rgba(170,196,185,.18);border-bottom:1px solid rgba(170,196,185,.18);background:rgba(255,255,255,.018)}
.area-card h3{margin:0 0 12px;color:#f4eee3;font-size:1.12rem}
.area-card p{margin:0 0 14px;color:#aabbb7;font-size:.9rem;line-height:1.55}
.area-status{display:inline-flex;align-items:center;min-height:28px;padding:3px 11px;border:1px solid rgba(170,196,185,.3);border-radius:20px;color:#bfd0cc;font-size:.75rem;line-height:1.2}
.area-available .area-status{border-color:#c89a43;background:rgba(200,154,67,.12);color:#e7c676}
.area-available .area-status:hover{background:#c89a43;color:#102423;text-decoration:none}
.home .section{background:#f7faf7}
.home .cta{background:#132e2d;color:#f4eee3}
.home .cta h2{color:#f4eee3}
.home .cta p{color:#bdc9c3}
.home .cta .button-light{border-color:#c89a43;background:#c89a43;color:#102423}
@media(max-width:900px){.areas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.header-row{min-height:74px}.brand-mark-crop{flex-basis:50px;width:50px;height:50px}.brand-mark-crop img{top:-14px;left:-10px;width:78px!important;height:78px!important}.brand-copy strong{font-size:1.02rem}.brand-copy small{font-size:.53rem;letter-spacing:.08em}.home .hero{padding:42px 0}.home .hero:after{background:linear-gradient(90deg,rgba(12,34,34,.95),rgba(12,34,34,.76)),url('assets/formalship-landing-care-hero.png') 68% center/cover no-repeat}.areas-grid{grid-template-columns:1fr}.area-card{min-height:0;padding:22px}.training-areas{padding:44px 0 54px}.areas-heading{margin-bottom:24px}}
@media(max-width:700px){.brand-logo{width:105px;max-height:62px}.hero{background-position:62% center}}
