/*
Theme Name: Kinodeloff Clean
Description: Corporate Clean Design for Kinodeloff, child of Twenty Twenty-Five.
Template: twentytwentyfive
Version: 1.1.4
Text Domain: kinodeloff-clean
*/
:root {
  --kino-ink:#172b36;
  --kino-muted:#52636d;
  --kino-accent:#a84e38;
  --kino-accent-dark:#823a29;
  --kino-line:#dce3e5;
  --kino-bg:#f6f8f7;
  --kino-soft:#eef2f1;
  --kino-white:#fff;
  --kino-radius:18px;
  --kino-width:1180px;
}
*, *::before, *::after { box-sizing:border-box; }
html { scroll-behavior:smooth; }
body { margin:0; color:var(--kino-ink); background:var(--kino-bg); font-family:var(--wp--preset--font-family--manrope),Manrope,sans-serif; font-size:16px; line-height:1.65; }
body, button, input, textarea, select { font-family:var(--wp--preset--font-family--manrope),Manrope,sans-serif; }
h1,h2,h3,h4,h5,h6 { color:var(--kino-ink); font-weight:700; line-height:1.18; letter-spacing:-.025em; text-wrap:balance; }
p { margin-block:0 1.25em; }
a { color:var(--kino-accent); text-decoration-thickness:1px; text-underline-offset:.2em; transition:color .18s ease; }
a:hover, a:focus-visible { color:var(--kino-accent-dark); }
:focus-visible { outline:3px solid var(--kino-accent); outline-offset:3px; }
.wp-site-blocks { overflow:hidden; }
.wp-site-blocks > header { background:var(--kino-white); border-bottom:1px solid var(--kino-line); }
.kinodeloff-header { width:min(100%,var(--kino-width)); margin-inline:auto; padding:18px 24px; gap:28px; min-height:76px; }
.kinodeloff-header .wp-block-site-title { margin:0; font-size:1.48rem; letter-spacing:-.045em; font-weight:800; }
.kinodeloff-header .wp-block-site-title a { color:var(--kino-ink); text-decoration:none; }
.kinodeloff-header .wp-block-site-title a:hover { color:var(--kino-accent); }
.kinodeloff-header .wp-block-navigation { font-size:.94rem; font-weight:650; }
.kinodeloff-header .wp-block-navigation a { color:var(--kino-ink); text-decoration:none; }
.kinodeloff-header .wp-block-navigation a:hover { color:var(--kino-accent); }
.kinodeloff-header .wp-block-navigation__responsive-container.is-menu-open { background:var(--kino-white); color:var(--kino-ink); padding:24px; }
.kinodeloff-header .wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { gap:20px; }
.kinodeloff-main { width:min(100%,var(--kino-width)); margin:0 auto; padding:56px 24px 88px; }
.kinodeloff-main > .wp-block-post-title, .kinodeloff-main > .wp-block-query-title { margin:0 0 28px; font-size:clamp(2.3rem,4.6vw,4rem); }
.kinodeloff-main .wp-block-post-content { max-width:none; }
.kinodeloff-main .wp-block-post-content > :first-child { margin-top:0; }
.kinodeloff-main .wp-block-post-content > :last-child { margin-bottom:0; }
.kinodeloff-main h2 { font-size:clamp(1.8rem,3vw,2.7rem); }
.kinodeloff-main h3 { font-size:clamp(1.15rem,1.65vw,1.4rem); }
.kinodeloff-main :is(img,video,iframe) { max-width:100%; }
.kinodeloff-main figure.wp-block-image img { display:block; width:100%; height:auto; }
.kinodeloff-page-banner { margin:0 0 44px; border-radius:var(--kino-radius); overflow:hidden; background:var(--kino-soft); }
.kinodeloff-page-banner img { display:block; width:100%; max-height:390px; height:auto; object-fit:cover; object-position:center; }
.kino-eyebrow { color:var(--kino-accent); font-size:.78rem; font-weight:800; letter-spacing:.16em; text-transform:uppercase; margin:0 0 14px; }
.kino-lead { color:var(--kino-muted); font-size:clamp(1.08rem,1.65vw,1.25rem); line-height:1.7; max-width:780px; }
.kino-intro { margin-bottom:34px; }
.kino-section { margin:0 0 76px; }
.kino-section > h2 { margin:0 0 28px; }
.kino-section > :last-child { margin-bottom:0; }
.wp-block-post-content > .kino-grid.kino-pricing + .kino-section { margin-top:66px; }
.kino-grid { display:grid; gap:22px; align-items:stretch; }
.kino-grid > * { margin-block-start:0 !important; }
.kino-grid-3 { grid-template-columns:repeat(3,minmax(0,1fr)); }
.kino-grid-2 { grid-template-columns:repeat(2,minmax(0,1fr)); }
.kino-hero { display:grid; grid-template-columns:minmax(0,.95fr) minmax(0,1.05fr); gap:38px; align-items:center; background:var(--kino-white); border:1px solid var(--kino-line); border-radius:24px; overflow:hidden; padding:38px; margin:0 0 76px; }
.kino-hero-copy { padding:8px 0; }
.kino-hero h1 { font-size:clamp(2.6rem,4.3vw,4.55rem); margin:0 0 22px; max-width:11ch; }
.kino-hero .kino-lead { margin-bottom:28px; }
.kino-hero-image { margin:0; }
.kino-hero-image img { border-radius:14px; width:100%; height:auto; display:block; }
.kino-step, .kino-card { background:var(--kino-white); border:1px solid var(--kino-line); border-radius:var(--kino-radius); padding:30px; }
.kino-step { border-top:3px solid var(--kino-accent); min-height:170px; }
.kino-step h3 { margin:0 0 12px; }
.kino-step p { color:var(--kino-muted); margin:0; }
.kino-card { display:flex; flex-direction:column; min-height:100%; }
.kino-card-price { font-size:clamp(1.55rem,2.5vw,2.1rem); font-weight:800; letter-spacing:-.035em; line-height:1.2; color:var(--kino-ink); margin:0 0 14px; }
.kino-card h3 { margin:0 0 20px; }
.kino-card .kino-list { margin:0 0 28px; padding:0; list-style:none; color:var(--kino-muted); }
.kino-card .kino-list li { padding:9px 0 9px 25px; border-top:1px solid var(--kino-line); position:relative; }
.kino-card .kino-list li::before { content:"✓"; color:var(--kino-accent); font-weight:800; position:absolute; left:0; }
.kino-card .wp-block-button { margin-top:auto; }
.wp-block-button__link, .wpcf7 input[type=submit], button.kino-submit { display:inline-flex; align-items:center; justify-content:center; min-height:48px; padding:11px 23px; border-radius:10px; border:1px solid var(--kino-accent); background:var(--kino-accent); color:var(--kino-white); font-size:.95rem; font-weight:750; line-height:1.25; text-decoration:none; cursor:pointer; box-shadow:none; transition:background .18s ease,border-color .18s ease,transform .18s ease; }
.wp-block-button__link:hover, .wpcf7 input[type=submit]:hover, button.kino-submit:hover { background:var(--kino-accent-dark); border-color:var(--kino-accent-dark); color:var(--kino-white); transform:translateY(-1px); }
.kino-callout, .kino-cta { display:flex; justify-content:space-between; align-items:center; gap:30px; border-radius:var(--kino-radius); padding:35px 40px; margin:0 0 76px; }
.kino-callout { background:var(--kino-soft); border:1px solid var(--kino-line); }
.kino-callout h2, .kino-cta h2 { margin:0 0 10px; }
.kino-callout p:last-child, .kino-cta p:last-child { margin:0; }
.kino-cta { background:var(--kino-ink); color:var(--kino-white); margin-top:50px; margin-bottom:0; }
.kino-cta :is(h2,p,a:not(.wp-block-button__link)) { color:var(--kino-white); }
.kino-cta .wp-block-button__link { background:var(--kino-white); border-color:var(--kino-white); color:var(--kino-ink); }
.kino-cta .wp-block-button__link:hover { background:var(--kino-soft); border-color:var(--kino-soft); color:var(--kino-ink); }
.kino-table { margin:0; overflow-x:auto; border:1px solid var(--kino-line); border-radius:var(--kino-radius); background:var(--kino-white); }
.kino-table table { margin:0; width:100%; border-collapse:collapse; border:0; font-size:.98rem; }
.kino-table :is(th,td) { text-align:left; padding:14px 18px; border:0; border-bottom:1px solid var(--kino-line); line-height:1.45; }
.kino-table thead { background:var(--kino-soft); }
.kino-table th { color:var(--kino-ink); font-weight:750; }
.kino-table tbody tr:last-child td { border-bottom:0; }
.kino-table tbody tr:nth-child(even) { background:#fbfcfb; }
.kino-table td:last-child, .kino-table th:last-child { font-weight:700; white-space:nowrap; }
.kino-video-cover { position:relative; display:block; width:min(100%,850px); margin:0 0 22px; border-radius:var(--kino-radius); overflow:hidden; background:var(--kino-ink); }
.kino-video-cover a { display:block; position:relative; }
.kino-video-cover img { display:block; width:100%; aspect-ratio:16/9; object-fit:cover; }
.kino-video-cover a::after { content:"▶"; position:absolute; top:50%; left:50%; transform:translate(-50%,-50%); width:76px; height:76px; display:grid; place-items:center; padding-left:5px; border-radius:50%; background:var(--kino-accent); color:var(--kino-white); font-size:1.45rem; box-shadow:0 4px 20px rgba(0,0,0,.22); }
.kino-video-cover figcaption { color:var(--kino-muted); background:var(--kino-white); margin:0; padding:11px 18px; font-size:.9rem; }
.kino-detail-intro { margin:0 0 36px; }
.kino-detail-intro h2 { margin:0 0 18px; }
.kino-detail-steps { margin:0 0 70px; }
.kino-detail-price { width:min(100%,500px); margin:24px 0 0 auto; padding:23px 28px; border-radius:var(--kino-radius); background:var(--kino-soft); }
.kino-detail-price p { margin:0 0 7px; }
.kino-detail-price .kino-card-price { margin:0; }
.kino-contact-grid { display:grid; grid-template-columns:minmax(0,1.35fr) minmax(280px,.75fr); gap:24px; align-items:start; }
.kino-contact-form, .kino-contact-details { background:var(--kino-white); border:1px solid var(--kino-line); border-radius:var(--kino-radius); padding:34px; }
.kino-contact-grid h2 { margin:0 0 24px; }
.kino-contact-details .kino-eyebrow { margin-top:25px; margin-bottom:5px; }
.kino-contact-details .kino-eyebrow:first-of-type { margin-top:0; }
.kino-contact-details p { overflow-wrap:anywhere; }
.kino-contact-details .kino-social-labels { display:none; }
.kino-social-links { font-size:0; line-height:1.5; }
.kino-social-links a { display:inline-flex; align-items:center; margin:0 7px 8px 0; padding:7px 11px; border:1px solid var(--kino-line); border-radius:999px; background:var(--kino-soft); color:var(--kino-ink); font-size:.85rem; font-weight:650; text-decoration:none; }
.kino-social-links a:hover { color:var(--kino-accent); border-color:var(--kino-accent); }
.wpcf7 form { margin:0; }
.wpcf7 .kino-field { margin-bottom:19px; }
.wpcf7 .kino-field label { display:block; margin-bottom:7px; color:var(--kino-ink); font-size:.91rem; font-weight:700; }
.wpcf7 .kino-field label span { color:var(--kino-accent); }
.wpcf7 .kino-field .wpcf7-form-control-wrap { display:block; }
.wpcf7 input:not([type=submit]), .wpcf7 textarea { display:block; width:100%; min-height:50px; margin:0; padding:12px 14px; border:1px solid #bdc9cc; border-radius:9px; background:var(--kino-white); color:var(--kino-ink); font-size:1rem; line-height:1.4; box-shadow:none; appearance:none; }
.wpcf7 textarea { min-height:145px; resize:vertical; }
.wpcf7 :is(input,textarea)::placeholder { color:#7c8a90; opacity:1; }
.wpcf7 :is(input,textarea):focus { border-color:var(--kino-accent); outline:3px solid rgba(168,78,56,.16); }
.wpcf7 :is(input,textarea).wpcf7-not-valid { border-color:#b83939; background:#fffafa; }
.wpcf7 .wpcf7-not-valid-tip { display:block; margin-top:6px; color:#9c2929; font-size:.84rem; }
.wpcf7 form .wpcf7-response-output { margin:20px 0 0; padding:13px 15px; border-radius:9px; border:1px solid var(--kino-line); color:var(--kino-ink); background:var(--kino-soft); }
.wpcf7 form.invalid .wpcf7-response-output, .wpcf7 form.failed .wpcf7-response-output { border-color:#dca9a9; background:#fff3f3; }
.wpcf7 form.sent .wpcf7-response-output { border-color:#9bc7b2; background:#f0faf5; }
.wpcf7 .wpcf7-spinner { vertical-align:middle; }
.kinodeloff-main .tml { width:min(100%,580px); margin:0; padding:32px; border:1px solid var(--kino-line); border-radius:var(--kino-radius); background:var(--kino-white); }
.tml .tml-field-wrap { margin:0 0 18px; }
.tml .tml-label { display:block; margin-bottom:7px; font-size:.91rem; font-weight:700; color:var(--kino-ink); }
.tml .tml-field { width:100%; min-height:50px; padding:12px 14px; border:1px solid #bdc9cc; border-radius:9px; background:var(--kino-white); color:var(--kino-ink); font-size:1rem; box-shadow:none; }
.tml .tml-field:focus { border-color:var(--kino-accent); outline:3px solid rgba(168,78,56,.16); }
.tml .tml-pwd { position:relative; }
.tml .tml-pwd .tml-field { padding-right:50px; }
.tml .tml-toggle-pwd { position:absolute; right:5px; top:5px; min-width:40px; min-height:40px; border:0; background:transparent; color:var(--kino-muted); cursor:pointer; }
.tml .tml-rememberme-wrap { display:flex; align-items:center; gap:9px; }
.tml .tml-rememberme-wrap .tml-label { margin:0; font-weight:500; }
.tml .tml-checkbox { width:17px; height:17px; accent-color:var(--kino-accent); }
.tml .tml-button { min-height:48px; padding:11px 23px; border-radius:10px; border:1px solid var(--kino-accent); background:var(--kino-accent); color:var(--kino-white); font-size:.95rem; font-weight:750; cursor:pointer; }
.tml .tml-button:hover { background:var(--kino-accent-dark); border-color:var(--kino-accent-dark); }
.tml .tml-links { display:flex; flex-wrap:wrap; gap:10px 18px; list-style:none; padding:0; margin:20px 0 0; }
.tml .tml-links li { margin:0; }
.tml .tml-error, .tml .tml-message { padding:12px 15px; border-radius:9px; border:1px solid var(--kino-line); background:var(--kino-soft); }
.kino-single .wp-block-post-content { max-width:850px; margin-inline:auto; }
.kino-single .wp-block-post-content :is(h2,h3) { margin-top:1.7em; }
.kinodeloff-video { width:min(100%,850px); aspect-ratio:16/9; margin:0 auto 20px; background:#172b36; border-radius:var(--kino-radius); overflow:hidden; }
.kinodeloff-video iframe, .kinodeloff-video video { display:block; width:100%; height:100%; border:0; }
.kino-video-link { text-align:center; margin:0 0 34px; }
.kino-media-unavailable { padding:18px 22px; border:1px solid var(--kino-line); background:var(--kino-soft); border-radius:12px; color:var(--kino-muted); margin-bottom:26px; }
.wp-block-post-template.is-layout-grid { gap:22px; }
.wp-block-post-template.is-layout-grid > li { background:var(--kino-white); border:1px solid var(--kino-line); border-radius:var(--kino-radius); overflow:hidden; padding:18px; }
.wp-block-post-template .wp-block-post-featured-image { margin:0 0 16px; }
.wp-block-post-template .wp-block-post-featured-image img { width:100%; aspect-ratio:16/10; object-fit:cover; border-radius:10px; }
.wp-block-post-template .wp-block-post-title { font-size:1.15rem; margin:0 0 9px; }
.wp-block-post-template .wp-block-post-title a { color:var(--kino-ink); text-decoration:none; }
.wp-block-post-template .wp-block-post-title a:hover { color:var(--kino-accent); }
.wp-block-post-excerpt { color:var(--kino-muted); font-size:.91rem; }
.wp-block-query-pagination { margin-top:34px; }
.kinodeloff-footer { border-top:1px solid var(--kino-line); background:var(--kino-white); padding:38px 24px; color:var(--kino-muted); }
.kinodeloff-footer > .wp-block-group { width:min(100%,var(--kino-width)); margin-inline:auto; gap:30px; }
.kinodeloff-footer .wp-block-site-title { margin:0 0 4px; font-weight:800; font-size:1.1rem; }
.kinodeloff-footer .wp-block-site-title a { color:var(--kino-ink); text-decoration:none; }
.kinodeloff-footer p { margin:0; font-size:.88rem; }
.kinodeloff-footer a { color:var(--kino-muted); }
.kinodeloff-footer a:hover { color:var(--kino-accent); }
@media (max-width:900px) {
  .kino-grid-3 { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .kino-hero { grid-template-columns:1fr; }
  .kino-hero h1 { max-width:none; }
  .kino-contact-grid { grid-template-columns:1fr; }
}
@media (max-width:640px) {
  .kinodeloff-header { padding:14px 18px; min-height:68px; }
  .kinodeloff-main { padding:32px 18px 62px; }
  .kinodeloff-main > .wp-block-post-title { margin-bottom:20px; }
  .kinodeloff-page-banner { margin-bottom:30px; }
  .kinodeloff-page-banner img { max-height:250px; }
  .kino-hero { padding:24px; gap:24px; margin-bottom:52px; }
  .kino-hero h1 { font-size:clamp(2.25rem,10vw,3.15rem); }
  .kino-section { margin-bottom:54px; }
  .wp-block-post-content > .kino-grid.kino-pricing + .kino-section { margin-top:48px; }
  .kino-grid-3, .kino-grid-2 { grid-template-columns:1fr; gap:16px; }
  .kino-step, .kino-card { padding:24px; }
  .kino-callout, .kino-cta { flex-direction:column; align-items:flex-start; padding:27px; margin-bottom:54px; }
  .kino-cta { margin-bottom:0; }
  .kino-table :is(th,td) { padding:11px 10px; font-size:.88rem; white-space:normal; }
  .kino-table th:last-child, .kino-table td:last-child { white-space:nowrap; }
  .kino-contact-form, .kino-contact-details { padding:24px; }
  .kino-video-cover a::after { width:58px; height:58px; }
  .wp-block-post-template.is-layout-grid { grid-template-columns:1fr; }
  .kinodeloff-footer { padding:30px 18px; }
}
@media (prefers-reduced-motion:reduce) { html { scroll-behavior:auto; } *,*::before,*::after { transition-duration:.01ms!important; animation-duration:.01ms!important; } }
