/*
Theme Name: Artcoll Machinery
Theme URI: https://artcoll.shop
Author: Artcoll
Author URI: https://artcoll.shop
Description: Industrial WordPress theme for ARTCOLL MACHINERY SALE & LEASE. Black, red, white and gray palette, equal-size machinery grids for Sale and Rental, fixed Baltic-region map, Contact Form 7 ready, fully responsive and Customizer-editable.
Version: 1.0.1
Requires at least: 6.0
Tested up to: 6.5
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: artcoll-machinery
*/

/* =========================================================
   Color tokens — edited live from Appearance > Customize > Artcoll Colors.
   Defaults are printed by the theme; these are static fallbacks.
   ========================================================= */
:root{
  --ac-black:#0e0e10;
  --ac-ink:#1a1a1d;
  --ac-red:#c8102e;
  --ac-red-dark:#9b0c23;
  --ac-white:#ffffff;
  --ac-paper:#f5f5f6;
  --ac-gray:#6b7076;
  --ac-gray-light:#d8dadd;
  --ac-line:#e2e3e6;

  --ac-display:"Oswald", "Arial Narrow", system-ui, sans-serif;
  --ac-body:"Inter", -apple-system, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;

  --ac-max:1200px;
  --ac-radius:2px;
}

*,*::before,*::after{box-sizing:border-box;}
html{scroll-behavior:smooth;}
body{
  margin:0;
  font-family:var(--ac-body);
  color:var(--ac-ink);
  background:var(--ac-white);
  line-height:1.65;
  font-size:17px;
  -webkit-font-smoothing:antialiased;
}
img{max-width:100%;height:auto;display:block;}
a{color:var(--ac-red);text-decoration:none;}
a:hover{color:var(--ac-red-dark);}

h1,h2,h3,h4{
  font-family:var(--ac-display);
  font-weight:600;
  line-height:1.08;
  letter-spacing:.01em;
  text-transform:uppercase;
  margin:0 0 .5em;
  color:var(--ac-black);
}
h1{font-size:clamp(2rem,5vw,3.3rem);}
h2{font-size:clamp(1.5rem,3.4vw,2.3rem);}
h3{font-size:1.25rem;}
p{margin:0 0 1.1em;}

.ac-wrap{max-width:var(--ac-max);margin:0 auto;padding:0 24px;}

/* Signature: red hazard rule used to separate sections */
.ac-rule{
  height:6px;width:100%;
  background:repeating-linear-gradient(135deg,
    var(--ac-red) 0 16px, var(--ac-black) 16px 32px);
}
.ac-eyebrow{
  font-family:var(--ac-display);
  text-transform:uppercase;
  letter-spacing:.22em;
  font-size:.78rem;
  font-weight:600;
  color:var(--ac-red);
  display:inline-block;
  margin-bottom:.6rem;
}

/* =========================  TOP BAR + HEADER NAV  ========================= */
.ac-topbar{
  background:var(--ac-black);
  color:var(--ac-gray-light);
  font-size:.82rem;
  letter-spacing:.02em;
}
.ac-topbar .ac-wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;min-height:40px;flex-wrap:wrap;}
.ac-topbar a{color:var(--ac-gray-light);}
.ac-topbar a:hover{color:var(--ac-white);}
.ac-topbar .ac-topbar-tag{color:var(--ac-red);font-family:var(--ac-display);text-transform:uppercase;letter-spacing:.18em;font-size:.78rem;}

.site-header{
  position:sticky;top:0;z-index:50;
  background:var(--ac-ink);
  border-bottom:3px solid var(--ac-red);
}
.ac-nav-inner{display:flex;align-items:center;justify-content:space-between;gap:24px;min-height:74px;}
.ac-brand{display:flex;align-items:center;gap:14px;text-decoration:none;}
.ac-brand .ac-logo-mark{
  width:42px;height:42px;flex:0 0 auto;
  background:var(--ac-red);
  display:grid;place-items:center;
  font-family:var(--ac-display);font-weight:700;color:#fff;font-size:1.4rem;
  border-radius:var(--ac-radius);
  box-shadow:inset 0 0 0 2px rgba(255,255,255,.12);
}
.ac-brand .ac-brand-text{font-family:var(--ac-display);text-transform:uppercase;line-height:1;}
.ac-brand .ac-brand-name{color:#fff;font-weight:600;font-size:1.18rem;letter-spacing:.04em;}
.ac-brand .ac-brand-sub{color:var(--ac-red);font-size:.72rem;letter-spacing:.26em;font-weight:500;display:block;margin-top:4px;}

.ac-menu-toggle{
  display:none;background:none;border:0;cursor:pointer;padding:10px;
  color:#fff;
}
.ac-menu-toggle span{display:block;width:26px;height:2px;background:#fff;margin:5px 0;transition:.25s;}
.ac-menu-toggle[aria-expanded="true"] span:nth-child(1){transform:translateY(7px) rotate(45deg);}
.ac-menu-toggle[aria-expanded="true"] span:nth-child(2){opacity:0;}
.ac-menu-toggle[aria-expanded="true"] span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

.ac-primary-menu ul{list-style:none;margin:0;padding:0;display:flex;gap:4px;align-items:center;}
.ac-primary-menu a{
  display:block;color:#e9eaec;font-family:var(--ac-display);text-transform:uppercase;
  letter-spacing:.08em;font-size:.95rem;font-weight:500;
  padding:10px 16px;border-radius:var(--ac-radius);
  transition:background .2s,color .2s;
}
.ac-primary-menu a:hover,
.ac-primary-menu .current-menu-item>a,
.ac-primary-menu .current_page_item>a{background:var(--ac-red);color:#fff;}

/* =========================  PAGE HERO HEADER  ========================= */
.ac-hero{
  position:relative;color:#fff;
  background:var(--ac-black);
  background-size:cover;background-position:center 60%;
  border-bottom:6px solid var(--ac-red);
}
.ac-hero::after{content:"";position:absolute;inset:0;
  background:linear-gradient(90deg,rgba(8,8,10,.86) 0%,rgba(8,8,10,.55) 55%,rgba(20,4,6,.65) 100%);}
.ac-hero .ac-wrap{position:relative;z-index:2;}
.ac-hero--home{padding:118px 0 104px;}
.ac-hero--page{padding:74px 0 60px;}
.ac-hero h1{color:#fff;}
.ac-hero p.ac-hero-lead{font-size:1.2rem;max-width:620px;color:#eef0f2;}
.ac-hero .ac-eyebrow{color:#fff;}
.ac-hero .ac-eyebrow::before{content:"";display:inline-block;width:34px;height:3px;background:var(--ac-red);margin-right:12px;vertical-align:middle;}

/* Buttons */
.ac-btn{
  display:inline-block;font-family:var(--ac-display);text-transform:uppercase;
  letter-spacing:.1em;font-weight:600;font-size:1rem;
  background:var(--ac-red);color:#fff;
  padding:15px 32px;border-radius:var(--ac-radius);border:0;cursor:pointer;
  transition:transform .15s, background .2s;
}
.ac-btn:hover{background:var(--ac-red-dark);color:#fff;transform:translateY(-2px);}
.ac-btn--ghost{background:transparent;color:#fff;box-shadow:inset 0 0 0 2px rgba(255,255,255,.6);}
.ac-btn--ghost:hover{background:#fff;color:var(--ac-black);}
.ac-btn--dark{background:var(--ac-black);}
.ac-btn--dark:hover{background:#000;}
.ac-hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:28px;}

/* =========================  SECTIONS  ========================= */
.ac-section{padding:74px 0;}
.ac-section--paper{background:var(--ac-paper);}
.ac-section--dark{background:var(--ac-ink);color:#e9eaec;}
.ac-section--dark h2,.ac-section--dark h3{color:#fff;}
.ac-section-head{max-width:760px;margin:0 0 44px;}
.ac-section--center .ac-section-head{margin-left:auto;margin-right:auto;text-align:center;}

/* Slogan / value cards */
.ac-cards{display:grid;grid-template-columns:repeat(4,1fr);gap:22px;}
.ac-card{
  background:#fff;border:1px solid var(--ac-line);border-top:4px solid var(--ac-red);
  padding:30px 24px;border-radius:var(--ac-radius);
}
.ac-section--dark .ac-card{background:#202024;border-color:#2c2c31;}
.ac-card .ac-card-num{font-family:var(--ac-display);color:var(--ac-gray-light);font-size:1.5rem;font-weight:700;}
.ac-section--dark .ac-card .ac-card-num{color:#3a3a40;}
.ac-card h3{margin-top:6px;}
.ac-card p{margin:0;color:var(--ac-gray);font-size:.97rem;}
.ac-section--dark .ac-card p{color:#b9bbc0;}

/* Stats strip */
.ac-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid #2c2c31;border-radius:var(--ac-radius);overflow:hidden;}
.ac-stat{padding:34px 22px;text-align:center;border-right:1px solid #2c2c31;}
.ac-stat:last-child{border-right:0;}
.ac-stat .ac-stat-num{font-family:var(--ac-display);font-weight:700;font-size:2.6rem;color:var(--ac-red);line-height:1;}
.ac-stat .ac-stat-label{font-size:.85rem;letter-spacing:.06em;color:#b9bbc0;text-transform:uppercase;margin-top:8px;}

/* Two-column media + text */
.ac-split{display:grid;grid-template-columns:1fr 1fr;gap:46px;align-items:center;}
.ac-split--rev .ac-split-media{order:2;}
.ac-split-media img{width:100%;border-radius:var(--ac-radius);border:1px solid var(--ac-line);}
.ac-split-figs{display:grid;grid-template-columns:1fr 1fr;gap:14px;}
.ac-split-figs img{aspect-ratio:1/1;object-fit:cover;width:100%;}

/* =========================  MACHINERY GRID  ========================= */
.ac-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;}
.ac-tile{
  background:#fff;border:1px solid var(--ac-line);border-radius:var(--ac-radius);
  overflow:hidden;transition:border-color .2s, transform .15s, box-shadow .2s;
  display:flex;flex-direction:column;
}
.ac-tile:hover{border-color:var(--ac-red);transform:translateY(-3px);box-shadow:0 10px 24px rgba(14,14,16,.12);}
.ac-tile-thumb{position:relative;aspect-ratio:1/1;overflow:hidden;background:var(--ac-paper);}
.ac-tile-thumb img{width:100%;height:100%;object-fit:cover;transition:transform .35s;}
.ac-tile:hover .ac-tile-thumb img{transform:scale(1.06);}
.ac-tile-thumb::after{content:"";position:absolute;left:0;bottom:0;width:100%;height:4px;background:var(--ac-red);transform:scaleX(0);transform-origin:left;transition:transform .3s;}
.ac-tile:hover .ac-tile-thumb::after{transform:scaleX(1);}
.ac-tile-name{
  font-family:var(--ac-display);text-transform:uppercase;letter-spacing:.03em;
  font-weight:500;font-size:.98rem;color:var(--ac-black);
  padding:14px 14px 16px;text-align:center;line-height:1.2;
  border-top:1px solid var(--ac-line);
}
.ac-tile:hover .ac-tile-name{color:var(--ac-red);}

/* =========================  ABOUT  ========================= */
.ac-prose{max-width:820px;}
.ac-prose p{color:#33343a;}
.ac-feature-list{list-style:none;margin:24px 0 0;padding:0;display:grid;gap:14px;}
.ac-feature-list li{position:relative;padding-left:34px;color:#33343a;}
.ac-feature-list li::before{content:"";position:absolute;left:0;top:7px;width:16px;height:16px;
  background:var(--ac-red);clip-path:polygon(14% 44%,0 60%,40% 100%,100% 16%,84% 0,40% 68%);}

/* =========================  CONTACT  ========================= */
.ac-contact-grid{display:grid;grid-template-columns:1fr 1.15fr;gap:46px;align-items:start;}
.ac-contact-card{background:var(--ac-ink);color:#e9eaec;padding:36px;border-radius:var(--ac-radius);border-top:5px solid var(--ac-red);}
.ac-contact-card h3{color:#fff;}
.ac-contact-list{list-style:none;margin:0;padding:0;display:grid;gap:18px;}
.ac-contact-list li{display:flex;gap:14px;align-items:flex-start;}
.ac-contact-list .ac-ico{flex:0 0 auto;width:38px;height:38px;background:var(--ac-red);border-radius:var(--ac-radius);display:grid;place-items:center;color:#fff;font-family:var(--ac-display);font-weight:700;}
.ac-contact-list a{color:#fff;}
.ac-contact-list span.ac-c-label{display:block;font-size:.74rem;letter-spacing:.16em;text-transform:uppercase;color:#9a9ca2;margin-bottom:2px;}

.ac-form-wrap{background:#fff;border:1px solid var(--ac-line);border-radius:var(--ac-radius);padding:34px;}
.ac-form-wrap label{display:block;font-family:var(--ac-display);text-transform:uppercase;letter-spacing:.06em;font-size:.82rem;color:var(--ac-black);margin:0 0 6px;}
.ac-form-wrap input[type=text],
.ac-form-wrap input[type=email],
.ac-form-wrap input[type=tel],
.ac-form-wrap select,
.ac-form-wrap textarea,
.wpcf7 input[type=text],
.wpcf7 input[type=email],
.wpcf7 input[type=tel],
.wpcf7 select,
.wpcf7 textarea{
  width:100%;padding:13px 14px;border:1px solid var(--ac-gray-light);border-radius:var(--ac-radius);
  font-family:var(--ac-body);font-size:1rem;margin-bottom:18px;background:#fff;color:var(--ac-ink);
}
.ac-form-wrap textarea,.wpcf7 textarea{min-height:140px;resize:vertical;}
.ac-form-wrap input:focus,.ac-form-wrap select:focus,.ac-form-wrap textarea:focus,
.wpcf7 input:focus,.wpcf7 select:focus,.wpcf7 textarea:focus{outline:2px solid var(--ac-red);border-color:var(--ac-red);}
.wpcf7-submit,.ac-form-wrap button[type=submit]{
  font-family:var(--ac-display);text-transform:uppercase;letter-spacing:.1em;font-weight:600;
  background:var(--ac-red);color:#fff;border:0;padding:14px 30px;border-radius:var(--ac-radius);cursor:pointer;font-size:1rem;
}
.wpcf7-submit:hover,.ac-form-wrap button[type=submit]:hover{background:var(--ac-red-dark);}
.ac-form-note{font-size:.86rem;color:var(--ac-gray);background:var(--ac-paper);border-left:3px solid var(--ac-red);padding:12px 14px;border-radius:var(--ac-radius);}

/* Fixed map */
.ac-map-section{padding-top:0;}
#ac-map{height:420px;width:100%;background:var(--ac-gray-light);border-top:6px solid var(--ac-red);}
.leaflet-container{font-family:var(--ac-body);}
.ac-map-pin{background:var(--ac-red);width:18px;height:18px;border-radius:50% 50% 50% 0;transform:rotate(-45deg);box-shadow:0 0 0 3px rgba(255,255,255,.85),0 2px 6px rgba(0,0,0,.4);}

/* =========================  FOOTER  ========================= */
.site-footer{background:var(--ac-black);color:#b9bbc0;}
.ac-footer-main{padding:56px 0 40px;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:40px;}
.site-footer h4{color:#fff;font-size:1.05rem;letter-spacing:.06em;margin-bottom:18px;}
.site-footer a{color:#b9bbc0;}
.site-footer a:hover{color:#fff;}
.ac-footer-menu ul{list-style:none;margin:0;padding:0;display:grid;gap:10px;}
.ac-footer-brand .ac-brand-name{color:#fff;font-family:var(--ac-display);text-transform:uppercase;font-size:1.3rem;letter-spacing:.04em;}
.ac-footer-brand .ac-brand-sub{color:var(--ac-red);letter-spacing:.24em;font-family:var(--ac-display);font-size:.74rem;}
.ac-footer-bottom{border-top:1px solid #232327;padding:20px 0;font-size:.84rem;display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap;}

/* =========================  EDITOR / GENERIC  ========================= */
.ac-page-content{padding:60px 0;}
.ac-page-content img{border-radius:var(--ac-radius);}
.screen-reader-text{position:absolute!important;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden;}
.skip-link{position:absolute;left:-9999px;}
.skip-link:focus{left:8px;top:8px;background:#fff;color:#000;padding:8px 14px;z-index:100;}

/* =========================  RESPONSIVE  ========================= */
@media(max-width:1024px){
  .ac-grid{grid-template-columns:repeat(3,1fr);}
  .ac-cards{grid-template-columns:repeat(2,1fr);}
  .ac-stats{grid-template-columns:repeat(2,1fr);}
  .ac-stat:nth-child(2){border-right:0;}
  .ac-stat:nth-child(1),.ac-stat:nth-child(2){border-bottom:1px solid #2c2c31;}
}
@media(max-width:860px){
  .ac-menu-toggle{display:block;}
  .ac-primary-menu{
    position:absolute;left:0;right:0;top:100%;
    background:var(--ac-ink);border-bottom:3px solid var(--ac-red);
    max-height:0;overflow:hidden;transition:max-height .3s ease;
  }
  .ac-primary-menu.is-open{max-height:520px;}
  .ac-primary-menu ul{flex-direction:column;gap:0;padding:8px 0;}
  .ac-primary-menu a{padding:14px 24px;border-radius:0;}
  .ac-split,.ac-contact-grid{grid-template-columns:1fr;}
  .ac-split--rev .ac-split-media{order:0;}
  .ac-footer-main{grid-template-columns:1fr;gap:30px;}
}
@media(max-width:560px){
  .ac-grid{grid-template-columns:repeat(2,1fr);gap:14px;}
  .ac-cards{grid-template-columns:1fr;}
  .ac-stats{grid-template-columns:1fr;}
  .ac-stat{border-right:0;border-bottom:1px solid #2c2c31;}
  .ac-stat:last-child{border-bottom:0;}
  .ac-hero--home{padding:80px 0 70px;}
  .ac-split-figs{grid-template-columns:1fr 1fr;}
  body{font-size:16px;}
}
@media(prefers-reduced-motion:reduce){
  *{animation:none!important;transition:none!important;scroll-behavior:auto!important;}
}

/* --- Generic content pages (page.php / index.php / 404.php) --- */
.ac-page-content{max-width:820px;margin:0 auto;}
.ac-post-item{padding:0 0 34px;margin:0 0 34px;border-bottom:1px solid var(--ac-gray);}
.ac-post-item:last-child{border-bottom:0;margin-bottom:0;}
.ac-post-title{margin:0 0 12px;}
.ac-post-title a{color:var(--ac-ink);text-decoration:none;}
.ac-post-title a:hover{color:var(--ac-red);}
.ac-page-links{margin-top:22px;font-weight:600;}
.ac-page-links a{display:inline-block;margin:0 4px;padding:2px 10px;background:var(--ac-paper);color:var(--ac-ink);text-decoration:none;}
.ac-page-links a:hover{background:var(--ac-red);color:#fff;}
.pagination,.nav-links{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;margin-top:40px;}
.pagination .page-numbers,.nav-links .page-numbers{display:inline-block;padding:10px 16px;background:var(--ac-paper);color:var(--ac-ink);text-decoration:none;font-weight:600;}
.pagination .page-numbers.current,.pagination .page-numbers:hover,.nav-links .page-numbers:hover{background:var(--ac-red);color:#fff;}
